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.c1070 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 Dvmx.c1271 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 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 DMakefile73 vmexit.c \
/freebsd/sys/arm64/vmm/
H A Dvmm.c693 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 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.c582 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 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()