OSDN Git Service

KVM: x86: Use DR_TRAP_BITS instead of hard-coded 15
authorLiran Alon <liran.alon@oracle.com>
Wed, 5 Jun 2019 22:54:47 +0000 (01:54 +0300)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 18 Jun 2019 09:43:42 +0000 (11:43 +0200)
Make all code consistent with kvm_deliver_exception_payload() by using
appropriate symbolic constant instead of hard-coded number.

Reviewed-by: Nikita Leshenko <nikita.leshchenko@oracle.com>
Reviewed-by: Krish Sadhukhan <krish.sadhukhan@oracle.com>
Signed-off-by: Liran Alon <liran.alon@oracle.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/emulate.c
arch/x86/kvm/vmx/vmx.c
arch/x86/kvm/x86.c

index d0d5dd4..199cd2c 100644 (file)
@@ -4260,7 +4260,7 @@ static int check_dr_read(struct x86_emulate_ctxt *ctxt)
                ulong dr6;
 
                ctxt->ops->get_dr(ctxt, 6, &dr6);
-               dr6 &= ~15;
+               dr6 &= ~DR_TRAP_BITS;
                dr6 |= DR6_BD | DR6_RTM;
                ctxt->ops->set_dr(ctxt, 6, dr6);
                return emulate_db(ctxt);
index da24f18..f91323d 100644 (file)
@@ -4521,7 +4521,7 @@ static int handle_exception(struct kvm_vcpu *vcpu)
                dr6 = vmcs_readl(EXIT_QUALIFICATION);
                if (!(vcpu->guest_debug &
                      (KVM_GUESTDBG_SINGLESTEP | KVM_GUESTDBG_USE_HW_BP))) {
-                       vcpu->arch.dr6 &= ~15;
+                       vcpu->arch.dr6 &= ~DR_TRAP_BITS;
                        vcpu->arch.dr6 |= dr6 | DR6_RTM;
                        if (is_icebp(intr_info))
                                skip_emulated_instruction(vcpu);
@@ -4766,7 +4766,7 @@ static int handle_dr(struct kvm_vcpu *vcpu)
                        vcpu->run->exit_reason = KVM_EXIT_DEBUG;
                        return 0;
                } else {
-                       vcpu->arch.dr6 &= ~15;
+                       vcpu->arch.dr6 &= ~DR_TRAP_BITS;
                        vcpu->arch.dr6 |= DR6_BD | DR6_RTM;
                        kvm_queue_exception(vcpu, DB_VECTOR);
                        return 1;
index 279ab4e..eadd987 100644 (file)
@@ -6392,7 +6392,7 @@ static bool kvm_vcpu_check_breakpoint(struct kvm_vcpu *vcpu, int *r)
                                           vcpu->arch.db);
 
                if (dr6 != 0) {
-                       vcpu->arch.dr6 &= ~15;
+                       vcpu->arch.dr6 &= ~DR_TRAP_BITS;
                        vcpu->arch.dr6 |= dr6 | DR6_RTM;
                        kvm_queue_exception(vcpu, DB_VECTOR);
                        *r = EMULATE_DONE;