Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

tools headers: Synchronize {uapi/}linux/bits.h with the kernel sources

To pick up the changes in this cset:

947697c6f0f75f98 ("uapi: Define GENMASK_U128")

This addresses these perf build warnings:

Warning: Kernel ABI header differences:
diff -u tools/include/uapi/linux/bits.h include/uapi/linux/bits.h
diff -u tools/include/linux/bits.h include/linux/bits.h

Please see tools/include/uapi/README for further details.

Acked-by: Yury Norov <yury.norov@gmail.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Anshuman Khandual <anshuman.khandual@arm.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/lkml/Zx-ZVH7bHqtFn8Dv@x1
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

+18
+15
tools/include/linux/bits.h
··· 36 36 #define GENMASK_ULL(h, l) \ 37 37 (GENMASK_INPUT_CHECK(h, l) + __GENMASK_ULL(h, l)) 38 38 39 + #if !defined(__ASSEMBLY__) 40 + /* 41 + * Missing asm support 42 + * 43 + * __GENMASK_U128() depends on _BIT128() which would not work 44 + * in the asm code, as it shifts an 'unsigned __init128' data 45 + * type instead of direct representation of 128 bit constants 46 + * such as long and unsigned long. The fundamental problem is 47 + * that a 128 bit constant will get silently truncated by the 48 + * gcc compiler. 49 + */ 50 + #define GENMASK_U128(h, l) \ 51 + (GENMASK_INPUT_CHECK(h, l) + __GENMASK_U128(h, l)) 52 + #endif 53 + 39 54 #endif /* __LINUX_BITS_H */
+3
tools/include/uapi/linux/bits.h
··· 12 12 (((~_ULL(0)) - (_ULL(1) << (l)) + 1) & \ 13 13 (~_ULL(0) >> (__BITS_PER_LONG_LONG - 1 - (h)))) 14 14 15 + #define __GENMASK_U128(h, l) \ 16 + ((_BIT128((h)) << 1) - (_BIT128(l))) 17 + 15 18 #endif /* _UAPI_LINUX_BITS_H */