wolfBoot/hal
Daniele Lacamera 43890cfb39 F-7978: keep LS1028A xSPI Page Programs inside a physical NOR page
xspi_flash_write() capped each chunk to XSPI_IP_BUF_SIZE (256, the NOR
page size) but not to the bytes remaining in the current physical
page, so a write starting mid-page sent one Page Program across the
page boundary. NOR wraps the write pointer to the page start, so the
excess bytes clobbered the beginning of the next page (and the
programmed data was corrupted to match).

Cap each chunk to min(len, page room left in the current page).
Aligned or page-start writes are unchanged; a mid-page start now
sends a short first program plus the remaining full pages.

The unit-ls1028a-xspi-write harness now models the NOR wrap (a
crossing program clobbers the page start it wraps into), and gains
test_write_crossing_page_no_wrap: a 256 byte write starting 16 bytes
before a boundary must not touch the first 16 bytes of the next page
(pre-fix the emulator shows the clobber and a 240+256 program).
test_write_unaligned's expectations are updated to the correct
156/256/188 chunking.

Verified: unit-ls1028a-xspi-write 5/5 green post-fix (2/5 fail
pre-fix), tools/unit-tests suite green (113 binaries).
2026-08-18 04:13:36 +02:00
..
board/zynqmp zynqmp: wolfBoot ZynqMP FSBL with signed FIT Linux boot and EL3 security (eFuse/PUF/AES-CSU) 2026-07-22 11:56:40 +02:00
boards Add DEBUG_UART build test for stm32wba. Fix stm32wba clock init 2026-07-02 08:44:45 +02:00
rtl8735b Add wolfBoot HAL port for RealTek RTL8735B (AmebaPro2) 2026-07-16 10:16:25 +02:00
spi Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
uart mc: pic32cz: better state reset before boot 2026-08-06 15:31:25 +02:00
vorago Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
zynqmp zynqmp: wolfBoot ZynqMP FSBL with signed FIT Linux boot and EL3 security (eFuse/PUF/AES-CSU) 2026-07-22 11:56:40 +02:00
aarch64_efi.c aarch64_efi: address PR818 review (measure cmdline, DTB GUID, size/page/desc fixes) 2026-08-10 21:03:50 +02:00
aarch64_efi.ld Add aarch64_efi target: wolfBoot as an AArch64 UEFI application 2026-08-10 21:03:50 +02:00
armv8m_tz.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
aurix_tc3xx.c make wolfHSM client ID parameterizable and settable via Makefiles 2026-06-16 22:03:28 -06:00
aurix_tc3xx.ld
aurix_tc3xx_hsm.ld
cc26x2.c tests: cover cc26x2 flash error propagation 2026-08-17 15:59:35 +02:00
cc26x2.ld
filesystem.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
hal.c Add wolfBoot FIT support for loading bitstream 2026-06-09 15:30:27 +02:00
hifive1.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
hifive1.ld
imx_rt.c F-6399: fix imx_rt DCACHE invalidation to include down-alignment offset 2026-07-02 15:13:28 +02:00
imx_rt.h F-6399: fix imx_rt DCACHE invalidation to include down-alignment offset 2026-07-02 15:13:28 +02:00
imx_rt.ld
imx_rt_hab.ld
kinetis.c hal: advance source index in aligned flash-write fast path 2026-07-02 17:01:08 +02:00
kinetis.ld
kinetis_kl26.c Address Copilot comments 2026-05-07 21:39:34 +02:00
kinetis_kl26.ld Kinetis KL26 port 2026-05-07 21:39:34 +02:00
kontron_vx3060_s2.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
kontron_vx3060_s2_loader.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
library.c Handle library image malloc failure 2026-04-29 11:24:44 +02:00
library_fs.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
lpc.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
lpc.ld
lpc55s69-ns.ld
lpc55s69.c Fix lingering lpc55s69 issues 2026-05-07 17:06:35 -04:00
lpc55s69.ld Use LLVM LDD with clang 2026-04-03 18:09:16 +02:00
max32666.c max32666: fix boot-time CPU and cache configuration 2026-08-13 08:41:23 +02:00
max32666.h max32666: fix boot-time CPU and cache configuration 2026-08-13 08:41:23 +02:00
max32666.ld Support for MAX32666 2026-07-31 14:33:56 +02:00
mcxa.c hal: advance source index in aligned flash-write fast path 2026-07-02 17:01:08 +02:00
mcxa.ld
mcxn-ns.ld
mcxn.c Guard mcxn UDS zeroize helper 2026-06-10 21:01:16 +02:00
mcxn.ld Use LLVM LDD with clang 2026-04-03 18:09:16 +02:00
mcxw-ns.ld
mcxw.c mcxw: extend the erase length when rounding the start down 2026-08-12 13:21:08 +02:00
mcxw.ld Use LLVM LDD with clang 2026-04-03 18:09:16 +02:00
mpfs-l2lim.yaml
mpfs.dts
mpfs.yaml
mpfs250-hss.ld
mpfs250-m.ld PolarFire SoC: LPDDR4 DDR init for MPFS250T Video Kit (M-Mode) 2026-08-03 12:27:22 +02:00
mpfs250.c PolarFire SoC: address PR review 2026-08-03 12:27:22 +02:00
mpfs250.h PolarFire SoC: LPDDR4 DDR init for MPFS250T Video Kit (M-Mode) 2026-08-03 12:27:22 +02:00
mpfs250.its
mpfs250.ld
mpfs250_ddr.c PolarFire SoC: LPDDR4 DDR init for MPFS250T Video Kit (M-Mode) 2026-08-03 12:27:22 +02:00
nrf52.c nrf52/nrf5340/stm32l0: fix the 32-bit fast path in hal_flash_write 2026-08-12 13:20:56 +02:00
nrf52.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
nrf52.ld
nrf54l-ns.ld Explicitly place .keystore 2026-04-03 19:19:13 +02:00
nrf54l.c
nrf54l.h
nrf54l.ld Use LLVM LDD with clang 2026-04-03 18:09:16 +02:00
nrf5340-ns.ld Explicitly place .keystore 2026-04-03 19:19:13 +02:00
nrf5340.c nrf52/nrf5340/stm32l0: fix the 32-bit fast path in hal_flash_write 2026-08-12 13:20:56 +02:00
nrf5340.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
nrf5340.ld Use LLVM LDD with clang 2026-04-03 18:09:16 +02:00
nrf5340_net.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
nrf5340_net.ld
nxp_lpc54s0xx.c Peer review fixes 2026-04-22 14:10:55 +02:00
nxp_lpc54s0xx.ld Rename LPC54S018M to LPC54S0XX 2026-04-22 14:10:55 +02:00
nxp_ls1028a-ocram.ld
nxp_ls1028a.c F-7978: keep LS1028A xSPI Page Programs inside a physical NOR page 2026-08-18 04:13:36 +02:00
nxp_ls1028a.h Add NXP LS1028A ENETC wolfIP support 2026-07-30 13:29:09 +02:00
nxp_ls1028a.ld Add NXP LS1028A ENETC wolfIP support 2026-07-30 13:29:09 +02:00
nxp_p1021.c F-9759: bound P1021 QE microcode offsets and length to the NAND buffer 2026-08-18 03:04:27 +02:00
nxp_p1021.ld
nxp_p1021_stage1.bin
nxp_p1021_stage1.ld
nxp_ppc.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
nxp_ppc.h Peer review fixes (thanks Copilot) 2026-06-15 06:13:28 +02:00
nxp_t10xx.c F-7052: bound the fman-memac cell-index before indexing phydevs 2026-08-18 04:05:35 +02:00
nxp_t1024.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
nxp_t1024.ld
nxp_t1024_stage1.ld
nxp_t1040.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
nxp_t1040.ld
nxp_t1040_stage1.ld
nxp_t2080.c Add NXP T2080 (+ NAII 68PPC2) wolfIP support 2026-07-30 13:29:09 +02:00
nxp_t2080.h NXP T2080 / CW VPX3-152: VxWorks 7 64-bit boot support 2026-06-15 06:13:28 +02:00
nxp_t2080.ld NXP T2080 / CW VPX3-152: VxWorks 7 64-bit boot support 2026-06-15 06:13:28 +02:00
pic32c.c 6560 - Clear PFSWAP bit in pic32_fcw_pfswap_set read-modify-write 2026-07-21 19:33:40 +02:00
pic32c.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
pic32ck.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
pic32ck.ld
pic32ck_registers.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
pic32cz.c hal: pic32cz: specify that HSM direct loading is not for production 2026-08-13 08:58:01 +02:00
pic32cz.ld
pic32cz_registers.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
psoc6.c
psoc6.ld
raspi3.c F-9760: remove the hardcoded test AES key and nonce from the raspi3 HAL 2026-08-18 03:07:26 +02:00
raspi3.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
raspi3.ld
renesas-ra.c
renesas-ra.h
renesas-rx.c watchdog: add generic feed hook and RX driver 2026-07-30 15:32:31 +02:00
renesas-rx.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
renesas-rz.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
riscv.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
rp2350-app.ld
rp2350.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
rp2350.ld Use LLVM LDD with clang 2026-04-03 18:09:16 +02:00
rtl8735b.c Add wolfBoot HAL port for RealTek RTL8735B (AmebaPro2) 2026-07-16 10:16:25 +02:00
rtl8735b.ld Add wolfBoot HAL port for RealTek RTL8735B (AmebaPro2) 2026-07-16 10:16:25 +02:00
rx65n.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
rx65n.ld renesas-rx: fix build for GCC RX 8.3/14.2 2026-07-30 15:32:31 +02:00
rx72n.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
rx72n.ld renesas-rx: fix build for GCC RX 8.3/14.2 2026-07-30 15:32:31 +02:00
s32k1xx.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
s32k1xx.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
s32k1xx.ld
sama5d3.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
sama5d3.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
sama5d3.ld Peer review fixes 2026-04-22 19:08:00 +02:00
same51.c F-5964: fix stale in-word offset in hal_flash_write byte-wise path (samr21/same51) 2026-07-02 15:57:54 +02:00
same51.ld
samr21.c F-5964: fix stale in-word offset in hal_flash_write byte-wise path (samr21/same51) 2026-07-02 15:57:54 +02:00
samr21.ld
sim.c make wolfHSM client ID parameterizable and settable via Makefiles 2026-06-16 22:03:28 -06:00
sim.ld
skeleton.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
stm32_tz.c Improve SRAM partitioning for Ethernet DMA 2026-06-03 10:54:20 +02:00
stm32c0.c F-3963: fix hal_flash_erase loop bound in stm32c0.c skipping final partial page 2026-06-11 18:16:48 +02:00
stm32c0.ld
stm32c5.c Add STM32C5 target (NUCLEO-C5A3ZG) 2026-05-06 19:02:58 +02:00
stm32c5.h Add STM32C5 target (NUCLEO-C5A3ZG) 2026-05-06 19:02:58 +02:00
stm32c5.ld Add STM32C5 target (NUCLEO-C5A3ZG) 2026-05-06 19:02:58 +02:00
stm32f1.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
stm32f1.ld
stm32f4.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
stm32f4.ld
stm32f7.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
stm32f7.ld
stm32g0.c F-3964: fix hal_flash_erase loop bound in stm32g0.c skipping final partial page 2026-06-11 18:13:30 +02:00
stm32g0.ld
stm32g4.c Peer review fixes (thanks Copilot) 2026-05-29 13:10:15 +02:00
stm32g4.h Peer review fixes (thanks Copilot) 2026-05-29 13:10:15 +02:00
stm32g4.ld Peer review fixes (thanks Copilot) 2026-05-29 13:10:15 +02:00
stm32h5-ns.ld Explicitly place .keystore 2026-04-03 19:19:13 +02:00
stm32h5.c Add wolfCOSE DICE attestation 2026-08-06 09:44:52 +02:00
stm32h5.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
stm32h5.ld Use LLVM LDD with clang 2026-04-03 18:09:16 +02:00
stm32h7.c F-5745: fix off-by-one in hal_flash_erase skipping last page when len%PAGE_SIZE!=0 2026-06-10 21:01:16 +02:00
stm32h7.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
stm32h7.ld Fix CI tests 2026-04-03 20:29:03 +02:00
stm32l0.c nrf52/nrf5340/stm32l0: fix the 32-bit fast path in hal_flash_write 2026-08-12 13:20:56 +02:00
stm32l0.ld
stm32l0_chacha_ram.ld
stm32l4.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
stm32l4.ld Added explicit discard list for clang compiler 2026-04-03 18:09:16 +02:00
stm32l4xx_hal_conf.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
stm32l5-ns.ld Explicitly place .keystore 2026-04-03 19:19:13 +02:00
stm32l5.c F-3741: zeroize digest and hash in uds_from_uid for stm32l5/stm32h5 2026-06-11 18:26:20 +02:00
stm32l5.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
stm32l5.ld Use LLVM LDD with clang 2026-04-03 18:09:16 +02:00
stm32n6.c stm32n6: propagate octospi_write_enable() failures 2026-08-17 15:59:28 +02:00
stm32n6.h Add wolfBoot port for STM32N6 (NUCLEO-N657X0-Q) 2026-05-28 16:49:57 +02:00
stm32n6.ld Add wolfBoot port for STM32N6 (NUCLEO-N657X0-Q) 2026-05-28 16:49:57 +02:00
stm32u3.c F-3962: fix hal_flash_erase loop bound in stm32u3.c skipping final partial page 2026-06-11 18:23:51 +02:00
stm32u3.h F-3962: fix hal_flash_erase loop bound in stm32u3.c skipping final partial page 2026-06-11 18:23:51 +02:00
stm32u3.ld Add wolfBoot port for STM32U3 (NUCLEO-U385RG-Q) 2026-04-27 17:00:41 +02:00
stm32u5-ns.ld Explicitly place .keystore 2026-04-03 19:19:13 +02:00
stm32u5.c Add uart driver for stm32u5 2026-07-31 16:00:14 +02:00
stm32u5.h Add uart driver for stm32u5 2026-07-31 16:00:14 +02:00
stm32u5.ld Add support for ARM Compiler for Embedded on stm32u5 2026-07-31 16:00:14 +02:00
stm32u5.sct Add support for ARM Compiler for Embedded on stm32u5 2026-07-31 16:00:14 +02:00
stm32u5_partition.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
stm32wb.c F-3966: fix hal_flash_erase loop bound in stm32wb.c skipping final partial page 2026-06-11 18:02:03 +02:00
stm32wb.ld Create STM32WB wolfHAL example. GC sections on all test apps 2026-06-10 17:12:25 +02:00
stm32wba.ld Implement port for STM32WBA. Bump wolfHAL lib to latest 2026-07-02 08:44:45 +02:00
stm32wbxx_hal_conf.h
tc3_cfg.h
ti_hercules.c F-9736: keep TI Hercules short writes inside the staging block 2026-08-18 02:54:33 +02:00
ti_hercules.ld
va416x0.c F-7051: return the hal_status_t unmodified from FRAM_Erase 2026-08-18 03:32:21 +02:00
va416x0.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
va416x0.ld
versal.c F-7982: chunk oversized unaligned RX through the temp DMA buffer in Versal qspi_transfer 2026-08-18 02:15:44 +02:00
versal.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
versal.its Add wolfBoot FIT support for loading bitstream 2026-06-09 15:30:27 +02:00
versal.ld Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
wolfhal.c Create STM32WB wolfHAL example. GC sections on all test apps 2026-06-10 17:12:25 +02:00
x86_64_efi.c F-9734: pass a UINTN to EFI_FILE_PROTOCOL.Read() in x86_64 open_kernel_image 2026-08-18 00:12:00 +02:00
x86_64_efi.ld
x86_fsp_qemu.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
x86_fsp_qemu.ld.in
x86_fsp_qemu_loader.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
x86_fsp_qemu_stage1.ld.in
x86_fsp_tgl.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
x86_fsp_tgl.ld.in
x86_fsp_tgl_stage1.ld.in
x86_uart.c Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
zynq.c F-7980: reset the command index per sector in Zynq ext_flash_erase 2026-08-18 01:50:23 +02:00
zynq.h zynq: add optional ZynqMP PHY init over GEM MDIO 2026-07-30 15:26:01 +02:00
zynq.ld ZynqMP: revert WOLFBOOT_ORIGIN to 0x8000000 2026-04-28 14:55:06 +02:00
zynq7000.c Authenticate raw device tree via signed HDR_DEVICE_TREE_DIGEST TLV (Fenrir #7998) 2026-08-13 08:39:22 +02:00
zynq7000.h Add wolfBoot FIT support for loading bitstream 2026-06-09 15:30:27 +02:00
zynq7000.ld Add Xilinx Zynq-7000 (ZC702) wolfBoot port 2026-05-12 12:06:05 +02:00
zynqmp_atf.c zynqmp: wolfBoot ZynqMP FSBL with signed FIT Linux boot and EL3 security (eFuse/PUF/AES-CSU) 2026-07-22 11:56:40 +02:00
zynqmp_atf.h zynqmp: wolfBoot ZynqMP FSBL with signed FIT Linux boot and EL3 security (eFuse/PUF/AES-CSU) 2026-07-22 11:56:40 +02:00
zynqmp_fsbl.its zynqmp: wolfBoot ZynqMP FSBL with signed FIT Linux boot and EL3 security (eFuse/PUF/AES-CSU) 2026-07-22 11:56:40 +02:00
zynqmp_ocm.ld zynqmp: wolfBoot ZynqMP FSBL with signed FIT Linux boot and EL3 security (eFuse/PUF/AES-CSU) 2026-07-22 11:56:40 +02:00
zynqmp_psu_shim.c zynqmp: wolfBoot ZynqMP FSBL with signed FIT Linux boot and EL3 security (eFuse/PUF/AES-CSU) 2026-07-22 11:56:40 +02:00