mirror of https://github.com/acidanthera/audk.git
0dcd1b1b2a
InitRootBridge() in "OvmfPkg/PciHostBridgeDxe/PciHostBridge.c" passes the EFI_PCI_HOST_BRIDGE_COMBINE_MEM_PMEM allocation attribute to RootBridgeConstructor(); we should do the same here. From "MdePkg/Include/Protocol/PciHostBridgeResourceAllocation.h": /// If this bit is set, then the PCI Root Bridge does not support separate /// windows for Non-prefetchable and Prefetchable memory. A PCI bus driver /// needs to include requests for Prefetchable memory in the /// Non-prefetchable memory pool. Which implies that both the 32-bit and 64-bit prefetchable MMIO apertures should be marked empty. (The CreateRootBridge() function actually enforces this in "MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciRootBridgeIo.c".) Furthermore, since OvmfPkg/PciHostBridgeDxe does *not* set the EFI_PCI_HOST_BRIDGE_MEM64_DECODE allocation attribute: /// If this bit is set, then the PCI Root Bridge supports 64 bit memory /// windows. If this bit is not set, the PCI bus driver needs to include /// requests for 64 bit memory address in the corresponding 32 bit memory /// pool. we follow suit in the PciHostBridgeLib instance. In turn, the 64-bit MMIO apertures (both prefetchable and non-prefetchable) should be marked empty. MdeModulePkg/Bus/Pci/PciHostBridgeDxe enforces this too. (64-bit MMIO aperture support, based on yet more fw_cfg files, is a planned future improvement.) Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Marcel Apfelbaum <marcel@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> |
||
---|---|---|
AppPkg | ||
ArmPkg | ||
ArmPlatformPkg | ||
ArmVirtPkg | ||
BaseTools | ||
BeagleBoardPkg | ||
Conf | ||
CorebootModulePkg | ||
CorebootPayloadPkg | ||
CryptoPkg | ||
DuetPkg | ||
EdkCompatibilityPkg | ||
EdkShellBinPkg | ||
EdkShellPkg | ||
EmbeddedPkg | ||
EmulatorPkg | ||
FatBinPkg | ||
IntelFrameworkModulePkg | ||
IntelFrameworkPkg | ||
IntelFspPkg | ||
IntelFspWrapperPkg | ||
MdeModulePkg | ||
MdePkg | ||
NetworkPkg | ||
Nt32Pkg | ||
Omap35xxPkg | ||
OptionRomPkg | ||
OvmfPkg | ||
PcAtChipsetPkg | ||
PerformancePkg | ||
QuarkPlatformPkg | ||
QuarkSocPkg | ||
SecurityPkg | ||
ShellBinPkg | ||
ShellPkg | ||
SourceLevelDebugPkg | ||
StdLib | ||
StdLibPrivateInternalFiles | ||
UefiCpuPkg | ||
UnixPkg | ||
Vlv2DeviceRefCodePkg | ||
Vlv2TbltDevicePkg | ||
.gitignore | ||
BuildNotes2.txt | ||
Edk2Setup.bat | ||
Maintainers.txt | ||
edksetup.bat | ||
edksetup.sh |