Christophe Leroy <christophe.le...@csgroup.eu> writes: > There is no big poing in not pinning kernel text anymore, as now > we can keep pinned TLB even with things like DEBUG_PAGEALLOC. > > Remove CONFIG_PIN_TLB_TEXT, making it always right. > > Signed-off-by: Christophe Leroy <christophe.le...@csgroup.eu> > --- > arch/powerpc/Kconfig | 3 +-- > arch/powerpc/kernel/head_8xx.S | 20 +++----------------- > arch/powerpc/mm/nohash/8xx.c | 3 +-- > arch/powerpc/platforms/8xx/Kconfig | 7 ------- > 4 files changed, 5 insertions(+), 28 deletions(-) > ... > diff --git a/arch/powerpc/mm/nohash/8xx.c b/arch/powerpc/mm/nohash/8xx.c > index 231ca95f9ffb..19a3eec1d8c5 100644 > --- a/arch/powerpc/mm/nohash/8xx.c > +++ b/arch/powerpc/mm/nohash/8xx.c > @@ -186,8 +186,7 @@ void mmu_mark_initmem_nx(void) > mmu_mapin_ram_chunk(0, boundary, PAGE_KERNEL_TEXT, false); > mmu_mapin_ram_chunk(boundary, einittext8, PAGE_KERNEL, false); > > - if (IS_ENABLED(CONFIG_PIN_TLB_TEXT)) > - mmu_pin_tlb(block_mapped_ram, false); > + mmu_pin_tlb(block_mapped_ram, false); > }
This broke mpc885_ads_defconfig with: ld: arch/powerpc/mm/nohash/8xx.o: in function `mmu_mark_initmem_nx': /home/michael/linux/arch/powerpc/mm/nohash/8xx.c:189: undefined reference to `mmu_pin_tlb' make[1]: *** [/home/michael/linux/Makefile:1164: vmlinux] Error 1 make: *** [Makefile:185: __sub-make] Error 2 Fixed by: diff --git a/arch/powerpc/kernel/head_8xx.S b/arch/powerpc/kernel/head_8xx.S index 35707e86c5f3..52702f3db6df 100644 --- a/arch/powerpc/kernel/head_8xx.S +++ b/arch/powerpc/kernel/head_8xx.S @@ -702,7 +702,6 @@ FixupDAR:/* Entry point for dcbx workaround. */ mtspr SPRN_DER, r8 blr -#ifdef CONFIG_PIN_TLB _GLOBAL(mmu_pin_tlb) lis r9, (1f - PAGE_OFFSET)@h ori r9, r9, (1f - PAGE_OFFSET)@l @@ -802,7 +801,6 @@ _GLOBAL(mmu_pin_tlb) mtspr SPRN_SRR1, r10 mtspr SPRN_SRR0, r11 rfi -#endif /* CONFIG_PIN_TLB */ /* * We put a few things here that have to be page-aligned. cheers