diff options
author | kx <kx@radix.pro> | 2023-10-28 12:00:06 +0300 |
---|---|---|
committer | kx <kx@radix.pro> | 2023-10-28 12:00:06 +0300 |
commit | 8f3ce5b3998ec82c96385f8ce3d5fd6d24c8b859 (patch) | |
tree | 5bda49164664ad1429852668300d19bf559c830a /scripts/atomic/atomics.tbl | |
download | linux-orangepi-5.10.y-8f3ce5b3998ec82c96385f8ce3d5fd6d24c8b859.tar.xz |
Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards
Diffstat (limited to 'scripts/atomic/atomics.tbl')
-rwxr-xr-x | scripts/atomic/atomics.tbl | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/scripts/atomic/atomics.tbl b/scripts/atomic/atomics.tbl new file mode 100755 index 000000000..fbee2f619 --- /dev/null +++ b/scripts/atomic/atomics.tbl @@ -0,0 +1,41 @@ +# name meta args... +# +# Where meta contains a string of variants to generate. +# Upper-case implies _{acquire,release,relaxed} variants. +# Valid meta values are: +# * B/b - bool: returns bool +# * v - void: returns void +# * I/i - int: returns base type +# * R - return: returns base type (has _return variants) +# * F/f - fetch: returns base type (has fetch_ variants) +# * l - load: returns base type (has _acquire order variant) +# * s - store: returns void (has _release order variant) +# +# Where args contains list of type[:name], where type is: +# * cv - const pointer to atomic base type (atomic_t/atomic64_t/atomic_long_t) +# * v - pointer to atomic base type (atomic_t/atomic64_t/atomic_long_t) +# * i - base type (int/s64/long) +# * p - pointer to base type (int/s64/long) +# +read l cv +set s v i +add vRF i v +sub vRF i v +inc vRF v +dec vRF v +and vF i v +andnot vF i v +or vF i v +xor vF i v +xchg I v i +cmpxchg I v i:old i:new +try_cmpxchg B v p:old i:new +sub_and_test b i v +dec_and_test b v +inc_and_test b v +add_negative b i v +add_unless fb v i:a i:u +inc_not_zero b v +inc_unless_negative b v +dec_unless_positive b v +dec_if_positive i v |