kernel_optimize_test/arch/s390/boot
Gerald Schaefer a80313ff91 s390/kernel: introduce .dma sections
With a relocatable kernel that could reside at any place in memory, code
and data that has to stay below 2 GB needs special handling.

This patch introduces .dma sections for such text, data and ex_table.
The sections will be part of the decompressor kernel, so they will not
be relocated and stay below 2 GB. Their location is passed over to the
decompressed / relocated kernel via the .boot.preserved.data section.

The duald and aste for control register setup also need to stay below
2 GB, so move the setup code from arch/s390/kernel/head64.S to
arch/s390/boot/head.S. The duct and linkage_stack could reside above
2 GB, but their content has to be preserved for the decompresed kernel,
so they are also moved into the .dma section.

The start and end address of the .dma sections is added to vmcoreinfo,
for crash support, to help debugging in case the kernel crashed there.

Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Reviewed-by: Philipp Rudo <prudo@linux.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2019-04-29 10:47:10 +02:00
..
compressed s390/kernel: introduce .dma sections 2019-04-29 10:47:10 +02:00
.gitignore s390: introduce .boot.data section compile time validation 2018-10-09 11:21:08 +02:00
als.c s390: warn about clearing als implied facilities 2019-03-01 08:00:42 +01:00
boot.h s390/ipl: read IPL report at early boot 2019-04-26 12:34:05 +02:00
cmdline.c s390: move ipl block and cmd line handling to early boot phase 2018-10-09 11:21:14 +02:00
ctype.c s390: move ipl block and cmd line handling to early boot phase 2018-10-09 11:21:14 +02:00
ebcdic.c s390/decompressor: avoid reusing uncompressed image objects 2018-06-25 10:14:39 +02:00
head_kdump.S s390/boot: make head.S and als.c be part of the decompressor only 2018-06-25 10:14:38 +02:00
head.S s390/kernel: introduce .dma sections 2019-04-29 10:47:10 +02:00
install.sh s390: Remove redundant license text 2017-11-24 15:37:24 +01:00
ipl_parm.c s390/ipl: provide uapi header for list directed IPL 2019-04-26 12:34:05 +02:00
ipl_report.c s390/ipl: read IPL report at early boot 2019-04-26 12:34:05 +02:00
ipl_vmparm.c s390: move ipl block and cmd line handling to early boot phase 2018-10-09 11:21:14 +02:00
machine_kexec_reloc.c s390/kernel: build a relocatable kernel 2019-04-29 10:47:10 +02:00
Makefile s390/kernel: introduce .dma sections 2019-04-29 10:47:10 +02:00
mem_detect.c s390/mem_detect: Use IS_ENABLED(CONFIG_BLK_DEV_INITRD) 2019-03-29 07:23:44 +01:00
mem.S s390/decompressor: reuse lib/mem.S for mem functions 2018-06-25 10:14:39 +02:00
sclp_early_core.c s390/decompressor: avoid reusing uncompressed image objects 2018-06-25 10:14:39 +02:00
startup.c s390/kernel: introduce .dma sections 2019-04-29 10:47:10 +02:00
string.c s390/kasan: improve string/memory functions checks 2019-01-18 09:34:18 +01:00
text_dma.S s390/kernel: introduce .dma sections 2019-04-29 10:47:10 +02:00
uv.c s390/uv: introduce guest side ultravisor code 2019-04-10 17:47:21 +02:00