Hello! Where are you? I'd like to take a look at your code. Kind regards, Pavel Fedin Expert Engineer Samsung Electronics Research center Russia > -----Original Message----- > From: Vijay Kilari [mailto:vijay.kilari@xxxxxxxxx] > Sent: Tuesday, August 11, 2015 6:16 PM > To: Pavel Fedin > Cc: kvmarm@xxxxxxxxxxxxxxxxxxxxx; Christoffer Dall; Alex Bennée > Subject: Re: KVM Live migration with GICv3 > > On Tue, Aug 11, 2015 at 12:11 PM, Pavel Fedin <p.fedin@xxxxxxxxxxx> wrote: > > Hello! > > > >> I have prototyped Live migration with GICv3. > > > > This is interesting of course, i will need this for my project too and i was also going to take a look at > this later. > > > >> For this I have made following changes > >> > >> 1) Save and Restore of GICv3 registers in QEMU. > >> - For GICv2, QEMU is saving/restoring GICD, GICC registers. For GICv3, > >> we have to save/restore GICD, GICR and ICC registers. > >> However ICC registers are system registers which cannot be > >> accessed @ EL0 level (SRE=1). So these ICC registers should be > >> accessed as mmio registers by QEMU, for this we have to add ioctl to > >> access ICC @ EL1 level similar to GICC registers of GICv2. > > > > Sorry, your description is a bit fuzzy. What ioctl's did you have to add and why? > > The kernel already has KVM_GET_ONE_REG and KVM_SET_ONE_REG ioctl's. And they can be used > to access anything inside the VM, including system registers. I believe you would need only to > implement handlers for GICv3 registers. > > I mean CPU interface registers GICC* defined for vgicv2 under > "vgic_cpu_ranges[]" in > virt/kvm/arm/vgic-v2-emul.c needs to be saved and restored for vgicv3 as well. > So to access vgic_cpu_ranges[] for vgicv3, we need to register device > for CPU registers space > similar to gicv2 in QEMU for gicv3. > > ----------------------------------------------------------------------------------------- > memory_region_init_reservation(&s->cpuiomem[0], OBJECT(s), > "kvm-gic_cpu", 0x1000); > sysbus_init_mmio(sbd, &s->cpuiomem[0]); > kvm_arm_register_device(&s->cpuiomem[0], > (KVM_ARM_DEVICE_VGIC_V3 << KVM_ARM_DEVICE_ID_SHIFT) > | KVM_VGIC_V3_ADDR_TYPE_CPU, > KVM_DEV_ARM_VGIC_GRP_ADDR, > KVM_VGIC_V3_ADDR_TYPE_CPU, > s->dev_fd); > ------------------------------------------------------------------------------------------- > > Anyway, I will send RFC patches. > > > > >> Please provide your initial feedback. > > > > Would be nice to take a look at patches. > > > >> I am attending KVM-forum next week @ Seattle. We can discuss there as well. > > > > I would love to go there, and my company wanted to send me there. But it appears to be extremely > difficult for a tech specialist from Russia to get a US visa. They are still considering me and the time is > running out, so i'm unlikely to attend, unfortunately. > > > > Kind regards, > > Pavel Fedin > > Expert Engineer > > Samsung Electronics Research center Russia > > > > _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm