vm_exit
struct vm_exit;
int emulate_inout(struct vmctx *, struct vcpu *vcpu, struct vm_exit *vmexit);
vmexit_task_switch(struct vmctx *ctx, struct vcpu *vcpu, struct vm_exit *vmexit)
vmexit_inout(struct vmctx *ctx, struct vcpu *vcpu, struct vm_exit *vme)
vmexit_rdmsr(struct vmctx *ctx __unused, struct vcpu *vcpu, struct vm_exit *vme)
vmexit_wrmsr(struct vmctx *ctx __unused, struct vcpu *vcpu, struct vm_exit *vme)
struct vm_exit *vme __unused)
struct vm_exit *vme)
vmexit_vmx(struct vmctx *ctx, struct vcpu *vcpu, struct vm_exit *vme)
vmexit_svm(struct vmctx *ctx __unused, struct vcpu *vcpu, struct vm_exit *vme)
struct vm_exit *vme)
struct vm_exit *vme __unused)
struct vm_exit *vme __unused)
vmexit_mtrap(struct vmctx *ctx __unused, struct vcpu *vcpu, struct vm_exit *vme)
struct vm_exit *vme)
vmexit_mmio(struct vmctx *ctx __unused, struct vcpu *vcpu, struct vm_exit *vme)
vmexit_suspend(struct vmctx *ctx, struct vcpu *vcpu, struct vm_exit *vme)
struct vm_exit *vme __unused)
struct vm_exit *vme)
struct vm_exit *vme)
struct vm_exit vme;
struct vm_exit;
struct vm_exit *);
extern int vmexit_task_switch(struct vmctx *, struct vcpu *, struct vm_exit *);
guest_pc(struct vm_exit *vme)
gdb_cpu_breakpoint(struct vcpu *vcpu, struct vm_exit *vmexit)
void gdb_cpu_breakpoint(struct vcpu *vcpu, struct vm_exit *vmexit);
struct vm_exit vmexit;
dump_vm_run_exitcode(struct vm_exit *vmexit, int vcpu)
vm_run(struct vcpu *vcpu, struct vm_exit *vmexit)
bcopy(&vmrun.vm_exit, vmexit, sizeof(struct vm_exit));
struct vm_exit *vm_exit)
entry.exit_data = vm_exit;
int vm_run(struct vcpu *vcpu, struct vm_exit *ret_vmexit);
struct vm_exit *vm_exit);
test_fail_vmexit(const struct vm_exit *vexit)
which_exit_kind(struct vm_entry *ventry, const struct vm_exit *vexit)
test_run_vcpu(struct vcpu *vcpu, struct vm_entry *ventry, struct vm_exit *vexit)
ventry_fulfill_inout(const struct vm_exit *vexit, struct vm_entry *ventry,
ventry_fulfill_mmio(const struct vm_exit *vexit, struct vm_entry *ventry,
vexit_match_inout(const struct vm_exit *vexit, bool is_read, uint16_t port,
vexit_match_mmio(const struct vm_exit *vexit, bool is_read, uint64_t addr,
void test_fail_vmexit(const struct vm_exit *vexit);
struct vm_exit *);
void ventry_fulfill_inout(const struct vm_exit *, struct vm_entry *, uint32_t);
void ventry_fulfill_mmio(const struct vm_exit *, struct vm_entry *, uint64_t);
bool vexit_match_inout(const struct vm_exit *, bool, uint16_t, uint_t,
bool vexit_match_mmio(const struct vm_exit *, bool, uint64_t, uint_t,
struct vm_exit vexit = { 0 };
struct vm_exit vexit = { 0 };
struct vm_exit *vexit)
struct vm_exit *vexit, uint64_t expected_rip)
struct vm_exit vexit = { 0 };
struct vm_exit vexit = { 0 };
handle_test_mmio(const struct vm_exit *vexit, struct vm_entry *ventry)
struct vm_exit vexit = { 0 };
struct vm_exit vexit = { 0 };
advance_test_state(const struct vm_exit *vexit, struct vm_entry *ventry,
struct vm_exit vexit = { 0 };
struct vm_exit vexit = { 0 };
struct vm_exit vexit = { 0 };
struct vm_exit vexit = { 0 };
struct vm_exit vexit = { 0 };
struct vm_exit vexit = { 0 };
struct vm_exit vexit = { 0 };
struct vm_exit vexit = { 0 };
struct vm_entry ventry = { 0 }; struct vm_exit vexit = { 0 };
struct vm_exit vexit = { 0 };
struct vm_exit vexit = { 0 };
struct vm_exit vexit = { 0 };
struct vm_exit vexit = { 0 };
struct vm_exit *vexit)
struct vm_exit vexit = { 0 };
struct vm_entry *ventry, struct vm_exit *vexit)
struct vm_exit vexit = { 0 };
struct vm_exit vexit = { 0 };
struct vm_exit vexit = { 0 };
struct vm_exit vexit = { 0 };
struct vm_entry ventry = { 0 }; struct vm_exit vexit = { 0 };
handle_exit(struct vmctx *ctx, const struct vm_exit *vexit,
struct vm_exit vexit = { 0 };
struct vm_exit vexit = { 0 };
svm_handle_msr(struct svm_softc *svm_sc, int vcpu, struct vm_exit *vmexit,
svm_vmexit(struct svm_softc *svm_sc, int vcpu, struct vm_exit *vmexit)
struct vm_exit *vmexit;
vm_exit_svm(struct vm_exit *vme, uint64_t code, uint64_t info1, uint64_t info2)
svm_handle_inout(struct svm_softc *svm_sc, int vcpu, struct vm_exit *vmexit)
svm_handle_mmio_emul(struct svm_softc *svm_sc, int vcpu, struct vm_exit *vmexit,
svm_inst_emul_other(struct svm_softc *svm_sc, int vcpu, struct vm_exit *vmexit)
vmx_emulate_xsetbv(struct vmx *vmx, int vcpu, struct vm_exit *vmexit)
vmexit_mmio_emul(struct vm_exit *vmexit, struct vie *vie, uint64_t gpa,
vmexit_inout(struct vm_exit *vmexit, struct vie *vie, uint64_t qual,
vmx_handle_apic_access(struct vmx *vmx, int vcpuid, struct vm_exit *vmexit)
vmx_handle_msr(struct vmx *vmx, int vcpuid, struct vm_exit *vmexit,
vmx_exit_process(struct vmx *vmx, int vcpu, struct vm_exit *vmexit)
vmx_exit_inst_error(struct vmxctx *vmxctx, int rc, struct vm_exit *vmexit)
vmx_exit_handle_possible_nmi(struct vm_exit *vmexit)
struct vm_exit *vmexit;
void vie_exitinfo(const struct vie *vie, struct vm_exit *vme);
void vie_fallback_exitinfo(const struct vie *vie, struct vm_exit *vme);
struct vm_exit *vm_exitinfo(struct vm *vm, int vcpuid);
struct vm_exit;
struct vm_exit exitinfo; /* (x) exit reason and collateral */
struct vm_exit *vme = &vcpu->exitinfo;
struct vm_exit *vme;
vm_handle_inout(struct vm *vm, int vcpuid, struct vm_exit *vme)
struct vm_exit *vme;
vm_handle_rdmsr(struct vm *vm, int vcpuid, struct vm_exit *vme)
vm_handle_wrmsr(struct vm *vm, int vcpuid, struct vm_exit *vme)
vm_is_suspended(struct vm *vm, struct vm_exit *vme)
struct vm_exit *vmexit;
struct vm_exit *vme)
vm_loop_checks(struct vm *vm, int vcpuid, struct vm_exit *vme)
struct vm_exit *vme;
static bool vm_is_suspended(struct vm *, struct vm_exit *);
struct vm_exit *vme = &vcpu->exitinfo;
struct vm_exit *vme = &vcpu->exitinfo;
struct vm_exit *vme = &vcpu->exitinfo;
struct vm_exit *
vie_exitinfo(const struct vie *vie, struct vm_exit *vme)
vie_fallback_exitinfo(const struct vie *vie, struct vm_exit *vme)
const struct vm_exit *vme;