Re: [RFC PATCH] KVM: introduce kvm_check_device

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

 



On 07/01/15 17:45, Scott Wood wrote:
> On Wed, 2015-01-07 at 10:55 +0000, Andre Przywara wrote:
>> Hi Scott,
>>
>> thanks for looking at the patch.
>>
>> On 06/01/15 20:52, Scott Wood wrote:
>>> Out of curiosity, why do you need to test it from inside the kernel but
>>> outside kvm_main.c?
>>
>> I need it from arch/arm/kvm/arm.c or alternatively virt/kvm/arm/vgic.c.
>> The problem is that while KVM_CREATE_DEVICE works fine with checking the
>> availability of the requested device, KVM_CREATE_IRQCHIP does not - and
>> the latter is handled in the arch specific parts of the code. At the
>> moment the GIC_V2 is the only IRQ chip, so it's all or nothing right
>> now. But very soon there will be a GIC_V3, with GIC_V2 compatibility not
>> always being available, so KVM_CREATE_IRQCHIP may fail although there is
>> an in-kernel IRQ chip available.
>> Instead of hacking something up I thought it would be cleaner to use the
>> existing framework and just map KVM_CREATE_IRQCHIP to
>> KVM_CREATE_DEVICE(KVM_DEV_TYPE_ARM_VGIC_V2).
> 
> In that case you'd need the full create_device functionality from
> arch/arm/kvm, not just testing whether a device type is present, right?

Well, not really. On KVM_CREATE_IRQCHIP kvm_vgic_create is called, which
is also what the KVM device .create function for GIC_V2 does.
So yes, we don't fully use the KVM device framework, but just use the
same functionality.
Not sure if it would make sense to use more of the KVM device framework,
as currently there is no issue with the current approach and I just need
to know whether the GIC_V2 has been registered.

Cheers,
Andre.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux