Commit Graph

307 Commits (a21249cbffc616ba9cbfc90c445b2816f38e602e)

Author SHA1 Message Date
David Garske 464f1eeae5
Merge pull request #828 from bigbrett/remove-custom-tlv-limit
support for large and file-backed custom TLVs
2026-07-23 08:48:30 -07:00
David Garske 1ceaef3eee zynqmp: wolfBoot ZynqMP FSBL with signed FIT Linux boot and EL3 security (eFuse/PUF/AES-CSU) 2026-07-22 11:56:40 +02:00
Brett Nicholas 235bd820e6 Add support for auxillary algorithms and cert chain/TPM usage 2026-07-22 11:47:16 +02:00
Brett Nicholas 0d5eec0d6f add test coverage for large and file-backed tlvs 2026-07-21 16:33:19 -06:00
Daniele Lacamera 3744aae33d ci: add stm32u5 dual-bank swap fallback test on m33mu
Add a GitHub Actions workflow covering the DUALBANK_SWAP fallback
scenario fixed by the previous commit, running on the m33mu emulator
(wolfboot-ci-m33mu image, which models the physical-bank BKER/SWAP_BANK
semantics of the STM32U5 flash controller).

The test drives three boots in a single emulator session with the
stm32u5-nonsecure-dualbank config:

  1. wolfBoot verifies a valid v2 image in the UPDATE partition,
     activates SWAP_BANK and reboots;
  2. the v2 app, now running from physical bank 2, stages a fake v3
     image with a broken integrity record into the logical UPDATE
     partition and reboots;
  3. wolfBoot selects the v3 update, fails verification, and must erase
     the corrupt update and fall back to v2, which reports success via
     breakpoint.

Besides the success breakpoint, the script checks the emulator flash
trace: the UPDATE partition must be erased and the BOOT partition
(holding the healthy image) must never be touched, so a regression
cannot hide behind an accidentally bootable state. Verified to fail
against the pre-fix hal_flash_erase, where boot 3 erases the healthy
image and the device bricks.
2026-07-09 15:14:51 +02:00
Alex Lanzano 76b023008b Add DEBUG_UART build test for stm32wba. Fix stm32wba clock init 2026-07-02 08:44:45 +02:00
Alex Lanzano 337dabf2f2 Implement port for STM32WBA. Bump wolfHAL lib to latest 2026-07-02 08:44:45 +02:00
aidan garske b9bd6dae17 Add WOLFCRYPT_TZ_WOLFHSM TrustZone engine for STM32H5 2026-06-24 15:49:43 -07:00
David Garske dd4fc26df8
Merge pull request #803 from rizlik/tpm_mfg_auth_value
IDevID: allow using pre-computed auth values
2026-06-22 08:49:25 -07:00
Marco Oliverio 723fffebc8 tpm: build MFG identity configs in CI 2026-06-18 11:06:18 +02:00
Brett Nicholas b52dd5a1d0 make wolfHSM client ID parameterizable and settable via Makefiles 2026-06-16 22:03:28 -06:00
David Garske 7cdfb4266a NXP T2080 / CW VPX3-152: VxWorks 7 64-bit boot support
Add wolfBoot support for booting VxWorks 7 SMP 64-bit (and signed ELF
images) on the NXP T2080 (e6500) / Curtiss-Wright VPX3-152.

Key fix: bring up the e6500 cluster L2 cache in the correct order -- set
L2PE (ECC) in its own polled write BEFORE enabling L2E, with L2FI|L2LFC --
matching CW U-Boot (SDK2.0). The previous bare-L2E init left the L2 ECC
array uninitialized for the kernel's 0x1E0000 set, machine-checking VxWorks
(MCSR[IF], L2ERRDET MBECC).

