Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mm: rename p4d_page_vaddr to p4d_pgtable and make it return pud_t *

No functional change in this patch.

[aneesh.kumar@linux.ibm.com: m68k build error reported by kernel robot]
Link: https://lkml.kernel.org/r/87tulxnb2v.fsf@linux.ibm.com

Link: https://lkml.kernel.org/r/20210615110859.320299-2-aneesh.kumar@linux.ibm.com
Link: https://lore.kernel.org/linuxppc-dev/CAHk-=wi+J+iodze9FtjM3Zi4j4OeS+qqbKxME9QN4roxPEXH9Q@mail.gmail.com/
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Hugh Dickins <hughd@google.com>
Cc: Joel Fernandes <joel@joelfernandes.org>
Cc: Kalesh Singh <kaleshsingh@google.com>
Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Aneesh Kumar K.V and committed by
Linus Torvalds
dc4875f0 9cf6fa24

+25 -18
+2 -2
arch/arm64/include/asm/pgtable.h
··· 710 710 return __p4d_to_phys(p4d); 711 711 } 712 712 713 - static inline unsigned long p4d_page_vaddr(p4d_t p4d) 713 + static inline pud_t *p4d_pgtable(p4d_t p4d) 714 714 { 715 - return (unsigned long)__va(p4d_page_paddr(p4d)); 715 + return (pud_t *)__va(p4d_page_paddr(p4d)); 716 716 } 717 717 718 718 /* Find an entry in the frst-level page table. */
+1 -1
arch/ia64/include/asm/pgtable.h
··· 281 281 #define p4d_bad(p4d) (!ia64_phys_addr_valid(p4d_val(p4d))) 282 282 #define p4d_present(p4d) (p4d_val(p4d) != 0UL) 283 283 #define p4d_clear(p4dp) (p4d_val(*(p4dp)) = 0UL) 284 - #define p4d_page_vaddr(p4d) ((unsigned long) __va(p4d_val(p4d) & _PFN_MASK)) 284 + #define p4d_pgtable(p4d) ((pud_t *) __va(p4d_val(p4d) & _PFN_MASK)) 285 285 #define p4d_page(p4d) virt_to_page((p4d_val(p4d) + PAGE_OFFSET)) 286 286 #endif 287 287
+2 -2
arch/mips/include/asm/pgtable-64.h
··· 209 209 p4d_val(*p4dp) = (unsigned long)invalid_pud_table; 210 210 } 211 211 212 - static inline unsigned long p4d_page_vaddr(p4d_t p4d) 212 + static inline pud_t *p4d_pgtable(p4d_t p4d) 213 213 { 214 - return p4d_val(p4d); 214 + return (pud_t *)p4d_val(p4d); 215 215 } 216 216 217 217 #define p4d_phys(p4d) virt_to_phys((void *)p4d_val(p4d))
+4 -1
arch/powerpc/include/asm/book3s/64/pgtable.h
··· 1051 1051 /* Pointers in the page table tree are physical addresses */ 1052 1052 #define __pgtable_ptr_val(ptr) __pa(ptr) 1053 1053 1054 - #define p4d_page_vaddr(p4d) __va(p4d_val(p4d) & ~P4D_MASKED_BITS) 1054 + static inline pud_t *p4d_pgtable(p4d_t p4d) 1055 + { 1056 + return (pud_t *)__va(p4d_val(p4d) & ~P4D_MASKED_BITS); 1057 + } 1055 1058 1056 1059 static inline pmd_t *pud_pgtable(pud_t pud) 1057 1060 {
+5 -1
arch/powerpc/include/asm/nohash/64/pgtable-4k.h
··· 56 56 #define p4d_none(p4d) (!p4d_val(p4d)) 57 57 #define p4d_bad(p4d) (p4d_val(p4d) == 0) 58 58 #define p4d_present(p4d) (p4d_val(p4d) != 0) 59 - #define p4d_page_vaddr(p4d) (p4d_val(p4d) & ~P4D_MASKED_BITS) 60 59 61 60 #ifndef __ASSEMBLY__ 61 + 62 + static inline pud_t *p4d_pgtable(p4d_t p4d) 63 + { 64 + return (pud_t *) (p4d_val(p4d) & ~P4D_MASKED_BITS); 65 + } 62 66 63 67 static inline void p4d_clear(p4d_t *p4dp) 64 68 {
+1 -1
arch/powerpc/mm/book3s64/radix_pgtable.c
··· 854 854 continue; 855 855 } 856 856 857 - pud_base = (pud_t *)p4d_page_vaddr(*p4d); 857 + pud_base = p4d_pgtable(*p4d); 858 858 remove_pud_table(pud_base, addr, next); 859 859 free_pud_table(pud_base, p4d); 860 860 }
+1 -1
arch/powerpc/mm/pgtable_64.c
··· 105 105 VM_WARN_ON(!p4d_huge(p4d)); 106 106 return pte_page(p4d_pte(p4d)); 107 107 } 108 - return virt_to_page(p4d_page_vaddr(p4d)); 108 + return virt_to_page(p4d_pgtable(p4d)); 109 109 } 110 110 #endif 111 111
+2 -2
arch/sparc/include/asm/pgtable_64.h
··· 856 856 #define pmd_clear(pmdp) (pmd_val(*(pmdp)) = 0UL) 857 857 #define pud_present(pud) (pud_val(pud) != 0U) 858 858 #define pud_clear(pudp) (pud_val(*(pudp)) = 0UL) 859 - #define p4d_page_vaddr(p4d) \ 860 - ((unsigned long) __va(p4d_val(p4d))) 859 + #define p4d_pgtable(p4d) \ 860 + ((pud_t *) __va(p4d_val(p4d))) 861 861 #define p4d_present(p4d) (p4d_val(p4d) != 0U) 862 862 #define p4d_clear(p4dp) (p4d_val(*(p4dp)) = 0UL) 863 863
+2 -2
arch/x86/include/asm/pgtable.h
··· 877 877 return p4d_flags(p4d) & _PAGE_PRESENT; 878 878 } 879 879 880 - static inline unsigned long p4d_page_vaddr(p4d_t p4d) 880 + static inline pud_t *p4d_pgtable(p4d_t p4d) 881 881 { 882 - return (unsigned long)__va(p4d_val(p4d) & p4d_pfn_mask(p4d)); 882 + return (pud_t *)__va(p4d_val(p4d) & p4d_pfn_mask(p4d)); 883 883 } 884 884 885 885 /*
+2 -2
arch/x86/mm/init_64.c
··· 194 194 spin_lock(pgt_lock); 195 195 196 196 if (!p4d_none(*p4d_ref) && !p4d_none(*p4d)) 197 - BUG_ON(p4d_page_vaddr(*p4d) 198 - != p4d_page_vaddr(*p4d_ref)); 197 + BUG_ON(p4d_pgtable(*p4d) 198 + != p4d_pgtable(*p4d_ref)); 199 199 200 200 if (p4d_none(*p4d)) 201 201 set_p4d(p4d, *p4d_ref);
+1 -1
include/asm-generic/pgtable-nop4d.h
··· 41 41 #define __p4d(x) ((p4d_t) { __pgd(x) }) 42 42 43 43 #define pgd_page(pgd) (p4d_page((p4d_t){ pgd })) 44 - #define pgd_page_vaddr(pgd) (p4d_page_vaddr((p4d_t){ pgd })) 44 + #define pgd_page_vaddr(pgd) ((unsigned long)(p4d_pgtable((p4d_t){ pgd }))) 45 45 46 46 /* 47 47 * allocating and freeing a p4d is trivial: the 1-entry p4d is
+1 -1
include/asm-generic/pgtable-nopud.h
··· 49 49 #define __pud(x) ((pud_t) { __p4d(x) }) 50 50 51 51 #define p4d_page(p4d) (pud_page((pud_t){ p4d })) 52 - #define p4d_page_vaddr(p4d) (pud_pgtable((pud_t){ p4d })) 52 + #define p4d_pgtable(p4d) ((pud_t *)(pud_pgtable((pud_t){ p4d }))) 53 53 54 54 /* 55 55 * allocating and freeing a pud is trivial: the 1-entry pud is
+1 -1
include/linux/pgtable.h
··· 114 114 #ifndef pud_offset 115 115 static inline pud_t *pud_offset(p4d_t *p4d, unsigned long address) 116 116 { 117 - return (pud_t *)p4d_page_vaddr(*p4d) + pud_index(address); 117 + return p4d_pgtable(*p4d) + pud_index(address); 118 118 } 119 119 #define pud_offset pud_offset 120 120 #endif