diff options
author | Yunhong Jiang <yunhong.jiang@intel.com> | 2015-08-04 12:17:53 -0700 |
---|---|---|
committer | Yunhong Jiang <yunhong.jiang@intel.com> | 2015-08-04 15:44:42 -0700 |
commit | 9ca8dbcc65cfc63d6f5ef3312a33184e1d726e00 (patch) | |
tree | 1c9cafbcd35f783a87880a10f85d1a060db1a563 /kernel/tools/include/asm-generic | |
parent | 98260f3884f4a202f9ca5eabed40b1354c489b29 (diff) |
Add the rt linux 4.1.3-rt3 as base
Import the rt linux 4.1.3-rt3 as OPNFV kvm base.
It's from git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git linux-4.1.y-rt and
the base is:
commit 0917f823c59692d751951bf5ea699a2d1e2f26a2
Author: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Sat Jul 25 12:13:34 2015 +0200
Prepare v4.1.3-rt3
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
We lose all the git history this way and it's not good. We
should apply another opnfv project repo in future.
Change-Id: I87543d81c9df70d99c5001fbdf646b202c19f423
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Diffstat (limited to 'kernel/tools/include/asm-generic')
-rw-r--r-- | kernel/tools/include/asm-generic/bitops.h | 29 | ||||
-rw-r--r-- | kernel/tools/include/asm-generic/bitops/__ffs.h | 43 | ||||
-rw-r--r-- | kernel/tools/include/asm-generic/bitops/__fls.h | 1 | ||||
-rw-r--r-- | kernel/tools/include/asm-generic/bitops/arch_hweight.h | 1 | ||||
-rw-r--r-- | kernel/tools/include/asm-generic/bitops/atomic.h | 22 | ||||
-rw-r--r-- | kernel/tools/include/asm-generic/bitops/const_hweight.h | 1 | ||||
-rw-r--r-- | kernel/tools/include/asm-generic/bitops/find.h | 33 | ||||
-rw-r--r-- | kernel/tools/include/asm-generic/bitops/fls.h | 1 | ||||
-rw-r--r-- | kernel/tools/include/asm-generic/bitops/fls64.h | 1 | ||||
-rw-r--r-- | kernel/tools/include/asm-generic/bitops/hweight.h | 7 |
10 files changed, 139 insertions, 0 deletions
diff --git a/kernel/tools/include/asm-generic/bitops.h b/kernel/tools/include/asm-generic/bitops.h new file mode 100644 index 000000000..653d1bad7 --- /dev/null +++ b/kernel/tools/include/asm-generic/bitops.h @@ -0,0 +1,29 @@ +#ifndef __TOOLS_ASM_GENERIC_BITOPS_H +#define __TOOLS_ASM_GENERIC_BITOPS_H + +/* + * tools/ copied this from include/asm-generic/bitops.h, bit by bit as it needed + * some functions. + * + * For the benefit of those who are trying to port Linux to another + * architecture, here are some C-language equivalents. You should + * recode these in the native assembly language, if at all possible. + * + * C language equivalents written by Theodore Ts'o, 9/26/92 + */ + +#include <asm-generic/bitops/__ffs.h> +#include <asm-generic/bitops/fls.h> +#include <asm-generic/bitops/__fls.h> +#include <asm-generic/bitops/fls64.h> +#include <asm-generic/bitops/find.h> + +#ifndef _TOOLS_LINUX_BITOPS_H_ +#error only <linux/bitops.h> can be included directly +#endif + +#include <asm-generic/bitops/hweight.h> + +#include <asm-generic/bitops/atomic.h> + +#endif /* __TOOLS_ASM_GENERIC_BITOPS_H */ diff --git a/kernel/tools/include/asm-generic/bitops/__ffs.h b/kernel/tools/include/asm-generic/bitops/__ffs.h new file mode 100644 index 000000000..c94175015 --- /dev/null +++ b/kernel/tools/include/asm-generic/bitops/__ffs.h @@ -0,0 +1,43 @@ +#ifndef _TOOLS_LINUX_ASM_GENERIC_BITOPS___FFS_H_ +#define _TOOLS_LINUX_ASM_GENERIC_BITOPS___FFS_H_ + +#include <asm/types.h> + +/** + * __ffs - find first bit in word. + * @word: The word to search + * + * Undefined if no bit exists, so code should check against 0 first. + */ +static __always_inline unsigned long __ffs(unsigned long word) +{ + int num = 0; + +#if __BITS_PER_LONG == 64 + if ((word & 0xffffffff) == 0) { + num += 32; + word >>= 32; + } +#endif + if ((word & 0xffff) == 0) { + num += 16; + word >>= 16; + } + if ((word & 0xff) == 0) { + num += 8; + word >>= 8; + } + if ((word & 0xf) == 0) { + num += 4; + word >>= 4; + } + if ((word & 0x3) == 0) { + num += 2; + word >>= 2; + } + if ((word & 0x1) == 0) + num += 1; + return num; +} + +#endif /* _TOOLS_LINUX_ASM_GENERIC_BITOPS___FFS_H_ */ diff --git a/kernel/tools/include/asm-generic/bitops/__fls.h b/kernel/tools/include/asm-generic/bitops/__fls.h new file mode 100644 index 000000000..2218b9add --- /dev/null +++ b/kernel/tools/include/asm-generic/bitops/__fls.h @@ -0,0 +1 @@ +#include <../../../../include/asm-generic/bitops/__fls.h> diff --git a/kernel/tools/include/asm-generic/bitops/arch_hweight.h b/kernel/tools/include/asm-generic/bitops/arch_hweight.h new file mode 100644 index 000000000..318bb2b20 --- /dev/null +++ b/kernel/tools/include/asm-generic/bitops/arch_hweight.h @@ -0,0 +1 @@ +#include "../../../../include/asm-generic/bitops/arch_hweight.h" diff --git a/kernel/tools/include/asm-generic/bitops/atomic.h b/kernel/tools/include/asm-generic/bitops/atomic.h new file mode 100644 index 000000000..4bccd7c3d --- /dev/null +++ b/kernel/tools/include/asm-generic/bitops/atomic.h @@ -0,0 +1,22 @@ +#ifndef _TOOLS_LINUX_ASM_GENERIC_BITOPS_ATOMIC_H_ +#define _TOOLS_LINUX_ASM_GENERIC_BITOPS_ATOMIC_H_ + +#include <asm/types.h> + +static inline void set_bit(int nr, unsigned long *addr) +{ + addr[nr / __BITS_PER_LONG] |= 1UL << (nr % __BITS_PER_LONG); +} + +static inline void clear_bit(int nr, unsigned long *addr) +{ + addr[nr / __BITS_PER_LONG] &= ~(1UL << (nr % __BITS_PER_LONG)); +} + +static __always_inline int test_bit(unsigned int nr, const unsigned long *addr) +{ + return ((1UL << (nr % __BITS_PER_LONG)) & + (((unsigned long *)addr)[nr / __BITS_PER_LONG])) != 0; +} + +#endif /* _TOOLS_LINUX_ASM_GENERIC_BITOPS_ATOMIC_H_ */ diff --git a/kernel/tools/include/asm-generic/bitops/const_hweight.h b/kernel/tools/include/asm-generic/bitops/const_hweight.h new file mode 100644 index 000000000..0afd644af --- /dev/null +++ b/kernel/tools/include/asm-generic/bitops/const_hweight.h @@ -0,0 +1 @@ +#include "../../../../include/asm-generic/bitops/const_hweight.h" diff --git a/kernel/tools/include/asm-generic/bitops/find.h b/kernel/tools/include/asm-generic/bitops/find.h new file mode 100644 index 000000000..31f51547f --- /dev/null +++ b/kernel/tools/include/asm-generic/bitops/find.h @@ -0,0 +1,33 @@ +#ifndef _TOOLS_LINUX_ASM_GENERIC_BITOPS_FIND_H_ +#define _TOOLS_LINUX_ASM_GENERIC_BITOPS_FIND_H_ + +#ifndef find_next_bit +/** + * find_next_bit - find the next set bit in a memory region + * @addr: The address to base the search on + * @offset: The bitnumber to start searching at + * @size: The bitmap size in bits + * + * Returns the bit number for the next set bit + * If no bits are set, returns @size. + */ +extern unsigned long find_next_bit(const unsigned long *addr, unsigned long + size, unsigned long offset); +#endif + +#ifndef find_first_bit + +/** + * find_first_bit - find the first set bit in a memory region + * @addr: The address to start the search at + * @size: The maximum number of bits to search + * + * Returns the bit number of the first set bit. + * If no bits are set, returns @size. + */ +extern unsigned long find_first_bit(const unsigned long *addr, + unsigned long size); + +#endif /* find_first_bit */ + +#endif /*_TOOLS_LINUX_ASM_GENERIC_BITOPS_FIND_H_ */ diff --git a/kernel/tools/include/asm-generic/bitops/fls.h b/kernel/tools/include/asm-generic/bitops/fls.h new file mode 100644 index 000000000..dbf711a28 --- /dev/null +++ b/kernel/tools/include/asm-generic/bitops/fls.h @@ -0,0 +1 @@ +#include <../../../../include/asm-generic/bitops/fls.h> diff --git a/kernel/tools/include/asm-generic/bitops/fls64.h b/kernel/tools/include/asm-generic/bitops/fls64.h new file mode 100644 index 000000000..980b1f63c --- /dev/null +++ b/kernel/tools/include/asm-generic/bitops/fls64.h @@ -0,0 +1 @@ +#include <../../../../include/asm-generic/bitops/fls64.h> diff --git a/kernel/tools/include/asm-generic/bitops/hweight.h b/kernel/tools/include/asm-generic/bitops/hweight.h new file mode 100644 index 000000000..290120c01 --- /dev/null +++ b/kernel/tools/include/asm-generic/bitops/hweight.h @@ -0,0 +1,7 @@ +#ifndef _TOOLS_LINUX_ASM_GENERIC_BITOPS_HWEIGHT_H_ +#define _TOOLS_LINUX_ASM_GENERIC_BITOPS_HWEIGHT_H_ + +#include <asm-generic/bitops/arch_hweight.h> +#include <asm-generic/bitops/const_hweight.h> + +#endif /* _TOOLS_LINUX_ASM_GENERIC_BITOPS_HWEIGHT_H_ */ |