Closed GaryOderNichts closed 2 years ago
Replaces the usage of the built-in atomics with the OS* atomics from coreinit. This avoids a hardware bug described here.
There appears to be a bug that affects load-exclusive and store-exclusive instructions (an explicit cache flush is required)
The gcc built-in atomics do not emit a cache flush which might cause issues in the current wut lock implementation.
OSSwapAtomic
OSCompareAndSwapAtomicEx
sbrk
Replaces the usage of the built-in atomics with the OS* atomics from coreinit. This avoids a hardware bug described here.
The gcc built-in atomics do not emit a cache flush which might cause issues in the current wut lock implementation.
OSSwapAtomic
in wutstdc++'s once implementation where a compare isn't necessary.OSCompareAndSwapAtomicEx
to directly update the oldSize in the newlibsbrk
implementation.