|
@@ -148,6 +148,15 @@ struct kvm_arch_memory_slot {
|
|
|
#define KVM_REG_ARM_TIMER_CNT ARM64_SYS_REG(3, 3, 14, 3, 2)
|
|
|
#define KVM_REG_ARM_TIMER_CVAL ARM64_SYS_REG(3, 3, 14, 0, 2)
|
|
|
|
|
|
+/* Device Control API: ARM VGIC */
|
|
|
+#define KVM_DEV_ARM_VGIC_GRP_ADDR 0
|
|
|
+#define KVM_DEV_ARM_VGIC_GRP_DIST_REGS 1
|
|
|
+#define KVM_DEV_ARM_VGIC_GRP_CPU_REGS 2
|
|
|
+#define KVM_DEV_ARM_VGIC_CPUID_SHIFT 32
|
|
|
+#define KVM_DEV_ARM_VGIC_CPUID_MASK (0xffULL << KVM_DEV_ARM_VGIC_CPUID_SHIFT)
|
|
|
+#define KVM_DEV_ARM_VGIC_OFFSET_SHIFT 0
|
|
|
+#define KVM_DEV_ARM_VGIC_OFFSET_MASK (0xffffffffULL << KVM_DEV_ARM_VGIC_OFFSET_SHIFT)
|
|
|
+
|
|
|
/* KVM_IRQ_LINE irq field index values */
|
|
|
#define KVM_ARM_IRQ_TYPE_SHIFT 24
|
|
|
#define KVM_ARM_IRQ_TYPE_MASK 0xff
|