mirror of
https://github.com/torvalds/linux.git
synced 2024-11-26 06:02:05 +00:00
378e32aa81
This is a preparatory rework to allow uncoupling virtual and physical addresses spaces. The virtual memory layout is needed for address translation by crash tool when /proc/kcore device is used as the memory image. Acked-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
24 lines
758 B
C
24 lines
758 B
C
// SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
#include <linux/vmcore_info.h>
|
|
#include <asm/abs_lowcore.h>
|
|
#include <linux/mm.h>
|
|
#include <asm/setup.h>
|
|
|
|
void arch_crash_save_vmcoreinfo(void)
|
|
{
|
|
struct lowcore *abs_lc;
|
|
|
|
VMCOREINFO_SYMBOL(lowcore_ptr);
|
|
VMCOREINFO_SYMBOL(high_memory);
|
|
VMCOREINFO_LENGTH(lowcore_ptr, NR_CPUS);
|
|
vmcoreinfo_append_str("SAMODE31=%lx\n", (unsigned long)__samode31);
|
|
vmcoreinfo_append_str("EAMODE31=%lx\n", (unsigned long)__eamode31);
|
|
vmcoreinfo_append_str("IDENTITYBASE=%lx\n", __identity_base);
|
|
vmcoreinfo_append_str("KERNELOFFSET=%lx\n", kaslr_offset());
|
|
vmcoreinfo_append_str("KERNELOFFPHYS=%lx\n", __kaslr_offset_phys);
|
|
abs_lc = get_abs_lowcore();
|
|
abs_lc->vmcore_info = paddr_vmcoreinfo_note();
|
|
put_abs_lowcore(abs_lc);
|
|
}
|