From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web08.2286.1638407368652755544 for ; Wed, 01 Dec 2021 17:09:29 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=PzdcDJdh; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: nathaniel.l.desimone@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10185"; a="236410592" X-IronPort-AV: E=Sophos;i="5.87,280,1631602800"; d="scan'208";a="236410592" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Dec 2021 17:09:27 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,280,1631602800"; d="scan'208";a="460254943" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga006.jf.intel.com with ESMTP; 01 Dec 2021 17:09:27 -0800 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Wed, 1 Dec 2021 17:09:27 -0800 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Wed, 1 Dec 2021 17:09:27 -0800 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20 via Frontend Transport; Wed, 1 Dec 2021 17:09:27 -0800 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.169) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.20; Wed, 1 Dec 2021 17:09:26 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IJMae+w/v5WXl+6Y8qosHIg8jeUR7uCPJf92FWQMiJF9AqGjsMSC9rV+qHn20p4vxxkAs9Zn1g1xoStXptj2/JTbYJCozbOBVpD1dQNFBQgiLQJMFjFZSnX3gP4yiDUeDnZaKMOFzVQmlUJPRi7ln6mEa+FVtp5HK3GDLlbXXq2yyVC81/DT0StYUwZ/4BJcQvqYHbCnnv+TP2ibqAlh0uLiWrNtVMadT34WqK6okaOg2ZMQUIKf88jocnpqQkqIhrk1nFaN4fjNvu62nZrE1myuGQ1PdtEv3RZGHZ14a1qffwCTNjuRzBu4i67EI15XOJxGjHIFFFPsVZjXs4lHwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=48UsFNgy/xdti9O5L+j4TeGoPQczi1ePa0S4v6wsYzw=; b=d1Oh/FYGzLzCmCt/rec3f87U1HDtQKiCFQ1uJRDsBfSP/S9S4rfBRjQxWvq3+yRMsCnrCsLuyi/+S5LnMCz/o99HHg5LJvF4j6u00eiuOfnYSfcR5vYkY79iq1gXedXOVkXIh/x/LUklMFM4t/yjkc7sQLS0jZvVv4rwzn2Ax5dPVg81VghYAzj83YeLskL4FtJPEACuiDePWTP6i3dCfmFf6TYB0Y9bM3jztoRRqtQBhB2AB5SrDmwGc4xSUnJvAtVxDtIY6iBg+IVU6q4hC9OSTRSiXVqEsXGOC9YAp6dOfuGp/qnEuMEg0DY3rXkV6CnySXKDfPZ/tL4tRCn8nA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=48UsFNgy/xdti9O5L+j4TeGoPQczi1ePa0S4v6wsYzw=; b=PzdcDJdhE1mx5uQnUM9zrBy/JfnzbiKS76RG+EsWtp59EAneriLR6hUmNTTmlCgfZt1xpBxVMGsVlYbkowCB2w3fLVtRJ3+dWbWFiJ0ay1bBzJ2wlQNE8JQT3qFnnPBybPGUKSVe7pG+E+qoUHUoErssNQRgWo2gAqp5XzsGlvI= Received: from MW4PR11MB5821.namprd11.prod.outlook.com (2603:10b6:303:184::5) by MWHPR11MB2013.namprd11.prod.outlook.com (2603:10b6:300:24::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4734.23; Thu, 2 Dec 2021 01:09:25 +0000 Received: from MW4PR11MB5821.namprd11.prod.outlook.com ([fe80::6920:39b9:e18c:9dc5]) by MW4PR11MB5821.namprd11.prod.outlook.com ([fe80::6920:39b9:e18c:9dc5%5]) with mapi id 15.20.4755.016; Thu, 2 Dec 2021 01:09:25 +0000 From: "Nate DeSimone" To: "Oram, Isaac W" , "devel@edk2.groups.io" CC: "Chiu, Chasel" Subject: Re: [edk2-devel][edk2-platforms][PATCH V1 1/1] WhitleyOpenBoardPkg/BoardAcpiLib: Simplify implementation Thread-Topic: [edk2-devel][edk2-platforms][PATCH V1 1/1] WhitleyOpenBoardPkg/BoardAcpiLib: Simplify implementation Thread-Index: AQHX1qCRAFeUPX9zD0yOr3D6wOdGn6wehSOQ Date: Thu, 2 Dec 2021 01:09:25 +0000 Message-ID: References: <30f645c0b6ab6d17d4d5844637b0cd15e9f19d8a.1636595644.git.isaac.w.oram@intel.com> In-Reply-To: <30f645c0b6ab6d17d4d5844637b0cd15e9f19d8a.1636595644.git.isaac.w.oram@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.6.200.16 dlp-product: dlpe-windows authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f482a2f7-b41c-4c38-7d8d-08d9b53061e1 x-ms-traffictypediagnostic: MWHPR11MB2013: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: AmomU4soq8VgmqAyzD4R/04gNZNIWbqZLjXQhoB17W7UUCe0Yowlb1zqF6CXqnjzsDLXGFI5KT4WBm8B6qKpro3NNKFt9o0AXTmOA8AscLYafiwuSlfbJW38wV+olDpTD1Gm5+ocbhCTfptG8JEmqU2mVATL7AdoCOPC0L4nWvoroHw978aNeE6rP+7n1NwbGolkUGSAHMGiSFxldqjr/Ovl8rPtCQ363sQC6O1UiATLZ0utQJIjB0ALUuVpQ2PEDfJk5L4t7OSIBiu5243l1Bfbgrk7pEismXpCSCuLm9CG8CTbwxHknfBmA3t5IP5gJIrqZNt9kGSUw+grRbjEd8Sa44pcmrA9/wJy0JOXJAwGeQcHxYCB/IBGusQbK741Dahvrsiz19SxK9PeV8+utn/B3nyl60wlQFdcSw8mMPhSbhF0dWlg9yaVI04v+CrX7V+K1sKu3X7ZW1rQXFPu4Y3S1vRYrucrX0LdKbXrWO51FiBmfHekSNe9vfRSKdCOItSoSgMIHBhSXf/oZ4lg6Oso6ovuJQ9dUcbAqvM1qkKaVahWhZ264pKj8vR6CjMlVt6NXgpCCcA6c0VDIHitHjS9ooZrfUrq9Vt2KDsZDQ/+lxIf5P1LH3M1ikOCCiAViXUmRAbZnV+kFFOyCUwb513Tsij4e85wr17XVi4p+3eLZXlMU2W7Pbwy/7MU7PkUKFIWbSWsQqd6y9+R/Mr2SQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR11MB5821.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(30864003)(508600001)(83380400001)(122000001)(52536014)(26005)(53546011)(316002)(8936002)(38100700002)(186003)(66556008)(71200400001)(66946007)(66476007)(38070700005)(110136005)(76116006)(86362001)(66446008)(55016003)(6506007)(33656002)(5660300002)(4326008)(7696005)(8676002)(9686003)(82960400001)(64756008)(2906002)(107886003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?Jjk1Zpvxcfj/AiNYo10tYoozziMxee2XUf5eHDpf4UjOPJvi+rBuXS69raw2?= =?us-ascii?Q?SBlWgK+6OS55Mm3why7jFrdZhzwYeOEyX0lQ6ZniQx4tQ4C1DJZc71H7yq0D?= =?us-ascii?Q?T56YXU+xxipjL6QdphN7xXo9aYmSDup1MHz2E3vkC7WEoyDnlaLPcgBEfune?= =?us-ascii?Q?KLx+Y2NKuOAoUnwoVlsaYMH9hmQbC9cG6WeyZtoExI9OeE6iqxGtRZ6AY/ll?= =?us-ascii?Q?VjX9bJXpA7GewOkbhN+2UtnEWRdIaYfFklyDYbhFlJQ+vtx52qWoQkMIX6lY?= =?us-ascii?Q?X0jjryY/n5vzLkX+EW5pfliXMFeeqVwRNKUAuSQF3LvKfS3Ie6t9j8fWx14o?= =?us-ascii?Q?xZOQQ/0VbuJiAKuR+palfmhl41rq32SqOWEqlyMVORH3AYTQi2QpMrVXGyOE?= =?us-ascii?Q?yiZHkkffW+gCbvsSfInqRl+nPaDbYoffHeSUe5HHcXdcS1QmK9Lxv67se5Tc?= =?us-ascii?Q?dGEQuc016Cy7e0ki8fZ0pI0cPDYHq/muNEruVm4NS+cpcAl0fhDwvFBR2sJn?= =?us-ascii?Q?5O1XmmuHZ5ywu4P28HWnsBu5MWZbpt1u4nV5JTNmWlkE760fizc2+AJk9CnQ?= =?us-ascii?Q?KdPKJsEgSc9H34wiCFF4iXNoGcYrGoLRqxet53e/OaTqUXvn2hr0iO+4no/q?= =?us-ascii?Q?9A3WFIzvG0tERlGSM4XSiSq9OUpttqj6v/o3CJ0TJ5uiXKfcCroHiLqytuIQ?= =?us-ascii?Q?y5XkIYTpRDAxiQEHh5Sv0hcCcrxg+S17jtzUs5CgIkFUtvtqPV2ysC/yFF45?= =?us-ascii?Q?DjrIAuZsE1Co8P7cBQM5ZzHpadvcWRnb7/CDq+IgG+aGKYMwtYQbbsNiG8om?= =?us-ascii?Q?XCZRtfos4MtlnW870S+U3QXdzK+olRK2yQJGhl9R+KlnX1O8qGdANuszWtcw?= =?us-ascii?Q?6lVQwWYej9OSyRc+lKOe9msYboaps39XPsHvuCPfG6bfHEim0vNINw8WgXA1?= =?us-ascii?Q?lyMY+0gSqJpA0bOjLO18Kn2G+4seZv1iyLzCpIJdiuwccmsF1/gkVNAOLn7s?= =?us-ascii?Q?8hVNdhE31WkbO1uTuXBwEHKteRpnKvM2BbmBuhNMY++u59LAQH2AdjVt2boo?= =?us-ascii?Q?kC36yfpWx45XbDf7smfd8LyBlxYI/dyK8JoBU5QCXKZ8cWUVR+50r871PCJh?= =?us-ascii?Q?vvm6qZOba/bGhlyI8YFnAbRWX8cGo5O07aSym2b+aIJ/SXCXZAgamGIjqhmJ?= =?us-ascii?Q?FIZjRwuBwZuLnUNB3ebfyNbRuAxGlsCpYWGbK6uKMvnlhqMuN6UnQKoi5Pnz?= =?us-ascii?Q?NVGWffiWL26AthTebjkohuK1mv9vAlEW18T12b3fzNkfcp5ElBa/Kf9La54e?= =?us-ascii?Q?UrsC6R5bgjVEpzyxx+TYS0qCWuJEK/OccsDb7KnsC2KYTcuAkDUdj3z3/wb3?= =?us-ascii?Q?PNtyTTbbpU7sLT7o2QChWldJkV1odi+by021vJX6QzqE3OsMn3K79TKHGaym?= =?us-ascii?Q?XxFNDZeHkz8w9pmYpJaoeZfTjG2Cb1VdGgNYe+P5yCWlv3LPLLDVKiTZzNkr?= =?us-ascii?Q?PrUoVTWSXNN0nsa7LKy86ffmzyJ1pcs8xHD7rgA5zMU8Qz9XFq70HO1p13A7?= =?us-ascii?Q?gywMI9rVgmJWA8yDjEVlKZGlGnJwqZ6rloJdd+voiILrgmGcBb0w+T1YBq/U?= =?us-ascii?Q?hQ3+6CW1+cnZt6pEqZ2lBzbCxxaX19r/sKy8I/xRtul+kuBhHTgrRrY9Uv1e?= =?us-ascii?Q?hlxUgg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR11MB5821.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f482a2f7-b41c-4c38-7d8d-08d9b53061e1 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Dec 2021 01:09:25.3142 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: MPr0VkSkZMbimifhwf+VNe7lWAEXOk+wjx0VovEm7mjf7ze0+aBManLMN3cgV2dcNxCJrNy0ijRvOMUJWl+tJt700IAQBQH3JYc2CKnvP1I= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR11MB2013 Return-Path: nathaniel.l.desimone@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Nate DeSimone -----Original Message----- From: Oram, Isaac W =20 Sent: Wednesday, November 10, 2021 6:05 PM To: devel@edk2.groups.io Cc: Oram, Isaac W ; Desimone, Nathaniel L ; Chiu, Chasel Subject: [edk2-devel][edk2-platforms][PATCH V1 1/1] WhitleyOpenBoardPkg/Boa= rdAcpiLib: Simplify implementation Remove DXE version as the library isn't in use. Simplify the SMM library. Remove functions calling functions. Cc: Nate DeSimone Cc: Chasel Chiu Signed-off-by: Isaac Oram --- Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/DxeBoardAcpiTableL= ib.c | 37 ------ Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/DxeBoardAcpiTableL= ib.inf | 44 ------- Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/DxeMtOlympusAcpiTa= bleLib.c | 54 -------- Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/SmmBoardAcpiEnable= Lib.c | 89 +++++++++++-- Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/SmmBoardAcpiEnable= Lib.inf | 1 - Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/SmmSiliconAcpiEnab= leLib.c | 138 -------------------- Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc = | 7 +- 7 files changed, 77 insertions(+), 293 deletions(-) diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/DxeBoa= rdAcpiTableLib.c b/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/= DxeBoardAcpiTableLib.c deleted file mode 100644 index dfa0c994dc..0000000000 --- a/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/DxeBoardAcpiT= ableLib.c +++ /dev/null @@ -1,37 +0,0 @@ -/** @file - Platform Hook Library instances - - @copyright - Copyright (c) 2017 - 2021, Intel Corporation. All rights reserved.
- - SPDX-License-Identifier: BSD-2-Clause-Patent -**/ - -#include -#include -#include -#include -#include -#include -#include -#include - -EFI_STATUS -EFIAPI -MtOlympusBoardUpdateAcpiTable ( - IN OUT EFI_ACPI_COMMON_HEADER *Table, - IN OUT EFI_ACPI_TABLE_VERSION *Version - ); - -EFI_STATUS -EFIAPI -BoardUpdateAcpiTable ( - IN OUT EFI_ACPI_COMMON_HEADER *Table, - IN OUT EFI_ACPI_TABLE_VERSION *Version - ) -{ - MtOlympusBoardUpdateAcpiTable (Table, Version); - - return EFI_SUCCESS; -} - diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/DxeBoa= rdAcpiTableLib.inf b/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLi= b/DxeBoardAcpiTableLib.inf deleted file mode 100644 index 3186c6c91e..0000000000 --- a/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/DxeBoardAcpiT= ableLib.inf +++ /dev/null @@ -1,44 +0,0 @@ -### @file -# Platform Hook Library instance for SandyBridge Mobile/Desktop CRB. -# -# @copyright -# Copyright (c) 2017 - 2021, Intel Corporation. All rights reserved.
-= # -# SPDX-License-Identifier: BSD-2-Clause-Patent -# -## - -[Defines] - INF_VERSION =3D 0x00010017 - BASE_NAME =3D DxeBoardAcpiTableLib - FILE_GUID =3D 6562E0AE-90D8-4D41-8C97-81286B4BE7D2 - VERSION_STRING =3D 1.0 - MODULE_TYPE =3D BASE - LIBRARY_CLASS =3D BoardAcpiTableLib - -# -# The following information is for reference only and not required by the = build tools. -# -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC -# - -[LibraryClasses] - BaseLib - IoLib - PciLib - PcdLib -[Packages] - MdePkg/MdePkg.dec - MdeModulePkg/MdeModulePkg.dec - MinPlatformPkg/MinPlatformPkg.dec - WhitleyOpenBoardPkg/PlatformPkg.dec - WhitleySiliconPkg/WhitleySiliconPkg.dec - WhitleySiliconPkg/SiliconPkg.dec - -[Pcd] - gOemSkuTokenSpaceGuid.PcdAcpiGnvsAddress - -[Sources] - DxeMtOlympusAcpiTableLib.c - DxeBoardAcpiTableLib.c - diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/DxeMtO= lympusAcpiTableLib.c b/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpi= Lib/DxeMtOlympusAcpiTableLib.c deleted file mode 100644 index 09b917083c..0000000000 --- a/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/DxeMtOlympusA= cpiTableLib.c +++ /dev/null @@ -1,54 +0,0 @@ -/** @file - Platform Hook Library instances - - @copyright - Copyright (c) 2017 - 2021, Intel Corporation. All rights reserved.
- - SPDX-License-Identifier: BSD-2-Clause-Patent -**/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -GLOBAL_REMOVE_IF_UNREFERENCED BIOS_ACPI_PARAM *mGlobalNvsArea= ; - -VOID -MtOlympusUpdateGlobalNvs ( - VOID - ) -{ - - // - // Allocate and initialize the NVS area for SMM and ASL communication. - // - mGlobalNvsArea =3D (VOID *)(UINTN)PcdGet64 (PcdAcpiGnvsAddress); - - // - // Update global NVS area for ASL and SMM init code to use - // - - -} - -EFI_STATUS -EFIAPI -MtOlympusBoardUpdateAcpiTable ( - IN OUT EFI_ACPI_COMMON_HEADER *Table, - IN OUT EFI_ACPI_TABLE_VERSION *Version - ) -{ - if (Table->Signature =3D=3D EFI_ACPI_2_0_DIFFERENTIATED_SYSTEM_DESCRIPTI= ON_TABLE_SIGNATURE) { - MtOlympusUpdateGlobalNvs (); - } - - return EFI_SUCCESS; -} - diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/SmmBoa= rdAcpiEnableLib.c b/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib= /SmmBoardAcpiEnableLib.c index 09a6b00877..0f8a62460a 100644 --- a/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/SmmBoardAcpiE= nableLib.c +++ b/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/SmmBoardAc +++ piEnableLib.c @@ -15,18 +15,9 @@ #include #include #inc= lude - -EFI_STATUS -EFIAPI -SiliconEnableAcpi ( - IN BOOLEAN EnableSci - ); - -EFI_STATUS -EFIAPI -SiliconDisableAcpi ( - IN BOOLEAN DisableSci - ); +#include +#include +#include =20 EFI_STATUS EFIAPI @@ -34,7 +25,52 @@ BoardEnableAcpi ( IN BOOLEAN EnableSci ) { - SiliconEnableAcpi (EnableSci); + UINT32 SmiEn; + UINT16 Pm1En; + UINT16 Pm1Cnt; + UINT16 PchPmBase; + EFI_STATUS Status; + DYNAMIC_SI_LIBARY_SMM_PROTOCOL *DynamicSiLibrarySmmProtocol =3D NULL; + + Status =3D gSmst->SmmLocateProtocol (&gDynamicSiLibrarySmmProtocolGuid,= =20 + NULL, &DynamicSiLibrarySmmProtocol); if (EFI_ERROR (Status)) { + ASSERT_EFI_ERROR (Status); + return Status; + } + + // + // Init Power Management I/O Base aka ACPI Base // PchPmBase =3D=20 + DynamicSiLibrarySmmProtocol->PmcGetAcpiBase (); + + SmiEn =3D IoRead32 (PchPmBase + R_ACPI_IO_SMI_EN); + + // + // Disable SW SMI Timer and legacy USB // SmiEn &=3D=20 + ~(B_ACPI_IO_SMI_EN_SWSMI_TMR | B_ACPI_IO_SMI_EN_LEGACY_USB |=20 + B_ACPI_IO_SMI_EN_LEGACY_USB2); + + // + // And enable SMI on write to B_PCH_ACPI_PM1_CNT_SLP_EN when SLP_TYP=20 + is written // SmiEn |=3D B_ACPI_IO_SMI_EN_ON_SLP_EN ; + IoWrite32 (PchPmBase + R_ACPI_IO_SMI_EN, SmiEn); + + // + // Disable PM sources except power button // + Pm1En =3D B_ACPI_IO_PM1_EN_PWRBTN; + IoWrite16 (PchPmBase + R_ACPI_IO_PM1_EN, Pm1En); + + // + // Enable SCI + // + if (EnableSci) { + Pm1Cnt =3D IoRead16 (PchPmBase + R_ACPI_IO_PM1_CNT); + Pm1Cnt |=3D B_ACPI_IO_PM1_CNT_SCI_EN; + IoWrite16 (PchPmBase + R_ACPI_IO_PM1_CNT, Pm1Cnt); } + return EFI_SUCCESS; } =20 @@ -44,7 +80,32 @@ BoardDisableAcpi ( IN BOOLEAN DisableSci ) { - SiliconDisableAcpi (DisableSci); + UINT16 Pm1Cnt; + UINT16 PchPmBase; + EFI_STATUS Status; + DYNAMIC_SI_LIBARY_SMM_PROTOCOL *DynamicSiLibrarySmmProtocol =3D NULL; + + Status =3D gSmst->SmmLocateProtocol (&gDynamicSiLibrarySmmProtocolGuid,= =20 + NULL, &DynamicSiLibrarySmmProtocol); if (EFI_ERROR (Status)) { + ASSERT_EFI_ERROR (Status); + return Status; + } + + // + // Init Power Management I/O Base aka ACPI Base // PchPmBase =3D=20 + DynamicSiLibrarySmmProtocol->PmcGetAcpiBase (); + + + // + // Disable SCI + // + if (DisableSci) { + Pm1Cnt =3D IoRead16 (PchPmBase + R_ACPI_IO_PM1_CNT); + Pm1Cnt &=3D ~B_ACPI_IO_PM1_CNT_SCI_EN; + IoWrite16 (PchPmBase + R_ACPI_IO_PM1_CNT, Pm1Cnt); } + return EFI_SUCCESS; } =20 diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/SmmBoa= rdAcpiEnableLib.inf b/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiL= ib/SmmBoardAcpiEnableLib.inf index 19d29ed40f..fcb3e23365 100644 --- a/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/SmmBoardAcpiE= nableLib.inf +++ b/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/SmmBoardAc +++ piEnableLib.inf @@ -38,7 +38,6 @@ WhitleySiliconPkg/CpRcPkg.dec =20 [Sources] - SmmSiliconAcpiEnableLib.c SmmBoardAcpiEnableLib.c =20 [Protocols] diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/SmmSil= iconAcpiEnableLib.c b/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiL= ib/SmmSiliconAcpiEnableLib.c deleted file mode 100644 index 484311811b..0000000000 --- a/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/SmmSiliconAcp= iEnableLib.c +++ /dev/null @@ -1,138 +0,0 @@ -/** @file - Platform Hook Library instances - - @copyright - Copyright (c) 2017 - 2021, Intel Corporation. All rights reserved.
- - SPDX-License-Identifier: BSD-2-Clause-Patent -**/ - -#include -#include -#include -#include -#include -#include -#include -#inc= lude -#include -#include -#include - -/** - Clear Port 80h - - SMI handler to enable ACPI mode - - Dispatched on reads from APM port with value EFI_ACPI_ENABLE_SW_SMI - - Disables the SW SMI Timer. - ACPI events are disabled and ACPI event status is cleared. - SCI mode is then enabled. - - Clear SLP SMI status - Enable SLP SMI - - Disable SW SMI Timer - - Clear all ACPI event status and disable all ACPI events - - Disable PM sources except power button - Clear status bits - - Disable GPE0 sources - Clear status bits - - Disable GPE1 sources - Clear status bits - - Guarantee day-of-month alarm is invalid (ACPI 1.0 section 4.7.2.4) - - Enable SCI -**/ -EFI_STATUS -EFIAPI -SiliconEnableAcpi ( - IN BOOLEAN EnableSci - ) -{ - UINT32 SmiEn; - UINT16 Pm1En; - UINT16 Pm1Cnt; - UINT16 PchPmBase; - EFI_STATUS Status; - DYNAMIC_SI_LIBARY_SMM_PROTOCOL *DynamicSiLibrarySmmProtocol =3D NULL; - - Status =3D gSmst->SmmLocateProtocol (&gDynamicSiLibrarySmmProtocolGuid, = NULL, &DynamicSiLibrarySmmProtocol); - if (EFI_ERROR (Status)) { - ASSERT_EFI_ERROR (Status); - return Status; - } - - // - // Init Power Management I/O Base aka ACPI Base - // - PchPmBase =3D DynamicSiLibrarySmmProtocol->PmcGetAcpiBase (); - - SmiEn =3D IoRead32 (PchPmBase + R_ACPI_IO_SMI_EN); - - // - // Disable SW SMI Timer and legacy USB - // - SmiEn &=3D ~(B_ACPI_IO_SMI_EN_SWSMI_TMR | B_ACPI_IO_SMI_EN_LEGACY_USB | = B_ACPI_IO_SMI_EN_LEGACY_USB2); - - // - // And enable SMI on write to B_PCH_ACPI_PM1_CNT_SLP_EN when SLP_TYP is = written - // - SmiEn |=3D B_ACPI_IO_SMI_EN_ON_SLP_EN ; - IoWrite32 (PchPmBase + R_ACPI_IO_SMI_EN, SmiEn); - - // - // Disable PM sources except power button - // - Pm1En =3D B_ACPI_IO_PM1_EN_PWRBTN; - IoWrite16 (PchPmBase + R_ACPI_IO_PM1_EN, Pm1En); - - // - // Enable SCI - // - Pm1Cnt =3D IoRead16 (PchPmBase + R_ACPI_IO_PM1_CNT); - Pm1Cnt |=3D B_ACPI_IO_PM1_CNT_SCI_EN; - IoWrite16 (PchPmBase + R_ACPI_IO_PM1_CNT, Pm1Cnt); - - return EFI_SUCCESS; -} - -EFI_STATUS -EFIAPI -SiliconDisableAcpi ( - IN BOOLEAN DisableSci - ) -{ - UINT16 Pm1Cnt; - UINT16 PchPmBase; - EFI_STATUS Status; - DYNAMIC_SI_LIBARY_SMM_PROTOCOL *DynamicSiLibrarySmmProtocol =3D NULL; - - Status =3D gSmst->SmmLocateProtocol (&gDynamicSiLibrarySmmProtocolGuid, = NULL, &DynamicSiLibrarySmmProtocol); - if (EFI_ERROR (Status)) { - ASSERT_EFI_ERROR (Status); - return Status; - } - - // - // Init Power Management I/O Base aka ACPI Base - // - PchPmBase =3D DynamicSiLibrarySmmProtocol->PmcGetAcpiBase (); - - Pm1Cnt =3D IoRead16 (PchPmBase + R_ACPI_IO_PM1_CNT); - - // - // Disable SCI - // - Pm1Cnt &=3D ~B_ACPI_IO_PM1_CNT_SCI_EN; - - IoWrite16 (PchPmBase + R_ACPI_IO_PM1_CNT, Pm1Cnt); - - return EFI_SUCCESS; -} diff --git a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc b/Platform/= Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc index 63cb4dd559..ae3646df7a 100644 --- a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc +++ b/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc @@ -627,10 +627,10 @@ =20 [LibraryClasses.Common.DXE_SMM_DRIVER] SpiFlashCommonLib|$(RP_PKG)/Library/SmmSpiFlashCommonLib/SmmSpiFlashComm= onLib.inf - TestPointCheckLib|MinPlatformPkg/Test/Library/TestPointCheckLib/SmmTestP= ointCheckLib.inf TestPointLib|MinPlatformPkg/Test/Library/TestPointLib/SmmTestPointLib.in= f MmServicesTableLib|MdePkg/Library/MmServicesTableLib/MmServicesTableLib.= inf + =20 + BoardAcpiEnableLib|$(RP_PKG)/Library/BoardAcpiLib/SmmBoardAcpiEnableLi + b.inf =20 [LibraryClasses.Common.SMM_CORE] S3BootScriptLib|MdePkg/Library/BaseS3BootScriptLibNull/BaseS3BootScriptL= ibNull.inf @@ -745,10 +745,7 @@ =20 $(RP_PKG)/Features/AcpiVtd/AcpiVtd.inf =20 - $(PLATFORM_PKG)/Acpi/AcpiSmm/AcpiSmm.inf { - - BoardAcpiEnableLib|$(RP_PKG)/Library/BoardAcpiLib/SmmBoardAcpiEnable= Lib.inf - } + $(PLATFORM_PKG)/Acpi/AcpiSmm/AcpiSmm.inf =20 $(PLATFORM_PKG)/PlatformInit/PlatformInitDxe/PlatformInitDxe.inf { -- 2.27.0.windows.1