|
@@ -135,6 +135,15 @@ struct kvm_arch_memory_slot {
|
|
|
#define KVM_REG_ARM_CRM_SHIFT 7
|
|
|
#define KVM_REG_ARM_32_CRN_MASK 0x0000000000007800
|
|
|
#define KVM_REG_ARM_32_CRN_SHIFT 11
|
|
|
+/*
|
|
|
+ * For KVM currently all guest registers are nonsecure, but we reserve a bit
|
|
|
+ * in the encoding to distinguish secure from nonsecure for AArch32 system
|
|
|
+ * registers that are banked by security. This is 1 for the secure banked
|
|
|
+ * register, and 0 for the nonsecure banked register or if the register is
|
|
|
+ * not banked by security.
|
|
|
+ */
|
|
|
+#define KVM_REG_ARM_SECURE_MASK 0x0000000010000000
|
|
|
+#define KVM_REG_ARM_SECURE_SHIFT 28
|
|
|
|
|
|
#define ARM_CP15_REG_SHIFT_MASK(x,n) \
|
|
|
(((x) << KVM_REG_ARM_ ## n ## _SHIFT) & KVM_REG_ARM_ ## n ## _MASK)
|