zhangyu-duck opened a new pull request, #19867: URL: https://github.com/apache/nuttx/pull/19867
## Summary Rework the atomic implementation to support multiple selectable backends via Kconfig: - `LIBC_ATOMIC_TOOLCHAIN` - compiler builtins (default, lock-free) - `LIBC_ATOMIC_ARCH` - arch-native atomic instructions (lock-free) - `LIBC_ATOMIC_HWSPINLOCK` - hardware spinlock wrapping critical section (cross-core, for chips without atomic instructions but with hwspinlock peripheral) - `LIBC_ATOMIC_IRQ` - IRQ disable wrapping critical section (single-core only, fallback for ARMv6-M / ARM7TDMI / ARM926EJS etc.) Add hwspinlock-based atomic for cxd56, rp2040, and lc823450 (multi-core capable chips). Switch `machine/arch_atomic.c` to IRQ-based implementation (single-core only, does not support SMP). ## Stacked PR chain Depends on #19866. This is PR 2 of 3: - #19866: atomic.h header fixes - PR 2 (this): multi-backend atomic implementation - PR 3: toolchain builtin atomic + API rename ## Test CI testbuild across ARM/RISC-V/SIM targets. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
