KVM: Fold kvm_run::exit_type into kvm_run::exit_reason
Currently, userspace is told about the nature of the last exit from the guest using two fields, exit_type and exit_reason, where exit_type has just two enumerations (and no need for more). So fold exit_type into exit_reason, reducing the complexity of determining what really happened. Signed-off-by: Avi Kivity <avi@qumranet.com>
This commit is contained in:
@@ -1298,8 +1298,6 @@ static int handle_exit(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
|
||||
{
|
||||
u32 exit_code = vcpu->svm->vmcb->control.exit_code;
|
||||
|
||||
kvm_run->exit_type = KVM_EXIT_TYPE_VM_EXIT;
|
||||
|
||||
if (is_external_interrupt(vcpu->svm->vmcb->control.exit_int_info) &&
|
||||
exit_code != SVM_EXIT_EXCP_BASE + PF_VECTOR)
|
||||
printk(KERN_ERR "%s: unexpected exit_ini_info 0x%x "
|
||||
@@ -1609,8 +1607,9 @@ again:
|
||||
vcpu->svm->next_rip = 0;
|
||||
|
||||
if (vcpu->svm->vmcb->control.exit_code == SVM_EXIT_ERR) {
|
||||
kvm_run->exit_type = KVM_EXIT_TYPE_FAIL_ENTRY;
|
||||
kvm_run->exit_reason = vcpu->svm->vmcb->control.exit_code;
|
||||
kvm_run->exit_reason = KVM_EXIT_FAIL_ENTRY;
|
||||
kvm_run->fail_entry.hardware_entry_failure_reason
|
||||
= vcpu->svm->vmcb->control.exit_code;
|
||||
post_kvm_run_save(vcpu, kvm_run);
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user