powerpc: add `cur_cpu_spec` symbol to vmcoreinfo
authorAditya Gupta <adityag@linux.ibm.com>
Mon, 11 Sep 2023 09:14:09 +0000 (14:44 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 18 Sep 2023 02:23:27 +0000 (12:23 +1000)
Presently, while reading a vmcore, makedumpfile uses
`cur_cpu_spec.mmu_features` to decide whether the crashed system had
RADIX MMU or not.

Currently, makedumpfile fails to get the `cur_cpu_spec` symbol (unless
a vmlinux is passed with the `-x` flag to makedumpfile), and hence
assigns offsets and shifts (such as pgd_offset_l4) incorrecly considering
MMU to be hash MMU.

Add `cur_cpu_spec` symbol and offset of `mmu_features` in the
`cpu_spec` struct, to VMCOREINFO, so that the symbol address and offset
is accessible to makedumpfile, without needing the vmlinux file

Signed-off-by: Aditya Gupta <adityag@linux.ibm.com>
Reported-by: Sachin Sant <sachinp@linux.ibm.com>
Tested-by: Sachin Sant <sachinp@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20230911091409.415662-1-adityag@linux.ibm.com
arch/powerpc/kexec/core.c

index de64c79..369b833 100644 (file)
@@ -63,6 +63,8 @@ void arch_crash_save_vmcoreinfo(void)
 #ifndef CONFIG_NUMA
        VMCOREINFO_SYMBOL(contig_page_data);
 #endif
+       VMCOREINFO_SYMBOL(cur_cpu_spec);
+       VMCOREINFO_OFFSET(cpu_spec, mmu_features);
 #if defined(CONFIG_PPC64) && defined(CONFIG_SPARSEMEM_VMEMMAP)
        VMCOREINFO_SYMBOL(vmemmap_list);
        VMCOREINFO_SYMBOL(mmu_vmemmap_psize);