summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Liu <linus.liu@intel.com>2024-11-21 22:37:48 -0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2024-12-30 16:49:59 +0000
commita2263cb2011db5c18530701a9bdb057f846f6d4f (patch)
tree9dd13d7c63f1e075ad19df2500e9b88a72686196
parent105a62d3acaf907b9a6c1a5a12eab0bb54f84cd7 (diff)
downloadedk2-a2263cb2011db5c18530701a9bdb057f846f6d4f.tar.gz
UefiPayloadpkg Add Missing part back
Add back reg attribute of pcirootbridge Signed-off-by: Linus Liu <linus.liu@intel.com>
-rw-r--r--UefiPayloadPkg/Library/BuildFdtLib/X86_BuildFdtLib.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/UefiPayloadPkg/Library/BuildFdtLib/X86_BuildFdtLib.c b/UefiPayloadPkg/Library/BuildFdtLib/X86_BuildFdtLib.c
index ddee8209b3..6b21bd35c0 100644
--- a/UefiPayloadPkg/Library/BuildFdtLib/X86_BuildFdtLib.c
+++ b/UefiPayloadPkg/Library/BuildFdtLib/X86_BuildFdtLib.c
@@ -671,6 +671,8 @@ BuildFdtForPciRootBridge (
RegTmp[1] = CpuToFdt32 (BusLimit);
DEBUG ((DEBUG_INFO, "PciRootBridge->BusNumber %x, \n", BusNumber));
DEBUG ((DEBUG_INFO, "PciRootBridge->BusLimit %x, \n", BusLimit));
+ ASSERT (PciRootBridgeInfo->RootBridge[Index].Bus.Base <= 0xFF);
+ ASSERT (PciRootBridgeInfo->RootBridge[Index].Bus.Limit <= 0xFF);
Status = FdtSetProperty (Fdt, TempNode, "bus-range", &RegTmp, sizeof (RegTmp));
ASSERT_EFI_ERROR (Status);
@@ -678,6 +680,12 @@ BuildFdtForPciRootBridge (
Data32 = CpuToFdt32 (2);
Status = FdtSetProperty (Fdt, TempNode, "#size-cells", &Data32, sizeof (UINT32));
+ Reg64Data[0] = CpuToFdt64 (PciExpressBaseAddress + LShiftU64 (PciRootBridgeInfo->RootBridge[Index].Bus.Base, 20));
+ Reg64Data[1] = CpuToFdt64 (LShiftU64 (PciRootBridgeInfo->RootBridge[Index].Bus.Limit +1, 20));
+
+ Status = FdtSetProperty (Fdt, TempNode, "reg", &Reg64Data, sizeof (Reg64Data));
+ ASSERT_EFI_ERROR (Status);
+
Data32 = CpuToFdt32 (3);
Status = FdtSetProperty (Fdt, TempNode, "#address-cells", &Data32, sizeof (UINT32));