Lines Matching defs:exit_code

2624 		svm->vmcb->control.exit_code = SVM_EXIT_CR0_SEL_WRITE;
2647 if (svm->vmcb->control.exit_code == SVM_EXIT_CR0_SEL_WRITE)
2650 cr = svm->vmcb->control.exit_code - SVM_EXIT_READ_CR0;
2716 cr = svm->vmcb->control.exit_code - SVM_EXIT_CR0_WRITE_TRAP;
2770 dr = svm->vmcb->control.exit_code - SVM_EXIT_READ_DR0;
3371 pr_err("%-20s%08x\n", "exit_code:", control->exit_code);
3460 static bool svm_check_exit_valid(u64 exit_code)
3462 return (exit_code < ARRAY_SIZE(svm_exit_handlers) &&
3463 svm_exit_handlers[exit_code]);
3466 static int svm_handle_invalid_exit(struct kvm_vcpu *vcpu, u64 exit_code)
3468 vcpu_unimpl(vcpu, "svm: unexpected exit reason 0x%llx\n", exit_code);
3473 vcpu->run->internal.data[0] = exit_code;
3478 int svm_invoke_exit_handler(struct kvm_vcpu *vcpu, u64 exit_code)
3480 if (!svm_check_exit_valid(exit_code))
3481 return svm_handle_invalid_exit(vcpu, exit_code);
3484 if (exit_code == SVM_EXIT_MSR)
3486 else if (exit_code == SVM_EXIT_VINTR)
3488 else if (exit_code == SVM_EXIT_INTR)
3490 else if (exit_code == SVM_EXIT_HLT)
3492 else if (exit_code == SVM_EXIT_NPF)
3495 return svm_exit_handlers[exit_code](vcpu);
3504 *reason = control->exit_code;
3519 u32 exit_code = svm->vmcb->control.exit_code;
3543 if (svm->vmcb->control.exit_code == SVM_EXIT_ERR) {
3546 = svm->vmcb->control.exit_code;
3555 return svm_invoke_exit_handler(vcpu, exit_code);
4137 if (to_svm(vcpu)->vmcb->control.exit_code == SVM_EXIT_MSR &&
4241 if (unlikely(svm->vmcb->control.exit_code == SVM_EXIT_NMI))
4249 if (unlikely(svm->vmcb->control.exit_code == SVM_EXIT_NMI))
4260 svm->vmcb->control.exit_code != SVM_EXIT_ERR)
4270 if (svm->vmcb->control.exit_code == SVM_EXIT_EXCP_BASE + PF_VECTOR)
4280 if (unlikely(svm->vmcb->control.exit_code ==
4408 #define PRE_EX(exit) { .exit_code = (exit), \
4410 #define POST_EX(exit) { .exit_code = (exit), \
4412 #define POST_MEM(exit) { .exit_code = (exit), \
4416 u32 exit_code;
4490 switch (icpt_info.exit_code) {
4493 icpt_info.exit_code += info->modrm_reg;
4499 icpt_info.exit_code += info->modrm_reg;
4501 if (icpt_info.exit_code != SVM_EXIT_WRITE_CR0 ||
4521 icpt_info.exit_code = SVM_EXIT_CR0_SEL_WRITE;
4527 icpt_info.exit_code += info->modrm_reg;
4582 vmcb->control.exit_code = icpt_info.exit_code;
4594 if (to_svm(vcpu)->vmcb->control.exit_code == SVM_EXIT_INTR)