Lines Matching full:exit
354 /* Exit on interrupt window. */ in nvmm_can_take_int()
371 * Contrary to INTs, NMIs always schedule an exit when they are in nvmm_can_take_nmi()
472 nvmm_vcpu_post_run(CPUState *cpu, struct nvmm_vcpu_exit *exit) in nvmm_vcpu_post_run() argument
479 env->eflags = exit->exitstate.rflags; in nvmm_vcpu_post_run()
480 qcpu->int_shadow = exit->exitstate.int_shadow; in nvmm_vcpu_post_run()
481 qcpu->int_window_exit = exit->exitstate.int_window_exiting; in nvmm_vcpu_post_run()
482 qcpu->nmi_window_exit = exit->exitstate.nmi_window_exiting; in nvmm_vcpu_post_run()
484 tpr = exit->exitstate.cr8; in nvmm_vcpu_post_run()
537 (void *)vcpu->exit->u.mem.gpa); in nvmm_handle_mem()
551 (int)vcpu->exit->u.io.port); in nvmm_handle_io()
559 struct nvmm_vcpu_exit *exit) in nvmm_handle_rdmsr() argument
568 switch (exit->u.rdmsr.msr) { in nvmm_handle_rdmsr()
581 exit->u.rdmsr.msr); in nvmm_handle_rdmsr()
592 state->gprs[NVMM_X64_GPR_RIP] = exit->u.rdmsr.npc; in nvmm_handle_rdmsr()
604 struct nvmm_vcpu_exit *exit) in nvmm_handle_wrmsr() argument
613 val = exit->u.wrmsr.val; in nvmm_handle_wrmsr()
615 switch (exit->u.wrmsr.msr) { in nvmm_handle_wrmsr()
624 exit->u.wrmsr.msr, val); in nvmm_handle_wrmsr()
633 state->gprs[NVMM_X64_GPR_RIP] = exit->u.wrmsr.npc; in nvmm_handle_wrmsr()
645 struct nvmm_vcpu_exit *exit) in nvmm_handle_halted() argument
684 struct nvmm_vcpu_exit *exit = vcpu->exit; in nvmm_vcpu_loop() local
751 /* Read exit_request before the kernel reads the immediate exit flag */ in nvmm_vcpu_loop()
760 nvmm_vcpu_post_run(cpu, exit); in nvmm_vcpu_loop()
762 switch (exit->reason) { in nvmm_vcpu_loop()
768 * The kernel cleared the immediate exit flag; cpu->exit_request in nvmm_vcpu_loop()
786 ret = nvmm_handle_halted(mach, cpu, exit); in nvmm_vcpu_loop()
794 ret = nvmm_handle_rdmsr(mach, cpu, exit); in nvmm_vcpu_loop()
797 ret = nvmm_handle_wrmsr(mach, cpu, exit); in nvmm_vcpu_loop()
804 error_report("NVMM: Unexpected VM exit code 0x%lx [hw=0x%lx]", in nvmm_vcpu_loop()
805 exit->reason, exit->u.inv.hwcode); in nvmm_vcpu_loop()
880 * and another thread signaling the vCPU thread to exit.