/openbmc/linux/lib/ |
H A D | dec_and_lock.c | 21 int _atomic_dec_and_lock(atomic_t *atomic, spinlock_t *lock) in _atomic_dec_and_lock() argument 24 if (atomic_add_unless(atomic, -1, 1)) in _atomic_dec_and_lock() 29 if (atomic_dec_and_test(atomic)) in _atomic_dec_and_lock() 37 int _atomic_dec_and_lock_irqsave(atomic_t *atomic, spinlock_t *lock, in _atomic_dec_and_lock_irqsave() argument 41 if (atomic_add_unless(atomic, -1, 1)) in _atomic_dec_and_lock_irqsave() 46 if (atomic_dec_and_test(atomic)) in _atomic_dec_and_lock_irqsave() 53 int _atomic_dec_and_raw_lock(atomic_t *atomic, raw_spinlock_t *lock) in _atomic_dec_and_raw_lock() argument 56 if (atomic_add_unless(atomic, -1, 1)) in _atomic_dec_and_raw_lock() 61 if (atomic_dec_and_test(atomic)) in _atomic_dec_and_raw_lock() 68 int _atomic_dec_and_raw_lock_irqsave(atomic_t *atomic, raw_spinlock_t *lock, in _atomic_dec_and_raw_lock_irqsave() argument [all …]
|
H A D | atomic64_test.c | 22 atomic##bit##_set(&v, v0); \ 24 atomic##bit##_##op(val, &v); \ 26 WARN(atomic##bit##_read(&v) != r, "%Lx != %Lx\n", \ 27 (unsigned long long)atomic##bit##_read(&v), \ 46 atomic##bit##_set(&v, v0); \ 49 BUG_ON(atomic##bit##_##op(val, &v) != r); \ 50 BUG_ON(atomic##bit##_read(&v) != r); \ 55 atomic##bit##_set(&v, v0); \ 58 BUG_ON(atomic##bit##_##op(val, &v) != v0); \ 59 BUG_ON(atomic##bit##_read(&v) != r); \ [all …]
|
/openbmc/linux/scripts/atomic/ |
H A D | gen-atomics.sh | 11 gen-atomic-instrumented.sh linux/atomic/atomic-instrumented.h 12 gen-atomic-long.sh linux/atomic/atomic-long.h 13 gen-atomic-fallback.sh linux/atomic/atomic-arch-fallback.h
|
H A D | atomic-tbl.sh | 117 local atomic="$1"; shift 122 v) type="${atomic}_t *";; 123 cv) type="const ${atomic}_t *";; 134 local atomic="$1"; shift 136 local type="$(gen_param_type "${arg}" "${int}" "${atomic}")" 145 local atomic="$1"; shift 148 gen_param "$1" "${int}" "${atomic}" 195 local atomic="$1"; shift 198 local atomicname="${atomic}_${pfx}${name}${sfx}${order}" 202 local params="$(gen_params "${int}" "${atomic}" "$@")" [all …]
|
H A D | gen-atomic-fallback.sh | 6 . ${ATOMICDIR}/atomic-tbl.sh 17 local atomic="$1"; shift 22 local params="$(gen_params "${int}" "${atomic}" "$@")" 63 local atomic="$1"; shift 66 local atomicname="${atomic}_${pfx}${name}${sfx}${order}" 67 local basename="${atomic}_${pfx}${name}${sfx}" 73 local params="$(gen_params "${int}" "${atomic}" "$@")" 76 gen_kerneldoc "raw_" "${meta}" "${pfx}" "${name}" "${sfx}" "${order}" "${atomic}" "${int}" "$@" 101 gen_order_fallback "${meta}" "${pfx}" "${name}" "${sfx}" "${order}" "${atomic}" "${int}" "$@" 112 gen_proto_fallback "${meta}" "${pfx}" "${name}" "${sfx}" "${order}" "${atomic}" "${int}" "$@" [all …]
|
H A D | gen-atomic-long.sh | 6 . ${ATOMICDIR}/atomic-tbl.sh 13 local atomic="$1"; shift 17 printf "($(gen_param_type "${arg}" "${int}" "${atomic}"))" 24 local atomic="$1"; shift 27 local cast="$(gen_cast "$1" "${int}" "${atomic}")" 48 local argscast_32="$(gen_args_cast "int" "atomic" "$@")"
|
H A D | gen-atomic-instrumented.sh | 6 . ${ATOMICDIR}/atomic-tbl.sh 60 local atomic="$1"; shift 63 local atomicname="${atomic}_${pfx}${name}${sfx}${order}" 66 local params="$(gen_params "${int}" "${atomic}" "$@")" 71 gen_kerneldoc "" "${meta}" "${pfx}" "${name}" "${sfx}" "${order}" "${atomic}" "${int}" "$@" 138 * This file provoides atomic operations with explicit instrumentation (e.g.
|
/openbmc/linux/net/rds/ |
H A D | rdma.c | 876 || rm->atomic.op_active) in rds_cmsg_atomic() 884 rm->atomic.op_type = RDS_ATOMIC_TYPE_FADD; in rds_cmsg_atomic() 885 rm->atomic.op_m_fadd.add = args->fadd.add; in rds_cmsg_atomic() 886 rm->atomic.op_m_fadd.nocarry_mask = 0; in rds_cmsg_atomic() 889 rm->atomic.op_type = RDS_ATOMIC_TYPE_FADD; in rds_cmsg_atomic() 890 rm->atomic.op_m_fadd.add = args->m_fadd.add; in rds_cmsg_atomic() 891 rm->atomic.op_m_fadd.nocarry_mask = args->m_fadd.nocarry_mask; in rds_cmsg_atomic() 894 rm->atomic.op_type = RDS_ATOMIC_TYPE_CSWP; in rds_cmsg_atomic() 895 rm->atomic.op_m_cswp.compare = args->cswp.compare; in rds_cmsg_atomic() 896 rm->atomic.op_m_cswp.swap = args->cswp.swap; in rds_cmsg_atomic() [all …]
|
/openbmc/openbmc/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/ |
H A D | 0001-cmake-Add-check-for-atomic-support.patch | 4 Subject: [PATCH] cmake: Add check for atomic support 7 provide the needed atomic instrinsics, this helps build on certain 41 + set(SYSTEM_LIBS ${SYSTEM_LIBS} atomic) 52 +# Checks if atomic operations are supported natively or if linking against 64 +#include <atomic> 65 +std::atomic<int> x; 77 +#include <atomic> 79 +std::atomic<uint64_t> x (0); 80 +std::atomic<double> y (0); 93 + check_library_exists(atomic __atomic_fetch_add_4 "" HAVE_LIBATOMIC) [all …]
|
/openbmc/linux/Documentation/ |
H A D | atomic_bitops.txt | 5 While our bitmap_{}() functions are non-atomic, we have a number of operations 6 operating on single bits in a bitmap that are atomic. 18 RMW atomic operations without return value: 23 RMW atomic operations with return value: 33 All RMW atomic operations have a '__' prefixed variant which is non-atomic. 39 Non-atomic ops: 67 Since a platform only has a single means of achieving atomic operations
|
H A D | atomic_t.txt | 2 On atomic types (atomic_t atomic64_t and atomic_long_t). 4 The atomic type provides an interface to the architecture's means of atomic 5 RMW operations between CPUs (atomic operations on MMIO are not supported and 20 RMW atomic operations: 67 Therefore, an explicitly unsigned variant of the atomic ops is strictly 91 C Atomic-RMW-ops-are-atomic-WRT-atomic_set 118 The obvious case where this is not so is when we need to implement atomic ops 155 All these operations are SMP atomic; that is, the operations (for a single 156 atomic variable) can be fully ordered and no intermediate state is lost or 192 only apply to the RMW atomic ops and can be used to augment/upgrade the [all …]
|
/openbmc/openbmc/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/ |
H A D | 0013-adb-Support-riscv64.patch | 9 include/cutils/atomic-inline.h | 2 + 10 include/cutils/atomic-riscv64.h | 156 ++++++++++++++++++++++++++++++++ 12 create mode 100644 include/cutils/atomic-riscv64.h 14 diff --git a/include/cutils/atomic-inline.h b/include/cutils/atomic-inline.h 16 --- a/include/cutils/atomic-inline.h 17 +++ b/include/cutils/atomic-inline.h 19 #include <cutils/atomic-mips64.h> 21 #include <cutils/atomic-mips.h> 23 +#include <cutils/atomic-riscv64.h> 25 #error atomic operations are unsupported [all …]
|
/openbmc/linux/ |
H A D | Kbuild | 46 # Check the manual modification of atomic headers 61 atomic-checks += $(addprefix $(obj)/.checked-, \ 62 atomic-arch-fallback.h \ 63 atomic-instrumented.h \ 64 atomic-long.h) 66 targets += $(atomic-checks) 67 $(atomic-checks): $(obj)/.checked-%: include/linux/atomic/% FORCE 73 prepare: $(offsets-file) missing-syscalls $(atomic-checks)
|
/openbmc/openbmc/poky/meta/recipes-support/db/db/ |
H A D | 0001-atomic-Rename-local-__atomic_compare_exchange-to-avo.patch | 4 Subject: [PATCH] atomic: Rename local __atomic_compare_exchange to avoid clash 11 ../db-5.3.28/src/dbinc/atomic.h:179:19: error: definition of builtin function '__atomic_compare_exc… 18 src/dbinc/atomic.h | 4 ++-- 21 diff --git a/src/dbinc/atomic.h b/src/dbinc/atomic.h 23 --- a/src/dbinc/atomic.h 24 +++ b/src/dbinc/atomic.h
|
/openbmc/linux/drivers/gpu/drm/ci/xfails/ |
H A D | msm-sdm845-fails.txt | 18 kms_cursor_legacy@basic-flip-after-cursor-atomic,Fail 21 kms_cursor_legacy@basic-flip-before-cursor-atomic,Fail 24 kms_cursor_legacy@cursor-vs-flip-atomic,Fail 25 kms_cursor_legacy@cursor-vs-flip-atomic-transitions,Fail 26 kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size,Fail 31 kms_cursor_legacy@flip-vs-cursor-atomic,Fail 32 kms_cursor_legacy@flip-vs-cursor-crc-atomic,Fail 35 kms_cursor_legacy@short-flip-after-cursor-atomic-transitions,Fail 36 kms_cursor_legacy@short-flip-after-cursor-atomic-transitions-varying-size,Fail 38 kms_cursor_legacy@short-flip-before-cursor-atomic-transitions,Fail [all …]
|
/openbmc/linux/sound/synth/emux/ |
H A D | emux_oss.c | 27 void *private, int atomic, int hop); 30 int cmd, unsigned char *event, int atomic, int hop); 32 int cmd, unsigned char *event, int atomic, int hop); 34 int ch, int param, int val, int atomic, int hop); 288 int atomic, int hop) in snd_emux_event_oss_input() argument 301 return snd_emux_event_input(ev, direct, private_data, atomic, hop); in snd_emux_event_oss_input() 309 emuspec_control(emu, p, cmd, data, atomic, hop); in snd_emux_event_oss_input() 311 gusspec_control(emu, p, cmd, data, atomic, hop); in snd_emux_event_oss_input() 321 unsigned char *event, int atomic, int hop) in emuspec_control() argument 361 fake_event(emu, port, voice, MIDI_CTL_ALL_NOTES_OFF, 0, atomic, hop); in emuspec_control() [all …]
|
/openbmc/linux/include/linux/ |
H A D | spinlock.h | 471 extern int _atomic_dec_and_lock(atomic_t *atomic, spinlock_t *lock); 472 #define atomic_dec_and_lock(atomic, lock) \ argument 473 __cond_lock(lock, _atomic_dec_and_lock(atomic, lock)) 475 extern int _atomic_dec_and_lock_irqsave(atomic_t *atomic, spinlock_t *lock, 477 #define atomic_dec_and_lock_irqsave(atomic, lock, flags) \ argument 478 __cond_lock(lock, _atomic_dec_and_lock_irqsave(atomic, lock, &(flags))) 480 extern int _atomic_dec_and_raw_lock(atomic_t *atomic, raw_spinlock_t *lock); 481 #define atomic_dec_and_raw_lock(atomic, lock) \ argument 482 __cond_lock(lock, _atomic_dec_and_raw_lock(atomic, lock)) 484 extern int _atomic_dec_and_raw_lock_irqsave(atomic_t *atomic, raw_spinlock_t *lock, [all …]
|
/openbmc/openbmc/poky/meta/recipes-core/glibc/glibc/ |
H A D | 0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch | 6 The fix consist of allowing 64bit atomic ops for x86. 16 sysdeps/x86/atomic-machine.h | 7 +------ 19 diff --git a/sysdeps/x86/atomic-machine.h b/sysdeps/x86/atomic-machine.h 21 --- a/sysdeps/x86/atomic-machine.h 22 +++ b/sysdeps/x86/atomic-machine.h
|
/openbmc/openbmc/meta-openembedded/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/ |
H A D | stdatomic.patch | 3 Description: Fix incompatibility between <stdatomic.h> and <atomic> 15 +#include <atomic> 25 --- a/system/core/libcutils/include/cutils/atomic.h 26 +++ b/system/core/libcutils/include/cutils/atomic.h 32 +#include <atomic> 58 +#include <atomic>
|
/openbmc/openbmc/meta-openembedded/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/ |
H A D | stdatomic.patch | 3 Description: Fix incompatibility between <stdatomic.h> and <atomic> 15 +#include <atomic> 25 --- a/system/core/libcutils/include/cutils/atomic.h 26 +++ b/system/core/libcutils/include/cutils/atomic.h 32 +#include <atomic> 58 +#include <atomic>
|
/openbmc/linux/sound/core/seq/ |
H A D | seq_queue.c | 240 void snd_seq_check_queue(struct snd_seq_queue *q, int atomic, int hop) in snd_seq_check_queue() argument 268 snd_seq_dispatch_event(cell, atomic, hop); in snd_seq_check_queue() 279 snd_seq_dispatch_event(cell, atomic, hop); in snd_seq_check_queue() 300 int snd_seq_enqueue_event(struct snd_seq_event_cell *cell, int atomic, int hop) in snd_seq_enqueue_event() argument 344 snd_seq_check_queue(q, atomic, hop); in snd_seq_enqueue_event() 630 int atomic, int hop) in queue_broadcast_event() argument 645 snd_seq_kernel_client_dispatch(SNDRV_SEQ_CLIENT_SYSTEM, &sev, atomic, hop); in queue_broadcast_event() 654 int atomic, int hop) in snd_seq_queue_process_event() argument 661 queue_broadcast_event(q, ev, atomic, hop); in snd_seq_queue_process_event() 666 queue_broadcast_event(q, ev, atomic, hop); in snd_seq_queue_process_event() [all …]
|
/openbmc/linux/Documentation/driver-api/ |
H A D | basics.rst | 96 .. kernel-doc:: include/linux/atomic/atomic-instrumented.h 99 .. kernel-doc:: include/linux/atomic/atomic-arch-fallback.h 102 .. kernel-doc:: include/linux/atomic/atomic-long.h
|
/openbmc/linux/Documentation/litmus-tests/ |
H A D | README | 12 atomic (/atomic directory) 16 Test that an atomic RMW followed by a smp_mb__after_atomic() is 20 Atomic-RMW-ops-are-atomic-WRT-atomic_set.litmus 21 Test that atomic_set() cannot break the atomicity of atomic RMWs.
|
/openbmc/openbmc/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.11/ |
H A D | ebtables.common | 45 … /usr/sbin/ebtables-legacy -t $table --atomic-file ${EBTABLES_DUMPFILE_STEM}.$table --atomic-commit 101 /usr/sbin/ebtables-legacy -t $table --atomic-file ${EBTABLES_DUMPFILE_STEM}.$table --atomic-save 108 /usr/sbin/ebtables-legacy -t $table --atomic-file ${EBTABLES_DUMPFILE_STEM}.$table -Z
|
/openbmc/qemu/docs/devel/ |
H A D | atomics.rst | 19 and atomic operations. The semantics of concurrent memory accesses are governed 22 QEMU provides a header, ``qemu/atomic.h``, which wraps C11 atomics to 23 provide better portability and a less verbose syntax. ``qemu/atomic.h`` 28 - weak atomic access and manual memory barriers: ``qatomic_read()``, 33 - sequentially consistent atomic access: everything else. 35 In general, use of ``qemu/atomic.h`` should be wrapped with more easily 39 atomic operations and memory barriers should be limited to inter-thread 51 ``barrier()`` is mostly used within ``qemu/atomic.h`` itself. On some 54 case, ``qemu/atomic.h`` will reduce stronger memory barriers to simple 61 Sequentially consistent atomic access [all …]
|