Hi Leif,

Thanks a lot for your review. We are heading to improve the Ac01PcieLib and addressing your comments in the PciSegmentLib, by decoupling the Ac01PcieLib into hierarchical modules. Hoping it will look better to you.

Best regards,

Nhi


On 28/09/2021 17:34, Leif Lindholm wrote:
Apart from the request to break out Ac01PcieConfigRW and
Ac01PcieCfgIn/Out# I noticed a further thing.

On Wed, Sep 15, 2021 at 22:55:11 +0700, Nhi Pham wrote:
+/**
+  Get RootBridge disable status.
+
+  @param[in]  HBIndex               Index to identify of PCIE Host bridge.
+  @param[in]  RBIndex               Index to identify of underneath PCIE Root 
bridge.
+
+  @retval BOOLEAN                   Return RootBridge disable status.
+**/
+BOOLEAN
+Ac01PcieCheckRootBridgeDisabled (
+  IN UINTN HBIndex,
+  IN UINTN RBIndex
+  )
+{
+  UINTN RCIndex;
+  INT8  Ret;
+
+  RCIndex = HBIndex;
+  Ret = !RCList[RCIndex].Active;
+  if (Ret) {
+    PciList[HBIndex] = -1;
+  } else {
+    PciList[HBIndex] = HBIndex;
+  }
+  if (HBIndex == (AC01_MAX_PCIE_ROOT_COMPLEX -1)) {
+    SortPciList (PciList);
+    if (!IsSlaveSocketPresent ()) {
+      AcpiPatchPciMem32 (PciList);
+    }
+    AcpiInstallMcfg (PciList);
+    AcpiInstallIort (PciList);
Should a function named "Check if RootBridge is Disabled" really have
the undocumented side effect of going off and installing ACPI tables?

Please move that logic over to PciHostBridgeReadyToBootEvent.

With that, I think this revision is fully reviewed.

/
     Leif

+  }
+  return Ret;
+}


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#81443): https://edk2.groups.io/g/devel/message/81443
Mute This Topic: https://groups.io/mt/85631150/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to