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]

Reply via email to