Home
last modified time | relevance | path

Searched refs:vmexit (Results 1 – 16 of 16) sorted by relevance

/freebsd/sys/amd64/vmm/
H A Dvmm_ioport.c65 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 Dvmm.c1063 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 Dvmx.c1698 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 Dsvm.c831 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 Dinout.c101 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 Dtask_switch.c713 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 Dinout.h74 int emulate_inout(struct vmctx *ctx, struct vcpu *vcpu, struct vm_exit *vmexit);
/freebsd/sys/riscv/vmm/
H A Dvmm.c367 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 Dgdb.h32 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 Dgdb.c1058 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 DMakefile71 vmexit.c \
/freebsd/sys/arm64/vmm/
H A Dvmm.c694 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 Dtst.hvmenable.ksh56 xdt:hvm::vmexit
/freebsd/usr.sbin/bhyvectl/riscv/
H A Dbhyvectl_machdep.c49 bhyvectl_dump_vm_run_exitcode(struct vm_exit *vmexit __unused, in bhyvectl_dump_vm_run_exitcode()
/freebsd/usr.sbin/bhyvectl/
H A Dbhyvectl.c503 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 Dvlapic.c1041 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()