diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2016-07-12 10:12:18 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2016-07-12 14:20:39 -0400 |
commit | bb9707077b4ee5f77bc9939b057ff8a0d410296f (patch) | |
tree | 5d532c5066c0b7e40948a44f6cab11cb3b8d6e61 /tools/include | |
parent | 39f54862a935e14a448cbd68d6a6bef68d026dbe (diff) |
tools: Copy the bitsperlong.h files from the kernel
We use it in bitops/__ffs.h and bitops/atomic.h, that we also got from
the kernel, but were getting it from either newer systems that carry it
in /usr/include, or from the kernel sources, that we decided not to
touch from tools/ code. Fix it.
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-lwqvgbuitjmrdpjmjp6zqnyx@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/include')
-rw-r--r-- | tools/include/asm-generic/bitops/__ffs.h | 1 | ||||
-rw-r--r-- | tools/include/asm-generic/bitops/atomic.h | 1 | ||||
-rw-r--r-- | tools/include/asm-generic/bitsperlong.h | 25 | ||||
-rw-r--r-- | tools/include/uapi/asm-generic/bitsperlong.h | 15 |
4 files changed, 42 insertions, 0 deletions
diff --git a/tools/include/asm-generic/bitops/__ffs.h b/tools/include/asm-generic/bitops/__ffs.h index c94175015a82..b3accfdf24b9 100644 --- a/tools/include/asm-generic/bitops/__ffs.h +++ b/tools/include/asm-generic/bitops/__ffs.h | |||
@@ -2,6 +2,7 @@ | |||
2 | #define _TOOLS_LINUX_ASM_GENERIC_BITOPS___FFS_H_ | 2 | #define _TOOLS_LINUX_ASM_GENERIC_BITOPS___FFS_H_ |
3 | 3 | ||
4 | #include <asm/types.h> | 4 | #include <asm/types.h> |
5 | #include <asm/bitsperlong.h> | ||
5 | 6 | ||
6 | /** | 7 | /** |
7 | * __ffs - find first bit in word. | 8 | * __ffs - find first bit in word. |
diff --git a/tools/include/asm-generic/bitops/atomic.h b/tools/include/asm-generic/bitops/atomic.h index 4bccd7c3d5d6..18663f59d72f 100644 --- a/tools/include/asm-generic/bitops/atomic.h +++ b/tools/include/asm-generic/bitops/atomic.h | |||
@@ -2,6 +2,7 @@ | |||
2 | #define _TOOLS_LINUX_ASM_GENERIC_BITOPS_ATOMIC_H_ | 2 | #define _TOOLS_LINUX_ASM_GENERIC_BITOPS_ATOMIC_H_ |
3 | 3 | ||
4 | #include <asm/types.h> | 4 | #include <asm/types.h> |
5 | #include <asm/bitsperlong.h> | ||
5 | 6 | ||
6 | static inline void set_bit(int nr, unsigned long *addr) | 7 | static inline void set_bit(int nr, unsigned long *addr) |
7 | { | 8 | { |
diff --git a/tools/include/asm-generic/bitsperlong.h b/tools/include/asm-generic/bitsperlong.h new file mode 100644 index 000000000000..d1d70aa19021 --- /dev/null +++ b/tools/include/asm-generic/bitsperlong.h | |||
@@ -0,0 +1,25 @@ | |||
1 | #ifndef __ASM_GENERIC_BITS_PER_LONG | ||
2 | #define __ASM_GENERIC_BITS_PER_LONG | ||
3 | |||
4 | #include <uapi/asm-generic/bitsperlong.h> | ||
5 | |||
6 | |||
7 | #ifdef CONFIG_64BIT | ||
8 | #define BITS_PER_LONG 64 | ||
9 | #else | ||
10 | #define BITS_PER_LONG 32 | ||
11 | #endif /* CONFIG_64BIT */ | ||
12 | |||
13 | /* | ||
14 | * FIXME: The check currently breaks x86-64 build, so it's | ||
15 | * temporarily disabled. Please fix x86-64 and reenable | ||
16 | */ | ||
17 | #if 0 && BITS_PER_LONG != __BITS_PER_LONG | ||
18 | #error Inconsistent word size. Check asm/bitsperlong.h | ||
19 | #endif | ||
20 | |||
21 | #ifndef BITS_PER_LONG_LONG | ||
22 | #define BITS_PER_LONG_LONG 64 | ||
23 | #endif | ||
24 | |||
25 | #endif /* __ASM_GENERIC_BITS_PER_LONG */ | ||
diff --git a/tools/include/uapi/asm-generic/bitsperlong.h b/tools/include/uapi/asm-generic/bitsperlong.h new file mode 100644 index 000000000000..23e6c416b85f --- /dev/null +++ b/tools/include/uapi/asm-generic/bitsperlong.h | |||
@@ -0,0 +1,15 @@ | |||
1 | #ifndef _UAPI__ASM_GENERIC_BITS_PER_LONG | ||
2 | #define _UAPI__ASM_GENERIC_BITS_PER_LONG | ||
3 | |||
4 | /* | ||
5 | * There seems to be no way of detecting this automatically from user | ||
6 | * space, so 64 bit architectures should override this in their | ||
7 | * bitsperlong.h. In particular, an architecture that supports | ||
8 | * both 32 and 64 bit user space must not rely on CONFIG_64BIT | ||
9 | * to decide it, but rather check a compiler provided macro. | ||
10 | */ | ||
11 | #ifndef __BITS_PER_LONG | ||
12 | #define __BITS_PER_LONG 32 | ||
13 | #endif | ||
14 | |||
15 | #endif /* _UAPI__ASM_GENERIC_BITS_PER_LONG */ | ||