summaryrefslogtreecommitdiffstats
path: root/arch/s390/include/asm/uv.h
diff options
context:
space:
mode:
authorHeiko Carstens <hca@linux.ibm.com>2024-11-07 16:11:41 +0100
committerHeiko Carstens <hca@linux.ibm.com>2024-11-13 14:31:32 +0100
commit3611a2367c3f9192f3fb14c51020fc7476c174fe (patch)
tree6ab63bedf2147e6b0e9e19a0ed321fd88d2b2889 /arch/s390/include/asm/uv.h
parentf07a788895bf16a8dd5468a7b3bb3125c110800f (diff)
downloadlinux-stable-3611a2367c3f9192f3fb14c51020fc7476c174fe.tar.gz
linux-stable-3611a2367c3f9192f3fb14c51020fc7476c174fe.tar.bz2
linux-stable-3611a2367c3f9192f3fb14c51020fc7476c174fe.zip
s390/uv: Convert to use flag output macros
Use flag output macros in inline asm to allow for better code generation if the compiler has support for the flag output constraint. Reviewed-by: Juergen Christ <jchrist@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'arch/s390/include/asm/uv.h')
-rw-r--r--arch/s390/include/asm/uv.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/s390/include/asm/uv.h b/arch/s390/include/asm/uv.h
index 2da05a9d9dc7..dc332609f2c3 100644
--- a/arch/s390/include/asm/uv.h
+++ b/arch/s390/include/asm/uv.h
@@ -17,6 +17,7 @@
#include <linux/sched.h>
#include <asm/page.h>
#include <asm/gmap.h>
+#include <asm/asm.h>
#define UVC_CC_OK 0
#define UVC_CC_ERROR 1
@@ -436,13 +437,12 @@ static inline int __uv_call(unsigned long r1, unsigned long r2)
int cc;
asm volatile(
- " .insn rrf,0xB9A40000,%[r1],%[r2],0,0\n"
- " ipm %[cc]\n"
- " srl %[cc],28\n"
- : [cc] "=d" (cc)
+ " .insn rrf,0xb9a40000,%[r1],%[r2],0,0\n"
+ CC_IPM(cc)
+ : CC_OUT(cc, cc)
: [r1] "a" (r1), [r2] "a" (r2)
- : "memory", "cc");
- return cc;
+ : CC_CLOBBER_LIST("memory"));
+ return CC_TRANSFORM(cc);
}
static inline int uv_call(unsigned long r1, unsigned long r2)