summaryrefslogtreecommitdiffstats
path: root/drivers/s390/char/sclp_sd.c
diff options
context:
space:
mode:
authorAlexander Gordeev <agordeev@linux.ibm.com>2021-02-08 16:01:17 +0100
committerVasily Gorbik <gor@linux.ibm.com>2021-10-26 15:21:28 +0200
commitada1da31ce34248bc97ca8f801f2cf6efa378a81 (patch)
treedcde2e61a606ebe5ce9b84d40bdd0ecf2c5be6f8 /drivers/s390/char/sclp_sd.c
parents390/setup: convert start and end initrd pointers to virtual (diff)
downloadlinux-ada1da31ce34248bc97ca8f801f2cf6efa378a81.tar.xz
linux-ada1da31ce34248bc97ca8f801f2cf6efa378a81.zip
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>
Diffstat (limited to '')
-rw-r--r--drivers/s390/char/sclp_sd.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/s390/char/sclp_sd.c b/drivers/s390/char/sclp_sd.c
index a5dd4e9f5b1b..25c2d760f6e6 100644
--- a/drivers/s390/char/sclp_sd.c
+++ b/drivers/s390/char/sclp_sd.c
@@ -194,7 +194,7 @@ static int sclp_sd_sync(unsigned long page, u8 eq, u8 di, u64 sat, u64 sa,
struct sclp_sd_evbuf *evbuf;
int rc;
- sclp_sd_listener_init(&listener, (u32) (addr_t) sccb);
+ sclp_sd_listener_init(&listener, __pa(sccb));
sclp_sd_listener_add(&listener);
/* Prepare SCCB */