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]

Reply via email to