musl/arch/sh
Rich Felker f9d84554ba add support for sh2 interrupt-masking-based atomics to sh port
the sh2 target is being considered an ISA subset of sh3/sh4, in the
sense that binaries built for sh2 are intended to be usable on later
cpu models/kernels with mmu support. so rather than hard-coding
sh2-specific atomics, the runtime atomic selection mechanisms that was
already in place has been extended to add sh2 atomics.

at this time, the sh2 atomics are not SMP-compatible; since the ISA
lacks actual atomic operations, the new code instead masks interrupts
for the duration of the atomic operation, producing an atomic result
on single-core. this is only possible because the kernel/hardware does
not impose protections against userspace doing so. additional changes
will be needed to support future SMP systems.

care has been taken to avoid producing significant additional code
size in the case where it's known at compile-time that the target is
not sh2 and does not need sh2-specific code.
2015-06-16 14:38:41 +00:00
..
bits fix sh jmp_buf size to match ABI 2015-04-27 20:03:28 -04:00
src add support for sh2 interrupt-masking-based atomics to sh port 2015-06-16 14:38:41 +00:00
atomic.h inline llsc atomics when building for sh4a 2015-05-19 00:42:07 -04:00
crt_arch.h add .text section directive to all crt_arch.h files missing it 2015-05-22 01:50:05 -04:00
pthread_arch.h rename superh port to "sh" for consistency 2014-02-27 22:03:25 -05:00
reloc.h fix ldso name for sh-nofpu subarch 2015-04-24 13:05:21 -04:00
syscall_arch.h rename superh port to "sh" for consistency 2014-02-27 22:03:25 -05:00