diff options
author | Heiko Carstens <hca@linux.ibm.com> | 2021-06-14 22:30:44 +0300 |
---|---|---|
committer | Vasily Gorbik <gor@linux.ibm.com> | 2021-06-18 17:41:23 +0300 |
commit | d99aea73b4de2357095e1059637ef5427e9473e8 (patch) | |
tree | 08c2f570081446203a43c37a45835e9b3f7f60bc /arch/s390/include/asm | |
parent | dbb8864b28d6323cb38e5ce332cc3bb7f46ed5d3 (diff) | |
download | linux-d99aea73b4de2357095e1059637ef5427e9473e8.tar.xz |
s390/facility: get rid of register asm
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Diffstat (limited to 'arch/s390/include/asm')
-rw-r--r-- | arch/s390/include/asm/facility.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/arch/s390/include/asm/facility.h b/arch/s390/include/asm/facility.h index 948e2616fe9c..e3aa354ab9f4 100644 --- a/arch/s390/include/asm/facility.h +++ b/arch/s390/include/asm/facility.h @@ -64,13 +64,15 @@ static inline int test_facility(unsigned long nr) static inline unsigned long __stfle_asm(u64 *stfle_fac_list, int size) { - register unsigned long reg0 asm("0") = size - 1; + unsigned long reg0 = size - 1; asm volatile( - ".insn s,0xb2b00000,0(%1)" /* stfle */ - : "+d" (reg0) - : "a" (stfle_fac_list) - : "memory", "cc"); + " lgr 0,%[reg0]\n" + " .insn s,0xb2b00000,%[list]\n" /* stfle */ + " lgr %[reg0],0\n" + : [reg0] "+&d" (reg0), [list] "+Q" (*stfle_fac_list) + : + : "memory", "cc", "0"); return reg0; } |