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
952#define KVM_DEV_TYPE_ARM_VGIC_V2 KVM_DEV_TYPE_ARM_VGIC_V2952#define KVM_DEV_TYPE_ARM_VGIC_V2 KVM_DEV_TYPE_ARM_VGIC_V2
953 KVM_DEV_TYPE_FLIC,953 KVM_DEV_TYPE_FLIC,
954#define KVM_DEV_TYPE_FLIC KVM_DEV_TYPE_FLIC954#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
955 KVM_DEV_TYPE_MAX,957 KVM_DEV_TYPE_MAX,
956};958};
957 959