KVM: x86: Move the check for upper 32 reserved bits of DR6 to separate function
Signed-off-by: Krish Sadhukhan <krish.sadhukhan@oracle.com> Message-Id: <20200522221954.32131-2-krish.sadhukhan@oracle.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
12bc2132b1
commit
f5f6145e41
@ -1133,7 +1133,7 @@ static int __kvm_set_dr(struct kvm_vcpu *vcpu, int dr, unsigned long val)
|
|||||||
case 4:
|
case 4:
|
||||||
/* fall through */
|
/* fall through */
|
||||||
case 6:
|
case 6:
|
||||||
if (val & 0xffffffff00000000ULL)
|
if (!kvm_dr6_valid(val))
|
||||||
return -1; /* #GP */
|
return -1; /* #GP */
|
||||||
vcpu->arch.dr6 = (val & DR6_VOLATILE) | kvm_dr6_fixed(vcpu);
|
vcpu->arch.dr6 = (val & DR6_VOLATILE) | kvm_dr6_fixed(vcpu);
|
||||||
break;
|
break;
|
||||||
|
@ -360,6 +360,11 @@ static inline bool kvm_dr7_valid(u64 data)
|
|||||||
/* Bits [63:32] are reserved */
|
/* Bits [63:32] are reserved */
|
||||||
return !(data >> 32);
|
return !(data >> 32);
|
||||||
}
|
}
|
||||||
|
static inline bool kvm_dr6_valid(u64 data)
|
||||||
|
{
|
||||||
|
/* Bits [63:32] are reserved */
|
||||||
|
return !(data >> 32);
|
||||||
|
}
|
||||||
|
|
||||||
void kvm_load_guest_xsave_state(struct kvm_vcpu *vcpu);
|
void kvm_load_guest_xsave_state(struct kvm_vcpu *vcpu);
|
||||||
void kvm_load_host_xsave_state(struct kvm_vcpu *vcpu);
|
void kvm_load_host_xsave_state(struct kvm_vcpu *vcpu);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user