Issue #611 has been updated by Maximilian Brune.
For EDK2 upstream the RESOURCE_ALLOCATION_TOP_DOWN option is not default on. I for example (on a recent AMD platform) have a problem in this function: https://github.com/tianocore/edk2/blob/80eaa563ec1cd2272334134d5fd35d856843fe65/UefiPayloadPkg/Library/PciHostBridgeLib/PciHostBridgeSupport.c#L208 It seems to assume all PCIe resources are continuous. And in my case they are not, because from top down the allocations are continuous, but there is a single device that has an allocation further down. And apparently that function just takes the lowest and highest resource and defines that as reserved MMIO space. I got kind of lucky because it asserts, since the ECAM address is directly between that and EDK2 notices it can reserve memory for it. Maybe you hit a similar issue, but its more obfuscated in your case? In any case we should update the UEFIPayloadPkg function (hoping nothing else in EDK2 depends on it) to not assume a continuous MMIO space. It may also work to use ALWAYS_ALLOW_ABOVE_4G_ALLOCATION=y but I didn't try that yet. ---------------------------------------- Bug #611: I2C Controllers fail to initialize under Win11 with top-down allocation on pre-FSP 2.0 platforms https://ticket.coreboot.org/issues/611#change-2151 * Author: Matt DeVillier * Status: New * Priority: Normal * Category: coreboot common code * Target version: none * Start date: 2025-10-12 * Affected versions: main ---------------------------------------- When booting Win11 using edk2 payload and top-down resource allocation (which is now the default), pre-FSP 2.0 platforms all seem to have issues with the I2C controllers failing to initialize. Windows Device Manager reports a Code 35 error: Your computer's system firmware does not include enough information to properly configure and use this device. To use this device, contact your computer manufacturer to obtain a firmware or BIOS update. Microsoft's support pages provide the following: > Full Error Message > > Your computer's system firmware does not include enough information to > properly configure and use this device. To use this device, contact your > computer manufacturer to obtain a firmware or BIOS update. (Code 35) > > Cause > > The Multiprocessor System (MPS) table, which stores the resource assignments > for the BIOS, is missing an entry for your device and must be updated. > > Recommended Resolution > > Contact the manufacturer of your computer to update the BIOS. compiling with `RESOURCE_ALLOCATION_TOP_DOWN=n` resolves the issue Tested on: google/slippy (HSW) google/auron (BSW) google/rambi (BYT) google/cyan (BSW) -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: https://ticket.coreboot.org/my/account _______________________________________________ coreboot mailing list -- [email protected] To unsubscribe send an email to [email protected]

