mirror of
https://github.com/torvalds/linux.git
synced 2026-01-25 15:03:52 +08:00
um: remove custom definition of mk_pte()
Move the pfn_pte() definitions from the 2level and 4level files to the generic pgtable.h and delete the custom definition of mk_pte() so that we use the central definition. Link: https://lkml.kernel.org/r/20250402181709.2386022-6-willy@infradead.org Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Cc: Zi Yan <ziy@nvidia.com> Cc: Richard Weinberger <richard@nod.at> Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com> Cc: Johannes Berg <johannes@sipsolutions.net> Cc: Alexander Gordeev <agordeev@linux.ibm.com> Cc: Andreas Larsson <andreas@gaisler.com> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: David Hildenbrand <david@redhat.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Muchun Song <muchun.song@linux.dev> Cc: <x86@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
committed by
Andrew Morton
parent
a03079e4ee
commit
669eec68f6
@@ -37,7 +37,6 @@ static inline void pgd_mkuptodate(pgd_t pgd) { }
|
||||
#define set_pmd(pmdptr, pmdval) (*(pmdptr) = (pmdval))
|
||||
|
||||
#define pte_pfn(x) phys_to_pfn(pte_val(x))
|
||||
#define pfn_pte(pfn, prot) __pte(pfn_to_phys(pfn) | pgprot_val(prot))
|
||||
#define pfn_pmd(pfn, prot) __pmd(pfn_to_phys(pfn) | pgprot_val(prot))
|
||||
|
||||
#endif
|
||||
|
||||
@@ -102,15 +102,6 @@ static inline unsigned long pte_pfn(pte_t pte)
|
||||
return phys_to_pfn(pte_val(pte));
|
||||
}
|
||||
|
||||
static inline pte_t pfn_pte(unsigned long page_nr, pgprot_t pgprot)
|
||||
{
|
||||
pte_t pte;
|
||||
phys_t phys = pfn_to_phys(page_nr);
|
||||
|
||||
pte_set_val(pte, phys, pgprot);
|
||||
return pte;
|
||||
}
|
||||
|
||||
static inline pmd_t pfn_pmd(unsigned long page_nr, pgprot_t pgprot)
|
||||
{
|
||||
return __pmd((page_nr << PAGE_SHIFT) | pgprot_val(pgprot));
|
||||
|
||||
@@ -260,19 +260,17 @@ static inline int pte_same(pte_t pte_a, pte_t pte_b)
|
||||
return !((pte_val(pte_a) ^ pte_val(pte_b)) & ~_PAGE_NEEDSYNC);
|
||||
}
|
||||
|
||||
/*
|
||||
* Conversion functions: convert a page and protection to a page entry,
|
||||
* and a page entry and page directory to the page they refer to.
|
||||
*/
|
||||
|
||||
#define __virt_to_page(virt) phys_to_page(__pa(virt))
|
||||
#define virt_to_page(addr) __virt_to_page((const unsigned long) addr)
|
||||
|
||||
#define mk_pte(page, pgprot) \
|
||||
({ pte_t pte; \
|
||||
\
|
||||
pte_set_val(pte, page_to_phys(page), (pgprot)); \
|
||||
pte;})
|
||||
static inline pte_t pfn_pte(unsigned long pfn, pgprot_t pgprot)
|
||||
{
|
||||
pte_t pte;
|
||||
|
||||
pte_set_val(pte, pfn_to_phys(pfn), pgprot);
|
||||
|
||||
return pte;
|
||||
}
|
||||
|
||||
static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user