x86, asm, boot: Use CC_SET()/CC_OUT() in arch/x86/boot/
PATCH 1/1 x86, asm, boot: Use CC_SET()/CC_OUT() in arch/x86/boot/
Remove open-coded uses of set instructions to use CC_SET()/CC_OUT() in arch/x86/boot/.
Signed-off-by Uros Bizjak <[email protected]>
--- arch/x86/boot/bitops.h | 3 ++- arch/x86/boot/string.c | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-)
arch/x86/boot/bitops.h +2 -1
@@ -17,6 +17,7 @@#define _LINUX_BITOPS_H/* Inhibit inclusion of <linux/bitops.h> */ #include <linux/types.h> +#include <asm/asm.h> static inline bool constant_test_bit (int nr,const void *addr) {
@@ -28,7 +29,7 @@ static inline bool variable_test_bit(int nr, const void *addr)bool v;const u32 *p = (const u32 *)addr; - asm("btl %2,%1; setc %0" :"=qm" (v) :"m" (*p),"Ir" (nr)); + asm("btl %2,%1" CC_SET(c) : CC_OUT(c) (v) : "m" (*p), "Ir" (nr));return v; }
arch/x86/boot/string.c +3 -2
@@ -13,6 +13,7 @@*/ #include <linux/types.h> +#include <asm/asm.h> #include "ctype.h" #include "string.h"
@@ -28,8 +29,8 @@int memcmp (const void *s1,const void *s2,size_t len) {bool diff; - asm("repe; cmpsb; setnz %0" - :"=qm" (diff),"+D" (s1),"+S" (s2),"+c" (len)); + asm("repe; cmpsb" CC_SET(nz) + : CC_OUT(nz) (diff), "+D" (s1), "+S" (s2), "+c" (len));return diff; }
Signature · 1 line
2.17.1
tip-bot for Uros Bizjak
merge bot[tip:x86/boot] x86/boot: Use CC_SET()/CC_OUT() instead of open coding it
x86/boot: Use CC_SET()/CC_OUT() instead of open coding it
Commit-ID: 216a37202f10b7d78f2f98e26a6681f367165f05 Gitweb: https://git.kernel.org/tip/216a37202f10b7d78f2f98e26a6681f367165f05 Author: Uros Bizjak <[email protected]> AuthorDate: Fri, 29 Jun 2018 16:28:44 +0200 Committer: Thomas Gleixner <[email protected]> CommitDate: Thu, 2 Aug 2018 14:30:42 +0200
x86/boot: Use CC_SET()/CC_OUT() instead of open coding it
Remove open-coded uses of set instructions with CC_SET()/CC_OUT().
Signed-off-by Uros Bizjak <[email protected]>
Signed-off-by Thomas Gleixner <[email protected]>
--- arch/x86/boot/bitops.h | 3 ++- arch/x86/boot/string.c | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-)
arch/x86/boot/bitops.h +2 -1
@@ -17,6 +17,7 @@#define _LINUX_BITOPS_H/* Inhibit inclusion of <linux/bitops.h> */ #include <linux/types.h> +#include <asm/asm.h> static inline bool constant_test_bit (int nr,const void *addr) {
@@ -28,7 +29,7 @@ static inline bool variable_test_bit(int nr, const void *addr)bool v;const u32 *p = (const u32 *)addr; - asm("btl %2,%1; setc %0" :"=qm" (v) :"m" (*p),"Ir" (nr)); + asm("btl %2,%1" CC_SET(c) : CC_OUT(c) (v) : "m" (*p), "Ir" (nr));return v; }
arch/x86/boot/string.c +3 -2
@@ -13,6 +13,7 @@*/ #include <linux/types.h> +#include <asm/asm.h> #include "ctype.h" #include "string.h"
@@ -28,8 +29,8 @@int memcmp (const void *s1,const void *s2,size_t len) {bool diff; - asm("repe; cmpsb; setnz %0" - :"=qm" (diff),"+D" (s1),"+S" (s2),"+c" (len)); + asm("repe; cmpsb" CC_SET(nz) + : CC_OUT(nz) (diff), "+D" (s1), "+S" (s2), "+c" (len));return diff; }