Message ID | d319f2a9367d4d08fd2154e506101bd5f100feeb.1636967119.git.christophe.leroy@csgroup.eu (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | powerpc/book3e: Fix TLBCAM preset at boot | expand |
Context | Check | Description |
---|---|---|
snowpatch_ozlabs/github-powerpc_ppctests | success | Successfully ran 8 jobs. |
snowpatch_ozlabs/github-powerpc_selftests | success | Successfully ran 8 jobs. |
snowpatch_ozlabs/github-powerpc_sparse | success | Successfully ran 4 jobs. |
snowpatch_ozlabs/github-powerpc_clang | success | Successfully ran 7 jobs. |
snowpatch_ozlabs/github-powerpc_kernel_qemu | success | Successfully ran 24 jobs. |
On 15 November 2021 at 10:05 am, Christophe Leroy wrote: > Commit 52bda69ae8b5 ("powerpc/fsl_booke: Tell map_mem_in_cams() if > init is done") was supposed to just add an additional parameter to > map_mem_in_cams() and always set it to 'true' at that time. > > But a few call sites were messed up. Fix them. > > Reported-by: Christian Zigotzky <chzigotzky@xenosoft.de> > Fixes: 52bda69ae8b5 ("powerpc/fsl_booke: Tell map_mem_in_cams() if init is done") > Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> > --- > arch/powerpc/mm/nohash/kaslr_booke.c | 2 +- > arch/powerpc/mm/nohash/tlb.c | 4 ++-- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/arch/powerpc/mm/nohash/kaslr_booke.c b/arch/powerpc/mm/nohash/kaslr_booke.c > index 8fc49b1b4a91..6ec978967da0 100644 > --- a/arch/powerpc/mm/nohash/kaslr_booke.c > +++ b/arch/powerpc/mm/nohash/kaslr_booke.c > @@ -314,7 +314,7 @@ static unsigned long __init kaslr_choose_location(void *dt_ptr, phys_addr_t size > pr_warn("KASLR: No safe seed for randomizing the kernel base.\n"); > > ram = min_t(phys_addr_t, __max_low_memory, size); > - ram = map_mem_in_cams(ram, CONFIG_LOWMEM_CAM_NUM, true, false); > + ram = map_mem_in_cams(ram, CONFIG_LOWMEM_CAM_NUM, true, true); > linear_sz = min_t(unsigned long, ram, SZ_512M); > > /* If the linear size is smaller than 64M, do not randmize */ > diff --git a/arch/powerpc/mm/nohash/tlb.c b/arch/powerpc/mm/nohash/tlb.c > index 89353d4f5604..647bf454a0fa 100644 > --- a/arch/powerpc/mm/nohash/tlb.c > +++ b/arch/powerpc/mm/nohash/tlb.c > @@ -645,7 +645,7 @@ static void early_init_this_mmu(void) > > if (map) > linear_map_top = map_mem_in_cams(linear_map_top, > - num_cams, true, true); > + num_cams, false, true); > } > #endif > > @@ -766,7 +766,7 @@ void setup_initial_memory_limit(phys_addr_t first_memblock_base, > num_cams = (mfspr(SPRN_TLB1CFG) & TLBnCFG_N_ENTRY) / 4; > > linear_sz = map_mem_in_cams(first_memblock_size, num_cams, > - false, true); > + true, true); > > ppc64_rma_size = min_t(u64, linear_sz, 0x40000000); > } else Tested-by: Christian Zigotzky <chzigotzky@xenosoft.de> Thanks
On Mon, 15 Nov 2021 10:05:32 +0100, Christophe Leroy wrote: > Commit 52bda69ae8b5 ("powerpc/fsl_booke: Tell map_mem_in_cams() if > init is done") was supposed to just add an additional parameter to > map_mem_in_cams() and always set it to 'true' at that time. > > But a few call sites were messed up. Fix them. > > > [...] Applied to powerpc/fixes. [1/1] powerpc/book3e: Fix TLBCAM preset at boot https://git.kernel.org/powerpc/c/5b54860943dc4681be5de2fc287408c7ce274dfc cheers
diff --git a/arch/powerpc/mm/nohash/kaslr_booke.c b/arch/powerpc/mm/nohash/kaslr_booke.c index 8fc49b1b4a91..6ec978967da0 100644 --- a/arch/powerpc/mm/nohash/kaslr_booke.c +++ b/arch/powerpc/mm/nohash/kaslr_booke.c @@ -314,7 +314,7 @@ static unsigned long __init kaslr_choose_location(void *dt_ptr, phys_addr_t size pr_warn("KASLR: No safe seed for randomizing the kernel base.\n"); ram = min_t(phys_addr_t, __max_low_memory, size); - ram = map_mem_in_cams(ram, CONFIG_LOWMEM_CAM_NUM, true, false); + ram = map_mem_in_cams(ram, CONFIG_LOWMEM_CAM_NUM, true, true); linear_sz = min_t(unsigned long, ram, SZ_512M); /* If the linear size is smaller than 64M, do not randmize */ diff --git a/arch/powerpc/mm/nohash/tlb.c b/arch/powerpc/mm/nohash/tlb.c index 89353d4f5604..647bf454a0fa 100644 --- a/arch/powerpc/mm/nohash/tlb.c +++ b/arch/powerpc/mm/nohash/tlb.c @@ -645,7 +645,7 @@ static void early_init_this_mmu(void) if (map) linear_map_top = map_mem_in_cams(linear_map_top, - num_cams, true, true); + num_cams, false, true); } #endif @@ -766,7 +766,7 @@ void setup_initial_memory_limit(phys_addr_t first_memblock_base, num_cams = (mfspr(SPRN_TLB1CFG) & TLBnCFG_N_ENTRY) / 4; linear_sz = map_mem_in_cams(first_memblock_size, num_cams, - false, true); + true, true); ppc64_rma_size = min_t(u64, linear_sz, 0x40000000); } else
Commit 52bda69ae8b5 ("powerpc/fsl_booke: Tell map_mem_in_cams() if init is done") was supposed to just add an additional parameter to map_mem_in_cams() and always set it to 'true' at that time. But a few call sites were messed up. Fix them. Reported-by: Christian Zigotzky <chzigotzky@xenosoft.de> Fixes: 52bda69ae8b5 ("powerpc/fsl_booke: Tell map_mem_in_cams() if init is done") Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> --- arch/powerpc/mm/nohash/kaslr_booke.c | 2 +- arch/powerpc/mm/nohash/tlb.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)