diff options
author | Gerald Schaefer <gerald.schaefer@de.ibm.com> | 2019-04-08 06:49:58 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2019-04-29 04:47:10 -0400 |
commit | 087c4d7423989b110c3312592db05acc009a5d58 (patch) | |
tree | 62ff0f5c1121de80e098cbe317a287b4329c2194 /arch/s390/boot | |
parent | fd3d2742d558d33560ec5dfee3001e561b5c0822 (diff) |
s390/sclp: do not use static sccbs
The sccbs for init/read/sdias/early have to be located below 2 GB, and
they are currently defined as a static buffer.
With a relocatable kernel that could reside at any place in memory, this
will no longer guarantee the location below 2 GB, so use a dynamic
GFP_DMA allocation instead.
The sclp_early_sccb buffer needs special handling, as it can be used
very early, and by both the decompressor and also the decompressed
kernel. Therefore, a fixed 4 KB buffer is introduced at 0x11000, the
former PARMAREA_END. The new PARMAREA_END is now 0x12000, and it is
renamed to HEAD_END, as it is rather the end of head.S and not the end
of the parmarea.
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>
Diffstat (limited to 'arch/s390/boot')
-rw-r--r-- | arch/s390/boot/head.S | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/s390/boot/head.S b/arch/s390/boot/head.S index d585c4dbdac7..c6b4b4c5dd58 100644 --- a/arch/s390/boot/head.S +++ b/arch/s390/boot/head.S | |||
@@ -336,4 +336,7 @@ ENTRY(startup_kdump) | |||
336 | .byte "root=/dev/ram0 ro" | 336 | .byte "root=/dev/ram0 ro" |
337 | .byte 0 | 337 | .byte 0 |
338 | 338 | ||
339 | .org 0x11000 | 339 | .org EARLY_SCCB_OFFSET |
340 | .fill 4096 | ||
341 | |||
342 | .org HEAD_END | ||