[patch 32/67] sparc: mm: add p?d_leaf() definitions
From: Andrew Morton <akpm@linux-foundation.org>
Date: 2020-02-04 01:35:40
Also in:
mm-commits
From: Steven Price <steven.price@arm.com> Subject: sparc: mm: add p?d_leaf() definitions walk_page_range() is going to be allowed to walk page tables other than those of user space. For this it needs to know when it has reached a 'leaf' entry in the page tables. This information is provided by the p?d_leaf() functions/macros. For sparc 64 bit, pmd_large() and pud_large() are already provided, so add macros to provide the p?d_leaf names required by the generic code. Link: http://lkml.kernel.org/r/20191218162402.45610-10-steven.price@arm.com Signed-off-by: Steven Price <steven.price@arm.com> Acked-by: David S. Miller <davem@davemloft.net> Cc: Albert Ou <aou@eecs.berkeley.edu> Cc: Alexandre Ghiti <alex@ghiti.fr> Cc: Andy Lutomirski <luto@kernel.org> Cc: Ard Biesheuvel <redacted> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Borislav Petkov <bp@alien8.de> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Christian Borntraeger <redacted> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: Heiko Carstens <redacted> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: James Hogan <jhogan@kernel.org> Cc: James Morse <james.morse@arm.com> Cc: Jerome Glisse <redacted> Cc: "Liang, Kan" <redacted> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Paul Burton <redacted> Cc: Paul Mackerras <redacted> Cc: Paul Walmsley <redacted> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Ralf Baechle <redacted> Cc: Russell King <linux@armlinux.org.uk> Cc: Thomas Gleixner <redacted> Cc: Vasily Gorbik <gor@linux.ibm.com> Cc: Vineet Gupta <redacted> Cc: Will Deacon <will@kernel.org> Cc: Zong Li <redacted> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> --- arch/sparc/include/asm/pgtable_64.h | 2 ++ 1 file changed, 2 insertions(+)
--- a/arch/sparc/include/asm/pgtable_64.h~sparc-mm-add-pd_leaf-definitions
+++ a/arch/sparc/include/asm/pgtable_64.h@@ -683,6 +683,7 @@ static inline unsigned long pte_special( return pte_val(pte) & _PAGE_SPECIAL; } +#define pmd_leaf pmd_large static inline unsigned long pmd_large(pmd_t pmd) { pte_t pte = __pte(pmd_val(pmd));
@@ -867,6 +868,7 @@ static inline unsigned long pud_page_vad /* only used by the stubbed out hugetlb gup code, should never be called */ #define p4d_page(p4d) NULL +#define pud_leaf pud_large static inline unsigned long pud_large(pud_t pud) { pte_t pte = __pte(pud_val(pud));
_