summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorGerald Schaefer <gerald.schaefer@linux.ibm.com>2024-01-17 15:58:12 +0300
committerHeiko Carstens <hca@linux.ibm.com>2024-02-09 15:58:13 +0300
commit0ec5117fa36b9c20b1bcb9b8faa40c3a2957cd7f (patch)
tree6725df451bdbb461e036e5f6becddf7fd0ce2b32 /arch
parentd8132003f8d0f15a15ccd1ac00b8d72ca3b6c69a (diff)
downloadlinux-0ec5117fa36b9c20b1bcb9b8faa40c3a2957cd7f.tar.xz
s390/appldata: fix virtual vs physical address confusion
Fix virtual vs physical address confusion (which currently are the same). Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com> Signed-off-by: Gerald Schaefer <gerald.schaefer@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/s390/include/asm/appldata.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/s390/include/asm/appldata.h b/arch/s390/include/asm/appldata.h
index f2240392c708..a92ebbc7aa7a 100644
--- a/arch/s390/include/asm/appldata.h
+++ b/arch/s390/include/asm/appldata.h
@@ -54,13 +54,13 @@ static inline int appldata_asm(struct appldata_parameter_list *parm_list,
parm_list->function = fn;
parm_list->parlist_length = sizeof(*parm_list);
parm_list->buffer_length = length;
- parm_list->product_id_addr = (unsigned long) id;
+ parm_list->product_id_addr = virt_to_phys(id);
parm_list->buffer_addr = virt_to_phys(buffer);
diag_stat_inc(DIAG_STAT_X0DC);
asm volatile(
" diag %1,%0,0xdc"
: "=d" (ry)
- : "d" (parm_list), "m" (*parm_list), "m" (*id)
+ : "d" (virt_to_phys(parm_list)), "m" (*parm_list), "m" (*id)
: "cc");
return ry;
}