Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d1431483 authored by Tiejun Chen's avatar Tiejun Chen Committed by Paolo Bonzini
Browse files

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: default avatarTiejun Chen <tiejun.chen@intel.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 56f17dd3
Loading
Loading
Loading
Loading
+0 −5
Original line number Original line Diff line number Diff line
@@ -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)
{
{
+5 −0
Original line number Original line Diff line number Diff line
@@ -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);


+1 −1
Original line number Original line Diff line number Diff line
@@ -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;