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: [email protected]
>Cc: Ni, Ruiyu <[email protected]>; Laszlo Ersek <[email protected]>; Fan, Jeff 
><[email protected]>
>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 <[email protected]>
>Cc: Laszlo Ersek <[email protected]>
>Cc: Jeff Fan <[email protected]>
>---
> 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
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to