| /freebsd/sys/amd64/vmm/ |
| H A D | vmm_ioport.c | 65 inout_instruction(struct vm_exit *vmexit) in inout_instruction() argument 76 switch (vmexit->u.inout.bytes) { in inout_instruction() 88 if (vmexit->u.inout.in) in inout_instruction() 91 if (vmexit->u.inout.string) in inout_instruction() 102 emulate_inout_port(struct vcpu *vcpu, struct vm_exit *vmexit, bool *retu) in emulate_inout_port() argument 111 if (vmexit->u.inout.port >= MAX_IOPORTS || in emulate_inout_port() 112 (handler = ioport_handler[vmexit->u.inout.port]) == NULL) { in emulate_inout_port() 117 mask = vie_size2mask(vmexit->u.inout.bytes); in emulate_inout_port() 119 if (!vmexit->u.inout.in) { in emulate_inout_port() 120 val = vmexit->u.inout.eax & mask; in emulate_inout_port() [all …]
|
| H A D | vmm.c | 1070 struct vm_exit *vmexit; in vm_exit_suspended() local 1075 vmexit = vm_exitinfo(vcpu); in vm_exit_suspended() 1076 vmexit->rip = rip; in vm_exit_suspended() 1077 vmexit->inst_length = 0; in vm_exit_suspended() 1078 vmexit->exitcode = VM_EXITCODE_SUSPENDED; in vm_exit_suspended() 1079 vmexit->u.suspended.how = vm->suspend; in vm_exit_suspended() 1085 struct vm_exit *vmexit; in vm_exit_debug() local 1087 vmexit = vm_exitinfo(vcpu); in vm_exit_debug() 1088 vmexit->rip = rip; in vm_exit_debug() 1089 vmexit->inst_length = 0; in vm_exit_debug() [all …]
|
| /freebsd/sys/amd64/vmm/intel/ |
| H A D | vmx.c | 1271 VMX_CTR3(vcpu, "%s %s vmexit at 0x%0lx", in vmx_exit_trace() 1279 VMX_CTR1(vcpu, "astpending vmexit at 0x%0lx", rip); in vmx_astpending_trace() 1698 struct vm_exit *vmexit) in vmx_emulate_xsetbv() argument 2082 vmexit_inst_emul(struct vm_exit *vmexit, uint64_t gpa, uint64_t gla) 2087 paging = &vmexit->u.inst_emul.paging; in vmexit_inst_emul() 2089 vmexit->exitcode = VM_EXITCODE_INST_EMUL; in vmexit_inst_emul() 2090 vmexit->inst_length = 0; in vmexit_inst_emul() 2091 vmexit->u.inst_emul.gpa = gpa; in vmexit_inst_emul() 2092 vmexit->u.inst_emul.gla = gla; in vmexit_inst_emul() 2096 vmexit in vmexit_inst_emul() 2084 vmexit_inst_emul(struct vm_exit * vmexit,uint64_t gpa,uint64_t gla) vmexit_inst_emul() argument 2256 vmx_handle_apic_access(struct vmx_vcpu * vcpu,struct vm_exit * vmexit) vmx_handle_apic_access() argument 2382 vmx_exit_process(struct vmx * vmx,struct vmx_vcpu * vcpu,struct vm_exit * vmexit) vmx_exit_process() argument 2891 vmx_exit_inst_error(struct vmxctx * vmxctx,int rc,struct vm_exit * vmexit) vmx_exit_inst_error() argument 2924 vmx_exit_handle_nmi(struct vmx_vcpu * vcpu,struct vm_exit * vmexit) vmx_exit_handle_nmi() argument 3045 struct vm_exit *vmexit; vmx_run() local 3819 struct vm_exit *vmexit; vmx_pending_intr() local [all...] |
| /freebsd/sys/amd64/vmm/amd/ |
| H A D | svm.c | 831 svm_handle_io(struct svm_vcpu *vcpu, struct vm_exit *vmexit) in svm_handle_io() argument 847 vmexit->exitcode = VM_EXITCODE_INOUT; in svm_handle_io() 848 vmexit->u.inout.in = (info1 & BIT(0)) ? 1 : 0; in svm_handle_io() 849 vmexit->u.inout.string = inout_string; in svm_handle_io() 850 vmexit->u.inout.rep = (info1 & BIT(3)) ? 1 : 0; in svm_handle_io() 851 vmexit->u.inout.bytes = (info1 >> 4) & 0x7; in svm_handle_io() 852 vmexit->u.inout.port = (uint16_t)(info1 >> 16); in svm_handle_io() 853 vmexit->u.inout.eax = (uint32_t)(state->rax); in svm_handle_io() 856 vmexit->exitcode = VM_EXITCODE_INOUT_STR; in svm_handle_io() 857 vis = &vmexit->u.inout_str; in svm_handle_io() [all …]
|
| /freebsd/usr.sbin/bhyve/amd64/ |
| H A D | inout.c | 101 emulate_inout(struct vmctx *ctx, struct vcpu *vcpu, struct vm_exit *vmexit) in emulate_inout() argument 113 bytes = vmexit->u.inout.bytes; in emulate_inout() 114 in = vmexit->u.inout.in; in emulate_inout() 115 port = vmexit->u.inout.port; in emulate_inout() 138 if (vmexit->u.inout.string) { in emulate_inout() 139 vis = &vmexit->u.inout_str; in emulate_inout() 220 eax = vmexit->u.inout.eax; in emulate_inout()
|
| H A D | task_switch.c | 713 struct vm_exit *vmexit; in vmexit_task_switch() local 720 vmexit = vmrun->vm_exit; in vmexit_task_switch() 721 task_switch = &vmexit->u.task_switch; in vmexit_task_switch() 723 ext = vmexit->u.task_switch.ext; in vmexit_task_switch() 724 reason = vmexit->u.task_switch.reason; in vmexit_task_switch() 725 paging = &vmexit->u.task_switch.paging; in vmexit_task_switch() 732 eip = vmexit->rip + vmexit->inst_length; in vmexit_task_switch()
|
| H A D | inout.h | 74 int emulate_inout(struct vmctx *ctx, struct vcpu *vcpu, struct vm_exit *vmexit);
|
| /freebsd/sys/riscv/vmm/ |
| H A D | vmm.c | 367 struct vm_exit *vmexit; in vm_exit_suspended() local 372 vmexit = vm_exitinfo(vcpu); in vm_exit_suspended() 373 vmexit->pc = pc; in vm_exit_suspended() 374 vmexit->inst_length = 4; in vm_exit_suspended() 375 vmexit->exitcode = VM_EXITCODE_SUSPENDED; in vm_exit_suspended() 376 vmexit->u.suspended.how = vm->suspend; in vm_exit_suspended() 382 struct vm_exit *vmexit; in vm_exit_debug() local 384 vmexit = vm_exitinfo(vcpu); in vm_exit_debug() 385 vmexit->pc = pc; in vm_exit_debug() 386 vmexit->inst_length = 4; in vm_exit_debug() [all …]
|
| /freebsd/usr.sbin/bhyve/ |
| H A D | gdb.h | 32 void gdb_cpu_breakpoint(struct vcpu *vcpu, struct vm_exit *vmexit); 35 void gdb_cpu_debug(struct vcpu *vcpu, struct vm_exit *vmexit);
|
| H A D | gdb.c | 1058 gdb_cpu_debug(struct vcpu *vcpu, struct vm_exit *vmexit) in gdb_cpu_debug() argument 1065 if (vmexit->u.dbg.trace_trap) { in gdb_cpu_debug() 1069 (void)vmexit; in gdb_cpu_debug() 1099 gdb_cpu_breakpoint(struct vcpu *vcpu, struct vm_exit *vmexit) in gdb_cpu_breakpoint() argument 1112 error = guest_vaddr2paddr(vcpu, guest_pc(vmexit), &gpa); in gdb_cpu_breakpoint() 1121 vm_set_register(vcpu, GDB_PC_REGNAME, guest_pc(vmexit)); in gdb_cpu_breakpoint() 1125 vcpuid, guest_pc(vmexit)); in gdb_cpu_breakpoint() 1144 guest_pc(vmexit)); in gdb_cpu_breakpoint() 1147 vmexit->u.bpt.inst_length); in gdb_cpu_breakpoint() 1154 esr = (EXCP_BRK << ESR_ELx_EC_SHIFT) | vmexit->u.hyp.esr_el2; in gdb_cpu_breakpoint()
|
| H A D | Makefile | 73 vmexit.c \
|
| /freebsd/sys/arm64/vmm/ |
| H A D | vmm.c | 693 struct vm_exit *vmexit; in vm_exit_suspended() local 698 vmexit = vm_exitinfo(vcpu); in vm_exit_suspended() 699 vmexit->pc = pc; in vm_exit_suspended() 700 vmexit->inst_length = 4; in vm_exit_suspended() 701 vmexit->exitcode = VM_EXITCODE_SUSPENDED; in vm_exit_suspended() 702 vmexit->u.suspended.how = vm->suspend; in vm_exit_suspended() 708 struct vm_exit *vmexit; in vm_exit_debug() local 710 vmexit = vm_exitinfo(vcpu); in vm_exit_debug() 711 vmexit->pc = pc; in vm_exit_debug() 712 vmexit->inst_length = 4; in vm_exit_debug() [all …]
|
| /freebsd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/i86xpv/xdt/ |
| H A D | tst.hvmenable.ksh | 56 xdt:hvm::vmexit
|
| /freebsd/usr.sbin/bhyvectl/riscv/ |
| H A D | bhyvectl_machdep.c | 49 bhyvectl_dump_vm_run_exitcode(struct vm_exit *vmexit __unused, in bhyvectl_dump_vm_run_exitcode()
|
| /freebsd/usr.sbin/bhyvectl/ |
| H A D | bhyvectl.c | 582 struct vm_exit vmexit; in main() local 585 vmrun.vm_exit = &vmexit; in main() 590 bhyvectl_dump_vm_run_exitcode(&vmexit, vcpuid); in main()
|
| /freebsd/sys/amd64/vmm/io/ |
| H A D | vlapic.c | 1041 struct vm_exit *vmexit; in vlapic_icrlo_write_handler() local 1142 vmexit = vm_exitinfo(vlapic->vcpu); in vlapic_icrlo_write_handler() 1143 vmexit->exitcode = VM_EXITCODE_IPI; in vlapic_icrlo_write_handler() 1144 vmexit->u.ipi.mode = mode; in vlapic_icrlo_write_handler() 1145 vmexit->u.ipi.vector = vec; in vlapic_icrlo_write_handler()
|