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