Commit Graph

209 Commits (386a172587eded206afa4d280e34cbde6e4ea061)

Author SHA1 Message Date
Daniele Lacamera 386a172587 Fix regressions detected by github workflows 2025-04-07 17:10:37 +02:00
Daniele Lacamera e7cd340ebf Moved elf parsing/scattering to elf.c, WIP sim 2025-04-03 17:12:42 +02:00
David Garske d13f3260ab Documentation cleanups. Renamed zynqmp CSU `PKA` to `HW_SHA3`. Disabled CSU PUF code, since it is only supported with eFuses (it cannot be used adhoc). 2025-03-26 09:14:57 +01:00
David Garske 851130293c Added Xilinx UltraScale+ MPSoC CSU Support CSU support.
Enabled support for offloading SHA3 hashing to CSU hardware using PKA=1.
Added support for enabling JTAG at runtime if CSU_DEBUG is set. Requires patching PMUFW to enable register access. See: https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/2587197506/Zynq+UltraScale+MPSoC+JTAG+Enable+in+U-Boot
2025-03-26 09:14:57 +01:00
Patrik Dahlström 523051331e Add STM32F103 (Blue Pill) support
The Blue Pill board is typically fitted with a STM32F103C8T6, but
reports online seem to indicate that it sometimes can come with its
bigger sibling the STM32F103C8TB as is the case with my board.

This patch adds support for all low- to medium-density STM32F103
devices. All of these devices have their flash divided in 1 KB pages, up
to 128 KB. The high-density and connectivity line of devices, sometimes
called XL devices, use 2 KB pages and are not supported.

Similar to the STM32F4 support, the code will spin up the PLL for
maximum speed during init and turn it off just before booting the
application. the maxium speed is 72 MHz.

Signed-off-by: Patrik Dahlström <risca@dalakolonin.se>
2025-02-21 18:41:04 +01:00
Daniele Lacamera f4d1c02730 Fixed flash driver, added documentation, tested 2025-02-18 14:43:47 +01:00
Daniele Lacamera 354df34b6c Added build test. Updated mcxa + mcxw to mcux-sdk 2025-02-18 14:43:37 +01:00
Daniele Lacamera 4d1bf5df28 Draft support for MCX W71 2025-02-18 14:42:39 +01:00
Daniele Lacamera 6681e54a6a Working TZ supervisor 2025-01-27 10:29:28 +01:00
Daniele Lacamera 359c59fa47 Added IDE/pico-sdk dir to build wolfboot+blink app 2025-01-24 13:06:36 +01:00
Daniele Lacamera 10ddb3e847 arch.mk: rp2350 2025-01-24 13:06:08 +01:00
David Garske 1468a9204e Force `WOLFSSL_AARCH64_PRIVILEGE_MODE` for AARCH64 to resolve cpuid.c issues. 2025-01-02 16:03:07 -08:00
David Garske d9b9388188 Fix for new armasm support of cpuid. 2025-01-02 15:16:48 -08:00
David Garske acb9d832eb Fixes for Xilinx Zynq UltraScale+ MPSoC:
* Fixes to support wolfBoot native make and gcc-arm cross compiler. ZD 18159
* Adjust wolfBoot linker script to not use 0 base, instead use end of DDR - 1MB.
* Fixed QSPI bare-metal driver for multi-sector and read return code.
* Fixed issue with Xilinx XMSS IMAGE_HEADER_SIZE in documentation. It should be 5000 bytes.
* Performance optimizations for QSPI:
  - Allow configuration of SPI clock.
  - Improve GSPI FIFO TX/RX fill.
