mirror of
https://github.com/tianocore/edk2
synced 2026-08-27 00:23:19 -04:00
When UpdatePciInfo() downgrades a PciBarTypePMem64 BAR to a 32-bit type via EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL, it unconditionally assigns PciBarTypePMem32 regardless of SpecificFlag, placing the BAR in the prefetchable bridge window even when the platform intended the non-prefetchable window. The ACPI resource descriptor's SpecificFlag field encodes the intended prefetchability of the constrained resource, using the bit: EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_PREFETCHABLE. Fix this by checking the bit in SpecificFlag to select PciBarTypePMem32 or PciBarTypeMem32, consistent with DumpPpbPaddingResource() in PciEnumeratorSupport.c that uses the bit as the sole discriminator between the two 32-bit BAR types. Signed-off-by: Phil Noh <Phil.Noh@amd.com> |
||
|---|---|---|
| .. | ||
| Application | ||
| Bus | ||
| Core | ||
| Include | ||
| Library | ||
| Logo | ||
| Test | ||
| Universal | ||
| MdeModulePkg.ci.yaml | ||
| MdeModulePkg.dec | ||
| MdeModulePkg.dsc | ||
| MdeModulePkg.uni | ||
| MdeModulePkgExtra.uni | ||