On Tue, Jul 08 2014 at 4:42:56 am BST, wanghaibin <wanghaibin.wang@xxxxxxxxxx> wrote: > On 2014/6/19 17:45, Andre Przywara wrote: > >> With the introduction of a second emulated GIC model we need to let >> userspace specify the GIC model to use for each VM. Pass the >> userspace provided value down into the vGIC code to differentiate >> later. >> >> Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> >> --- >> arch/arm/kvm/arm.c | 2 +- >> include/kvm/arm_vgic.h | 4 ++-- >> virt/kvm/arm/vgic.c | 4 ++-- >> 3 files changed, 5 insertions(+), 5 deletions(-) >> >> diff --git a/arch/arm/kvm/arm.c b/arch/arm/kvm/arm.c >> index 9ffe962..fa37fa1 100644 >> --- a/arch/arm/kvm/arm.c >> +++ b/arch/arm/kvm/arm.c >> @@ -804,7 +804,7 @@ long kvm_arch_vm_ioctl(struct file *filp, >> switch (ioctl) { >> case KVM_CREATE_IRQCHIP: { >> if (vgic_present) >> - return kvm_vgic_create(kvm); >> + return kvm_vgic_create(kvm, KVM_DEV_TYPE_ARM_VGIC_V2); > > Weird! In my opinion, qemu can use either KVM_CREATE_IRQCHIP interface > or kvm_device_ops interface to create the VGIC module. Is there > should be consider the VGIC_V3? I think qemu create the VGIC device > should be add the the version of VGIC info. Weird? No. KVM_CREATE_IRQCHIP is now a deprecated interface on ARM, and will only create a GICv2, forever. This interface doesn't offer any of the flexibility we require for GICv3. How would you tell the kernel that you want a GICv3 when KVM_CREATE_IRQCHIP doesn't even take a parameter? The way to create a GICv3 is to use KVM_CREATE_DEVICE, which is flexible and extensible. GICv2 has already been converted to this. Thanks, M. -- Without deviation from the norm, progress is not possible. _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm