diff options
author | Heiko Carstens <hca@linux.ibm.com> | 2024-11-07 16:11:42 +0100 |
---|---|---|
committer | Heiko Carstens <hca@linux.ibm.com> | 2024-11-13 14:31:32 +0100 |
commit | 553ed6d88a31fce30656ae5dab50a2f0625f9008 (patch) | |
tree | f2feff5338c1ec58e8b1f5c4f503356364760b20 | |
parent | 3611a2367c3f9192f3fb14c51020fc7476c174fe (diff) | |
download | linux-stable-553ed6d88a31fce30656ae5dab50a2f0625f9008.tar.gz linux-stable-553ed6d88a31fce30656ae5dab50a2f0625f9008.tar.bz2 linux-stable-553ed6d88a31fce30656ae5dab50a2f0625f9008.zip |
s390/smp: 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>
-rw-r--r-- | arch/s390/include/asm/sigp.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/arch/s390/include/asm/sigp.h b/arch/s390/include/asm/sigp.h index edee63da08e7..472943b77066 100644 --- a/arch/s390/include/asm/sigp.h +++ b/arch/s390/include/asm/sigp.h @@ -38,6 +38,8 @@ #ifndef __ASSEMBLY__ +#include <asm/asm.h> + static inline int ____pcpu_sigp(u16 addr, u8 order, unsigned long parm, u32 *status) { @@ -46,13 +48,12 @@ static inline int ____pcpu_sigp(u16 addr, u8 order, unsigned long parm, asm volatile( " sigp %[r1],%[addr],0(%[order])\n" - " ipm %[cc]\n" - " srl %[cc],28\n" - : [cc] "=&d" (cc), [r1] "+&d" (r1.pair) + CC_IPM(cc) + : CC_OUT(cc, cc), [r1] "+d" (r1.pair) : [addr] "d" (addr), [order] "a" (order) - : "cc"); + : CC_CLOBBER); *status = r1.even; - return cc; + return CC_TRANSFORM(cc); } static inline int __pcpu_sigp(u16 addr, u8 order, unsigned long parm, |