From: Namhyung Kim <namhyung@kernel.org>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Ian Rogers <irogers@google.com>, Jiri Olsa <jolsa@kernel.org>,
Adrian Hunter <adrian.hunter@intel.com>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
linux-perf-users@vger.kernel.org,
Yury Norov <yury.norov@gmail.com>
Subject: [PATCH 02/11] tools headers: Sync linux/bits.h with the kernel source
Date: Mon, 25 Aug 2025 14:58:54 -0700 [thread overview]
Message-ID: <20250825215904.2594216-3-namhyung@kernel.org> (raw)
In-Reply-To: <20250825215904.2594216-1-namhyung@kernel.org>
To pick up the changes in this cset:
104ea1c84b91c9f4 bits: unify the non-asm GENMASK*()
6d4471252ccc1722 bits: split the definition of the asm and non-asm GENMASK*()
This addresses these perf build warnings:
Warning: Kernel ABI header differences:
diff -u tools/include/linux/bits.h include/linux/bits.h
Please see tools/include/uapi/README for further details.
Cc: Yury Norov <yury.norov@gmail.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
---
tools/include/linux/bits.h | 29 ++++++-----------------------
1 file changed, 6 insertions(+), 23 deletions(-)
diff --git a/tools/include/linux/bits.h b/tools/include/linux/bits.h
index 7ad0562191153471..a40cc861b3a7c60f 100644
--- a/tools/include/linux/bits.h
+++ b/tools/include/linux/bits.h
@@ -2,10 +2,8 @@
#ifndef __LINUX_BITS_H
#define __LINUX_BITS_H
-#include <linux/const.h>
#include <vdso/bits.h>
#include <uapi/linux/bits.h>
-#include <asm/bitsperlong.h>
#define BIT_MASK(nr) (UL(1) << ((nr) % BITS_PER_LONG))
#define BIT_WORD(nr) ((nr) / BITS_PER_LONG)
@@ -50,10 +48,14 @@
(type_max(t) << (l) & \
type_max(t) >> (BITS_PER_TYPE(t) - 1 - (h)))))
+#define GENMASK(h, l) GENMASK_TYPE(unsigned long, h, l)
+#define GENMASK_ULL(h, l) GENMASK_TYPE(unsigned long long, h, l)
+
#define GENMASK_U8(h, l) GENMASK_TYPE(u8, h, l)
#define GENMASK_U16(h, l) GENMASK_TYPE(u16, h, l)
#define GENMASK_U32(h, l) GENMASK_TYPE(u32, h, l)
#define GENMASK_U64(h, l) GENMASK_TYPE(u64, h, l)
+#define GENMASK_U128(h, l) GENMASK_TYPE(u128, h, l)
/*
* Fixed-type variants of BIT(), with additional checks like GENMASK_TYPE(). The
@@ -79,28 +81,9 @@
* BUILD_BUG_ON_ZERO is not available in h files included from asm files,
* disable the input check if that is the case.
*/
-#define GENMASK_INPUT_CHECK(h, l) 0
+#define GENMASK(h, l) __GENMASK(h, l)
+#define GENMASK_ULL(h, l) __GENMASK_ULL(h, l)
#endif /* !defined(__ASSEMBLY__) */
-#define GENMASK(h, l) \
- (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l))
-#define GENMASK_ULL(h, l) \
- (GENMASK_INPUT_CHECK(h, l) + __GENMASK_ULL(h, l))
-
-#if !defined(__ASSEMBLY__)
-/*
- * Missing asm support
- *
- * __GENMASK_U128() depends on _BIT128() which would not work
- * in the asm code, as it shifts an 'unsigned __int128' data
- * type instead of direct representation of 128 bit constants
- * such as long and unsigned long. The fundamental problem is
- * that a 128 bit constant will get silently truncated by the
- * gcc compiler.
- */
-#define GENMASK_U128(h, l) \
- (GENMASK_INPUT_CHECK(h, l) + __GENMASK_U128(h, l))
-#endif
-
#endif /* __LINUX_BITS_H */
--
2.51.0.261.g7ce5a0a67e-goog
next prev parent reply other threads:[~2025-08-25 21:59 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-25 21:58 [PATCH 00/11] perf tools: Sync kernel and tools headers for v6.17 Namhyung Kim
2025-08-25 21:58 ` [PATCH 01/11] tools headers: Sync KVM headers with the kernel source Namhyung Kim
2025-08-25 21:58 ` Namhyung Kim [this message]
2025-08-27 1:29 ` [PATCH 02/11] tools headers: Sync linux/bits.h " Yury Norov
2025-08-25 21:58 ` [PATCH 03/11] tools headers: Sync linux/cfi_types.h " Namhyung Kim
2025-08-25 21:58 ` [PATCH 04/11] tools headers: Sync x86 headers " Namhyung Kim
2025-08-25 21:58 ` [PATCH 05/11] tools headers: Sync arm64 " Namhyung Kim
2025-08-27 8:12 ` Leo Yan
2025-08-27 17:28 ` Namhyung Kim
2025-08-25 21:58 ` [PATCH 06/11] tools headers: Sync powerpc " Namhyung Kim
2025-08-26 4:01 ` Madhavan Srinivasan
2025-08-25 21:58 ` [PATCH 07/11] tools headers: Sync syscall tables " Namhyung Kim
2025-08-25 21:59 ` [PATCH 08/11] tools headers: Sync uapi/linux/fcntl.h " Namhyung Kim
2025-08-25 21:59 ` [PATCH 09/11] tools headers: Sync uapi/linux/fs.h " Namhyung Kim
2025-08-25 21:59 ` [PATCH 10/11] tools headers: Sync uapi/linux/prctl.h " Namhyung Kim
2025-08-25 21:59 ` [PATCH 11/11] tools headers: Sync uapi/linux/vhost.h " Namhyung Kim
2025-08-26 7:38 ` Michael S. Tsirkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250825215904.2594216-3-namhyung@kernel.org \
--to=namhyung@kernel.org \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=irogers@google.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=yury.norov@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®