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

Commit f5e3fe09 authored by Bharat Bhushan's avatar Bharat Bhushan Committed by Alexander Graf
Browse files

kvm: powerpc: define a linux pte lookup function



We need to search linux "pte" to get "pte" attributes for setting TLB in KVM.
This patch defines a lookup_linux_ptep() function which returns pte pointer.

Signed-off-by: default avatarBharat Bhushan <bharat.bhushan@freescale.com>
Reviewed-by: default avatarScott Wood <scottwood@freescale.com>
Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
parent 7c85e6b3
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -223,6 +223,27 @@ extern int gup_hugepte(pte_t *ptep, unsigned long sz, unsigned long addr,
#endif
pte_t *find_linux_pte_or_hugepte(pgd_t *pgdir, unsigned long ea,
				 unsigned *shift);

static inline pte_t *lookup_linux_ptep(pgd_t *pgdir, unsigned long hva,
				     unsigned long *pte_sizep)
{
	pte_t *ptep;
	unsigned long ps = *pte_sizep;
	unsigned int shift;

	ptep = find_linux_pte_or_hugepte(pgdir, hva, &shift);
	if (!ptep)
		return NULL;
	if (shift)
		*pte_sizep = 1ul << shift;
	else
		*pte_sizep = PAGE_SIZE;

	if (ps > *pte_sizep)
		return NULL;

	return ptep;
}
#endif /* __ASSEMBLY__ */

#endif /* __KERNEL__ */