From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga07.intel.com (mga07.intel.com []) by mx.groups.io with SMTP id smtpd.web09.19750.1621840398051670996 for ; Mon, 24 May 2021 00:13:18 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=fail (domain: intel.com, ip: , mailfrom: zhiguang.liu@intel.com) IronPort-SDR: iFdCCw6oeMYfgVK9geKlwHk2ReWbD4iHERJ16Yc59YJWdEwO6voHjVNgMAYZdks/2XE6ZcytiO K9xS6TqU/ZaQ== X-IronPort-AV: E=McAfee;i="6200,9189,9993"; a="265769902" X-IronPort-AV: E=Sophos;i="5.82,319,1613462400"; d="scan'208,223";a="265769902" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 May 2021 00:13:16 -0700 IronPort-SDR: 1yT+kpdhHNvibgnHYcrMMVxPwpiUsFLgq8tt0Ev7NOvdsiXEM4sNE8/p/QjFln4RbHopn9trpC 1BndJFfWbo0w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,319,1613462400"; d="scan'208,223";a="413477842" Received: from fieedk002.ccr.corp.intel.com ([10.239.158.144]) by orsmga002.jf.intel.com with ESMTP; 24 May 2021 00:13:14 -0700 From: "Zhiguang Liu" To: devel@edk2.groups.io Cc: Maurice Ma , Guo Dong , Benjamin You , Ray Ni Subject: [PATCH 9/9] UefiPayloadPkg: Creat gPldAcpiTableGuid Hob Date: Mon, 24 May 2021 15:12:34 +0800 Message-Id: <20210524071234.1056-10-zhiguang.liu@intel.com> X-Mailer: git-send-email 2.30.0.windows.2 In-Reply-To: <20210524071234.1056-1-zhiguang.liu@intel.com> References: <20210524071234.1056-1-zhiguang.liu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable >>From SysTableInfo Hob, get ACPI table address, and creat gPldAcpiTableGuid = Hob to store it. Remove diretly adding ACPI table to ConfigurationTable. Dxe ACPI driver will parse it and install ACPI table from Guid Hob. Cc: Maurice Ma Cc: Guo Dong Cc: Benjamin You Cc: Ray Ni Signed-off-by: Zhiguang Liu --- UefiPayloadPkg/BlSupportDxe/BlSupportDxe.c | 17 ----------------- UefiPayloadPkg/BlSupportDxe/BlSupportDxe.h | 5 +---- UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf | 1 - UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c | 11 +++++++++++ UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h | 2 +- UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf | 1 + 6 files changed, 14 insertions(+), 23 deletions(-) diff --git a/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.c b/UefiPayloadPkg/Bl= SupportDxe/BlSupportDxe.c index 56b85b8e6d..ffd3427fb3 100644 --- a/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.c +++ b/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.c @@ -99,7 +99,6 @@ BlDxeEntryPoint ( {=0D EFI_STATUS Status;=0D EFI_HOB_GUID_TYPE *GuidHob;=0D - SYSTEM_TABLE_INFO *SystemTableInfo;=0D EFI_PEI_GRAPHICS_INFO_HOB *GfxInfo;=0D ACPI_BOARD_INFO *AcpiBoardInfo;=0D =0D @@ -113,22 +112,6 @@ BlDxeEntryPoint ( Status =3D ReserveResourceInGcd (TRUE, EfiGcdMemoryTypeMemoryMappedIo, 0= xFED00000, SIZE_1KB, 0, ImageHandle); // HPET=0D ASSERT_EFI_ERROR (Status);=0D =0D - //=0D - // Find the system table information guid hob=0D - //=0D - GuidHob =3D GetFirstGuidHob (&gUefiSystemTableInfoGuid);=0D - ASSERT (GuidHob !=3D NULL);=0D - SystemTableInfo =3D (SYSTEM_TABLE_INFO *)GET_GUID_HOB_DATA (GuidHob);=0D -=0D - //=0D - // Install Acpi Table=0D - //=0D - if (SystemTableInfo->AcpiTableBase !=3D 0 && SystemTableInfo->AcpiTableS= ize !=3D 0) {=0D - DEBUG ((DEBUG_ERROR, "Install Acpi Table at 0x%lx, length 0x%x\n", Sys= temTableInfo->AcpiTableBase, SystemTableInfo->AcpiTableSize));=0D - Status =3D gBS->InstallConfigurationTable (&gEfiAcpiTableGuid, (VOID *= )(UINTN)SystemTableInfo->AcpiTableBase);=0D - ASSERT_EFI_ERROR (Status);=0D - }=0D -=0D //=0D // Find the frame buffer information and update PCDs=0D //=0D diff --git a/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.h b/UefiPayloadPkg/Bl= SupportDxe/BlSupportDxe.h index 512105fafd..3332a30eae 100644 --- a/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.h +++ b/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.h @@ -1,7 +1,7 @@ /** @file=0D The header file of bootloader support DXE.=0D =0D -Copyright (c) 2014, Intel Corporation. All rights reserved.
=0D +Copyright (c) 2021, Intel Corporation. All rights reserved.
=0D SPDX-License-Identifier: BSD-2-Clause-Patent=0D =0D **/=0D @@ -19,12 +19,9 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #include =0D #include =0D =0D -#include =0D #include =0D #include =0D #include =0D #include =0D =0D -#include =0D -=0D #endif=0D diff --git a/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf b/UefiPayloadPkg/= BlSupportDxe/BlSupportDxe.inf index 30f41f8c39..1ccb250991 100644 --- a/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf +++ b/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf @@ -42,7 +42,6 @@ HobLib=0D =0D [Guids]=0D - gEfiAcpiTableGuid=0D gUefiSystemTableInfoGuid=0D gUefiAcpiBoardInfoGuid=0D gEfiGraphicsInfoHobGuid=0D diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c b/UefiPaylo= adPkg/UefiPayloadEntry/UefiPayloadEntry.c index 7b71d37f94..14b7a732da 100644 --- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c +++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c @@ -235,6 +235,7 @@ BuildHobFromBl ( EFI_PEI_GRAPHICS_DEVICE_INFO_HOB GfxDeviceInfo;=0D EFI_PEI_GRAPHICS_DEVICE_INFO_HOB *NewGfxDeviceInfo;=0D PLD_SMBIOS_TABLE *SmBiosTableHob;=0D + PLD_ACPI_TABLE *AcpiTableHob;=0D =0D //=0D // Parse memory info and build memory HOBs=0D @@ -287,6 +288,16 @@ BuildHobFromBl ( SmBiosTableHob->SmBiosEntryPoint =3D SysTableInfo.SmbiosTableBase;=0D DEBUG ((DEBUG_INFO, "Create smbios table gPldSmbiosTableGuid guid hob\n"= ));=0D =0D + // =0D + // Creat ACPI table Hob=0D + //=0D + AcpiTableHob =3D BuildGuidHob (&gPldAcpiTableGuid, sizeof (PLD_ACPI_TABL= E));=0D + ASSERT (AcpiTableHob !=3D NULL);=0D + AcpiTableHob->PldHeader.Revision =3D PLD_ACPI_TABLE_REVISION;=0D + AcpiTableHob->PldHeader.Length =3D sizeof (PLD_ACPI_TABLE);=0D + AcpiTableHob->Rsdp =3D SysTableInfo.AcpiTableBase;=0D + DEBUG ((DEBUG_INFO, "Create smbios table gPldAcpiTableGuid guid hob\n"))= ;=0D +=0D //=0D // Create guid hob for acpi board information=0D //=0D diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h b/UefiPaylo= adPkg/UefiPayloadEntry/UefiPayloadEntry.h index e7d0d15118..a4c9da128e 100644 --- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h +++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h @@ -32,7 +32,7 @@ #include =0D #include =0D #include =0D -=0D +#include =0D =0D #define LEGACY_8259_MASK_REGISTER_MASTER 0x21=0D #define LEGACY_8259_MASK_REGISTER_SLAVE 0xA1=0D diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf b/UefiPay= loadPkg/UefiPayloadEntry/UefiPayloadEntry.inf index 444f39acf3..01388b8831 100644 --- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf +++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf @@ -65,6 +65,7 @@ gEfiGraphicsDeviceInfoHobGuid=0D gUefiAcpiBoardInfoGuid=0D gPldSmbiosTableGuid=0D + gPldAcpiTableGuid=0D =0D [FeaturePcd.IA32]=0D gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUME= S=0D --=20 2.30.0.windows.2