Lines Matching defs:vmexit

188 static struct vm_exit vmexit[VM_MAXCPU];
226 " -H: vmexit from the guest on hlt\n"
230 " -P: vmexit from the guest on pause\n"
459 vm_loop(mtp->mt_ctx, vcpu, vmexit[vcpu].rip);
486 * Set up the vmexit struct to allow execution to start
489 vmexit[newcpu].rip = rip;
490 vmexit[newcpu].inst_length = 0;
550 port, vmexit->rip);
632 vmexit_vmx(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu)
637 fprintf(stderr, "\trip\t\t0x%016lx\n", vmexit->rip);
638 fprintf(stderr, "\tinst_length\t%d\n", vmexit->inst_length);
639 fprintf(stderr, "\tstatus\t\t%d\n", vmexit->u.vmx.status);
640 fprintf(stderr, "\texit_reason\t%u (%s)\n", vmexit->u.vmx.exit_reason,
641 vmexit_vmx_desc(vmexit->u.vmx.exit_reason));
643 vmexit->u.vmx.exit_qualification);
644 fprintf(stderr, "\tinst_type\t\t%d\n", vmexit->u.vmx.inst_type);
645 fprintf(stderr, "\tinst_error\t\t%d\n", vmexit->u.vmx.inst_error);
647 if (vmexit->u.vmx.exit_reason == EXIT_REASON_EPT_MISCONFIG) {
665 vmexit_svm(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu)
670 fprintf(stderr, "\trip\t\t0x%016lx\n", vmexit->rip);
671 fprintf(stderr, "\tinst_length\t%d\n", vmexit->inst_length);
672 fprintf(stderr, "\texitcode\t%#lx\n", vmexit->u.svm.exitcode);
673 fprintf(stderr, "\texitinfo1\t%#lx\n", vmexit->u.svm.exitinfo1);
674 fprintf(stderr, "\texitinfo2\t%#lx\n", vmexit->u.svm.exitinfo2);
679 vmexit_bogus(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu)
682 assert(vmexit->inst_length == 0);
690 vmexit_reqidle(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu)
693 assert(vmexit->inst_length == 0);
701 vmexit_hlt(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu)
715 vmexit_pause(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu)
724 vmexit_mtrap(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu)
727 assert(vmexit->inst_length == 0);
735 vmexit_inst_emul(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu)
742 vie = &vmexit->u.inst_emul.vie;
743 err = emulate_mem(ctx, *pvcpu, vmexit->u.inst_emul.gpa,
744 vie, &vmexit->u.inst_emul.paging);
749 vmexit->u.inst_emul.gpa);
757 fprintf(stderr, "] at 0x%lx\n", vmexit->rip);
768 vmexit_suspend(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu)
772 how = vmexit->u.suspended.how;
843 error = vm_run(ctx, vcpu, &vmexit[vcpu]);
847 exitcode = vmexit[vcpu].exitcode;
854 rc = (*handler[exitcode])(ctx, &vmexit[vcpu], &vcpu);