Also: ePAPR spin-table SMP bring-up of all four cores, ELF in-place loader
staging-overlap fix, DPAA/LIODN + QMan/BMan init, 64-bit OS handoff
(LAW/TLB/IVOR), and NAII 68PPC2 + CW VPX3-152 board configs.
2026-06-15 06:13:28 +02:00
Daniele Lacamera 9bfecfb617 Fix fwTPM unit test CI config 2026-06-10 21:01:16 +02:00
Alex Lanzano 5cb653b141 Remove wolfHAL specific example config 2026-06-10 17:12:25 +02:00
Alex Lanzano 01c52d87e8 remove wolfhal TARGET. Add WOLFHAL option 2026-06-10 17:12:25 +02:00
Alex Lanzano 125872c571 Create STM32WB wolfHAL example. GC sections on all test apps 2026-06-10 17:12:25 +02:00
David Garske c075549ea2 Add wolfBoot support for STM32G4 2026-05-29 13:10:15 +02:00
David Garske 9786f5608b Add wolfBoot port for STM32N6 (NUCLEO-N657X0-Q)
Co-authored-by: Aidan Garske <aidan@wolfssl.com>
2026-05-28 16:49:57 +02:00
Yosuke Shimizu f4d5340641 Add hardware-based DICE on mcxn 2026-05-21 20:49:20 +02:00
David Garske b94954eab4 Add Xilinx Zynq-7000 (ZC702) wolfBoot port 2026-05-12 12:06:05 +02:00
David Garske af40ae1471 Add STM32C5 target (NUCLEO-C5A3ZG) 2026-05-06 19:02:58 +02:00
Brett Nicholas e43e012e98 review feedback 2026-05-05 16:37:54 +02:00
Brett Nicholas a2e9267529 Adds generic cryptocb support for PK, hash, and symmetric crypto 2026-05-05 16:37:54 +02:00
David Garske 8c7b8640dd
Merge pull request #762 from danielinux/fenrir-fixes-2026-04-29
Fenrir fixes
2026-04-29 11:24:44 -07:00
Daniele Lacamera 1226776ff4 Modernize riscv build test 2026-04-29 13:24:07 +02:00
Daniele Lacamera c0f6b12721 Addressed copilot's comments 2026-04-28 15:22:41 +02:00
Daniele Lacamera 85f5b493c0 Proper migration of renode tests 2026-04-28 15:04:35 +02:00
Daniele Lacamera 2eb1368275 Workaround for test-build-kontron hanging apt + renode tests moved to wolfboot-ci 2026-04-28 15:04:35 +02:00
Brett Nicholas 25c0aaa8bd review: add additional RSA PSS test and bench coverage 2026-04-28 15:02:57 +02:00
Brett Nicholas 65d84a29ec Add SW-only RSA PSS 2026-04-28 15:02:57 +02:00
David Garske 980022de13 Add wolfBoot port for STM32U3 (NUCLEO-U385RG-Q)
New HAL port for the STM32U3 family (Cortex-M33, no TrustZone,
1MB dual-bank flash with 4KB pages, 64-bit double-word writes).

Features:
- hal/stm32u3.c, hal/stm32u3.h, hal/stm32u3.ld: flash driver,
  clock init (96 MHz MSIRC0 via EPOD booster), inline UART, ICACHE
- config/examples/stm32u3.config: ECC384/SHA384, DEBUG_UART=1,
  NVM_FLASH_WRITEONCE=1, RAM_CODE=1, dual-bank layout
- test-app/app_stm32u3.c: LED blink + UART output + version check
- tools/scripts/prepare_update_u3.sh: v2 pBOOT update image builder
- docs/Targets.md: STM32U3 section with build/flash/update instructions
- CI: stm32u3_test job + Clang rebuild coverage

Tested on NUCLEO-U385RG-Q:
- Verified boot with ECC384/SHA384 signature
- 96 MHz clock (MSIRC0 + SMPS + EPOD booster + VOS1)
- UART output on USART1 PA9/PA10 (ST-LINK VCP)
- TEST_FLASH erase/write/readback on both flash banks
- A/B firmware update (v1 -> v2 swap with pBOOT trigger)
2026-04-27 17:00:41 +02:00
David Garske 8b7ce4e4dd
Merge pull request #756 from danielinux/fTPM-TZ
Added support for fwTPM in TrustZone + STM32H5 test app
2026-04-22 14:10:19 -07:00
Daniele Lacamera c6c254403b Fixed path of config file for fwtpm tests in trustzone 2026-04-22 14:38:59 +02:00
David Garske 00313b3e43 Rename LPC54S018M to LPC54S0XX 2026-04-22 14:10:55 +02:00
David Garske eee953f823 Add tests and improve docs 2026-04-22 14:10:55 +02:00
Daniele Lacamera b22c85ed27 Added support for fTPM in TrustZone + STM32H5 test app 2026-04-21 20:53:48 +02:00
Brett Nicholas ce1f7f13c2 add ci test coverage for monolithic and self-update combined cases 2026-04-17 08:27:05 +02:00
Brett Nicholas f7ea40f7cc Add oneshot hash build option 2026-04-17 08:25:51 +02:00
Daniele Lacamera 4f050f2485 Trying to work around broken archive.ubuntu.com mirror 2026-04-16 18:39:39 +02:00
Daniele Lacamera 3118f7ad4e Fixed regression in sim test, added sim test for denied rollback 2026-04-15 18:26:04 +02:00
Mattia Moffa 941d3f2dd4 Fix GH workflow syntax error 2026-04-09 23:41:38 +02:00
Mattia Moffa 497295fd84 Address Copilot review 2026-04-09 16:18:25 +02:00
Mattia Moffa 5cd5a19966 Update test container to 1.3 2026-04-03 18:51:41 +02:00
Daniele Lacamera 92ed25d1ef Removed clang install + fix path in tests 2026-04-03 18:09:16 +02:00
Daniele Lacamera 9982734c55 Exclude stm32c0 (too small for clang) and stm32h5 (no ARMORED support) 2026-04-03 18:09:16 +02:00
Daniele Lacamera f7b2e5a279 Fix stdlib in clang, limit test to a few targets 2026-04-03 18:09:16 +02:00
Daniele Lacamera cd556ce7e6 Added clang pass for arm build tests 2026-04-03 18:09:16 +02:00
Daniele Lacamera cfbc3f0cfc Up to latest emulator container 2026-03-30 19:19:36 +02:00
Daniele Lacamera 47f58ad2f1 Moving trustzone test to, wolfboot-ci-m33mu CI to v1.0 2026-03-24 14:25:18 +01:00
Daniele Lacamera 87c1cb3709 Bump CI v0.9.5 2026-03-24 13:56:36 +01:00