| #
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.
|