s390/sclp: sort out physical vs virtual pointers usage
authorAlexander Gordeev <agordeev@linux.ibm.com>
Mon, 8 Feb 2021 15:01:17 +0000 (16:01 +0100)
committerVasily Gorbik <gor@linux.ibm.com>
Tue, 26 Oct 2021 13:21:28 +0000 (15:21 +0200)
commitada1da31ce34248bc97ca8f801f2cf6efa378a81
treedcde2e61a606ebe5ce9b84d40bdd0ecf2c5be6f8
parentdd9089b65407756e3490ab2737373f957a650375
s390/sclp: sort out physical vs virtual pointers usage

Provide physical addresses whenever the hardware interface
expects it or a 32-bit value used for tracking.

Variable sclp_early_sccb gets initialized in the decompressor
and points to an address in physcal memory. Yet, it is used
as virtual memory pointer and therefore should be converted.

Note, the other two __bootdata variables sclp_info_sccb and
sclp_info_sccb_valid contain plain data, but no pointers and
do need any special care.

Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/include/asm/sclp.h
arch/s390/kernel/early.c
drivers/s390/char/sclp.c
drivers/s390/char/sclp.h
drivers/s390/char/sclp_early.c
drivers/s390/char/sclp_sd.c