[PATCH 3.10 010/143] linux/const.h: Add _BITUL() and _BITULL()

From: Willy Tarreau
Date: Sun Jun 05 2016 - 06:56:49 EST


From: "H. Peter Anvin" <hpa@xxxxxxxxxxxxxxx>

commit 2fc016c5bd8aad2e201cdf71b9fb4573f94775bd upstream.

Add macros for single bit definitions of a specific type. These are
similar to the BIT() macro that already exists, but with a few
exceptions:

1. The namespace is such that they can be used in uapi definitions.
2. The type is set with the _AC() macro to allow it to be used in
assembly.
3. The type is explicitly specified to be UL or ULL.

Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
Link: http://lkml.kernel.org/n/tip-nbca8p7cg6jyjoit7klh3o91@xxxxxxxxxxxxxx
[wt: backported to 3.10 only to keep next patch clean]

Signed-off-by: Willy Tarreau <w@xxxxxx>
---
include/uapi/linux/const.h | 3 +++
1 file changed, 3 insertions(+)

diff --git a/include/uapi/linux/const.h b/include/uapi/linux/const.h
index c22c707..c872bfd 100644
--- a/include/uapi/linux/const.h
+++ b/include/uapi/linux/const.h
@@ -21,4 +21,7 @@
#define _AT(T,X) ((T)(X))
#endif

+#define _BITUL(x) (_AC(1,UL) << (x))
+#define _BITULL(x) (_AC(1,ULL) << (x))
+
#endif /* !(_LINUX_CONST_H) */
--
2.8.0.rc2.1.gbe9624a