powerpc/32: Remove 'noltlbs' kernel parameter
authorChristophe Leroy <christophe.leroy@csgroup.eu>
Tue, 14 Jun 2022 10:32:24 +0000 (12:32 +0200)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 29 Jun 2022 06:59:06 +0000 (16:59 +1000)
Mapping without large TLBs has no added value on the 8xx.

Mapping without large TLBs is still necessary on 40x when
selecting CONFIG_KFENCE or CONFIG_DEBUG_PAGEALLOC or
CONFIG_STRICT_KERNEL_RWX, but this is done automatically
and doesn't require user selection.

Remove 'noltlbs' kernel parameter, the user has no reason
to use it.

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/80ca17bd39cf608a8ebd0764d7064a498e131199.1655202721.git.christophe.leroy@csgroup.eu
Documentation/admin-guide/kernel-parameters.txt
arch/powerpc/mm/init_32.c
arch/powerpc/mm/nohash/8xx.c

index 96de3f1..2322e42 100644 (file)
 
        nolapic_timer   [X86-32,APIC] Do not use the local APIC timer.
 
-       noltlbs         [PPC] Do not use large page/tlb entries for kernel
-                       lowmem mapping on PPC40x and PPC8xx
-
        nomca           [IA-64] Disable machine check abort handling
 
        nomce           [X86-32] Disable Machine Check Exception
index 3217947..6f2e621 100644 (file)
@@ -79,9 +79,6 @@ unsigned long __max_low_memory = MAX_LOW_MEM;
  */
 static void __init MMU_setup(void)
 {
-       if (strstr(boot_command_line, "noltlbs")) {
-               __map_without_ltlbs = 1;
-       }
        if (IS_ENABLED(CONFIG_PPC_8xx))
                return;
 
index 27f9186..6b668cc 100644 (file)
@@ -14,8 +14,6 @@
 
 #define IMMR_SIZE (FIX_IMMR_SIZE << PAGE_SHIFT)
 
-extern int __map_without_ltlbs;
-
 static unsigned long block_mapped_ram;
 
 /*
@@ -28,8 +26,6 @@ phys_addr_t v_block_mapped(unsigned long va)
 
        if (va >= VIRT_IMMR_BASE && va < VIRT_IMMR_BASE + IMMR_SIZE)
                return p + va - VIRT_IMMR_BASE;
-       if (__map_without_ltlbs)
-               return 0;
        if (va >= PAGE_OFFSET && va < PAGE_OFFSET + block_mapped_ram)
                return __pa(va);
        return 0;
@@ -45,8 +41,6 @@ unsigned long p_block_mapped(phys_addr_t pa)
 
        if (pa >= p && pa < p + IMMR_SIZE)
                return VIRT_IMMR_BASE + pa - p;
-       if (__map_without_ltlbs)
-               return 0;
        if (pa < block_mapped_ram)
                return (unsigned long)__va(pa);
        return 0;
@@ -153,9 +147,6 @@ unsigned long __init mmu_mapin_ram(unsigned long base, unsigned long top)
 
        mmu_mapin_immr();
 
-       if (__map_without_ltlbs)
-               return 0;
-
        mmu_mapin_ram_chunk(0, boundary, PAGE_KERNEL_TEXT, true);
        if (debug_pagealloc_enabled_or_kfence()) {
                top = boundary;