Re-forward to Laszlo using the correct mail address.

Regards,
Ray

>-----Original Message-----
>From: Ni, Ruiyu
>Sent: Monday, May 9, 2016 2:27 PM
>To: edk2-devel@lists.01.org
>Cc: Ni, Ruiyu <ruiyu...@intel.com>; Laszlo Ersek <ler...@intel.com>; Fan, Jeff 
><jeff....@intel.com>
>Subject: [Patch 4/6] MdeModulePkg/PciHostBridgeLib: Add ResourceAssigned field
>
>Some platform doesn't require PciBus driver to assign resource
>to PCI devices which causes PciRootBridgeIo.Configuration() cannot
>return correct resource information to caller.
>
>When resource assignment by PciBus is not mandatory, only light
>version of PCI bus enumeration is performed, which only collects
>the device resource consumption and publishes the PciIo instance.
>The corresponding logic is in PciEnumeratorLight() in PciBus driver.
>
>But PciEnumeratorLight() still depends on
>PciRootBridgeIo.Configuration() returns the starting bus number in
>order to search down to find all PCI devices under the root bridge.
>
>When ResourceAssigned in PCI_ROOT_BRIDGE returned by
>PciHostBridgeGetRootBridges() is TRUE, PciHostBridge driver treats
>the Bus/Io/Mem/MemAbove4G/PMem/PMemAbove4G as the resource that are
>*actually assigned* to the root bridge, instead of the resource that
>*can be assigned* to the root bridge.
>So that PciRootBridgeIo.Configuration() can return the correct
>information.
>
>Contributed-under: TianoCore Contribution Agreement 1.0
>Signed-off-by: Ruiyu Ni <ruiyu...@intel.com>
>Cc: Laszlo Ersek <ler...@intel.com>
>Cc: Jeff Fan <jeff....@intel.com>
>---
> MdeModulePkg/Include/Library/PciHostBridgeLib.h | 2 ++
> 1 file changed, 2 insertions(+)
>
>diff --git a/MdeModulePkg/Include/Library/PciHostBridgeLib.h 
>b/MdeModulePkg/Include/Library/PciHostBridgeLib.h
>index eb45cfd..7ef5dd1 100644
>--- a/MdeModulePkg/Include/Library/PciHostBridgeLib.h
>+++ b/MdeModulePkg/Include/Library/PciHostBridgeLib.h
>@@ -38,6 +38,8 @@ typedef struct {
>                                                   ///< Extended (4096-byte) 
> Configuration Space.
>                                                   ///< When TRUE, the root 
> bridge supports
>                                                   ///< 256-byte Configuration 
> Space only.
>+  BOOLEAN                  ResourceAssigned;      ///< Resource assignment 
>status of the root bridge.
>+                                                  ///< Set to TRUE when 
>Bus/IO/MMIO resources for root
>bridge are assigned.
>   UINT64                   AllocationAttributes;  ///< Allocation attributes.
>                                                   ///< Refer to
>EFI_PCI_HOST_BRIDGE_COMBINE_MEM_PMEM and
>                                                   ///< 
> EFI_PCI_HOST_BRIDGE_MEM64_DECODE used by
>GetAllocAttributes()
>--
>2.7.0.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to