[PATCH] Add pr_info() traces for investigation
Christophe Leroy
christophe.leroy at csgroup.eu
Wed Aug 16 03:21:52 AEST 2023
Signed-off-by: Christophe Leroy <christophe.leroy at csgroup.eu>
---
arch/powerpc/kernel/btext.c | 2 ++
arch/powerpc/mm/book3s32/kuap.c | 5 +++++
arch/powerpc/mm/book3s32/mmu.c | 3 +++
arch/powerpc/mm/kasan/init_32.c | 3 +++
arch/powerpc/mm/pgtable_32.c | 4 ++++
5 files changed, 17 insertions(+)
diff --git a/arch/powerpc/kernel/btext.c b/arch/powerpc/kernel/btext.c
index 19e46fd623b0..ec989e1011f0 100644
--- a/arch/powerpc/kernel/btext.c
+++ b/arch/powerpc/kernel/btext.c
@@ -126,7 +126,9 @@ void __init btext_setup_display(int width, int height, int depth, int pitch,
void __init btext_unmap(void)
{
+ pr_info("%s:%d\n", __func__, __LINE__);
boot_text_mapped = 0;
+ pr_info("%s:%d\n", __func__, __LINE__);
}
/* Here's a small text engine to use during early boot
diff --git a/arch/powerpc/mm/book3s32/kuap.c b/arch/powerpc/mm/book3s32/kuap.c
index 28676cabb005..856d18c135bf 100644
--- a/arch/powerpc/mm/book3s32/kuap.c
+++ b/arch/powerpc/mm/book3s32/kuap.c
@@ -20,17 +20,22 @@ EXPORT_SYMBOL(kuap_unlock_all_ool);
void setup_kuap(bool disabled)
{
+ pr_info("%s:%d\n", __func__, __LINE__);
if (!disabled) {
+ pr_info("%s:%d\n", __func__, __LINE__);
kuap_lock_all_ool();
init_mm.context.sr0 |= SR_KS;
current->thread.sr0 |= SR_KS;
}
+ pr_info("%s:%d\n", __func__, __LINE__);
if (smp_processor_id() != boot_cpuid)
return;
+ pr_info("%s:%d\n", __func__, __LINE__);
if (disabled)
static_branch_enable(&disable_kuap_key);
else
pr_info("Activating Kernel Userspace Access Protection\n");
+ pr_info("%s:%d\n", __func__, __LINE__);
}
diff --git a/arch/powerpc/mm/book3s32/mmu.c b/arch/powerpc/mm/book3s32/mmu.c
index 850783cfa9c7..ab0c19acd3f3 100644
--- a/arch/powerpc/mm/book3s32/mmu.c
+++ b/arch/powerpc/mm/book3s32/mmu.c
@@ -143,6 +143,7 @@ static unsigned long __init __mmu_mapin_ram(unsigned long base, unsigned long to
{
int idx;
+ pr_info("%s:%d %lx %lx\n", __func__, __LINE__, base, top);
while ((idx = find_free_bat()) != -1 && base != top) {
unsigned int size = bat_block_size(base, top);
@@ -151,6 +152,7 @@ static unsigned long __init __mmu_mapin_ram(unsigned long base, unsigned long to
setbat(idx, PAGE_OFFSET + base, base, size, PAGE_KERNEL_X);
base += size;
}
+ pr_info("%s:%d %lx\n", __func__, __LINE__, base);
return base;
}
@@ -164,6 +166,7 @@ unsigned long __init mmu_mapin_ram(unsigned long base, unsigned long top)
size = roundup_pow_of_two((unsigned long)_einittext - PAGE_OFFSET);
setibat(0, PAGE_OFFSET, 0, size, PAGE_KERNEL_X);
+ pr_info("%s:%d %lx %lx %lx %lx\n", __func__, __LINE__, base, top, border, size);
if (debug_pagealloc_enabled_or_kfence()) {
pr_debug_once("Read-Write memory mapped without BATs\n");
if (base >= border)
diff --git a/arch/powerpc/mm/kasan/init_32.c b/arch/powerpc/mm/kasan/init_32.c
index a70828a6d935..a0f82d9a1fa6 100644
--- a/arch/powerpc/mm/kasan/init_32.c
+++ b/arch/powerpc/mm/kasan/init_32.c
@@ -126,12 +126,15 @@ void __init kasan_mmu_init(void)
{
int ret;
+ pr_info("%s:%d\n", __func__, __LINE__);
if (early_mmu_has_feature(MMU_FTR_HPTE_TABLE)) {
ret = kasan_init_shadow_page_tables(KASAN_SHADOW_START, KASAN_SHADOW_END);
+ pr_info("%s:%d %d\n", __func__, __LINE__, ret);
if (ret)
panic("kasan: kasan_init_shadow_page_tables() failed");
}
+ pr_info("%s:%d\n", __func__, __LINE__);
}
void __init kasan_init(void)
diff --git a/arch/powerpc/mm/pgtable_32.c b/arch/powerpc/mm/pgtable_32.c
index 5c02fd08d61e..d75084f67d9b 100644
--- a/arch/powerpc/mm/pgtable_32.c
+++ b/arch/powerpc/mm/pgtable_32.c
@@ -104,6 +104,7 @@ static void __init __mapin_ram_chunk(unsigned long offset, unsigned long top)
phys_addr_t p;
bool ktext;
+ pr_info("%s:%d %lx %lx\n", __func__, __LINE__, offset, top);
s = offset;
v = PAGE_OFFSET + s;
p = memstart_addr + s;
@@ -113,6 +114,7 @@ static void __init __mapin_ram_chunk(unsigned long offset, unsigned long top)
v += PAGE_SIZE;
p += PAGE_SIZE;
}
+ pr_info("%s:%d\n", __func__, __LINE__);
}
void __init mapin_ram(void)
@@ -120,6 +122,7 @@ void __init mapin_ram(void)
phys_addr_t base, end;
u64 i;
+ pr_info("%s:%d\n", __func__, __LINE__);
for_each_mem_range(i, &base, &end) {
phys_addr_t top = min(end, total_lowmem);
@@ -128,6 +131,7 @@ void __init mapin_ram(void)
base = mmu_mapin_ram(base, top);
__mapin_ram_chunk(base, top);
}
+ pr_info("%s:%d\n", __func__, __LINE__);
}
void mark_initmem_nx(void)
--
2.41.0
More information about the Linuxppc-dev
mailing list