diff options
author | Andre Przywara <andre.przywara@arm.com> | 2014-06-03 10:26:30 +0200 |
---|---|---|
committer | Christoffer Dall <christoffer.dall@linaro.org> | 2015-01-20 18:25:33 +0100 |
commit | ac3d373564d9744068d867a0eb16da2ff8d5ee9d (patch) | |
tree | 2d1829a9ab353944b705149a05f53e75eccd77b0 /virt/kvm/arm/vgic-v3-emul.c | |
parent | b5d84ff600a244b655bd4f657f5350f29b0ce611 (diff) | |
download | linux-ac3d373564d9744068d867a0eb16da2ff8d5ee9d.tar.gz linux-ac3d373564d9744068d867a0eb16da2ff8d5ee9d.tar.bz2 linux-ac3d373564d9744068d867a0eb16da2ff8d5ee9d.zip |
arm/arm64: KVM: allow userland to request a virtual GICv3
With all of the GICv3 code in place now we allow userland to ask the
kernel for using a virtual GICv3 in the guest.
Also we provide the necessary support for guests setting the memory
addresses for the virtual distributor and redistributors.
This requires some userland code to make use of that feature and
explicitly ask for a virtual GICv3.
Document that KVM_CREATE_IRQCHIP only works for GICv2, but is
considered legacy and using KVM_CREATE_DEVICE is preferred.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Diffstat (limited to 'virt/kvm/arm/vgic-v3-emul.c')
-rw-r--r-- | virt/kvm/arm/vgic-v3-emul.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/virt/kvm/arm/vgic-v3-emul.c b/virt/kvm/arm/vgic-v3-emul.c index 2d2199d85b74..b3f154631515 100644 --- a/virt/kvm/arm/vgic-v3-emul.c +++ b/virt/kvm/arm/vgic-v3-emul.c @@ -1007,6 +1007,9 @@ static int vgic_v3_has_attr(struct kvm_device *dev, case KVM_VGIC_V2_ADDR_TYPE_DIST: case KVM_VGIC_V2_ADDR_TYPE_CPU: return -ENXIO; + case KVM_VGIC_V3_ADDR_TYPE_DIST: + case KVM_VGIC_V3_ADDR_TYPE_REDIST: + return 0; } break; case KVM_DEV_ARM_VGIC_GRP_DIST_REGS: |