Skip to content

Commit

Permalink
x86: switch 64-bit to generic find_first_bit
Browse files Browse the repository at this point in the history
Switch x86_64 to generic find_first_bit. The x86_64-specific
implementation is not removed.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
  • Loading branch information
Alexander van Heukelum authored and Ingo Molnar committed Apr 26, 2008
1 parent 77b9bd9 commit 2aba692
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 1 deletion.
2 changes: 1 addition & 1 deletion arch/x86/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ config GENERIC_BUG
depends on BUG

config GENERIC_FIND_FIRST_BIT
def_bool X86_32
def_bool y

config GENERIC_FIND_NEXT_BIT
def_bool y
Expand Down
2 changes: 2 additions & 0 deletions arch/x86/lib/bitops_64.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
#ifndef CONFIG_GENERIC_FIND_FIRST_BIT
#include <linux/bitops.h>

#undef find_first_zero_bit
Expand Down Expand Up @@ -105,3 +106,4 @@ long find_first_bit(const unsigned long * addr, unsigned long size)

EXPORT_SYMBOL(find_first_bit);
EXPORT_SYMBOL(find_first_zero_bit);
#endif
2 changes: 2 additions & 0 deletions include/asm-x86/bitops_64.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
* Copyright 1992, Linus Torvalds.
*/

#ifndef CONFIG_GENERIC_FIND_FIRST_BIT
extern long find_first_zero_bit(const unsigned long *addr, unsigned long size);
extern long find_first_bit(const unsigned long *addr, unsigned long size);

Expand All @@ -24,6 +25,7 @@ static inline long __scanbit(unsigned long val, unsigned long max)
((__builtin_constant_p((size)) && (size) <= BITS_PER_LONG \
? (__scanbit(~*(unsigned long *)(addr), (size))) \
: find_first_zero_bit((addr), (size))))
#endif

static inline void set_bit_string(unsigned long *bitmap, unsigned long i,
int len)
Expand Down

0 comments on commit 2aba692

Please sign in to comment.