On 3/13/22 21:09, Warner Losh wrote:
Oh? Out of paranoia, how can I verify that this is the case when compiled on FreeBSD? Perhaps the atomic sequence FreeBSD uses differs a little from Linux and we don't trigger that code?
$ objdump -dr libqemu-arm-*-user.fa.p/accel_tcg_user-exec.c.o 0000000000001490 <helper_atomic_cmpxchgl_le>: ... 14b7: e8 04 ec ff ff callq c0 <atomic_mmu_lookup.constprop.0> 14bc: 48 89 c2 mov %rax,%rdx 14bf: 44 89 e0 mov %r12d,%eax 14c2: f0 44 0f b1 32 lock cmpxchg %r14d,(%rdx) r~