ssekar15 opened a new pull request, #21486:
URL: https://github.com/apache/nuttx/pull/21486

   ## Summary
   
   The common TriCore code takes plain core register numbers and a few
   intrinsics from the Infineon iLLD: the CPU_* CSFR offsets come from
   IfxCpu_reg.h, interrupt save/restore and the svcall return from
   IfxCpu_Intrinsics.h, and tricore_internal.h pulls these iLLD headers into
   every common file.
   
   This series adds NuttX's own CSFR offsets in arch/tricore/include/csfr.h
   (checked against the TC39xB and TC4Dx iLLD headers, with indexed macros for
   the MPU ranges and sets) and moves one file at a time onto them, so each
   commit leaves its file free of the iLLD: backtrace, saveusercontext,
   svcall, csa, cache, perf, registerdump, mpu and arch/irq.h.
   tricore_internal.h no longer includes iLLD headers; the interrupt entry
   (tricore_doirq.c) and the trap handler (tricore_trapcall.c) still use the
   iLLD and now include it themselves, until they get their own native step.
   
   ## Impact
   
   TriCore only (arch/tricore). No functional change: the register offsets and
   instructions are the same, only their source changes. cache.c and perf.c
   drop their local copies of the PCON/DCON and CCTRL/CCNT offsets.
   No Kconfig, board or documentation changes.
   
   ## Testing
   
   I confirm that changes are verified on local setup and works as intended:
   
   * Build Host(s): Linux x86_64, Debian GNU/Linux 12 (bookworm)
   * Toolchains: AURIX GCC 11.3.1 (tricore-elf-gcc), TASKING VX-toolset v6.4r1
     (TC3x), TASKING SmartCode v10.4r1 (TC4x)
   * Build systems: make, cmake (Ninja)
   * Target(s): a2g-tc397-5v-tft:nsh, triboard_tc4x9_com:nsh
   * Hardware: TriBoard TC397 V2.0; TriBoard TC4x7 COM V3.0 for the
     triboard_tc4x9_com image
   * Each commit builds with GCC and TASKING (make) for both boards, the tip
     also with cmake; GCC warnings unchanged from master; each commit passes
     tools/checkpatch.sh.
   
   Runtime, ostest on the tip:
   
   | Board | GCC | TASKING |
   |---|---|---|
   | TriBoard TC397 (a2g-tc397-5v-tft:nsh) | pass | pass |
   
   ```
   nsh> uname -a
   NuttX 10.4.0 df1a3103fe9 Nov  5 2026 tricore a2g-tc397-5v-tft
   nsh> ostest
   ...
   user_main: Exiting
   ostest_main: Exiting with status 0
   ```
   
   On the TriBoard TC4x7 (triboard_tc4x9_com image) ostest behaves the same
   with and without this series: master 6e1126a2362 also hangs intermittently
   in the timer tests with GCC and asserts in the wqueue test with TASKING, so
   that is a separate, pre-existing issue.


-- 
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