Re: KVM Live migration with GICv3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Aug 25, 2015 at 4:57 PM, Pavel Fedin <p.fedin@xxxxxxxxxxx> wrote:
>  Hello! Where are you? I'd like to take a look at your code.

   Sorry,  I am occupied with other tasks for next 2 weeks, After that
I will look into this.

>
> 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




[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux