History

arm/arm64: KVM: add virtual GICv3 distributor emulation

With everything separated and prepared, we implement a model of a GICv3 distributor and redistributors by using the existing framework to provide handler functions for each register group. Currently we limit the emulation to a model enforcing a single security state, with SRE==1 (forcing system register access) and ARE==1 (allowing more than 8 VCPUs). We share some of the functions provided for GICv2 emulation, but take the different ways of addressing (v)CPUs into account. Save and restore is currently not implemented. Similar to the split-off of the GICv2 specific code, the new emulation code goes into a new file (vgic-v3-emul.c).

Andre Przywara committed 12 years ago

Commit a0675c21 parent 9fedf148 files · +978 −3Browse files

Showing the changes to include/uapi/linux (1 of 8 files). Show all

Unified · Split

include/uapi/linux/kvm.h+2−0
@@ -952,6 +952,8 @@ enum kvm_device_type { · 951 unmodified lines
952952 #define KVM_DEV_TYPE_ARM_VGIC_V2 KVM_DEV_TYPE_ARM_VGIC_V2
953953 KVM_DEV_TYPE_FLIC,
954954 #define KVM_DEV_TYPE_FLIC KVM_DEV_TYPE_FLIC
955+ KVM_DEV_TYPE_ARM_VGIC_V3,
956+#define KVM_DEV_TYPE_ARM_VGIC_V3 KVM_DEV_TYPE_ARM_VGIC_V3
955957 KVM_DEV_TYPE_MAX,
956958 };
957959