kvm: x86: vmx: cleanup handle_ept_violation
authorTiejun Chen <tiejun.chen@intel.com>
Tue, 18 Nov 2014 09:12:56 +0000 (17:12 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 18 Nov 2014 10:07:53 +0000 (11:07 +0100)
Instead, just use PFERR_{FETCH, PRESENT, WRITE}_MASK
inside handle_ept_violation() for slightly better code.

Signed-off-by: Tiejun Chen <tiejun.chen@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/vmx.c

index 330a08a..6a951d8 100644 (file)
@@ -5482,11 +5482,11 @@ static int handle_ept_violation(struct kvm_vcpu *vcpu)
        trace_kvm_page_fault(gpa, exit_qualification);
 
        /* It is a write fault? */
-       error_code = exit_qualification & (1U << 1);
+       error_code = exit_qualification & PFERR_WRITE_MASK;
        /* It is a fetch fault? */
-       error_code |= (exit_qualification & (1U << 2)) << 2;
+       error_code |= (exit_qualification << 2) & PFERR_FETCH_MASK;
        /* ept page table is present? */
-       error_code |= (exit_qualification >> 3) & 0x1;
+       error_code |= (exit_qualification >> 3) & PFERR_PRESENT_MASK;
 
        vcpu->arch.exit_qualification = exit_qualification;