mbox series

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

Message ID 1519282474-94811-1-git-send-email-heyi.guo@linaro.org
Headers show
Series Add translation support to generic PCIHostBridge | expand

Message

gary guo Feb. 22, 2018, 6:54 a.m. UTC
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

Comments

Laszlo Ersek Feb. 22, 2018, 10:06 a.m. UTC | #1
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
gary guo Feb. 22, 2018, 10:32 a.m. UTC | #2
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