KVM: SVM: Add support for CR0 write traps for an SEV-ES guest
[linux-2.6-microblaze.git] / arch / x86 / include / uapi / asm / svm.h
index f1d8307..14b0d97 100644 (file)
 #define SVM_EXIT_MWAIT_COND    0x08c
 #define SVM_EXIT_XSETBV        0x08d
 #define SVM_EXIT_RDPRU         0x08e
+#define SVM_EXIT_EFER_WRITE_TRAP               0x08f
+#define SVM_EXIT_CR0_WRITE_TRAP                        0x090
+#define SVM_EXIT_CR1_WRITE_TRAP                        0x091
+#define SVM_EXIT_CR2_WRITE_TRAP                        0x092
+#define SVM_EXIT_CR3_WRITE_TRAP                        0x093
+#define SVM_EXIT_CR4_WRITE_TRAP                        0x094
+#define SVM_EXIT_CR5_WRITE_TRAP                        0x095
+#define SVM_EXIT_CR6_WRITE_TRAP                        0x096
+#define SVM_EXIT_CR7_WRITE_TRAP                        0x097
+#define SVM_EXIT_CR8_WRITE_TRAP                        0x098
+#define SVM_EXIT_CR9_WRITE_TRAP                        0x099
+#define SVM_EXIT_CR10_WRITE_TRAP               0x09a
+#define SVM_EXIT_CR11_WRITE_TRAP               0x09b
+#define SVM_EXIT_CR12_WRITE_TRAP               0x09c
+#define SVM_EXIT_CR13_WRITE_TRAP               0x09d
+#define SVM_EXIT_CR14_WRITE_TRAP               0x09e
+#define SVM_EXIT_CR15_WRITE_TRAP               0x09f
 #define SVM_EXIT_INVPCID       0x0a2
 #define SVM_EXIT_NPF           0x400
 #define SVM_EXIT_AVIC_INCOMPLETE_IPI           0x401
 #define SVM_EXIT_AVIC_UNACCELERATED_ACCESS     0x402
+#define SVM_EXIT_VMGEXIT       0x403
 
 /* SEV-ES software-defined VMGEXIT events */
 #define SVM_VMGEXIT_MMIO_READ                  0x80000001
        { SVM_EXIT_MONITOR,     "monitor" }, \
        { SVM_EXIT_MWAIT,       "mwait" }, \
        { SVM_EXIT_XSETBV,      "xsetbv" }, \
+       { SVM_EXIT_EFER_WRITE_TRAP,     "write_efer_trap" }, \
+       { SVM_EXIT_CR0_WRITE_TRAP,      "write_cr0_trap" }, \
        { SVM_EXIT_INVPCID,     "invpcid" }, \
        { SVM_EXIT_NPF,         "npf" }, \
        { SVM_EXIT_AVIC_INCOMPLETE_IPI,         "avic_incomplete_ipi" }, \
        { SVM_EXIT_AVIC_UNACCELERATED_ACCESS,   "avic_unaccelerated_access" }, \
+       { SVM_EXIT_VMGEXIT,             "vmgexit" }, \
+       { SVM_VMGEXIT_MMIO_READ,        "vmgexit_mmio_read" }, \
+       { SVM_VMGEXIT_MMIO_WRITE,       "vmgexit_mmio_write" }, \
+       { SVM_VMGEXIT_NMI_COMPLETE,     "vmgexit_nmi_complete" }, \
+       { SVM_VMGEXIT_AP_HLT_LOOP,      "vmgexit_ap_hlt_loop" }, \
+       { SVM_VMGEXIT_AP_JUMP_TABLE,    "vmgexit_ap_jump_table" }, \
        { SVM_EXIT_ERR,         "invalid_guest_state" }