1 #include <linux/compiler.h> 2 #include <linux/module.h> 3 #include <linux/types.h> 4 5 #include <asm/processor.h> 6 #include <asm/cmpxchg.h> 7 #include <asm/atomic.h> 8 9 long long atomic64_read_cx8(long long, const atomic64_t *v); 10 EXPORT_SYMBOL(atomic64_read_cx8); 11 long long atomic64_set_cx8(long long, const atomic64_t *v); 12 EXPORT_SYMBOL(atomic64_set_cx8); 13 long long atomic64_xchg_cx8(long long, unsigned high); 14 EXPORT_SYMBOL(atomic64_xchg_cx8); 15 long long atomic64_add_return_cx8(long long a, atomic64_t *v); 16 EXPORT_SYMBOL(atomic64_add_return_cx8); 17 long long atomic64_sub_return_cx8(long long a, atomic64_t *v); 18 EXPORT_SYMBOL(atomic64_sub_return_cx8); 19 long long atomic64_inc_return_cx8(long long a, atomic64_t *v); 20 EXPORT_SYMBOL(atomic64_inc_return_cx8); 21 long long atomic64_dec_return_cx8(long long a, atomic64_t *v); 22 EXPORT_SYMBOL(atomic64_dec_return_cx8); 23 long long atomic64_dec_if_positive_cx8(atomic64_t *v); 24 EXPORT_SYMBOL(atomic64_dec_if_positive_cx8); 25 int atomic64_inc_not_zero_cx8(atomic64_t *v); 26 EXPORT_SYMBOL(atomic64_inc_not_zero_cx8); 27 int atomic64_add_unless_cx8(atomic64_t *v, long long a, long long u); 28 EXPORT_SYMBOL(atomic64_add_unless_cx8); 29 30 #ifndef CONFIG_X86_CMPXCHG64 31 long long atomic64_read_386(long long, const atomic64_t *v); 32 EXPORT_SYMBOL(atomic64_read_386); 33 long long atomic64_set_386(long long, const atomic64_t *v); 34 EXPORT_SYMBOL(atomic64_set_386); 35 long long atomic64_xchg_386(long long, unsigned high); 36 EXPORT_SYMBOL(atomic64_xchg_386); 37 long long atomic64_add_return_386(long long a, atomic64_t *v); 38 EXPORT_SYMBOL(atomic64_add_return_386); 39 long long atomic64_sub_return_386(long long a, atomic64_t *v); 40 EXPORT_SYMBOL(atomic64_sub_return_386); 41 long long atomic64_inc_return_386(long long a, atomic64_t *v); 42 EXPORT_SYMBOL(atomic64_inc_return_386); 43 long long atomic64_dec_return_386(long long a, atomic64_t *v); 44 EXPORT_SYMBOL(atomic64_dec_return_386); 45 long long atomic64_add_386(long long a, atomic64_t *v); 46 EXPORT_SYMBOL(atomic64_add_386); 47 long long atomic64_sub_386(long long a, atomic64_t *v); 48 EXPORT_SYMBOL(atomic64_sub_386); 49 long long atomic64_inc_386(long long a, atomic64_t *v); 50 EXPORT_SYMBOL(atomic64_inc_386); 51 long long atomic64_dec_386(long long a, atomic64_t *v); 52 EXPORT_SYMBOL(atomic64_dec_386); 53 long long atomic64_dec_if_positive_386(atomic64_t *v); 54 EXPORT_SYMBOL(atomic64_dec_if_positive_386); 55 int atomic64_inc_not_zero_386(atomic64_t *v); 56 EXPORT_SYMBOL(atomic64_inc_not_zero_386); 57 int atomic64_add_unless_386(atomic64_t *v, long long a, long long u); 58 EXPORT_SYMBOL(atomic64_add_unless_386); 59 #endif 60