s390/crash: Use old os_info to create PT_LOAD headers
authorAlexander Gordeev <agordeev@linux.ibm.com>
Sat, 30 Sep 2023 08:37:49 +0000 (10:37 +0200)
committerAlexander Gordeev <agordeev@linux.ibm.com>
Wed, 17 Apr 2024 11:38:01 +0000 (13:38 +0200)
commitf4cac27dc0d6ba9640c0ce1c42749cfa086cdfb2
tree03e2ebbaa7840f8966b35ce7c03c2b5809f8075c
parent378e32aa81971e8f5594372c6a9d75aa3cf52c99
s390/crash: Use old os_info to create PT_LOAD headers

This is a preparatory rework to allow uncoupling virtual
and physical addresses spaces.

The vmcore ELF program headers describe virtual memory
regions of a crashed kernel. User level tools use that
information for the kernel text and data analysis (e.g
vmcore-dmesg extracts the kernel log).

Currently the kernel image is covered by program headers
describing the identity mapping regions. But in the future
the kernel image will be mapped into separate region outside
of the identity mapping. Create the additional ELF program
header that covers kernel image only, so that vmcore tools
could locate kernel text and data.

Further, the identity mapping in crashed and capture kernels
will have different base address. Due to that __va() macro
can not be used in the capture kernel. Instead, read crashed
kernel identity mapping base address from os_info and use
it for PT_LOAD type program headers creation.

Acked-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
arch/s390/include/asm/os_info.h
arch/s390/kernel/crash_dump.c
arch/s390/kernel/os_info.c