Lines Matching refs:exit_code
2515 svm->vmcb->control.exit_code = SVM_EXIT_CR0_SEL_WRITE; in check_selective_cr0_intercepted()
2538 if (svm->vmcb->control.exit_code == SVM_EXIT_CR0_SEL_WRITE) in cr_interception()
2541 cr = svm->vmcb->control.exit_code - SVM_EXIT_READ_CR0; in cr_interception()
2607 cr = svm->vmcb->control.exit_code - SVM_EXIT_CR0_WRITE_TRAP; in cr_trap()
2655 dr = svm->vmcb->control.exit_code - SVM_EXIT_READ_DR0; in dr_interception()
3240 pr_err("%-20s%08x\n", "exit_code:", control->exit_code); in dump_vmcb()
3329 static bool svm_check_exit_valid(u64 exit_code) in svm_check_exit_valid() argument
3331 return (exit_code < ARRAY_SIZE(svm_exit_handlers) && in svm_check_exit_valid()
3332 svm_exit_handlers[exit_code]); in svm_check_exit_valid()
3335 static int svm_handle_invalid_exit(struct kvm_vcpu *vcpu, u64 exit_code) in svm_handle_invalid_exit() argument
3337 vcpu_unimpl(vcpu, "svm: unexpected exit reason 0x%llx\n", exit_code); in svm_handle_invalid_exit()
3342 vcpu->run->internal.data[0] = exit_code; in svm_handle_invalid_exit()
3347 int svm_invoke_exit_handler(struct kvm_vcpu *vcpu, u64 exit_code) in svm_invoke_exit_handler() argument
3349 if (!svm_check_exit_valid(exit_code)) in svm_invoke_exit_handler()
3350 return svm_handle_invalid_exit(vcpu, exit_code); in svm_invoke_exit_handler()
3353 if (exit_code == SVM_EXIT_MSR) in svm_invoke_exit_handler()
3355 else if (exit_code == SVM_EXIT_VINTR) in svm_invoke_exit_handler()
3357 else if (exit_code == SVM_EXIT_INTR) in svm_invoke_exit_handler()
3359 else if (exit_code == SVM_EXIT_HLT) in svm_invoke_exit_handler()
3361 else if (exit_code == SVM_EXIT_NPF) in svm_invoke_exit_handler()
3364 return svm_exit_handlers[exit_code](vcpu); in svm_invoke_exit_handler()
3373 *reason = control->exit_code; in svm_get_exit_info()
3388 u32 exit_code = svm->vmcb->control.exit_code; in svm_handle_exit() local
3414 if (svm->vmcb->control.exit_code == SVM_EXIT_ERR) { in svm_handle_exit()
3417 = svm->vmcb->control.exit_code; in svm_handle_exit()
3426 return svm_invoke_exit_handler(vcpu, exit_code); in svm_handle_exit()
3892 if (to_svm(vcpu)->vmcb->control.exit_code == SVM_EXIT_MSR && in svm_exit_handlers_fastpath()
3991 if (unlikely(svm->vmcb->control.exit_code == SVM_EXIT_NMI)) in svm_vcpu_run()
3999 if (unlikely(svm->vmcb->control.exit_code == SVM_EXIT_NMI)) in svm_vcpu_run()
4010 svm->vmcb->control.exit_code != SVM_EXIT_ERR) in svm_vcpu_run()
4020 if (svm->vmcb->control.exit_code == SVM_EXIT_EXCP_BASE + PF_VECTOR) in svm_vcpu_run()
4030 if (unlikely(svm->vmcb->control.exit_code == in svm_vcpu_run()
4159 #define PRE_EX(exit) { .exit_code = (exit), \
4161 #define POST_EX(exit) { .exit_code = (exit), \
4163 #define POST_MEM(exit) { .exit_code = (exit), \
4167 u32 exit_code; member
4241 switch (icpt_info.exit_code) { in svm_check_intercept()
4244 icpt_info.exit_code += info->modrm_reg; in svm_check_intercept()
4250 icpt_info.exit_code += info->modrm_reg; in svm_check_intercept()
4252 if (icpt_info.exit_code != SVM_EXIT_WRITE_CR0 || in svm_check_intercept()
4272 icpt_info.exit_code = SVM_EXIT_CR0_SEL_WRITE; in svm_check_intercept()
4278 icpt_info.exit_code += info->modrm_reg; in svm_check_intercept()
4333 vmcb->control.exit_code = icpt_info.exit_code; in svm_check_intercept()
4345 if (to_svm(vcpu)->vmcb->control.exit_code == SVM_EXIT_INTR) in svm_handle_exit_irqoff()