powerpc/mm: print hash info in a helper
authorChristophe Leroy <christophe.leroy@c-s.fr>
Fri, 26 Apr 2019 16:36:39 +0000 (16:36 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 2 May 2019 15:20:26 +0000 (01:20 +1000)
Reduce #ifdef mess by defining a helper to print
hash info at startup.

In the meantime, remove the display of hash table address
to reduce leak of non necessary information.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/kernel/setup-common.c
arch/powerpc/mm/book3s32/mmu.c
arch/powerpc/mm/book3s64/hash_utils.c
arch/powerpc/mm/mmu_decl.h

index 91d2c69..3f8805d 100644 (file)
@@ -800,12 +800,6 @@ void arch_setup_pdev_archdata(struct platform_device *pdev)
 static __init void print_system_info(void)
 {
        pr_info("-----------------------------------------------------\n");
-#ifdef CONFIG_PPC_BOOK3S_64
-       pr_info("ppc64_pft_size    = 0x%llx\n", ppc64_pft_size);
-#endif
-#ifdef CONFIG_PPC_BOOK3S_32
-       pr_info("Hash_size         = 0x%lx\n", Hash_size);
-#endif
        pr_info("phys_mem_size     = 0x%llx\n",
                (unsigned long long)memblock_phys_mem_size());
 
@@ -827,21 +821,7 @@ static __init void print_system_info(void)
        pr_info("firmware_features = 0x%016lx\n", powerpc_firmware_features);
 #endif
 
-#ifdef CONFIG_PPC_BOOK3S_64
-       if (htab_address)
-               pr_info("htab_address      = 0x%p\n", htab_address);
-       if (htab_hash_mask)
-               pr_info("htab_hash_mask    = 0x%lx\n", htab_hash_mask);
-       pr_info("kernel vmalloc start   = 0x%lx\n", KERN_VIRT_START);
-       pr_info("kernel IO start        = 0x%lx\n", KERN_IO_START);
-       pr_info("kernel vmemmap start   = 0x%lx\n", (unsigned long)vmemmap);
-#endif
-#ifdef CONFIG_PPC_BOOK3S_32
-       if (Hash)
-               pr_info("Hash              = 0x%p\n", Hash);
-       if (Hash_mask)
-               pr_info("Hash_mask         = 0x%lx\n", Hash_mask);
-#endif
+       print_system_hash_info();
 
        if (PHYSICAL_START > 0)
                pr_info("physical_start    = 0x%llx\n",
index 131cd3a..615f78d 100644 (file)
@@ -37,7 +37,7 @@
 #include <mm/mmu_decl.h>
 
 struct hash_pte *Hash;
-unsigned long Hash_size, Hash_mask;
+static unsigned long Hash_size, Hash_mask;
 unsigned long _SDR1;
 static unsigned int hash_mb, hash_mb2;
 
@@ -401,6 +401,13 @@ void setup_initial_memory_limit(phys_addr_t first_memblock_base,
                memblock_set_current_limit(min_t(u64, first_memblock_size, 0x10000000));
 }
 
+void __init print_system_hash_info(void)
+{
+       pr_info("Hash_size         = 0x%lx\n", Hash_size);
+       if (Hash_mask)
+               pr_info("Hash_mask         = 0x%lx\n", Hash_mask);
+}
+
 #ifdef CONFIG_PPC_KUEP
 void __init setup_kuep(bool disabled)
 {
index f0ce860..919a861 100644 (file)
@@ -66,6 +66,8 @@
 #include <asm/pte-walk.h>
 #include <asm/asm-prototypes.h>
 
+#include <mm/mmu_decl.h>
+
 #ifdef DEBUG
 #define DBG(fmt...) udbg_printf(fmt)
 #else
@@ -1945,3 +1947,14 @@ static int __init hash64_debugfs(void)
 }
 machine_device_initcall(pseries, hash64_debugfs);
 #endif /* CONFIG_DEBUG_FS */
+
+void __init print_system_hash_info(void)
+{
+       pr_info("ppc64_pft_size    = 0x%llx\n", ppc64_pft_size);
+
+       if (htab_hash_mask)
+               pr_info("htab_hash_mask    = 0x%lx\n", htab_hash_mask);
+       pr_info("kernel vmalloc start   = 0x%lx\n", KERN_VIRT_START);
+       pr_info("kernel IO start        = 0x%lx\n", KERN_IO_START);
+       pr_info("kernel vmemmap start   = 0x%lx\n", (unsigned long)vmemmap);
+}
index 7b8833d..7bac0aa 100644 (file)
@@ -83,6 +83,8 @@ static inline void _tlbivax_bcast(unsigned long address, unsigned int pid,
 }
 #endif
 
+static inline void print_system_hash_info(void) {}
+
 #else /* CONFIG_PPC_MMU_NOHASH */
 
 extern void hash_preload(struct mm_struct *mm, unsigned long ea,
@@ -92,6 +94,8 @@ extern void hash_preload(struct mm_struct *mm, unsigned long ea,
 extern void _tlbie(unsigned long address);
 extern void _tlbia(void);
 
+void print_system_hash_info(void);
+
 #endif /* CONFIG_PPC_MMU_NOHASH */
 
 #ifdef CONFIG_PPC32
@@ -105,7 +109,6 @@ extern unsigned int rtas_data, rtas_size;
 
 struct hash_pte;
 extern struct hash_pte *Hash;
-extern unsigned long Hash_size, Hash_mask;
 extern u8 early_hash[];
 
 #endif /* CONFIG_PPC32 */