Dear all,
On 05/15/2015 08:42 AM, Pavel Fedin wrote:
>  Hello!
> 
>> Added -M virt,gicversion=2,3 property to configure GICv2 or GICv3.
>> GICv3 save/restore is not supported as vgic-v3-emul.c is yet to support
>> them.
>>
>> Signed-off-by: Ashok Kumar <ash...@broadcom.com>
> 
>  I also work on this, just not published yet. Some notes about your version:
> 1. May be there should be hw/intc/arm_gicv3_kvm.c file created for GICv3? As 
> far as i can
> see, save/restore code should differ a lot.
> 2. kvm_arch_irqchip_create() should probe only for type we want to get. It 
> has to be
> passed there somehow from the virt machine initializer.
After a closer look, kvm_arch_irqchip_create is called here with test
mode = true. With that option, at kernel level, we only check the kvm
device registered its ops and do not go further (see
kvm_ioctl_create_device in kvm_main.c): typically the gic kvm_device is
not created at that stage. So if my understanding is correct, that piece
of code only should & does check either GICv2 or GICV3 was seen in the
host dt and accordingly registered. I think Ashok
kvm_arch_irqchip_create code is good here. Actual device creation is
handled in the device itself with test mode = false.

Do you share this understanding?

Best Regards

Eric
 And, if we want GICv3, then upon
> failure it should return error, not zero. This is because when 
> kvm_arch_irqchip_create()
> returns zero, a fallback code is used, which will create GICv2.
> 3. Perhaps you should base your work on these patch sets:
>     https://lists.gnu.org/archive/html/qemu-devel/2015-05/msg00941.html
>     https://lists.gnu.org/archive/html/qemu-devel/2015-05/msg01505.html
> 
>  I added Shlomo to cc because he might also be interested.
> 
> Kind regards,
> Pavel Fedin
> Expert Engineer
> Samsung Electronics Research center Russia
> 
> 
> 


Reply via email to