]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiPayloadPkg/BlSupportDxe/BlSupportDxe.c
UefiPayloadPkg: Apply uncrustify changes
[mirror_edk2.git] / UefiPayloadPkg / BlSupportDxe / BlSupportDxe.c
index 28dfc8fc5545c8754c8a334a325549bc25f2df05..2e70c4533c21582671638f0ba5faae5311049b84 100644 (file)
@@ -2,7 +2,7 @@
   This driver will report some MMIO/IO resources to dxe core, extract smbios and acpi\r
   tables from bootloader.\r
 \r
-  Copyright (c) 2014 - 2019, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2014 - 2021, Intel Corporation. All rights reserved.<BR>\r
   SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
@@ -30,7 +30,7 @@ ReserveResourceInGcd (
   IN EFI_HANDLE            ImageHandle\r
   )\r
 {\r
-  EFI_STATUS               Status;\r
+  EFI_STATUS  Status;\r
 \r
   if (IsMMIO) {\r
     Status = gDS->AddMemorySpace (\r
@@ -41,13 +41,13 @@ ReserveResourceInGcd (
                     );\r
     if (EFI_ERROR (Status)) {\r
       DEBUG ((\r
-        DEBUG_ERROR,\r
+        DEBUG_WARN,\r
         "Failed to add memory space :0x%lx 0x%lx\n",\r
         BaseAddress,\r
         Length\r
         ));\r
     }\r
-    ASSERT_EFI_ERROR (Status);\r
+\r
     Status = gDS->AllocateMemorySpace (\r
                     EfiGcdAllocateAddress,\r
                     GcdType,\r
@@ -57,14 +57,21 @@ ReserveResourceInGcd (
                     ImageHandle,\r
                     NULL\r
                     );\r
-    ASSERT_EFI_ERROR (Status);\r
   } else {\r
     Status = gDS->AddIoSpace (\r
                     GcdType,\r
                     BaseAddress,\r
                     Length\r
                     );\r
-    ASSERT_EFI_ERROR (Status);\r
+    if (EFI_ERROR (Status)) {\r
+      DEBUG ((\r
+        DEBUG_WARN,\r
+        "Failed to add IO space :0x%lx 0x%lx\n",\r
+        BaseAddress,\r
+        Length\r
+        ));\r
+    }\r
+\r
     Status = gDS->AllocateIoSpace (\r
                     EfiGcdAllocateAddress,\r
                     GcdType,\r
@@ -74,12 +81,11 @@ ReserveResourceInGcd (
                     ImageHandle,\r
                     NULL\r
                     );\r
-    ASSERT_EFI_ERROR (Status);\r
   }\r
+\r
   return Status;\r
 }\r
 \r
-\r
 /**\r
   Main entry for the bootloader support DXE module.\r
 \r
@@ -93,49 +99,22 @@ ReserveResourceInGcd (
 EFI_STATUS\r
 EFIAPI\r
 BlDxeEntryPoint (\r
-  IN EFI_HANDLE              ImageHandle,\r
-  IN EFI_SYSTEM_TABLE        *SystemTable\r
+  IN EFI_HANDLE        ImageHandle,\r
+  IN EFI_SYSTEM_TABLE  *SystemTable\r
   )\r
 {\r
-  EFI_STATUS Status;\r
+  EFI_STATUS                 Status;\r
   EFI_HOB_GUID_TYPE          *GuidHob;\r
-  SYSTEM_TABLE_INFO          *SystemTableInfo;\r
   EFI_PEI_GRAPHICS_INFO_HOB  *GfxInfo;\r
+  ACPI_BOARD_INFO            *AcpiBoardInfo;\r
 \r
   Status = EFI_SUCCESS;\r
   //\r
   // Report MMIO/IO Resources\r
   //\r
-  Status = ReserveResourceInGcd (TRUE, EfiGcdMemoryTypeMemoryMappedIo, 0xFEC00000, SIZE_4KB, 0, ImageHandle); // IOAPIC\r
-  ASSERT_EFI_ERROR (Status);\r
+  ReserveResourceInGcd (TRUE, EfiGcdMemoryTypeMemoryMappedIo, 0xFEC00000, SIZE_4KB, 0, ImageHandle); // IOAPIC\r
 \r
-  Status = ReserveResourceInGcd (TRUE, EfiGcdMemoryTypeMemoryMappedIo, 0xFED00000, SIZE_1KB, 0, ImageHandle); // HPET\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  //\r
-  // Find the system table information guid hob\r
-  //\r
-  GuidHob = GetFirstGuidHob (&gUefiSystemTableInfoGuid);\r
-  ASSERT (GuidHob != NULL);\r
-  SystemTableInfo = (SYSTEM_TABLE_INFO *)GET_GUID_HOB_DATA (GuidHob);\r
-\r
-  //\r
-  // Install Acpi Table\r
-  //\r
-  if (SystemTableInfo->AcpiTableBase != 0 && SystemTableInfo->AcpiTableSize != 0) {\r
-    DEBUG ((DEBUG_ERROR, "Install Acpi Table at 0x%lx, length 0x%x\n", SystemTableInfo->AcpiTableBase, SystemTableInfo->AcpiTableSize));\r
-    Status = gBS->InstallConfigurationTable (&gEfiAcpiTableGuid, (VOID *)(UINTN)SystemTableInfo->AcpiTableBase);\r
-    ASSERT_EFI_ERROR (Status);\r
-  }\r
-\r
-  //\r
-  // Install Smbios Table\r
-  //\r
-  if (SystemTableInfo->SmbiosTableBase != 0 && SystemTableInfo->SmbiosTableSize != 0) {\r
-    DEBUG ((DEBUG_ERROR, "Install Smbios Table at 0x%lx, length 0x%x\n", SystemTableInfo->SmbiosTableBase, SystemTableInfo->SmbiosTableSize));\r
-    Status = gBS->InstallConfigurationTable (&gEfiSmbiosTableGuid, (VOID *)(UINTN)SystemTableInfo->SmbiosTableBase);\r
-    ASSERT_EFI_ERROR (Status);\r
-  }\r
+  ReserveResourceInGcd (TRUE, EfiGcdMemoryTypeMemoryMappedIo, 0xFED00000, SIZE_1KB, 0, ImageHandle); // HPET\r
 \r
   //\r
   // Find the frame buffer information and update PCDs\r
@@ -143,7 +122,7 @@ BlDxeEntryPoint (
   GuidHob = GetFirstGuidHob (&gEfiGraphicsInfoHobGuid);\r
   if (GuidHob != NULL) {\r
     GfxInfo = (EFI_PEI_GRAPHICS_INFO_HOB *)GET_GUID_HOB_DATA (GuidHob);\r
-    Status = PcdSet32S (PcdVideoHorizontalResolution, GfxInfo->GraphicsMode.HorizontalResolution);\r
+    Status  = PcdSet32S (PcdVideoHorizontalResolution, GfxInfo->GraphicsMode.HorizontalResolution);\r
     ASSERT_EFI_ERROR (Status);\r
     Status = PcdSet32S (PcdVideoVerticalResolution, GfxInfo->GraphicsMode.VerticalResolution);\r
     ASSERT_EFI_ERROR (Status);\r
@@ -153,6 +132,17 @@ BlDxeEntryPoint (
     ASSERT_EFI_ERROR (Status);\r
   }\r
 \r
+  //\r
+  // Set PcdPciExpressBaseAddress and PcdPciExpressBaseSize by HOB info\r
+  //\r
+  GuidHob = GetFirstGuidHob (&gUefiAcpiBoardInfoGuid);\r
+  if (GuidHob != NULL) {\r
+    AcpiBoardInfo = (ACPI_BOARD_INFO *)GET_GUID_HOB_DATA (GuidHob);\r
+    Status        = PcdSet64S (PcdPciExpressBaseAddress, AcpiBoardInfo->PcieBaseAddress);\r
+    ASSERT_EFI_ERROR (Status);\r
+    Status = PcdSet64S (PcdPciExpressBaseSize, AcpiBoardInfo->PcieBaseSize);\r
+    ASSERT_EFI_ERROR (Status);\r
+  }\r
+\r
   return EFI_SUCCESS;\r
 }\r
-\r