When debug with kaslr, it is sometimes necessary to have PHYS_OFFSET to
perform linear virtual address to physical address translation.
Sometimes we're debugging with only few information such as a kernel log
and a symbol file, print PHYS_OFFSET in dump_kernel_offset() for that case.

Tested by:
echo c > /proc/sysrq-trigger
[   11.996161] SMP: stopping secondary CPUs
[   11.996732] Kernel Offset: 0x2522200000 from 0xffffff8008000000
[   11.996881] PHYS_OFFSET: 0xffffffeb40000000

Signed-off-by: Miles Chen <miles.c...@mediatek.com>
Tested-by: Miles Chen <miles.c...@mediatek.com>
---
 arch/arm64/kernel/setup.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
index f4fc1e0544b7..4b0e1231625c 100644
--- a/arch/arm64/kernel/setup.c
+++ b/arch/arm64/kernel/setup.c
@@ -388,6 +388,7 @@ static int dump_kernel_offset(struct notifier_block *self, 
unsigned long v,
        if (IS_ENABLED(CONFIG_RANDOMIZE_BASE) && offset > 0) {
                pr_emerg("Kernel Offset: 0x%lx from 0x%lx\n",
                         offset, KIMAGE_VADDR);
+               pr_emerg("PHYS_OFFSET: 0x%llx\n", PHYS_OFFSET);
        } else {
                pr_emerg("Kernel Offset: disabled\n");
        }
-- 
2.18.0

Reply via email to