Lines Matching refs:exit_code
2634 svm->vmcb->control.exit_code = SVM_EXIT_CR0_SEL_WRITE; in check_selective_cr0_intercepted()
2657 if (svm->vmcb->control.exit_code == SVM_EXIT_CR0_SEL_WRITE) in cr_interception()
2660 cr = svm->vmcb->control.exit_code - SVM_EXIT_READ_CR0; in cr_interception()
2726 cr = svm->vmcb->control.exit_code - SVM_EXIT_CR0_WRITE_TRAP; in cr_trap()
2781 dr = svm->vmcb->control.exit_code - SVM_EXIT_READ_DR0; in dr_interception()
3364 pr_err("%-20s%08x\n", "exit_code:", control->exit_code); in dump_vmcb()
3453 static bool svm_check_exit_valid(u64 exit_code) in svm_check_exit_valid() argument
3455 return (exit_code < ARRAY_SIZE(svm_exit_handlers) && in svm_check_exit_valid()
3456 svm_exit_handlers[exit_code]); in svm_check_exit_valid()
3459 static int svm_handle_invalid_exit(struct kvm_vcpu *vcpu, u64 exit_code) in svm_handle_invalid_exit() argument
3461 vcpu_unimpl(vcpu, "svm: unexpected exit reason 0x%llx\n", exit_code); in svm_handle_invalid_exit()
3466 vcpu->run->internal.data[0] = exit_code; in svm_handle_invalid_exit()
3471 int svm_invoke_exit_handler(struct kvm_vcpu *vcpu, u64 exit_code) in svm_invoke_exit_handler() argument
3473 if (!svm_check_exit_valid(exit_code)) in svm_invoke_exit_handler()
3474 return svm_handle_invalid_exit(vcpu, exit_code); in svm_invoke_exit_handler()
3477 if (exit_code == SVM_EXIT_MSR) in svm_invoke_exit_handler()
3479 else if (exit_code == SVM_EXIT_VINTR) in svm_invoke_exit_handler()
3481 else if (exit_code == SVM_EXIT_INTR) in svm_invoke_exit_handler()
3483 else if (exit_code == SVM_EXIT_HLT) in svm_invoke_exit_handler()
3485 else if (exit_code == SVM_EXIT_NPF) in svm_invoke_exit_handler()
3488 return svm_exit_handlers[exit_code](vcpu); in svm_invoke_exit_handler()
3497 *reason = control->exit_code; in svm_get_exit_info()
3512 u32 exit_code = svm->vmcb->control.exit_code; in svm_handle_exit() local
3536 if (svm->vmcb->control.exit_code == SVM_EXIT_ERR) { in svm_handle_exit()
3539 = svm->vmcb->control.exit_code; in svm_handle_exit()
3548 return svm_invoke_exit_handler(vcpu, exit_code); in svm_handle_exit()
4106 if (to_svm(vcpu)->vmcb->control.exit_code == SVM_EXIT_MSR && in svm_exit_handlers_fastpath()
4204 if (unlikely(svm->vmcb->control.exit_code == SVM_EXIT_NMI)) in svm_vcpu_run()
4212 if (unlikely(svm->vmcb->control.exit_code == SVM_EXIT_NMI)) in svm_vcpu_run()
4223 svm->vmcb->control.exit_code != SVM_EXIT_ERR) in svm_vcpu_run()
4233 if (svm->vmcb->control.exit_code == SVM_EXIT_EXCP_BASE + PF_VECTOR) in svm_vcpu_run()
4243 if (unlikely(svm->vmcb->control.exit_code == in svm_vcpu_run()
4374 #define PRE_EX(exit) { .exit_code = (exit), \
4376 #define POST_EX(exit) { .exit_code = (exit), \
4378 #define POST_MEM(exit) { .exit_code = (exit), \
4382 u32 exit_code; member
4456 switch (icpt_info.exit_code) { in svm_check_intercept()
4459 icpt_info.exit_code += info->modrm_reg; in svm_check_intercept()
4465 icpt_info.exit_code += info->modrm_reg; in svm_check_intercept()
4467 if (icpt_info.exit_code != SVM_EXIT_WRITE_CR0 || in svm_check_intercept()
4487 icpt_info.exit_code = SVM_EXIT_CR0_SEL_WRITE; in svm_check_intercept()
4493 icpt_info.exit_code += info->modrm_reg; in svm_check_intercept()
4548 vmcb->control.exit_code = icpt_info.exit_code; in svm_check_intercept()
4560 if (to_svm(vcpu)->vmcb->control.exit_code == SVM_EXIT_INTR) in svm_handle_exit_irqoff()