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:
@@ -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");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user