return RETURN_NOT_FOUND;\r
}\r
\r
+/**\r
+ Parse and handle the misc info provided by bootloader\r
+\r
+ @retval RETURN_SUCCESS The misc information was parsed successfully.\r
+ @retval RETURN_NOT_FOUND Could not find required misc info.\r
+ @retval RETURN_OUT_OF_RESOURCES Insufficant memory space.\r
+\r
+**/\r
+RETURN_STATUS\r
+EFIAPI\r
+ParseMiscInfo (\r
+ VOID\r
+ )\r
+{\r
+ return RETURN_SUCCESS;\r
+}\r
/** @file\r
This library will parse the Slim Bootloader to get required information.\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
#include <Library/HobLib.h>\r
#include <Library/BlParseLib.h>\r
#include <IndustryStandard/Acpi.h>\r
-\r
+#include <UniversalPayload/PciRootBridges.h>\r
\r
/**\r
This function retrieves the parameter base address from boot loader.\r
return RETURN_SUCCESS;\r
}\r
\r
+/**\r
+ Parse and handle the misc info provided by bootloader\r
+\r
+ @retval RETURN_SUCCESS The misc information was parsed successfully.\r
+ @retval RETURN_NOT_FOUND Could not find required misc info.\r
+ @retval RETURN_OUT_OF_RESOURCES Insufficant memory space.\r
+\r
+**/\r
+RETURN_STATUS\r
+EFIAPI\r
+ParseMiscInfo (\r
+ VOID\r
+ )\r
+{\r
+ RETURN_STATUS Status;\r
+ UNIVERSAL_PAYLOAD_PCI_ROOT_BRIDGES *BlRootBridgesHob;\r
+ UNIVERSAL_PAYLOAD_PCI_ROOT_BRIDGES *PldRootBridgesHob;\r
+\r
+ Status = RETURN_NOT_FOUND;\r
+ BlRootBridgesHob = (UNIVERSAL_PAYLOAD_PCI_ROOT_BRIDGES *) GetGuidHobDataFromSbl (\r
+ &gUniversalPayloadPciRootBridgeInfoGuid\r
+ );\r
+ if (BlRootBridgesHob != NULL) {\r
+ //\r
+ // Migrate bootloader root bridge info hob from bootloader to payload.\r
+ //\r
+ PldRootBridgesHob = BuildGuidHob (\r
+ &gUniversalPayloadPciRootBridgeInfoGuid,\r
+ BlRootBridgesHob->Header.Length\r
+ );\r
+ ASSERT (PldRootBridgesHob != NULL);\r
+ if (PldRootBridgesHob != NULL) {\r
+ CopyMem (PldRootBridgesHob, BlRootBridgesHob, BlRootBridgesHob->Header.Length);\r
+ DEBUG ((DEBUG_INFO, "Create PCI root bridge info guid hob\n"));\r
+ Status = RETURN_SUCCESS;\r
+ } else {\r
+ Status = RETURN_OUT_OF_RESOURCES;\r
+ }\r
+ }\r
+\r
+ return Status;\r
+}\r
+\r