Please note: this is still *RFC* version, so we have not gone thru all the code in EDK2 for applying the change of PciSegmentLib definition.
v3: 1. Keep definition of Translation consistent in EDKII code: Translation = device address - host address. 2. Patch 2/2 is split into 2 patches (2/3 and 3/3). 3. Refine comments and commit messages to make the code easier to understand. v2: Changs are made according to the discussion on the mailing list, including: 1. PciRootBridgeIo->Configuration should return CPU view address, as well as PciIo->GetBarAttributes, and Translation Offset should be equal to PCI view address - CPU view address. 2. Add translation offset to PCI_ROOT_BRIDGE_APERTURE structure definition. 3. PciHostBridge driver internally used Base Address is still based on PCI view address, and translation offset = CPU view - PCI view, which follows the definition in ACPI, and not the same as that in UEFI spec. This is still RFC version, so we have not gone thru all the code in EDK2 for applying the change of PciSegmentLib definition. Cc: Ruiyu Ni <ruiyu...@intel.com> Cc: Ard Biesheuvel <ard.biesheu...@linaro.org> Cc: Star Zeng <star.z...@intel.com> Cc: Eric Dong <eric.d...@intel.com> Cc: Laszlo Ersek <ler...@redhat.com> Cc: Michael D Kinney <michael.d.kin...@intel.com> Heyi Guo (3): MdeModulePkg/PciHostBridgeDxe: Add support for address translation MdeModulePkg/PciBus: convert host address to device address MdeModulePkg/PciBus: return CPU address for GetBarAttributes MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c | 12 ++- .../Bus/Pci/PciHostBridgeDxe/PciHostBridge.c | 74 +++++++++++--- .../Bus/Pci/PciHostBridgeDxe/PciHostResource.h | 2 + .../Bus/Pci/PciHostBridgeDxe/PciRootBridgeIo.c | 112 ++++++++++++++++++--- MdeModulePkg/Include/Library/PciHostBridgeLib.h | 8 ++ 5 files changed, 177 insertions(+), 31 deletions(-) -- 2.7.4 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel