Use CONFIG_GENERIC_ATOMIC64 if 32-bit. Add system call to emulate
atomic compare exchange, primarily for targets lacking hardware
suport (i.e., lacking RV32A, RV64A). Support excluding use of
atomic memory instructions (-mno-atomic).
This change is mutually dependent on the corresponding change to
riscv-gcc.
This change is also dependent on three patches outside of
arch/riscv/ which have been submitted upstream.
Use CONFIG_GENERIC_ATOMIC64 if 32-bit. Add system call to emulate atomic compare exchange, primarily for targets lacking hardware suport (i.e., lacking RV32A, RV64A). Support excluding use of atomic memory instructions (-mno-atomic).
This change is mutually dependent on the corresponding change to riscv-gcc.
This change is also dependent on three patches outside of arch/riscv/ which have been submitted upstream.