@@ -41,11 +41,14 @@ VMX_EXIT_REASONS = {
41
41
'EXCEPTION_NMI' : 0 ,
42
42
'EXTERNAL_INTERRUPT' : 1 ,
43
43
'TRIPLE_FAULT' : 2 ,
44
- 'PENDING_INTERRUPT' : 7 ,
44
+ 'INIT_SIGNAL' : 3 ,
45
+ 'SIPI_SIGNAL' : 4 ,
46
+ 'INTERRUPT_WINDOW' : 7 ,
45
47
'NMI_WINDOW' : 8 ,
46
48
'TASK_SWITCH' : 9 ,
47
49
'CPUID' : 10 ,
48
50
'HLT' : 12 ,
51
+ 'INVD' : 13 ,
49
52
'INVLPG' : 14 ,
50
53
'RDPMC' : 15 ,
51
54
'RDTSC' : 16 ,
@@ -65,26 +68,48 @@ VMX_EXIT_REASONS = {
65
68
'MSR_READ' : 31 ,
66
69
'MSR_WRITE' : 32 ,
67
70
'INVALID_STATE' : 33 ,
71
+ 'MSR_LOAD_FAIL' : 34 ,
68
72
'MWAIT_INSTRUCTION' : 36 ,
73
+ 'MONITOR_TRAP_FLAG' : 37 ,
69
74
'MONITOR_INSTRUCTION' : 39 ,
70
75
'PAUSE_INSTRUCTION' : 40 ,
71
76
'MCE_DURING_VMENTRY' : 41 ,
72
77
'TPR_BELOW_THRESHOLD' : 43 ,
73
78
'APIC_ACCESS' : 44 ,
79
+ 'EOI_INDUCED' : 45 ,
80
+ 'GDTR_IDTR' : 46 ,
81
+ 'LDTR_TR' : 47 ,
74
82
'EPT_VIOLATION' : 48 ,
75
83
'EPT_MISCONFIG' : 49 ,
84
+ 'INVEPT' : 50 ,
85
+ 'RDTSCP' : 51 ,
86
+ 'PREEMPTION_TIMER' : 52 ,
87
+ 'INVVPID' : 53 ,
76
88
'WBINVD' : 54 ,
77
89
'XSETBV' : 55 ,
78
90
'APIC_WRITE' : 56 ,
91
+ 'RDRAND' : 57 ,
79
92
'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 ,
80
103
}
81
104
82
105
SVM_EXIT_REASONS = {
83
106
'READ_CR0' : 0x000 ,
107
+ 'READ_CR2' : 0x002 ,
84
108
'READ_CR3' : 0x003 ,
85
109
'READ_CR4' : 0x004 ,
86
110
'READ_CR8' : 0x008 ,
87
111
'WRITE_CR0' : 0x010 ,
112
+ 'WRITE_CR2' : 0x012 ,
88
113
'WRITE_CR3' : 0x013 ,
89
114
'WRITE_CR4' : 0x014 ,
90
115
'WRITE_CR8' : 0x018 ,
@@ -105,6 +130,7 @@ SVM_EXIT_REASONS = {
105
130
'WRITE_DR6' : 0x036 ,
106
131
'WRITE_DR7' : 0x037 ,
107
132
'EXCP_BASE' : 0x040 ,
133
+ 'LAST_EXCP' : 0x05f ,
108
134
'INTR' : 0x060 ,
109
135
'NMI' : 0x061 ,
110
136
'SMI' : 0x062 ,
@@ -151,43 +177,72 @@ SVM_EXIT_REASONS = {
151
177
'MWAIT' : 0x08b ,
152
178
'MWAIT_COND' : 0x08c ,
153
179
'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 ,
154
199
'NPF' : 0x400 ,
200
+ 'AVIC_INCOMPLETE_IPI' : 0x401 ,
201
+ 'AVIC_UNACCELERATED_ACCESS' : 0x402 ,
202
+ 'VMGEXIT' : 0x403 ,
155
203
}
156
204
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)
158
206
AARCH64_EXIT_REASONS = {
159
207
'UNKNOWN' : 0x00 ,
160
- 'WFI ' : 0x01 ,
208
+ 'WFx ' : 0x01 ,
161
209
'CP15_32' : 0x03 ,
162
210
'CP15_64' : 0x04 ,
163
211
'CP14_MR' : 0x05 ,
164
212
'CP14_LS' : 0x06 ,
165
213
'FP_ASIMD' : 0x07 ,
166
214
'CP10_ID' : 0x08 ,
215
+ 'PAC' : 0x09 ,
167
216
'CP14_64' : 0x0C ,
168
- 'ILL_ISS' : 0x0E ,
217
+ 'BTI' : 0x0D ,
218
+ 'ILL' : 0x0E ,
169
219
'SVC32' : 0x11 ,
170
220
'HVC32' : 0x12 ,
171
221
'SMC32' : 0x13 ,
172
222
'SVC64' : 0x15 ,
173
223
'HVC64' : 0x16 ,
174
224
'SMC64' : 0x17 ,
175
225
'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 ,
178
233
'PC_ALIGN' : 0x22 ,
179
- 'DABT' : 0x24 ,
180
- 'DABT_HYP ' : 0x25 ,
234
+ 'DABT_LOW' : 0x24 ,
235
+ 'DABT_CUR ' : 0x25 ,
181
236
'SP_ALIGN' : 0x26 ,
182
237
'FP_EXC32' : 0x28 ,
183
238
'FP_EXC64' : 0x2C ,
184
239
'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 ,
191
246
'BKPT32' : 0x38 ,
192
247
'VECTOR32' : 0x3A ,
193
248
'BRK64' : 0x3C ,
@@ -220,6 +275,19 @@ USERSPACE_EXIT_REASONS = {
220
275
'S390_TSCH' : 22 ,
221
276
'EPR' : 23 ,
222
277
'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 ,
223
291
}
224
292
225
293
IOCTL_NUMBERS = {
0 commit comments