zhangyu-duck opened a new pull request, #19953: URL: https://github.com/apache/nuttx/pull/19953
## Summary This PR removes the TriCore atomic implementation's dependency on ILLD intrinsics and switches to the NuttX arch-atomic backend. ### Patch 1: arch/tricore: drop illd dependence for atomic - Replace ILLD intrinsics (`__swap`, `__ld32`, `__cmpAndSwap`) with inline assembly functions (`tricore_atomic_swap`, `tricore_atomic_cmpswap`) in `libs/libc/machine/tricore/arch_atomic.c` - Remove the `#include <IfxCpu_Intrinsics.h>` dependency - Fix the `expect` parameter type to `volatile void *` to match the declaration in `atomic.h` ### Patch 2: arch/tricore: use tricore arch-atomic-instruction version - Select `LIBC_ATOMIC_ARCH` for TriCore when not using Tasking toolchain, so that the tricore arch-atomic implementation is used instead of the toolchain builtin ## Background This is part of the atomic multi-backend refactoring series: - PR #19866: atomic.h header fixes (merged) - PR #19867: atomic multi-backend framework + builtins + API rename (merged) - PR #19868: hwspinlock backend for cxd56/rp2040/lc823450 (open) - This PR: TriCore atomic ILLD independence ## Testing Tested with TC3 (TC397) build with GCC toolchain. The `arch_atomic.c` compiles successfully (ILLD pinmap header issue in TC3 build is unrelated to this change). 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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]
