diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:28:35 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:28:35 -0800 |
commit | 1dc9e472e19acfe6dc7f41e429236e7eef7ceda1 (patch) | |
tree | 3be0c520fae17689bbf5584e1136fb820caef26f /libc/kernel/common/asm-generic/bitops | |
parent | 1767f908af327fa388b1c66883760ad851267013 (diff) | |
download | bionic-1dc9e472e19acfe6dc7f41e429236e7eef7ceda1.zip bionic-1dc9e472e19acfe6dc7f41e429236e7eef7ceda1.tar.gz bionic-1dc9e472e19acfe6dc7f41e429236e7eef7ceda1.tar.bz2 |
auto import from //depot/cupcake/@135843
Diffstat (limited to 'libc/kernel/common/asm-generic/bitops')
-rw-r--r-- | libc/kernel/common/asm-generic/bitops/__ffs.h | 19 | ||||
-rw-r--r-- | libc/kernel/common/asm-generic/bitops/atomic.h | 23 | ||||
-rw-r--r-- | libc/kernel/common/asm-generic/bitops/ffz.h | 17 | ||||
-rw-r--r-- | libc/kernel/common/asm-generic/bitops/find.h | 18 | ||||
-rw-r--r-- | libc/kernel/common/asm-generic/bitops/fls.h | 15 | ||||
-rw-r--r-- | libc/kernel/common/asm-generic/bitops/fls64.h | 17 | ||||
-rw-r--r-- | libc/kernel/common/asm-generic/bitops/le.h | 53 | ||||
-rw-r--r-- | libc/kernel/common/asm-generic/bitops/non-atomic.h | 20 |
8 files changed, 182 insertions, 0 deletions
diff --git a/libc/kernel/common/asm-generic/bitops/__ffs.h b/libc/kernel/common/asm-generic/bitops/__ffs.h new file mode 100644 index 0000000..3d135bd --- /dev/null +++ b/libc/kernel/common/asm-generic/bitops/__ffs.h @@ -0,0 +1,19 @@ +/**************************************************************************** + **************************************************************************** + *** + *** This header was automatically generated from a Linux kernel header + *** of the same name, to make information necessary for userspace to + *** call into the kernel available to libc. It contains only constants, + *** structures, and macros generated from the original header, and thus, + *** contains no copyrightable information. + *** + **************************************************************************** + ****************************************************************************/ +#ifndef _ASM_GENERIC_BITOPS___FFS_H_ +#define _ASM_GENERIC_BITOPS___FFS_H_ + +#include <asm/types.h> + +#if BITS_PER_LONG == 64 +#endif +#endif diff --git a/libc/kernel/common/asm-generic/bitops/atomic.h b/libc/kernel/common/asm-generic/bitops/atomic.h new file mode 100644 index 0000000..5f53ba9 --- /dev/null +++ b/libc/kernel/common/asm-generic/bitops/atomic.h @@ -0,0 +1,23 @@ +/**************************************************************************** + **************************************************************************** + *** + *** This header was automatically generated from a Linux kernel header + *** of the same name, to make information necessary for userspace to + *** call into the kernel available to libc. It contains only constants, + *** structures, and macros generated from the original header, and thus, + *** contains no copyrightable information. + *** + **************************************************************************** + ****************************************************************************/ +#ifndef _ASM_GENERIC_BITOPS_ATOMIC_H_ +#define _ASM_GENERIC_BITOPS_ATOMIC_H_ + +#include <asm/types.h> + +#define BITOP_MASK(nr) (1UL << ((nr) % BITS_PER_LONG)) +#define BITOP_WORD(nr) ((nr) / BITS_PER_LONG) + +#define _atomic_spin_lock_irqsave(l,f) do { local_irq_save(f); } while (0) +#define _atomic_spin_unlock_irqrestore(l,f) do { local_irq_restore(f); } while (0) + +#endif diff --git a/libc/kernel/common/asm-generic/bitops/ffz.h b/libc/kernel/common/asm-generic/bitops/ffz.h new file mode 100644 index 0000000..18da271 --- /dev/null +++ b/libc/kernel/common/asm-generic/bitops/ffz.h @@ -0,0 +1,17 @@ +/**************************************************************************** + **************************************************************************** + *** + *** This header was automatically generated from a Linux kernel header + *** of the same name, to make information necessary for userspace to + *** call into the kernel available to libc. It contains only constants, + *** structures, and macros generated from the original header, and thus, + *** contains no copyrightable information. + *** + **************************************************************************** + ****************************************************************************/ +#ifndef _ASM_GENERIC_BITOPS_FFZ_H_ +#define _ASM_GENERIC_BITOPS_FFZ_H_ + +#define ffz(x) __ffs(~(x)) + +#endif diff --git a/libc/kernel/common/asm-generic/bitops/find.h b/libc/kernel/common/asm-generic/bitops/find.h new file mode 100644 index 0000000..8361cfe --- /dev/null +++ b/libc/kernel/common/asm-generic/bitops/find.h @@ -0,0 +1,18 @@ +/**************************************************************************** + **************************************************************************** + *** + *** This header was automatically generated from a Linux kernel header + *** of the same name, to make information necessary for userspace to + *** call into the kernel available to libc. It contains only constants, + *** structures, and macros generated from the original header, and thus, + *** contains no copyrightable information. + *** + **************************************************************************** + ****************************************************************************/ +#ifndef _ASM_GENERIC_BITOPS_FIND_H_ +#define _ASM_GENERIC_BITOPS_FIND_H_ + +#define find_first_bit(addr, size) find_next_bit((addr), (size), 0) +#define find_first_zero_bit(addr, size) find_next_zero_bit((addr), (size), 0) + +#endif diff --git a/libc/kernel/common/asm-generic/bitops/fls.h b/libc/kernel/common/asm-generic/bitops/fls.h new file mode 100644 index 0000000..8adbf31 --- /dev/null +++ b/libc/kernel/common/asm-generic/bitops/fls.h @@ -0,0 +1,15 @@ +/**************************************************************************** + **************************************************************************** + *** + *** This header was automatically generated from a Linux kernel header + *** of the same name, to make information necessary for userspace to + *** call into the kernel available to libc. It contains only constants, + *** structures, and macros generated from the original header, and thus, + *** contains no copyrightable information. + *** + **************************************************************************** + ****************************************************************************/ +#ifndef _ASM_GENERIC_BITOPS_FLS_H_ +#define _ASM_GENERIC_BITOPS_FLS_H_ + +#endif diff --git a/libc/kernel/common/asm-generic/bitops/fls64.h b/libc/kernel/common/asm-generic/bitops/fls64.h new file mode 100644 index 0000000..af77098 --- /dev/null +++ b/libc/kernel/common/asm-generic/bitops/fls64.h @@ -0,0 +1,17 @@ +/**************************************************************************** + **************************************************************************** + *** + *** This header was automatically generated from a Linux kernel header + *** of the same name, to make information necessary for userspace to + *** call into the kernel available to libc. It contains only constants, + *** structures, and macros generated from the original header, and thus, + *** contains no copyrightable information. + *** + **************************************************************************** + ****************************************************************************/ +#ifndef _ASM_GENERIC_BITOPS_FLS64_H_ +#define _ASM_GENERIC_BITOPS_FLS64_H_ + +#include <asm/types.h> + +#endif diff --git a/libc/kernel/common/asm-generic/bitops/le.h b/libc/kernel/common/asm-generic/bitops/le.h new file mode 100644 index 0000000..97ca973 --- /dev/null +++ b/libc/kernel/common/asm-generic/bitops/le.h @@ -0,0 +1,53 @@ +/**************************************************************************** + **************************************************************************** + *** + *** This header was automatically generated from a Linux kernel header + *** of the same name, to make information necessary for userspace to + *** call into the kernel available to libc. It contains only constants, + *** structures, and macros generated from the original header, and thus, + *** contains no copyrightable information. + *** + **************************************************************************** + ****************************************************************************/ +#ifndef _ASM_GENERIC_BITOPS_LE_H_ +#define _ASM_GENERIC_BITOPS_LE_H_ + +#include <asm/types.h> +#include <asm/byteorder.h> + +#define BITOP_WORD(nr) ((nr) / BITS_PER_LONG) +#define BITOP_LE_SWIZZLE ((BITS_PER_LONG-1) & ~0x7) + +#ifdef __LITTLE_ENDIAN + +#define generic_test_le_bit(nr, addr) test_bit(nr, addr) +#define generic___set_le_bit(nr, addr) __set_bit(nr, addr) +#define generic___clear_le_bit(nr, addr) __clear_bit(nr, addr) + +#define generic_test_and_set_le_bit(nr, addr) test_and_set_bit(nr, addr) +#define generic_test_and_clear_le_bit(nr, addr) test_and_clear_bit(nr, addr) + +#define generic___test_and_set_le_bit(nr, addr) __test_and_set_bit(nr, addr) +#define generic___test_and_clear_le_bit(nr, addr) __test_and_clear_bit(nr, addr) + +#define generic_find_next_zero_le_bit(addr, size, offset) find_next_zero_bit(addr, size, offset) + +#elif defined(__BIG_ENDIAN) + +#define generic_test_le_bit(nr, addr) test_bit((nr) ^ BITOP_LE_SWIZZLE, (addr)) +#define generic___set_le_bit(nr, addr) __set_bit((nr) ^ BITOP_LE_SWIZZLE, (addr)) +#define generic___clear_le_bit(nr, addr) __clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr)) + +#define generic_test_and_set_le_bit(nr, addr) test_and_set_bit((nr) ^ BITOP_LE_SWIZZLE, (addr)) +#define generic_test_and_clear_le_bit(nr, addr) test_and_clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr)) + +#define generic___test_and_set_le_bit(nr, addr) __test_and_set_bit((nr) ^ BITOP_LE_SWIZZLE, (addr)) +#define generic___test_and_clear_le_bit(nr, addr) __test_and_clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr)) + +#else +#error "Please fix <asm/byteorder.h>" +#endif + +#define generic_find_first_zero_le_bit(addr, size) generic_find_next_zero_le_bit((addr), (size), 0) + +#endif diff --git a/libc/kernel/common/asm-generic/bitops/non-atomic.h b/libc/kernel/common/asm-generic/bitops/non-atomic.h new file mode 100644 index 0000000..727f736 --- /dev/null +++ b/libc/kernel/common/asm-generic/bitops/non-atomic.h @@ -0,0 +1,20 @@ +/**************************************************************************** + **************************************************************************** + *** + *** This header was automatically generated from a Linux kernel header + *** of the same name, to make information necessary for userspace to + *** call into the kernel available to libc. It contains only constants, + *** structures, and macros generated from the original header, and thus, + *** contains no copyrightable information. + *** + **************************************************************************** + ****************************************************************************/ +#ifndef _ASM_GENERIC_BITOPS_NON_ATOMIC_H_ +#define _ASM_GENERIC_BITOPS_NON_ATOMIC_H_ + +#include <asm/types.h> + +#define BITOP_MASK(nr) (1UL << ((nr) % BITS_PER_LONG)) +#define BITOP_WORD(nr) ((nr) / BITS_PER_LONG) + +#endif |