Changeset View
Changeset View
Standalone View
Standalone View
sys/sys/_cscan_atomic.h
Show First 20 Lines • Show All 63 Lines • ▼ Show 20 Lines | #define KCSAN_ATOMIC_LOAD(name, type) \ | ||||
type kcsan_atomic_load_##name(volatile type *); \ | type kcsan_atomic_load_##name(volatile type *); \ | ||||
type kcsan_atomic_load_acq_##name(volatile type *) | type kcsan_atomic_load_acq_##name(volatile type *) | ||||
#define KCSAN_ATOMIC_STORE(name, type) \ | #define KCSAN_ATOMIC_STORE(name, type) \ | ||||
void kcsan_atomic_store_##name(volatile type *, type); \ | void kcsan_atomic_store_##name(volatile type *, type); \ | ||||
void kcsan_atomic_store_rel_##name(volatile type *, type) | void kcsan_atomic_store_rel_##name(volatile type *, type) | ||||
#define KCSAN_ATOMIC_TEST(op, name, type) \ | #define KCSAN_ATOMIC_TEST(op, name, type) \ | ||||
int kcsan_atomic_##op##_##name(volatile type *, u_int) | int kcsan_atomic_##op##_##name(volatile type *, u_int); \ | ||||
int kcsan_atomic_##op##_acq_##name(volatile type *, u_int) | |||||
#define KCSAN_ATOMIC_FUNCS(name, type) \ | #define KCSAN_ATOMIC_FUNCS(name, type) \ | ||||
KCSAN_ATOMIC_FUNC_1(add, name, type); \ | KCSAN_ATOMIC_FUNC_1(add, name, type); \ | ||||
KCSAN_ATOMIC_FUNC_1(clear, name, type); \ | KCSAN_ATOMIC_FUNC_1(clear, name, type); \ | ||||
KCSAN_ATOMIC_CMPSET(name, type); \ | KCSAN_ATOMIC_CMPSET(name, type); \ | ||||
KCSAN_ATOMIC_FCMPSET(name, type); \ | KCSAN_ATOMIC_FCMPSET(name, type); \ | ||||
KCSAN_ATOMIC_READ(fetchadd, name, type); \ | KCSAN_ATOMIC_READ(fetchadd, name, type); \ | ||||
KCSAN_ATOMIC_LOAD(name, type); \ | KCSAN_ATOMIC_LOAD(name, type); \ | ||||
▲ Show 20 Lines • Show All 70 Lines • ▼ Show 20 Lines | |||||
#define atomic_subtract_long kcsan_atomic_subtract_long | #define atomic_subtract_long kcsan_atomic_subtract_long | ||||
#define atomic_subtract_acq_long kcsan_atomic_subtract_acq_long | #define atomic_subtract_acq_long kcsan_atomic_subtract_acq_long | ||||
#define atomic_subtract_rel_long kcsan_atomic_subtract_rel_long | #define atomic_subtract_rel_long kcsan_atomic_subtract_rel_long | ||||
#define atomic_store_long kcsan_atomic_store_long | #define atomic_store_long kcsan_atomic_store_long | ||||
#define atomic_store_rel_long kcsan_atomic_store_rel_long | #define atomic_store_rel_long kcsan_atomic_store_rel_long | ||||
#define atomic_swap_long kcsan_atomic_swap_long | #define atomic_swap_long kcsan_atomic_swap_long | ||||
#define atomic_testandclear_long kcsan_atomic_testandclear_long | #define atomic_testandclear_long kcsan_atomic_testandclear_long | ||||
#define atomic_testandset_long kcsan_atomic_testandset_long | #define atomic_testandset_long kcsan_atomic_testandset_long | ||||
#define atomic_testandset_acq_long kcsan_atomic_testandset_acq_long | |||||
#define atomic_add_ptr kcsan_atomic_add_ptr | #define atomic_add_ptr kcsan_atomic_add_ptr | ||||
#define atomic_add_acq_ptr kcsan_atomic_add_acq_ptr | #define atomic_add_acq_ptr kcsan_atomic_add_acq_ptr | ||||
#define atomic_add_rel_ptr kcsan_atomic_add_rel_ptr | #define atomic_add_rel_ptr kcsan_atomic_add_rel_ptr | ||||
#define atomic_clear_ptr kcsan_atomic_clear_ptr | #define atomic_clear_ptr kcsan_atomic_clear_ptr | ||||
#define atomic_clear_acq_ptr kcsan_atomic_clear_acq_ptr | #define atomic_clear_acq_ptr kcsan_atomic_clear_acq_ptr | ||||
#define atomic_clear_rel_ptr kcsan_atomic_clear_rel_ptr | #define atomic_clear_rel_ptr kcsan_atomic_clear_rel_ptr | ||||
#define atomic_cmpset_ptr kcsan_atomic_cmpset_ptr | #define atomic_cmpset_ptr kcsan_atomic_cmpset_ptr | ||||
▲ Show 20 Lines • Show All 145 Lines • Show Last 20 Lines |