Excerpts from Christophe Leroy's message of October 21, 2021 3:03 pm:
Le 21/10/2021 à 05:54, Nicholas Piggin a écrit :
quoted
mmu_linear_psize is only set at boot once on 64e, is not necessarily
the correct size of the linear map pages, and is never used anywhere
except memremap_compat_align.
Remove mmu_linear_psize and hard code the 1GB value instead in
memremap_compat_align.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
arch/powerpc/mm/ioremap.c | 6 +++++-
arch/powerpc/mm/nohash/tlb.c | 9 ---------
2 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/arch/powerpc/mm/ioremap.c b/arch/powerpc/mm/ioremap.c
index 57342154d2b0..730c3bbe4759 100644
--- a/arch/powerpc/mm/ioremap.c
+++ b/arch/powerpc/mm/ioremap.c
@@ -109,12 +109,16 @@ void __iomem *do_ioremap(phys_addr_t pa, phys_addr_t offset, unsigned long size,
*/
unsigned long memremap_compat_align(void)
{
+#ifdef CONFIG_PPC_BOOK3E_64
I don't think this function really belongs to ioremap.c
Could avoid the #ifdef by going in:
arch/powerpc/mm/nohash/book3e_pgtable.c
and
arch/powerpc/mm/book3s64/pgtable.c
Yeah that might work.
Thanks,
Nick