s390: Map kernel at fixed location when KASLR is disabled
authorAlexander Gordeev <agordeev@linux.ibm.com>
Tue, 26 Sep 2023 13:58:51 +0000 (15:58 +0200)
committerAlexander Gordeev <agordeev@linux.ibm.com>
Wed, 17 Apr 2024 11:38:02 +0000 (13:38 +0200)
commit54f2ecc3188f78723267826f634e0747169f8685
tree8359599359b4c4730842f3f1dd5ef33e87cb55fa
parentc98d2ecae08f02bd2dccd24e7e485e9f0211db65
s390: Map kernel at fixed location when KASLR is disabled

Since kernel virtual and physical address spaces are
uncoupled the kernel is mapped at the top of the virtual
address space in case KASLR is disabled.

That does not pose any issue with regard to the kernel
booting and operation, but makes it difficult to use a
generated vmlinux with some debugging tools (e.g. gdb),
because the exact location of the kernel image in virtual
memory is unknown. Make that location known and introduce
CONFIG_KERNEL_IMAGE_BASE configuration option.

A custom CONFIG_KERNEL_IMAGE_BASE value that would break
the virtual memory layout leads to a build error.

The kernel image size is defined by KERNEL_IMAGE_SIZE
macro and set to 512 MB, by analogy with x86.

Suggested-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Documentation/admin-guide/kernel-parameters.txt
arch/s390/Kconfig
arch/s390/boot/startup.c
arch/s390/include/asm/page.h
arch/s390/tools/relocs.c