From 1bfc89414dbc2b4e620e06231ae98d714914fc46 Mon Sep 17 00:00:00 2001
From: Gua Guo <gua.guo@intel.com>
Date: Fri, 24 Mar 2023 14:55:13 +0800
Subject: [PATCH] UefiPayloadPkg: Add gUefiAcpiBoardInfoGuid support

if system both exist gUefiAcpiBoardInfoGuid and rsdp,
we may need to use gUefiAcpiBoardInfoGuid as final
config to have backward support.

Cc: Guo Dong <guo.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Sean Rhodes <sean@starlabs.systems>
Reviewed-by: James Lu <james.lu@intel.com>

Signed-off-by: Gua Guo <gua.guo@intel.com>
---
 UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.c b/UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.c
index 46ee27c905..f8939efe70 100644
--- a/UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.c
+++ b/UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.c
@@ -422,9 +422,12 @@ BuildHobs (
   //
   GuidHob = GetFirstGuidHob (&gUniversalPayloadAcpiTableGuid);
   if (GuidHob != NULL) {
-    AcpiTable     = (UNIVERSAL_PAYLOAD_ACPI_TABLE *)GET_GUID_HOB_DATA (GuidHob);
-    AcpiBoardInfo = BuildHobFromAcpi ((UINT64)AcpiTable->Rsdp);
-    ASSERT (AcpiBoardInfo != NULL);
+    AcpiTable = (UNIVERSAL_PAYLOAD_ACPI_TABLE *)GET_GUID_HOB_DATA (GuidHob);
+    GuidHob   = GetFirstGuidHob (&gUefiAcpiBoardInfoGuid);
+    if (GuidHob == NULL) {
+      AcpiBoardInfo = BuildHobFromAcpi ((UINT64)AcpiTable->Rsdp);
+      ASSERT (AcpiBoardInfo != NULL);
+    }
   }
 
   //
-- 
GitLab