[edk2] [RFC v2 0/2] Add translation support to generic PCIHostBridge

Heyi Guo posted 2 patches 6 years, 1 month ago
Failed in applying to current master (apply log)
MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c             |   9 +-
.../Bus/Pci/PciHostBridgeDxe/PciHostBridge.c       |  57 ++++++++----
.../Bus/Pci/PciHostBridgeDxe/PciRootBridgeIo.c     | 101 ++++++++++++++++++---
MdeModulePkg/Include/Library/PciHostBridgeLib.h    |   1 +
4 files changed, 138 insertions(+), 30 deletions(-)
[edk2] [RFC v2 0/2] Add translation support to generic PCIHostBridge
Posted by Heyi Guo 6 years, 1 month ago
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.ni@intel.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>


Heyi Guo (2):
  MdeModulePkg/PciHostBridgeDxe: Add support for address translation
  MdeModulePkg/PciBus: return CPU address for GetBarAttributes

 MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c             |   9 +-
 .../Bus/Pci/PciHostBridgeDxe/PciHostBridge.c       |  57 ++++++++----
 .../Bus/Pci/PciHostBridgeDxe/PciRootBridgeIo.c     | 101 ++++++++++++++++++---
 MdeModulePkg/Include/Library/PciHostBridgeLib.h    |   1 +
 4 files changed, 138 insertions(+), 30 deletions(-)

-- 
2.7.4

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [RFC v2 0/2] Add translation support to generic PCIHostBridge
Posted by Laszlo Ersek 6 years, 1 month ago
On 02/22/18 07:54, Heyi Guo wrote:
> 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.

> 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.

I find these opposite interpretations incredibly confusing. My review
for v2 1/2, point (1) namely, is likely wrong because of this.

This information absolutely needs to go into the commit message of patch
#1, and also into the code as comments.

Thanks
Laszlo
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [RFC v2 0/2] Add translation support to generic PCIHostBridge
Posted by Guo Heyi 6 years, 1 month ago
Thanks Ray and Laszlo; I think I'd better refine comments and commit message
first, or it is rather confusing for review.

I'll send v3 ASAP.

Regards,
Gary

On Thu, Feb 22, 2018 at 11:06:13AM +0100, Laszlo Ersek wrote:
> On 02/22/18 07:54, Heyi Guo wrote:
> > 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.
> 
> > 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.
> 
> I find these opposite interpretations incredibly confusing. My review
> for v2 1/2, point (1) namely, is likely wrong because of this.
> 
> This information absolutely needs to go into the commit message of patch
> #1, and also into the code as comments.
> 
> Thanks
> Laszlo
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel