1 // SPDX-License-Identifier: GPL-2.0-only 2 3 #include <linux/vmcore_info.h> 4 #include <linux/mm.h> 5 #include <asm/abs_lowcore.h> 6 #include <asm/sections.h> 7 #include <asm/setup.h> 8 9 void arch_crash_save_vmcoreinfo(void) 10 { 11 struct lowcore *abs_lc; 12 13 VMCOREINFO_SYMBOL(lowcore_ptr); 14 VMCOREINFO_SYMBOL(high_memory); 15 VMCOREINFO_LENGTH(lowcore_ptr, NR_CPUS); 16 vmcoreinfo_append_str("SAMODE31=%lx\n", (unsigned long)__samode31); 17 vmcoreinfo_append_str("EAMODE31=%lx\n", (unsigned long)__eamode31); 18 vmcoreinfo_append_str("IDENTITYBASE=%lx\n", __identity_base); 19 vmcoreinfo_append_str("KERNELOFFSET=%lx\n", kaslr_offset()); 20 vmcoreinfo_append_str("KERNELOFFPHYS=%lx\n", __kaslr_offset_phys); 21 abs_lc = get_abs_lowcore(); 22 abs_lc->vmcore_info = paddr_vmcoreinfo_note(); 23 put_abs_lowcore(abs_lc); 24 } 25