]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
riscv: export kaslr offset and satp in VMCOREINFO ELF notes
authorAustin Kim <austin.kim@lge.com>
Sun, 5 Apr 2026 00:42:40 +0000 (18:42 -0600)
committerPaul Walmsley <pjw@kernel.org>
Sun, 5 Apr 2026 00:42:40 +0000 (18:42 -0600)
The following options are required by the kdump crash utility for RISC-V
based vmcore file:

- kaslr: If the vmcore is generated from a KASLR-enabled Linux kernel,
         the KASLR offset is required for the crash utility to load
         the vmcore. Without the proper kaslr option, the crash utility
         fails to load the vmcore file.
- satp: The exact root page table address helps determine the correct base
        PGD address.

With this patch, RISC-V VMCOREINFO ELF notes now include both kaslr
and satp information.

Signed-off-by: Austin Kim <austin.kim@lge.com>
Link: https://patch.msgid.link/aYwKUE3ZzN7/ZY/A@adminpc-PowerEdge-R7525
Signed-off-by: Paul Walmsley <pjw@kernel.org>
arch/riscv/kernel/vmcore_info.c

index d5e448aa90e7467ca7401f97d0861595fca9eec8..682ba423cf203da302efffe87f65defb8aee08a5 100644 (file)
@@ -3,6 +3,11 @@
 #include <linux/vmcore_info.h>
 #include <linux/pagemap.h>
 
+static inline u64 get_satp_value(void)
+{
+       return csr_read(CSR_SATP);
+}
+
 void arch_crash_save_vmcoreinfo(void)
 {
        VMCOREINFO_NUMBER(phys_ram_base);
@@ -27,5 +32,7 @@ void arch_crash_save_vmcoreinfo(void)
 #else
        vmcoreinfo_append_str("NUMBER(va_kernel_pa_offset)=0x%lx\n",
                                                kernel_map.va_kernel_pa_offset);
+       vmcoreinfo_append_str("KERNELOFFSET=%lx\n", kaslr_offset());
+       vmcoreinfo_append_str("NUMBER(satp)=0x%llx\n", get_satp_value());
 #endif
 }