History log of /src/common/lib/libc/arch/m68k/atomic/atomic_cas_normc.c
Revision Date Author Comments
# 1.1 19-Dec-2025 thorpej

Rework atomic operations for m68k platforms.

In addition to the 68010 not having a CAS instruction, there are other
68020+ systems that cannot use CAS or TAS because they have non-working
/RMC signal handling. Such systems (for example, 68020-based hp300
systems) will generate a bus error in response.

Combine the 68010's RAS-based CAS implementation with the 68020 CASx-
based implementation, remove the other atomic operations (some of which
use CASx directly), and re-implement all other atomic operations in
terms of _atomic_cas_{8,16,32}(). 68010 always uses the RAS-based
implementation, and non-68010 will check for machdep.broken_rmc at run
time and use the RAS-based implementation if the sysctl succeeds and
returns a non-zero value.