summaryrefslogtreecommitdiffstats
path: root/arch/s390/include
diff options
context:
space:
mode:
authorAlexander Gordeev <agordeev@linux.ibm.com>2023-09-30 10:37:49 +0200
committerAlexander Gordeev <agordeev@linux.ibm.com>2024-04-17 13:38:01 +0200
commitf4cac27dc0d6ba9640c0ce1c42749cfa086cdfb2 (patch)
tree03e2ebbaa7840f8966b35ce7c03c2b5809f8075c /arch/s390/include
parent378e32aa81971e8f5594372c6a9d75aa3cf52c99 (diff)
downloadlinux-stable-f4cac27dc0d6ba9640c0ce1c42749cfa086cdfb2.tar.gz
linux-stable-f4cac27dc0d6ba9640c0ce1c42749cfa086cdfb2.tar.bz2
linux-stable-f4cac27dc0d6ba9640c0ce1c42749cfa086cdfb2.zip
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>
Diffstat (limited to 'arch/s390/include')
-rw-r--r--arch/s390/include/asm/os_info.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/s390/include/asm/os_info.h b/arch/s390/include/asm/os_info.h
index 621d49aa9c8d..dea2b37b635e 100644
--- a/arch/s390/include/asm/os_info.h
+++ b/arch/s390/include/asm/os_info.h
@@ -24,6 +24,9 @@
#define OS_INFO_VMEMMAP 7
#define OS_INFO_AMODE31_START 8
#define OS_INFO_AMODE31_END 9
+#define OS_INFO_IMAGE_START 10
+#define OS_INFO_IMAGE_END 11
+#define OS_INFO_IMAGE_PHYS 12
#define OS_INFO_FLAG_REIPL_CLEAR (1UL << 0)