Lines Matching refs:exit_code
2450 svm->vmcb->control.exit_code = SVM_EXIT_CR0_SEL_WRITE; in check_selective_cr0_intercepted()
2473 if (svm->vmcb->control.exit_code == SVM_EXIT_CR0_SEL_WRITE) in cr_interception()
2476 cr = svm->vmcb->control.exit_code - SVM_EXIT_READ_CR0; in cr_interception()
2542 cr = svm->vmcb->control.exit_code - SVM_EXIT_CR0_WRITE_TRAP; in cr_trap()
2590 dr = svm->vmcb->control.exit_code - SVM_EXIT_READ_DR0; in dr_interception()
3154 pr_err("%-20s%08x\n", "exit_code:", control->exit_code); in dump_vmcb()
3243 static bool svm_check_exit_valid(struct kvm_vcpu *vcpu, u64 exit_code) in svm_check_exit_valid() argument
3245 return (exit_code < ARRAY_SIZE(svm_exit_handlers) && in svm_check_exit_valid()
3246 svm_exit_handlers[exit_code]); in svm_check_exit_valid()
3249 static int svm_handle_invalid_exit(struct kvm_vcpu *vcpu, u64 exit_code) in svm_handle_invalid_exit() argument
3251 vcpu_unimpl(vcpu, "svm: unexpected exit reason 0x%llx\n", exit_code); in svm_handle_invalid_exit()
3256 vcpu->run->internal.data[0] = exit_code; in svm_handle_invalid_exit()
3261 int svm_invoke_exit_handler(struct kvm_vcpu *vcpu, u64 exit_code) in svm_invoke_exit_handler() argument
3263 if (!svm_check_exit_valid(vcpu, exit_code)) in svm_invoke_exit_handler()
3264 return svm_handle_invalid_exit(vcpu, exit_code); in svm_invoke_exit_handler()
3267 if (exit_code == SVM_EXIT_MSR) in svm_invoke_exit_handler()
3269 else if (exit_code == SVM_EXIT_VINTR) in svm_invoke_exit_handler()
3271 else if (exit_code == SVM_EXIT_INTR) in svm_invoke_exit_handler()
3273 else if (exit_code == SVM_EXIT_HLT) in svm_invoke_exit_handler()
3275 else if (exit_code == SVM_EXIT_NPF) in svm_invoke_exit_handler()
3278 return svm_exit_handlers[exit_code](vcpu); in svm_invoke_exit_handler()
3300 u32 exit_code = svm->vmcb->control.exit_code; in handle_exit() local
3302 trace_kvm_exit(exit_code, vcpu, KVM_ISA_SVM); in handle_exit()
3315 trace_kvm_nested_vmexit(exit_code, vcpu, KVM_ISA_SVM); in handle_exit()
3326 if (svm->vmcb->control.exit_code == SVM_EXIT_ERR) { in handle_exit()
3329 = svm->vmcb->control.exit_code; in handle_exit()
3336 exit_code != SVM_EXIT_EXCP_BASE + PF_VECTOR && in handle_exit()
3337 exit_code != SVM_EXIT_NPF && exit_code != SVM_EXIT_TASK_SWITCH && in handle_exit()
3338 exit_code != SVM_EXIT_INTR && exit_code != SVM_EXIT_NMI) in handle_exit()
3342 exit_code); in handle_exit()
3347 return svm_invoke_exit_handler(vcpu, exit_code); in handle_exit()
3720 if (to_svm(vcpu)->vmcb->control.exit_code == SVM_EXIT_MSR && in svm_exit_handlers_fastpath()
3852 if (unlikely(svm->vmcb->control.exit_code == SVM_EXIT_NMI)) in svm_vcpu_run()
3860 if (unlikely(svm->vmcb->control.exit_code == SVM_EXIT_NMI)) in svm_vcpu_run()
3871 svm->vmcb->control.exit_code != SVM_EXIT_ERR) in svm_vcpu_run()
3881 if (svm->vmcb->control.exit_code == SVM_EXIT_EXCP_BASE + PF_VECTOR) in svm_vcpu_run()
3892 if (unlikely(svm->vmcb->control.exit_code == in svm_vcpu_run()
4064 #define PRE_EX(exit) { .exit_code = (exit), \
4066 #define POST_EX(exit) { .exit_code = (exit), \
4068 #define POST_MEM(exit) { .exit_code = (exit), \
4072 u32 exit_code; member
4146 switch (icpt_info.exit_code) { in svm_check_intercept()
4149 icpt_info.exit_code += info->modrm_reg; in svm_check_intercept()
4155 icpt_info.exit_code += info->modrm_reg; in svm_check_intercept()
4157 if (icpt_info.exit_code != SVM_EXIT_WRITE_CR0 || in svm_check_intercept()
4177 icpt_info.exit_code = SVM_EXIT_CR0_SEL_WRITE; in svm_check_intercept()
4183 icpt_info.exit_code += info->modrm_reg; in svm_check_intercept()
4238 vmcb->control.exit_code = icpt_info.exit_code; in svm_check_intercept()