From: Heiko Carstens Date: Thu, 7 Nov 2024 15:11:41 +0000 (+0100) Subject: s390/uv: Convert to use flag output macros X-Git-Tag: v6.13-rc1~206^2~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3611a2367c3f9192f3fb14c51020fc7476c174fe;p=thirdparty%2Fkernel%2Flinux.git 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 Signed-off-by: Heiko Carstens --- diff --git a/arch/s390/include/asm/uv.h b/arch/s390/include/asm/uv.h index 2da05a9d9dc7d..dc332609f2c3f 100644 --- a/arch/s390/include/asm/uv.h +++ b/arch/s390/include/asm/uv.h @@ -17,6 +17,7 @@ #include #include #include +#include #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)