Repository navigation
Add QorIQ SEC support to the T2080 and T1040 bare-metal test apps - #864
Conversation
There was a problem hiding this comment.
Pull request overview
Warning
Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.
Adds bare-metal test-app integration for NXP QorIQ SEC (CAAM) on PowerPC T2080/T1040 so wolfCrypt tests/benchmarks can run on real hardware while reporting SEC offload counters.
Changes:
- Add SEC_QORIQ build option and link the wolfSSL SEC QorIQ port into the test app.
- Enable SEC QorIQ init + offload counter reporting in the T2080 and T1040 test apps.
- Update PPC timing support (T1040 SYSCLK/timebase) and increase PPC stack size for large wolfCrypt test configurations.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| test-app/wolfcrypt_support.c | Extends PPC timebase/timing support to TARGET_nxp_t1040 and corrects SYSCLK assumption. |
| test-app/app_nxp_t2080.c | Initializes SEC QorIQ in test/benchmark builds and prints offload counters; adds U-Boot/wolfBoot state handling. |
| test-app/app_nxp_t1040.c | Adds wolfCrypt test/benchmark harness and SEC QorIQ init + offload counter reporting. |
| test-app/PPC.ld | Increases bare-metal PPC stack allocation to accommodate deep wolfCrypt/RSA paths. |
| test-app/Makefile | Adds SEC_QORIQ build flag and PPC stack-usage limit override for wolfCrypt tests. |
| lib/wolfssl | Updates wolfSSL submodule pin (to include SEC QorIQ work). |
| .github/workflows/test-configs.yml | Adds CI build jobs to validate SEC QorIQ integration against the pinned wolfSSL revision. |
Suppressed comments (1)
lib/wolfssl:1
- The PR description states that without
SEC_QORIQ=1the branch builds against the current wolfSSL pin unchanged, but this PR updates thelib/wolfsslsubmodule pin unconditionally. Recommendation (mandatory): either update the PR description to reflect the temporary pinning for CI, or avoid changing the pin in this PR (and instead fetch/override the wolfSSL revision only within the SEC_QORIQ CI jobs).
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
7070abc to
fc591e9
Compare
959e078 to
af7a2e0
Compare
There was a problem hiding this comment.
🔵 Needs a closer look
It introduces a hardware-accelerator integration path that depends on external wolfSSL changes and is difficult to fully validate for correctness and build/link compatibility in this review context.
Review details
- Files reviewed: 9/9 changed files
- Comments generated: 1
- Review effort level: Lite
af7a2e0 to
51a9237
Compare
4f72015 to
446d440
Compare
446d440 to
10eede0
Compare
10eede0 to
826cf38
Compare


The wolfBoot side of the NXP QorIQ SEC (CAAM) hardware crypto port added in wolfSSL/wolfssl#11199:
SEC_QORIQ=1compiles thewolfcrypt/src/port/nxp/sec_qoriq*objects into the T2080 and T1040 bare-metal test apps and selects the engine through the crypto callback layer. The apps register the device, runwolfcrypt_test()andbenchmark()through it, and print the driver's offload counters, which matter because unhandled cases fall back to software and a passing test on its own proves nothing about offload. Also included: thelib/wolfsslrepin to the commit carrying the port, a larger test-app stack for RSA-2048 underSP_MATH_ALL, the T1040's time base and SYSCLK, a RISC-V asm object-path fix, and TRACE32 no-reset attach scripts for both boards. Validated on a Curtiss-Wright VPX3-152 (T2080E) and an NXP T1040D4RDB (T1040E): wolfBoot verifies and boots the signed app andwolfcrypt_test()passes in full, with the counters confirming cipher and public-key work reaching the engine and hashing staying in software as the port intends.