]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
s390/sthyi: Convert to use flag output macros
authorHeiko Carstens <hca@linux.ibm.com>
Thu, 7 Nov 2024 15:11:33 +0000 (16:11 +0100)
committerHeiko Carstens <hca@linux.ibm.com>
Wed, 13 Nov 2024 13:31:31 +0000 (14:31 +0100)
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>
arch/s390/kernel/sthyi.c

index 1cf2ad04f8e9110cf65e37cb30b2bad2b418cc7b..d40f0b983e74c744eedaa2d34264f8a96cb9b71f 100644 (file)
@@ -17,6 +17,7 @@
 #include <asm/ebcdic.h>
 #include <asm/facility.h>
 #include <asm/sthyi.h>
+#include <asm/asm.h>
 #include "entry.h"
 
 #define DED_WEIGHT 0xffff
@@ -425,13 +426,12 @@ static int sthyi(u64 vaddr, u64 *rc)
 
        asm volatile(
                ".insn   rre,0xB2560000,%[r1],%[r2]\n"
-               "ipm     %[cc]\n"
-               "srl     %[cc],28\n"
-               : [cc] "=&d" (cc), [r2] "+&d" (r2.pair)
+               CC_IPM(cc)
+               : CC_OUT(cc, cc), [r2] "+&d" (r2.pair)
                : [r1] "d" (r1.pair)
-               : "memory", "cc");
+               : CC_CLOBBER_LIST("memory"));
        *rc = r2.odd;
-       return cc;
+       return CC_TRANSFORM(cc);
 }
 
 static int fill_dst(void *dst, u64 *rc)