Lines Matching defs:vmexit

99 static struct vm_exit vmexit[VM_MAXCPU];
134 " -H: vmexit from the guest on hlt\n"
138 " -P: vmexit from the guest on pause\n"
240 vm_loop(mtp->mt_ctx, vcpu, vmexit[vcpu].rip);
266 * Set up the vmexit struct to allow execution to start
269 vmexit[newcpu].rip = rip;
270 vmexit[newcpu].inst_length = 0;
331 port, vmexit->rip);
407 vmexit_vmx(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu)
412 fprintf(stderr, "\trip\t\t0x%016lx\n", vmexit->rip);
413 fprintf(stderr, "\tinst_length\t%d\n", vmexit->inst_length);
414 fprintf(stderr, "\tstatus\t\t%d\n", vmexit->u.vmx.status);
415 fprintf(stderr, "\texit_reason\t%u\n", vmexit->u.vmx.exit_reason);
417 vmexit->u.vmx.exit_qualification);
418 fprintf(stderr, "\tinst_type\t\t%d\n", vmexit->u.vmx.inst_type);
419 fprintf(stderr, "\tinst_error\t\t%d\n", vmexit->u.vmx.inst_error);
421 if (vmexit->u.vmx.exit_reason == EXIT_REASON_EPT_MISCONFIG) {
439 vmexit_svm(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu)
444 fprintf(stderr, "\trip\t\t0x%016lx\n", vmexit->rip);
445 fprintf(stderr, "\tinst_length\t%d\n", vmexit->inst_length);
446 fprintf(stderr, "\texitcode\t%#lx\n", vmexit->u.svm.exitcode);
447 fprintf(stderr, "\texitinfo1\t%#lx\n", vmexit->u.svm.exitinfo1);
448 fprintf(stderr, "\texitinfo2\t%#lx\n", vmexit->u.svm.exitinfo2);
453 vmexit_bogus(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu)
456 assert(vmexit->inst_length == 0);
464 vmexit_reqidle(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu)
467 assert(vmexit->inst_length == 0);
475 vmexit_hlt(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu)
489 vmexit_pause(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu)
498 vmexit_mtrap(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu)
501 assert(vmexit->inst_length == 0);
509 vmexit_inst_emul(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu)
516 vie = &vmexit->u.inst_emul.vie;
517 err = emulate_mem(ctx, *pvcpu, vmexit->u.inst_emul.gpa,
518 vie, &vmexit->u.inst_emul.paging);
523 vmexit->u.inst_emul.gpa);
531 fprintf(stderr, "] at 0x%lx\n", vmexit->rip);
542 vmexit_suspend(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu)
546 how = vmexit->u.suspended.how;
615 error = vm_run(ctx, vcpu, &vmexit[vcpu]);
621 exitcode = vmexit[vcpu].exitcode;
628 rc = (*handler[exitcode])(ctx, &vmexit[vcpu], &vcpu);