s390/sclp: use only one sclp early buffer to send commands
authorAlexander Egorenkov <egorenar@linux.ibm.com>
Sat, 10 Oct 2020 01:34:25 +0000 (03:34 +0200)
committerHeiko Carstens <hca@linux.ibm.com>
Tue, 27 Jul 2021 07:39:13 +0000 (09:39 +0200)
commit0029b4d19491cd83cfb85de0fa9ac1e175409377
tree68604b1541e9aa5d142e994d6b70556b4acb3b7f
parent6040b3f45f394ef3a9fabd68282de92cc271328e
s390/sclp: use only one sclp early buffer to send commands

A buffer that can be used for communication with SCLP is required
to lie below 2GB memory address. Therefore, both sclp_info_sccb
and sclp_early_sccb must fulfill this requirement if passed directly
to the sclp_early_cmd() function. Instead, use only sclp_early_sccb
for communication with SCLP. This allows the buffer sclp_info_sccb
to be placed anywhere in the memory address space and, therefore,
simplifies the process of making the decompressor relocatable later on,
one thing less to relocate. And make sure that the length of the new unified
early SCLP buffer is no less than the length of the removed sclp_info_sccb
buffer which might be larger than the length of the sclp_early_sccb buffer.

Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com>
Acked-by: Heiko Carstens <hca@linux.ibm.com>
Reviewed-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
arch/s390/boot/head.S
arch/s390/include/asm/sclp.h
arch/s390/include/asm/setup.h
drivers/s390/char/sclp_early_core.c