Lines Matching +full:non +full:- +full:maskable

1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
79 vme = vmrun->vm_exit; in vmexit_inout()
80 port = vme->u.inout.port; in vmexit_inout()
81 bytes = vme->u.inout.bytes; in vmexit_inout()
82 in = vme->u.inout.in; in vmexit_inout()
89 port, vme->rip); in vmexit_inout()
105 vme = vmrun->vm_exit; in vmexit_rdmsr()
108 error = emulate_rdmsr(vcpu, vme->u.msr.code, &val); in vmexit_rdmsr()
113 vme->u.msr.code, vcpu_id(vcpu)); in vmexit_rdmsr()
139 vme = vmrun->vm_exit; in vmexit_wrmsr()
141 error = emulate_wrmsr(vcpu, vme->u.msr.code, vme->u.msr.wval); in vmexit_wrmsr()
146 vme->u.msr.code, vme->u.msr.wval, vcpu_id(vcpu)); in vmexit_wrmsr()
157 [EXIT_REASON_EXCEPTION] = "Exception or non-maskable interrupt (NMI)",
161 [EXIT_REASON_SIPI] = "Start-up IPI (SIPI)",
162 [EXIT_REASON_IO_SMI] = "I/O system-management interrupt (SMI)",
185 [EXIT_REASON_CR_ACCESS] = "Control-register accesses",
191 "VM-entry failure due to invalid guest state",
192 [EXIT_REASON_INVAL_MSR] = "VM-entry failure due to MSR loading",
198 "VM-entry failure due to machine-check event",
208 [EXIT_REASON_VMX_PREEMPT] = "VMX-preemption timer expired",
218 [EXIT_REASON_PM_LOG_FULL] = "Page-modification log full",
246 vme = vmrun->vm_exit; in vmexit_vmx()
250 EPRINTLN("\trip\t\t0x%016lx", vme->rip); in vmexit_vmx()
251 EPRINTLN("\tinst_length\t%d", vme->inst_length); in vmexit_vmx()
252 EPRINTLN("\tstatus\t\t%d", vme->u.vmx.status); in vmexit_vmx()
253 EPRINTLN("\texit_reason\t%u (%s)", vme->u.vmx.exit_reason, in vmexit_vmx()
254 vmexit_vmx_desc(vme->u.vmx.exit_reason)); in vmexit_vmx()
256 vme->u.vmx.exit_qualification); in vmexit_vmx()
257 EPRINTLN("\tinst_type\t\t%d", vme->u.vmx.inst_type); in vmexit_vmx()
258 EPRINTLN("\tinst_error\t\t%d", vme->u.vmx.inst_error); in vmexit_vmx()
260 if (vme->u.vmx.exit_reason == EXIT_REASON_EPT_MISCONFIG) { in vmexit_vmx()
282 vme = vmrun->vm_exit; in vmexit_svm()
286 EPRINTLN("\trip\t\t0x%016lx", vme->rip); in vmexit_svm()
287 EPRINTLN("\tinst_length\t%d", vme->inst_length); in vmexit_svm()
288 EPRINTLN("\texitcode\t%#lx", vme->u.svm.exitcode); in vmexit_svm()
289 EPRINTLN("\texitinfo1\t%#lx", vme->u.svm.exitinfo1); in vmexit_svm()
290 EPRINTLN("\texitinfo2\t%#lx", vme->u.svm.exitinfo2); in vmexit_svm()
298 assert(vmrun->vm_exit->inst_length == 0); in vmexit_bogus()
307 assert(vmrun->vm_exit->inst_length == 0); in vmexit_reqidle()
335 assert(vmrun->vm_exit->inst_length == 0); in vmexit_mtrap()
357 vme = vmrun->vm_exit; in vmexit_inst_emul()
359 vie = &vme->u.inst_emul.vie; in vmexit_inst_emul()
360 if (!vie->decoded) { in vmexit_inst_emul()
368 mode = vme->u.inst_emul.paging.cpu_mode; in vmexit_inst_emul()
369 cs_d = vme->u.inst_emul.cs_d; in vmexit_inst_emul()
373 vme->rip + vie->num_processed) != 0) in vmexit_inst_emul()
377 err = emulate_mem(vcpu, vme->u.inst_emul.gpa, vie, in vmexit_inst_emul()
378 &vme->u.inst_emul.paging); in vmexit_inst_emul()
382 vme->u.inst_emul.gpa); in vmexit_inst_emul()
391 for (i = 0; i < vie->num_valid; i++) in vmexit_inst_emul()
392 fprintf(stderr, "%02x", vie->inst[i]); in vmexit_inst_emul()
393 FPRINTLN(stderr, " ] at 0x%lx", vme->rip); in vmexit_inst_emul()
404 vme = vmrun->vm_exit; in vmexit_suspend()
406 how = vme->u.suspended.how; in vmexit_suspend()
443 * XXX-MJ sleep for a short period to avoid chewing up the CPU in the in vmexit_debug()
457 gdb_cpu_debug(vcpu, vmrun->vm_exit); in vmexit_db()
468 gdb_cpu_breakpoint(vcpu, vmrun->vm_exit); in vmexit_breakpoint()
478 int error = -1; in vmexit_ipi()
481 dmask = vmrun->cpuset; in vmexit_ipi()
482 vme = vmrun->vm_exit; in vmexit_ipi()
484 switch (vme->u.ipi.mode) { in vmexit_ipi()
497 vme->u.ipi.vector << PAGE_SHIFT); in vmexit_ipi()