From: Tiejun Chen Date: Tue, 18 Nov 2014 09:12:56 +0000 (+0800) Subject: kvm: x86: vmx: cleanup handle_ept_violation X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=81ed33e4aaba65cda6367b27a21e2de9862e955f;p=openwrt%2Fstaging%2Fblogic.git kvm: x86: vmx: cleanup handle_ept_violation Instead, just use PFERR_{FETCH, PRESENT, WRITE}_MASK inside handle_ept_violation() for slightly better code. Signed-off-by: Tiejun Chen Signed-off-by: Paolo Bonzini --- diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index 330a08aa0291..6a951d823c82 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -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;