@@ -41,11 +41,14 @@ VMX_EXIT_REASONS = {
4141 'EXCEPTION_NMI' : 0 ,
4242 'EXTERNAL_INTERRUPT' : 1 ,
4343 'TRIPLE_FAULT' : 2 ,
44- 'PENDING_INTERRUPT' : 7 ,
44+ 'INIT_SIGNAL' : 3 ,
45+ 'SIPI_SIGNAL' : 4 ,
46+ 'INTERRUPT_WINDOW' : 7 ,
4547 'NMI_WINDOW' : 8 ,
4648 'TASK_SWITCH' : 9 ,
4749 'CPUID' : 10 ,
4850 'HLT' : 12 ,
51+ 'INVD' : 13 ,
4952 'INVLPG' : 14 ,
5053 'RDPMC' : 15 ,
5154 'RDTSC' : 16 ,
@@ -65,26 +68,48 @@ VMX_EXIT_REASONS = {
6568 'MSR_READ' : 31 ,
6669 'MSR_WRITE' : 32 ,
6770 'INVALID_STATE' : 33 ,
71+ 'MSR_LOAD_FAIL' : 34 ,
6872 'MWAIT_INSTRUCTION' : 36 ,
73+ 'MONITOR_TRAP_FLAG' : 37 ,
6974 'MONITOR_INSTRUCTION' : 39 ,
7075 'PAUSE_INSTRUCTION' : 40 ,
7176 'MCE_DURING_VMENTRY' : 41 ,
7277 'TPR_BELOW_THRESHOLD' : 43 ,
7378 'APIC_ACCESS' : 44 ,
79+ 'EOI_INDUCED' : 45 ,
80+ 'GDTR_IDTR' : 46 ,
81+ 'LDTR_TR' : 47 ,
7482 'EPT_VIOLATION' : 48 ,
7583 'EPT_MISCONFIG' : 49 ,
84+ 'INVEPT' : 50 ,
85+ 'RDTSCP' : 51 ,
86+ 'PREEMPTION_TIMER' : 52 ,
87+ 'INVVPID' : 53 ,
7688 'WBINVD' : 54 ,
7789 'XSETBV' : 55 ,
7890 'APIC_WRITE' : 56 ,
91+ 'RDRAND' : 57 ,
7992 'INVPCID' : 58 ,
93+ 'VMFUNC' : 59 ,
94+ 'ENCLS' : 60 ,
95+ 'RDSEED' : 61 ,
96+ 'PML_FULL' : 62 ,
97+ 'XSAVES' : 63 ,
98+ 'XRSTORS' : 64 ,
99+ 'UMWAIT' : 67 ,
100+ 'TPAUSE' : 68 ,
101+ 'BUS_LOCK' : 74 ,
102+ 'NOTIFY' : 75 ,
80103}
81104
82105SVM_EXIT_REASONS = {
83106 'READ_CR0' : 0x000 ,
107+ 'READ_CR2' : 0x002 ,
84108 'READ_CR3' : 0x003 ,
85109 'READ_CR4' : 0x004 ,
86110 'READ_CR8' : 0x008 ,
87111 'WRITE_CR0' : 0x010 ,
112+ 'WRITE_CR2' : 0x012 ,
88113 'WRITE_CR3' : 0x013 ,
89114 'WRITE_CR4' : 0x014 ,
90115 'WRITE_CR8' : 0x018 ,
@@ -105,6 +130,7 @@ SVM_EXIT_REASONS = {
105130 'WRITE_DR6' : 0x036 ,
106131 'WRITE_DR7' : 0x037 ,
107132 'EXCP_BASE' : 0x040 ,
133+ 'LAST_EXCP' : 0x05f ,
108134 'INTR' : 0x060 ,
109135 'NMI' : 0x061 ,
110136 'SMI' : 0x062 ,
@@ -151,43 +177,72 @@ SVM_EXIT_REASONS = {
151177 'MWAIT' : 0x08b ,
152178 'MWAIT_COND' : 0x08c ,
153179 'XSETBV' : 0x08d ,
180+ 'RDPRU' : 0x08e ,
181+ 'EFER_WRITE_TRAP' : 0x08f ,
182+ 'CR0_WRITE_TRAP' : 0x090 ,
183+ 'CR1_WRITE_TRAP' : 0x091 ,
184+ 'CR2_WRITE_TRAP' : 0x092 ,
185+ 'CR3_WRITE_TRAP' : 0x093 ,
186+ 'CR4_WRITE_TRAP' : 0x094 ,
187+ 'CR5_WRITE_TRAP' : 0x095 ,
188+ 'CR6_WRITE_TRAP' : 0x096 ,
189+ 'CR7_WRITE_TRAP' : 0x097 ,
190+ 'CR8_WRITE_TRAP' : 0x098 ,
191+ 'CR9_WRITE_TRAP' : 0x099 ,
192+ 'CR10_WRITE_TRAP' : 0x09a ,
193+ 'CR11_WRITE_TRAP' : 0x09b ,
194+ 'CR12_WRITE_TRAP' : 0x09c ,
195+ 'CR13_WRITE_TRAP' : 0x09d ,
196+ 'CR14_WRITE_TRAP' : 0x09e ,
197+ 'CR15_WRITE_TRAP' : 0x09f ,
198+ 'INVPCID' : 0x0a2 ,
154199 'NPF' : 0x400 ,
200+ 'AVIC_INCOMPLETE_IPI' : 0x401 ,
201+ 'AVIC_UNACCELERATED_ACCESS' : 0x402 ,
202+ 'VMGEXIT' : 0x403 ,
155203}
156204
157- # EC definition of HSR (from arch/arm64/include/asm/kvm_arm .h)
205+ # EC definition of HSR (from arch/arm64/include/asm/esr .h)
158206AARCH64_EXIT_REASONS = {
159207 'UNKNOWN' : 0x00 ,
160- 'WFI ' : 0x01 ,
208+ 'WFx ' : 0x01 ,
161209 'CP15_32' : 0x03 ,
162210 'CP15_64' : 0x04 ,
163211 'CP14_MR' : 0x05 ,
164212 'CP14_LS' : 0x06 ,
165213 'FP_ASIMD' : 0x07 ,
166214 'CP10_ID' : 0x08 ,
215+ 'PAC' : 0x09 ,
167216 'CP14_64' : 0x0C ,
168- 'ILL_ISS' : 0x0E ,
217+ 'BTI' : 0x0D ,
218+ 'ILL' : 0x0E ,
169219 'SVC32' : 0x11 ,
170220 'HVC32' : 0x12 ,
171221 'SMC32' : 0x13 ,
172222 'SVC64' : 0x15 ,
173223 'HVC64' : 0x16 ,
174224 'SMC64' : 0x17 ,
175225 'SYS64' : 0x18 ,
176- 'IABT' : 0x20 ,
177- 'IABT_HYP' : 0x21 ,
226+ 'SVE' : 0x19 ,
227+ 'ERET' : 0x1A ,
228+ 'FPAC' : 0x1C ,
229+ 'SME' : 0x1D ,
230+ 'IMP_DEF' : 0x1F ,
231+ 'IABT_LOW' : 0x20 ,
232+ 'IABT_CUR' : 0x21 ,
178233 'PC_ALIGN' : 0x22 ,
179- 'DABT' : 0x24 ,
180- 'DABT_HYP ' : 0x25 ,
234+ 'DABT_LOW' : 0x24 ,
235+ 'DABT_CUR ' : 0x25 ,
181236 'SP_ALIGN' : 0x26 ,
182237 'FP_EXC32' : 0x28 ,
183238 'FP_EXC64' : 0x2C ,
184239 'SERROR' : 0x2F ,
185- 'BREAKPT' : 0x30 ,
186- 'BREAKPT_HYP ' : 0x31 ,
187- 'SOFTSTP' : 0x32 ,
188- 'SOFTSTP_HYP ' : 0x33 ,
189- 'WATCHPT' : 0x34 ,
190- 'WATCHPT_HYP ' : 0x35 ,
240+ 'BREAKPT_LOW' : 0x30 ,
241+ 'BREAKPT_CUR ' : 0x31 ,
242+ 'SOFTSTP_LOW' : 0x32 ,
243+ 'SOFTSTP_CUR ' : 0x33 ,
244+ 'WATCHPT_LOW' : 0x34 ,
245+ 'WATCHPT_CUR ' : 0x35 ,
191246 'BKPT32' : 0x38 ,
192247 'VECTOR32' : 0x3A ,
193248 'BRK64' : 0x3C ,
@@ -220,6 +275,19 @@ USERSPACE_EXIT_REASONS = {
220275 'S390_TSCH' : 22 ,
221276 'EPR' : 23 ,
222277 'SYSTEM_EVENT' : 24 ,
278+ 'S390_STSI' : 25 ,
279+ 'IOAPIC_EOI' : 26 ,
280+ 'HYPERV' : 27 ,
281+ 'ARM_NISV' : 28 ,
282+ 'X86_RDMSR' : 29 ,
283+ 'X86_WRMSR' : 30 ,
284+ 'DIRTY_RING_FULL' : 31 ,
285+ 'AP_RESET_HOLD' : 32 ,
286+ 'X86_BUS_LOCK' : 33 ,
287+ 'XEN' : 34 ,
288+ 'RISCV_SBI' : 35 ,
289+ 'RISCV_CSR' : 36 ,
290+ 'NOTIFY' : 37 ,
223291}
224292
225293IOCTL_NUMBERS = {
0 commit comments