s390/cmf: fix virtual vs physical address confusion

The measurement block origin address is an absolute address; therefore
add a missing virt_to_phys() translation to the cmf_activate() inline
assembly.

This doesn't fix a bug, since virtual and physical addresses are
currently identical.

Acked-by: Alexander Gordeev <agordeev@linux.ibm.com>
Acked-by: Vineeth Vijayan <vneethv@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
This commit is contained in:
Heiko Carstens 2024-01-19 12:19:30 +01:00
parent 343c8a5645
commit 14edd0d73b

View file

@ -169,7 +169,8 @@ static inline void cmf_activate(void *area, unsigned int onoff)
" lgr 2,%[mbo]\n"
" schm\n"
:
: [r1] "d" ((unsigned long)onoff), [mbo] "d" (area)
: [r1] "d" ((unsigned long)onoff),
[mbo] "d" (virt_to_phys(area))
: "1", "2");
}