Commit | Line | Data |
---|---|---|
f5e706ad SR |
1 | /* |
2 | * bitops.h: Bit string operations on the V9. | |
3 | * | |
4 | * Copyright 1996, 1997 David S. Miller (davem@caip.rutgers.edu) | |
5 | */ | |
6 | ||
7 | #ifndef _SPARC64_BITOPS_H | |
8 | #define _SPARC64_BITOPS_H | |
9 | ||
10 | #ifndef _LINUX_BITOPS_H | |
11 | #error only <linux/bitops.h> can be included directly | |
12 | #endif | |
13 | ||
14 | #include <linux/compiler.h> | |
15 | #include <asm/byteorder.h> | |
56d36489 | 16 | #include <asm/barrier.h> |
f5e706ad | 17 | |
f05a6865 SR |
18 | int test_and_set_bit(unsigned long nr, volatile unsigned long *addr); |
19 | int test_and_clear_bit(unsigned long nr, volatile unsigned long *addr); | |
20 | int test_and_change_bit(unsigned long nr, volatile unsigned long *addr); | |
21 | void set_bit(unsigned long nr, volatile unsigned long *addr); | |
22 | void clear_bit(unsigned long nr, volatile unsigned long *addr); | |
23 | void change_bit(unsigned long nr, volatile unsigned long *addr); | |
f5e706ad SR |
24 | |
25 | #include <asm-generic/bitops/non-atomic.h> | |
26 | ||
f5e706ad SR |
27 | #include <asm-generic/bitops/fls.h> |
28 | #include <asm-generic/bitops/__fls.h> | |
29 | #include <asm-generic/bitops/fls64.h> | |
30 | ||
31 | #ifdef __KERNEL__ | |
32 | ||
f05a6865 SR |
33 | int ffs(int x); |
34 | unsigned long __ffs(unsigned long); | |
56d205cc DM |
35 | |
36 | #include <asm-generic/bitops/ffz.h> | |
f5e706ad | 37 | #include <asm-generic/bitops/sched.h> |
f5e706ad SR |
38 | |
39 | /* | |
40 | * hweightN: returns the hamming weight (i.e. the number | |
41 | * of bits set) of a N-bit word | |
42 | */ | |
43 | ||
f05a6865 SR |
44 | unsigned long __arch_hweight64(__u64 w); |
45 | unsigned int __arch_hweight32(unsigned int w); | |
46 | unsigned int __arch_hweight16(unsigned int w); | |
47 | unsigned int __arch_hweight8(unsigned int w); | |
f5e706ad | 48 | |
1527bc8b | 49 | #include <asm-generic/bitops/const_hweight.h> |
f5e706ad SR |
50 | #include <asm-generic/bitops/lock.h> |
51 | #endif /* __KERNEL__ */ | |
52 | ||
53 | #include <asm-generic/bitops/find.h> | |
54 | ||
55 | #ifdef __KERNEL__ | |
56 | ||
861b5ae7 | 57 | #include <asm-generic/bitops/le.h> |
f5e706ad | 58 | |
148817ba | 59 | #include <asm-generic/bitops/ext2-atomic-setbit.h> |
f5e706ad | 60 | |
f5e706ad SR |
61 | #endif /* __KERNEL__ */ |
62 | ||
63 | #endif /* defined(_SPARC64_BITOPS_H) */ |