* Added support for FAST_MEMCPY that supports an aligned 32-bit.
* Added Flattened uImage Tree (FIT) image (FDT format).
* Added Aarch64 support for FDT fixups.
* Added Aarch64 startup to support EL2 with cache/MMU.
* Added documentation about exception levels
* Moved zynqmp registers to header.
* Fix printf uart_writenum "buf" len.
* Updated fdt-parser to support saving off larger data images.
2024-12-30 15:36:43 +01:00
Marco Oliverio 834a712350 fsp: move TempRamInitExit and later APIs in stage2
To avoid using Flash memory after TempRamInitExit. This protects against
malicious modification/injection of the flash after Cache-As-RAM is
disabled.
2024-12-19 20:12:16 +01:00
Marco Oliverio dab560549a fsp: refactor out common fsp routines 2024-12-19 20:12:16 +01:00
Marco Oliverio 6358153372 x86: add support for gdt table in C 2024-12-19 20:12:16 +01:00
David Garske 06bbed4280 Peer review feedback. 2024-12-02 19:41:26 +01:00
David Garske 6e39fd1b63 Fix build for ZCU102. Fix ARM ASM defaults. 2024-12-02 19:41:26 +01:00
David Garske 7500ae9526 Fix arch.mk aarch64 and ASM. 2024-12-02 19:41:26 +01:00
David Garske 467bfc7770 Cleanup arch.mk. 2024-12-02 19:41:26 +01:00
David Garske d007c9af08 Initial support for NXP LS1028A. Booting into OCRAM app. Updates to ARMv8 startup. 2024-12-02 19:41:26 +01:00
Brett Nicholas 78e4275f99 Initial wolfHSM support for simulator and AURIX TC3xx 2024-11-13 09:52:49 +01:00
David Garske aec2809212 Cleanups after hybrid signing PR. 2024-10-31 11:23:52 +01:00
Daniele Lacamera 195f479920 Remove extra LDFLAGS when building simulator 2024-10-30 15:54:43 +01:00
Daniele Lacamera 1d7744d2e1 guarded gcc-specific LDFLAGS in sim build 2024-10-30 13:48:46 +01:00
Daniele Lacamera dbf32e615e WOLFBOOT_USE_STDLIBC gated behind USE_GCC 2024-10-30 13:17:09 +01:00
Daniele Lacamera cc447ea879 Support for hybrid authentication (2 ciphers) 2024-10-30 13:17:06 +01:00
Daniele Lacamera da5d10d41e Cortex-M: remove ARMASM_INLINE 2024-10-30 12:35:02 +01:00
Daniele Lacamera 0aa90902ee ARMv7-M, ARMv8-M using Thumb2 version of ARMASM 2024-10-30 12:18:22 +01:00
Daniele Lacamera 0b82680b7c Fix tabs vs. space in .mk files 2024-10-25 09:10:41 +02:00
Daniele Lacamera 72a0aa3853 Added Benchmark script. Added ARMASM support. 2024-10-24 21:20:09 +02:00
Daniele Lacamera 07bdae680a ARMASM. Macros for clocks+gpios. Set MAC pins. 2024-10-14 10:14:48 +02:00
David Garske 6db7de6a75 Support for the Nordic nRF5340 (application and network cores):
* Added nRF5340 driver support for Clock, Internal Flash (NVMC), GPIO, SPU, OTP, UART, SPI, QSPI and IPC.
* Added support for updating the network core (Sign using "--id 2")
* Cleanup the nRF52 port
* Improved external QSPI and internal Flash tests and logging.
* Improved internal printf support for formatter length.
2024-10-11 10:29:59 +02:00
Daniele Lacamera 76920599b3 [SAMA5D3] Added test-app, moved to SP_ASM 2024-09-30 14:06:17 +02:00
Daniele Lacamera 888d538760 [SAMA5D3] Nand flash driver 2024-09-30 14:06:17 +02:00
Daniele Lacamera bbd4e2b1c3 [SAMA5D3] Stub for test application 2024-09-30 14:06:06 +02:00
Daniele Lacamera 4cbfdf8cf1 [SAMA5D3] Port for 32bit Cortex-A 2024-09-30 14:05:50 +02:00
David Garske 9e17315d49 Fixes for building wolfBoot with XMSS/LMS. 2024-08-14 18:06:12 +02:00
David Garske 8a7f5e5baa Refactor to eliminate PLATFORM_ -> TARGET_. Fix CI errors. 2024-08-14 18:06:12 +02:00
David Garske 3687851f75 Xilinx zynqmp documentation cleanups. Fixes for building with Eclipse wildcard .c include pains. 2024-08-14 18:06:12 +02:00
Daniele Lacamera 30a1f67e43
Added 32bit simulator via TARGET=sim FORCE_32BIT=1 (#485)
* Added 32bit simulator via TARGET=sim FORCE_32BIT=1

Tests can now run on 32bit simulator (e.g. to match XMALLOC fixed
sizes with sp_math and WOLFBOOT_SMALL_STACK).

* Added draft for new workflow: test simulator with different memory config

* Fix 64bit, SMALL_STACK xmalloc sizes

* Test defaults to SPMATH

* Fixed test: defaults to spmath. Added RSA tests (failing)

* Fixed RSA allocation sizes for 64bit build

* Added 64bit fastmath test (failing)

* Fixed ecc_point size for 64bit builds (FASTMATH)

* simulator config: use SPMATH by default

* Attempt to fix i386 libc dep in workflow

* Added HUGE_STACK to silence warning in FASTMATH+RSA4096 tests
2024-08-09 06:46:15 -07:00
Daniel Fedai Larsen ca09a1ab99 Add HAB support irrespective of MCUSDK setting for imx_rt target 2024-07-29 07:53:22 +02:00
David Garske 3f3a3ec47a Fix for Renesas RX hal_flash_write where length is < 128. 2024-07-25 06:17:38 +02:00
Daniele Lacamera e081d74623 Moving target-specific options to arch.mk 2024-07-22 08:33:52 +02:00
David Garske 3444c47fdb * Added support for RX65N and RX72N with native Makefile and RX ELF GCC compiler.
* Added initialization of the clocks and UART driver.
   - wolfBoot uses on chip high speed oscillator (HOCO) at (120MHz RX65N and 240Mhz for RX72N).
* Added RX RSPI and QSPI driver support with external SPI flash
* Improve documentation and fix spelling errors.
* Added .srec (s-record) format support
* Added RX TSIP support for ECDSA (requires https://github.com/wolfSSL/wolfssl/pull/7685).
* Allow custom implementation of `get_trailer_at`, `set_trailer_at` and `set_partition_magic` using `CUSTOM_PARTITION_TRAILER`
2024-07-17 06:08:31 +02:00
David Garske 83359a2b1e Added RT1062 EVKB support and tested on real hardware. Updated documentation. 2024-07-03 14:58:04 -07:00
David Garske de9a3cd0bf Fix with PKA=1 were fsl_cache is added twice. 2024-07-03 14:52:16 -07:00
Daniel Fedai Larsen 9526fbb680 Fix compile error and clean up 2024-07-03 07:33:31 +02:00
Daniel Pouzzner 441200f469 fix: support DEBUG=0 build
* build lib/wolfssl/wolfcrypt/src/logging.o unconditionally,
* gate debug printing in do_tpm_selftest() appropriately,
* initialize top_address in src/boot_x86_fsp.c:start() to fix -Wmaybe-uninitialized,
* and add __attribute__((used)) to static src/x86/exceptions.c:common_exception_handler() and _timer_handler() implementations to accommodate asm-only calling;
* fix parallel make: add dependency of stage1/loader_stage1.bin on wolfboot.elf.
* add -ffreestanding -static flags to avoid gcc compiler optimize strings functions

Co-authored-by: Daniel Pouzzner <douzzer@wolfssl.com>
2024-06-19 09:47:06 +02:00