KVM: mmio: cleanup kvm_set_mmio_spte_mask
Just reuse rsvd_bits() inside kvm_set_mmio_spte_mask() for slightly better code. Signed-off-by: Tiejun Chen <tiejun.chen@intel.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
56f17dd3fb
commit
d143148383
|
@ -295,11 +295,6 @@ static bool check_mmio_spte(struct kvm *kvm, u64 spte)
|
||||||
return likely(kvm_gen == spte_gen);
|
return likely(kvm_gen == spte_gen);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline u64 rsvd_bits(int s, int e)
|
|
||||||
{
|
|
||||||
return ((1ULL << (e - s + 1)) - 1) << s;
|
|
||||||
}
|
|
||||||
|
|
||||||
void kvm_mmu_set_mask_ptes(u64 user_mask, u64 accessed_mask,
|
void kvm_mmu_set_mask_ptes(u64 user_mask, u64 accessed_mask,
|
||||||
u64 dirty_mask, u64 nx_mask, u64 x_mask)
|
u64 dirty_mask, u64 nx_mask, u64 x_mask)
|
||||||
{
|
{
|
||||||
|
|
|
@ -56,6 +56,11 @@
|
||||||
#define PFERR_RSVD_MASK (1U << PFERR_RSVD_BIT)
|
#define PFERR_RSVD_MASK (1U << PFERR_RSVD_BIT)
|
||||||
#define PFERR_FETCH_MASK (1U << PFERR_FETCH_BIT)
|
#define PFERR_FETCH_MASK (1U << PFERR_FETCH_BIT)
|
||||||
|
|
||||||
|
static inline u64 rsvd_bits(int s, int e)
|
||||||
|
{
|
||||||
|
return ((1ULL << (e - s + 1)) - 1) << s;
|
||||||
|
}
|
||||||
|
|
||||||
int kvm_mmu_get_spte_hierarchy(struct kvm_vcpu *vcpu, u64 addr, u64 sptes[4]);
|
int kvm_mmu_get_spte_hierarchy(struct kvm_vcpu *vcpu, u64 addr, u64 sptes[4]);
|
||||||
void kvm_mmu_set_mmio_spte_mask(u64 mmio_mask);
|
void kvm_mmu_set_mmio_spte_mask(u64 mmio_mask);
|
||||||
|
|
||||||
|
|
|
@ -5569,7 +5569,7 @@ static void kvm_set_mmio_spte_mask(void)
|
||||||
* entry to generate page fault with PFER.RSV = 1.
|
* entry to generate page fault with PFER.RSV = 1.
|
||||||
*/
|
*/
|
||||||
/* Mask the reserved physical address bits. */
|
/* Mask the reserved physical address bits. */
|
||||||
mask = ((1ull << (51 - maxphyaddr + 1)) - 1) << maxphyaddr;
|
mask = rsvd_bits(maxphyaddr, 51);
|
||||||
|
|
||||||
/* Bit 62 is always reserved for 32bit host. */
|
/* Bit 62 is always reserved for 32bit host. */
|
||||||
mask |= 0x3ull << 62;
|
mask |= 0x3ull << 62;
|
||||||
|
|
Loading…
Reference in New Issue