.. | .. |
---|
29 | 29 | #define SVM_EXIT_WRITE_DR6 0x036 |
---|
30 | 30 | #define SVM_EXIT_WRITE_DR7 0x037 |
---|
31 | 31 | #define SVM_EXIT_EXCP_BASE 0x040 |
---|
| 32 | +#define SVM_EXIT_LAST_EXCP 0x05f |
---|
32 | 33 | #define SVM_EXIT_INTR 0x060 |
---|
33 | 34 | #define SVM_EXIT_NMI 0x061 |
---|
34 | 35 | #define SVM_EXIT_SMI 0x062 |
---|
.. | .. |
---|
75 | 76 | #define SVM_EXIT_MWAIT 0x08b |
---|
76 | 77 | #define SVM_EXIT_MWAIT_COND 0x08c |
---|
77 | 78 | #define SVM_EXIT_XSETBV 0x08d |
---|
| 79 | +#define SVM_EXIT_RDPRU 0x08e |
---|
| 80 | +#define SVM_EXIT_INVPCID 0x0a2 |
---|
78 | 81 | #define SVM_EXIT_NPF 0x400 |
---|
79 | 82 | #define SVM_EXIT_AVIC_INCOMPLETE_IPI 0x401 |
---|
80 | 83 | #define SVM_EXIT_AVIC_UNACCELERATED_ACCESS 0x402 |
---|
| 84 | + |
---|
| 85 | +/* SEV-ES software-defined VMGEXIT events */ |
---|
| 86 | +#define SVM_VMGEXIT_MMIO_READ 0x80000001 |
---|
| 87 | +#define SVM_VMGEXIT_MMIO_WRITE 0x80000002 |
---|
| 88 | +#define SVM_VMGEXIT_NMI_COMPLETE 0x80000003 |
---|
| 89 | +#define SVM_VMGEXIT_AP_HLT_LOOP 0x80000004 |
---|
| 90 | +#define SVM_VMGEXIT_AP_JUMP_TABLE 0x80000005 |
---|
| 91 | +#define SVM_VMGEXIT_SET_AP_JUMP_TABLE 0 |
---|
| 92 | +#define SVM_VMGEXIT_GET_AP_JUMP_TABLE 1 |
---|
| 93 | +#define SVM_VMGEXIT_UNSUPPORTED_EVENT 0x8000ffff |
---|
81 | 94 | |
---|
82 | 95 | #define SVM_EXIT_ERR -1 |
---|
83 | 96 | |
---|
.. | .. |
---|
170 | 183 | { SVM_EXIT_MONITOR, "monitor" }, \ |
---|
171 | 184 | { SVM_EXIT_MWAIT, "mwait" }, \ |
---|
172 | 185 | { SVM_EXIT_XSETBV, "xsetbv" }, \ |
---|
| 186 | + { SVM_EXIT_INVPCID, "invpcid" }, \ |
---|
173 | 187 | { SVM_EXIT_NPF, "npf" }, \ |
---|
174 | 188 | { SVM_EXIT_AVIC_INCOMPLETE_IPI, "avic_incomplete_ipi" }, \ |
---|
175 | 189 | { SVM_EXIT_AVIC_UNACCELERATED_ACCESS, "avic_unaccelerated_access" }, \ |
---|