| /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 | 1063 struct vm_exit *vmexit; in vm_exit_suspended() local 1068 vmexit = vm_exitinfo(vcpu); in vm_exit_suspended() 1069 vmexit->rip = rip; in vm_exit_suspended() 1070 vmexit->inst_length = 0; in vm_exit_suspended() 1071 vmexit->exitcode = VM_EXITCODE_SUSPENDED; in vm_exit_suspended() 1072 vmexit->u.suspended.how = vm->suspend; in vm_exit_suspended() 1078 struct vm_exit *vmexit; in vm_exit_debug() local 1080 vmexit = vm_exitinfo(vcpu); in vm_exit_debug() 1081 vmexit->rip = rip; in vm_exit_debug() 1082 vmexit->inst_length = 0; in vm_exit_debug() [all …]
|
| /freebsd/sys/amd64/vmm/intel/ |
| H A D | vmx.c | 1698 struct vm_exit *vmexit) in vmx_emulate_xsetbv() argument 2084 vmexit_inst_emul(struct vm_exit *vmexit, uint64_t gpa, uint64_t gla) in vmexit_inst_emul() argument 2089 paging = &vmexit->u.inst_emul.paging; in vmexit_inst_emul() 2091 vmexit->exitcode = VM_EXITCODE_INST_EMUL; in vmexit_inst_emul() 2092 vmexit->inst_length = 0; in vmexit_inst_emul() 2093 vmexit->u.inst_emul.gpa = gpa; in vmexit_inst_emul() 2094 vmexit->u.inst_emul.gla = gla; in vmexit_inst_emul() 2098 vmexit->u.inst_emul.cs_base = vmcs_read(VMCS_GUEST_CS_BASE); in vmexit_inst_emul() 2099 vmexit->u.inst_emul.cs_d = 0; in vmexit_inst_emul() 2103 vmexit->u.inst_emul.cs_base = vmcs_read(VMCS_GUEST_CS_BASE); in vmexit_inst_emul() [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 | 71 vmexit.c \
|
| /freebsd/sys/arm64/vmm/ |
| H A D | vmm.c | 694 struct vm_exit *vmexit; in vm_exit_suspended() local 699 vmexit = vm_exitinfo(vcpu); in vm_exit_suspended() 700 vmexit->pc = pc; in vm_exit_suspended() 701 vmexit->inst_length = 4; in vm_exit_suspended() 702 vmexit->exitcode = VM_EXITCODE_SUSPENDED; in vm_exit_suspended() 703 vmexit->u.suspended.how = vm->suspend; in vm_exit_suspended() 709 struct vm_exit *vmexit; in vm_exit_debug() local 711 vmexit = vm_exitinfo(vcpu); in vm_exit_debug() 712 vmexit->pc = pc; in vm_exit_debug() 713 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 | 503 struct vm_exit vmexit; in main() local 506 vmrun.vm_exit = &vmexit; in main() 511 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()
|