wolfBoot/include
Daniele Lacamera 2fdc99f323 pci: keep the allocation cursors 64-bit at the 4 GiB pool end
The cursors mem, mem_pf and io advanced as 32-bit values: after a
BAR allocation whose end is exactly the pool end 0x100000000 (now
reachable), *base = bar_value + length wrapped to 0.  Every later
allocation then passed the start and end checks and programmed its
BAR at address 0, over the legacy IO range and DRAM.

Widen the three cursors to 64-bit and advance with a 64-bit sum, so
an exhausted pool leaves the cursor at the end.  The address
parameters of pci_enum_next_aligned32 and pci_align_check_up widen
with them; pci_enum_next_aligned32 computes in uint64_t rather than
uintptr_t, which on 32-bit targets would truncate the exhausted
cursor back to 0 and defeat the addr > 0xffffffff rejection.  The
programmed BAR value stays 32-bit.

The 4 GiB pool unit test now also adds a second device with a
preset (previously programmed) BAR: exactly filling the pool must
leave that BAR untouched instead of re-allocating it from a wrapped
cursor.  The mock learns to seed a BAR preset from the bar info,
and the loop variable shadowing in test_pci_commit that it exposed
is fixed (the inner preset loop clobbered the outer node loop
counter, so only the first node was ever committed).

Verified: unit-pci 30/30, unit-pci-4gib green, full nxp_t1024
powerpc build green.
2026-08-26 20:05:56 +02:00
..
MPLAB Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
wolfboot c2000: add wolfBoot TI C28x (TMS320F28P550SJ) secure-boot XIP port 2026-08-25 00:01:33 +02:00
x86 F-4647: bound strlen to ATA_SECURITY_PASSWORD_LEN in passphrase path 2026-06-10 21:01:17 +02:00
c2000_stdint.h c2000: add wolfBoot TI C28x (TMS320F28P550SJ) secure-boot XIP port 2026-08-25 00:01:33 +02:00
ddr_cadence.h PolarFire SoC: LPDDR4 DDR init for MPFS250T Video Kit (M-Mode) 2026-08-03 12:27:22 +02:00
delta.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
disk.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
elf.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
encrypt.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
fdt.h share the DTS size bounds in fdt.h and state the window assumption 2026-08-21 09:08:26 +02:00
gpt.h F-4715: bound GPT partition-entry array size before CRC scan in disk_open 2026-06-10 21:01:16 +02:00
gzip.h Fixes from peer review (Thank you Daniele and Marco) 2026-05-05 10:16:16 +02:00
hal.h Peer review fixes (thanks Jack) 2026-08-24 12:47:34 +02:00
hal_fpga.h Add wolfBoot FIT support for loading bitstream 2026-06-09 15:30:27 +02:00
hooks.h address review feedback 2026-03-05 10:14:04 +01:00
image.h Authenticate raw device tree via signed HDR_DEVICE_TREE_DIGEST TLV (Fenrir #7998) 2026-08-13 08:39:22 +02:00
keystore.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
loader.h PolarFire SoC: LPDDR4 DDR init for MPFS250T Video Kit (M-Mode) 2026-08-03 12:27:22 +02:00
multiboot.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
otp_keystore.h Fix initialization of string in otp_keystore tag (fix build error) 2026-05-06 10:22:59 +02:00
pci.h pci: keep the allocation cursors 64-bit at the 4 GiB pool end 2026-08-26 20:05:56 +02:00
printf.h renesas-rx: fix build for GCC RX 8.3/14.2 2026-07-30 15:32:31 +02:00
sdhci.h tegra234: bare-metal BL33 target with verified EL2->EL1 + device-tree boot 2026-08-18 11:01:45 +02:00
spi_drv.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
spi_flash.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
stage2_params.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
target.h.in add asymmetric partition sizing for monolithic updates 2026-08-19 17:47:48 +02:00
tpm.h tpm: rename masterPassword param to authOverride 2026-06-18 11:06:18 +02:00
uart_drv.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
uart_flash.h Preparing release v2.8.0 + update copyright 2026-04-16 13:11:56 +02:00
ubootenv.h Peer review fixes (thanks Daniele) 2026-08-24 12:47:34 +02:00
user_settings.h c2000: add wolfBoot TI C28x (TMS320F28P550SJ) secure-boot XIP port 2026-08-25 00:01:33 +02:00
wolfboot_efi.h aarch64_efi: address PR818 review (measure cmdline, DTB GUID, size/page/desc fixes) 2026-08-10 21:03:50 +02:00
wolfboot_smc.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