Commit Graph

4068 Commits (97a87d36558df8acc61ba06b8d417ad24b488acb)

Author SHA1 Message Date
Daniele Lacamera 97a87d3655 Custom trailer: record the rollback direction in the UPDATE state 2026-10-28 14:35:31 +01:00
Daniele Lacamera 1b9cb03aba Make the custom-trailer final step power-fail safe 2026-10-28 14:35:31 +01:00
Daniele Lacamera 28ce9e63f5 cmake: CUSTOM_PARTITION_TRAILER option, fix stm32f4 layouts 2026-10-28 14:35:31 +01:00
Daniele Lacamera 2555311331 CI: Renode test of the custom partition trailer on the Black Pill 2026-10-28 14:35:31 +01:00
Daniele Lacamera 76a8b2b3ea Refuse partitions too small for the trailer, add STM32F4 custom trailer (#937) 2026-10-28 14:35:31 +01:00
Daniel Pouzzner ae804ad0c3 src/xmalloc.c: size the SHA slots by wolfSSL's transform-scratch constants
wolfSSL's SHA-256 C transform now takes a caller-owned scratch struct
(message schedule plus working variables) allocated once per
Update/Final call under WOLFSSL_SMALL_STACK, sized
WC_SHA256_TSCRATCH_SIZE (288 bytes) rather than one 256-byte block of
schedule per transform.  The static sha_block slot, pinned at
HASH_BLOCK_SIZE words, no longer fits the request, so XMALLOC() returns
NULL and image hashing fails with MEMORY_E (observed as
"Failure -1: Hdr 1, Hash 0, Sig 0" in the library smoke test).

Size sha_block by WC_SHA256_TSCRATCH_SIZE when the included wolfSSL
defines it, falling back to the historical HASH_BLOCK_SIZE words for
older wolfSSL and FIPS bundles that predate the constant; gate the
ED25519 pool's sha512_block on WC_SHA512_TSCRATCH_SIZE the same way
(same value today), including sha512.h for ED25519 builds, since the
hash-selection chain otherwise pulls in only the image hash's header
and would leave the constant invisible.  Every slot entry now advertises sizeof() of its
backing array, so a slot can never claim more than its storage.
SHA-384 and SHA3-384 slots keep the fallback sizing unchanged.
2026-10-28 10:24:49 +01:00
Mattia Moffa 3bd9770cb7
Merge pull request #916 from dgarske/mpfs250_hss_replace
Add M-mode wolfBoot for PolarFire SoC MPFS250TS as an HSS replacement
2026-10-28 01:30:56 +01:00
David Garske 4cedb7126a PolarFire SoC: drive the Athena F5200 through the wolfCrypt port 2026-10-27 16:06:05 -07:00
David Garske ffb65a9a29 Update wolfSSL submodule for the Microchip Athena wolfCrypt port 2026-10-27 16:06:05 -07:00
David Garske 991ae7a1a5 PolarFire SoC: compact the inline comments in the M-mode HAL and SBI runtime 2026-10-27 16:06:05 -07:00
David Garske d5dd2b3cce PolarFire SoC: pin mpfs_bootmode2.sh to the Embedded FP6 programmer 2026-10-27 16:06:05 -07:00
David Garske 63659096af PolarFire SoC: add CI build jobs for the L2-LIM and UART-programmer configs 2026-10-27 16:06:05 -07:00
David Garske 3b5bc1f064 PolarFire SoC: skip a watchdog refresh inside the forbidden window 2026-10-27 16:06:05 -07:00
David Garske 682d0b982b PolarFire SoC: make the Athena hash offload selectable with MPFS_ATHENA_SHA 2026-10-27 16:06:05 -07:00
David Garske 48ed223ced PolarFire SoC: drop development narrative from the DDR and SEG comments 2026-10-27 16:06:05 -07:00
David Garske 8935bb2896 boot_riscv: replace a non-ASCII dash in a comment 2026-10-27 16:06:05 -07:00
David Garske 9e623295cd PolarFire SoC: pin the L2 scratchpad before any hart stores into it 2026-10-27 16:06:05 -07:00
David Garske ac5d2fe4a0 sdhci: service the watchdog and re-arm the timeout in the SDMA data phase 2026-10-27 16:06:05 -07:00
David Garske 47e8f57dcb PolarFire SoC: correct the FIT staging address rationale in the M-mode config 2026-10-27 16:06:05 -07:00
David Garske 58ba1038ec PolarFire SoC: correct the MSS watchdog and reset-cause register semantics 2026-10-27 16:06:05 -07:00
David Garske c0455c7871 PolarFire SoC: factor out repeated HAL code and drop unused definitions 2026-10-27 16:06:05 -07:00
David Garske da26b3fa5a PolarFire SoC: read-only sNVM page survey behind MPFS_SNVM_DUMP 2026-10-27 16:06:05 -07:00
David Garske 84e4e16328 PolarFire SoC: consolidate the documentation into docs/PolarFire.md with a quick start 2026-10-27 16:06:05 -07:00
David Garske e5badf5ae5 PolarFire SoC: QSPI clock divider knob and word-mode FIFO reads 2026-10-27 16:06:05 -07:00
David Garske 14a9081f3c PolarFire SoC: watchdog hand-off to the OS 2026-10-27 16:06:05 -07:00
David Garske b4e2436040 PolarFire SoC: boot mode 2 User Boot Loader stub verifying the eNVM wolfBoot 2026-10-27 16:06:05 -07:00
David Garske e10b343500 PolarFire SoC: SBI vendor extension for the OS: PUF keys, System Controller services and flash access 2026-10-27 16:06:05 -07:00
David Garske 4f0948e11d PolarFire SoC: a FIT ramdisk that must load, and failover actions before the golden boot 2026-10-27 16:06:05 -07:00
David Garske 6778bf3bb2 PolarFire SoC: read DDR once after init so CPU writes land, drop the workarounds 2026-10-27 16:06:05 -07:00
David Garske a91c824e45 PolarFire SoC: sNVM/PUF key storage and disk image encryption 2026-10-27 16:06:04 -07:00
David Garske 5b302862e9 PolarFire SoC: SHA-384 and AES-256-CTR offload to the Athena F5200 2026-10-27 16:06:04 -07:00
David Garske 0e2e7e7e31 PolarFire SoC: M-mode scratchpad, DDR training, SBI and CI fixes 2026-10-27 16:06:04 -07:00
David Garske 63164e4116
Merge pull request #954 from mattia-moffa/20261027-fix-mcuxpresso-ci
Remove executorch from MCUXpresso manifests in NXP CI
2026-10-27 15:48:15 -07:00
Mattia Moffa a81d96aad1 Remove executorch from MCUXpresso manifests
This avoids cloning from GitLab and depending on it accepting clones.
2026-10-27 23:21:01 +01:00
Brett Nicholas 213d7d75ce bounds-check journal sector flags, test ECC self-update, fix doc typos 2026-10-27 16:46:40 +01:00
Brett Nicholas 8e705ae048 dont erase journal if marker write fails 2026-10-27 16:46:40 +01:00
Brett Nicholas 258c640459 Add journal marker sector to better detect cut erase 2026-10-27 16:46:40 +01:00
Brett Nicholas 9bf14d722a rename for clarity 2026-10-27 16:46:40 +01:00
Brett Nicholas 8b9fd4ca59 Update docs and comment cleanup 2026-10-27 16:46:40 +01:00
Brett Nicholas 1f6d07227d add ELF_FLASH_SCATTER_PRESERVE_SECTORS and associated tests 2026-10-27 16:46:40 +01:00
Brett Nicholas 41fbe4b326 Improve support for ECC flash parts:
- Add NVM ECC mode, which introduces a new erase check HAL API to use
   flash controller HW to blank check sectors instead of reading them
   and comparing to an erased byte (which typically triggers an ECC
   fault)
 - Add NVM Journal mode as an alternative to NVM_FLASH_WRITE_ONCE that
   does not require a sector-size RAM buffer and dramatically reduces
   the number of erases and programs required to set individual flags,
   while also being much more robust to power-cuts.
2026-10-27 16:46:40 +01:00
David Garske b555895193
Merge pull request #948 from aidangarske/mcxn-secure-app
Add an MCXN947 secure application handoff config
2026-10-26 16:07:49 -07:00
David Garske 2ab656528a zynqmp: report the PUF control fuses and correct the regeneration API 2026-10-26 19:59:53 +01:00
Aidan Garske 051a2a47ac
Merge pull request #787 from twcook86/lpc55s69_hwpuf
Support for PUF in LPC55S69
2026-10-26 08:28:51 -07:00
Marco Oliverio b240ee7aaa
Merge pull request #933 from dgarske/nai_68int6
Add wolfBoot target for the NAI 68INT6 (Intel Tiger Lake UP3) OpenVPX SBC
2026-10-26 10:04:12 +01:00
Zackery 8685a5a28c
Merge pull request #946 from dgarske/pl011_uart_rx
Add a non-blocking uart_rx() to the PL011 consoles
2026-10-23 15:55:28 -06:00
Zackery ea874f8803
Merge pull request #920 from dgarske/versal_fit_noload
Boot a FIT with no kernel load/entry and no device tree
2026-10-23 15:55:06 -06:00
David Garske d490e36d2e fdt: boot a FIT with no kernel load/entry and no device tree 2026-10-23 11:49:49 -07:00
David Garske 8d34051e6e uart: add a non-blocking uart_rx() to the PL011 consoles 2026-10-23 11:48:36 -07:00
Thomas Cook 28d717103a address pr comments 2026-10-23 13:53:08 -04:00