Skip to content

PciHostBridgeLib: Set ResourceAssigned when bus enumeration is disabled#81

Merged
chris-oo merged 1 commit into
microsoft:mainfrom
jstarks:fix_light
Jun 3, 2026
Merged

PciHostBridgeLib: Set ResourceAssigned when bus enumeration is disabled#81
chris-oo merged 1 commit into
microsoft:mainfrom
jstarks:fix_light

Conversation

@jstarks

@jstarks jstarks commented Jun 3, 2026

Copy link
Copy Markdown
Member

Missed a fix in #78--we need to set ResourceAssigned to TRUE so that the bridge is successfully enumerated. Without this, you cannot boot from PCIe when the VMM pre-assigns resources.

When PcdPciDisableBusEnumeration is TRUE, PciBusDxe uses
PciEnumeratorLight which requires pre-assigned resources. With
ResourceAssigned hardcoded to FALSE, CreateRootBridge sets
ResAllocNode[TypeBus].Status to ResNone, so PciRootBridgeIo
Configuration never emits the bus descriptor. PciGetBusRange returns
EFI_NOT_FOUND and no PCIe devices are discovered.

Set ResourceAssigned = PcdGetBool(PcdPciDisableBusEnumeration) so that
when bus enumeration is disabled, all valid apertures are marked
ResAllocated and Configuration emits them correctly.
@chris-oo chris-oo merged commit c2b25ea into microsoft:main Jun 3, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants