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.2104.1631671693244400037 for ; Tue, 14 Sep 2021 19:08:14 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=PgI0ky7c; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: nathaniel.l.desimone@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10107"; a="222228786" X-IronPort-AV: E=Sophos;i="5.85,292,1624345200"; d="scan'208";a="222228786" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Sep 2021 19:08:12 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,292,1624345200"; d="scan'208";a="552800044" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga002.fm.intel.com with ESMTP; 14 Sep 2021 19:08:11 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 14 Sep 2021 19:08:11 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Tue, 14 Sep 2021 19:08:11 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.177) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Tue, 14 Sep 2021 19:08:11 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HKN1cOCxs3Z24/6MhaeEEI9x5/88/LpFDeIpKAha7SsIqJYXp//8zRp+ETwa5F2emUeL5UyB9avnCNJIte0T43516w3vzyYk9UpbG5tlixE2amIhNaCJ5n4Gyi860196ltZkPCnvZErYtD9T1kckDbE56I2wv5lZraDNkdkLXsTPrdocJ0JO1ij+AUnRHClJTjds4kvdfcQXleCfUvghKBiqQPwrO1UrgUu1dC5r7Cogx5SSJiYONJs96oeALDjtyOBpH84upWu0KPSd3ob0+zQQvG8UCRUypOnDFq59wkfa5xof9UVEWXz8r4oIJWGe4lF2/N/lB7+qnc6hjWEOuw== 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; bh=PbLoj/6IIVTAzFIcc6V7O8nP/3hCiKDqe9+46uPiyFc=; b=S9mZaosfFSooc/IweEt7aJ09z5gePRp24Uaio1hg1ADNgFV8XG7Ds8eOmcE0VpO5ZlthLx/tvt8SHl/KoR/7jdOJfUIgXtmrywZB7DUvUVPkZ54HC/MJPMlYJipdryHthtWV75iYhadw+pYupRbX5R/YwZWA8EPuD0iXVv5sn0ybrXljpquGQ/hSvz4K1GCXe/MnsYiWFpddhUCT8hvj24o3WBDezrKn+jmw8vNSnk0296ANKpPratf94tqapcGwhbtrEpwSBiobZlG9Vb1PhTjSGu69Pe/rV9GQ602xH1N/reNR4RjzWHwcKiDnBHCpSjPNRicuq8ABKBlIhBGYmg== 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=PbLoj/6IIVTAzFIcc6V7O8nP/3hCiKDqe9+46uPiyFc=; b=PgI0ky7cI0ZxMoBIDFOMLHL9uZUR0M+YHNzmMJm5NCzHVfjLWwEeIGTJte9UwZc8hhmpZzdlEFWEhXXpKQGtm9tjkPJArlvwR27rJLvikwAdG4JCX3nsfyAuT7vBpySkk5b6cjk6lDUadP7AzIRJ4V9XzEHTroI3qG1gp7tLIN8= Received: from MWHPR1101MB2160.namprd11.prod.outlook.com (2603:10b6:301:5b::12) by CO1PR11MB5057.namprd11.prod.outlook.com (2603:10b6:303:6c::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4523.14; Wed, 15 Sep 2021 02:08:08 +0000 Received: from MWHPR1101MB2160.namprd11.prod.outlook.com ([fe80::f07d:7a97:3b68:92ed]) by MWHPR1101MB2160.namprd11.prod.outlook.com ([fe80::f07d:7a97:3b68:92ed%11]) with mapi id 15.20.4500.019; Wed, 15 Sep 2021 02:08:08 +0000 From: "Nate DeSimone" To: "mikuback@linux.microsoft.com" , "devel@edk2.groups.io" CC: "Chiu, Chasel" , Liming Gao , "Dong, Eric" , "Maddy, Daniel" , Michael Kubacki Subject: Re: [edk2-platforms][PATCH v1 1/1] MinPlatformPkg/AcpiTables: Update structures for ACPI 6.3 Thread-Topic: [edk2-platforms][PATCH v1 1/1] MinPlatformPkg/AcpiTables: Update structures for ACPI 6.3 Thread-Index: AQHXivzpbeEjt2wSmESbFPa0X7fyzquklJ2w Date: Wed, 15 Sep 2021 02:08:08 +0000 Message-ID: References: <20210806195356.372-1-mikuback@linux.microsoft.com> In-Reply-To: <20210806195356.372-1-mikuback@linux.microsoft.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: linux.microsoft.com; dkim=none (message not signed) header.d=none;linux.microsoft.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: db037599-84be-4897-8d9c-08d977eda9ad x-ms-traffictypediagnostic: CO1PR11MB5057: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 1pvJtwKrQfE4lec/rhgwJIsXCzwa/pZUYHmP19zRBvFTUu/rQwJ4rvwD9xZtZdJncvHJGpkmZK+htKMSr/sp+t0sjI0qfny4zd7cuMKXcuVBVG8kOEPIfDdbvgyvrlIzV9XQgcYC0b4+oCP2rzJ7u75CrxQU/Ke02mCJqvyySZSHTBCsZN8/H9JhxTSQHTz81JZFMllLn9AbsqVSkz+4/WaRepkWaMU/0B80FI4CSfCHaLdr2EWU5W1I6l7nbzCPp5zYMoXm/DNfSlmYOaaBp9hK0gcaiFRCykEb9vqPu4rjAWommBAMF+3scsiRtwAzTviNMN6p4NJ16d+U4E5+f3a157GxUe1z2WJELN+PHkg2Hajd6XRW/AhNfWQDRW61LTpv5ORs91IYC+3mC/glEGjJhK4Nxrnt8jQ6/S3a8H8bRxJaZdjpeSYIjBvv5MX369iUFqTBxxdv0aG2BjLPjhfKRrGdJ9Is8kcKFRm1wi81m1Y/tvvx/05IY6ml+TUsg5TxZISx0rteGnNiXOuiZ5DjHqpPNjl8uJcKGQJFgVgMSjICo8XSIZNAjNFScWXbk/+0KYSI2e+l3B3rpvGXDg3yAhOKAsPVe7kaoQxO2y0pudDQR5Lw+OXpxgPNEGay1m8PczvsEvuYtrvQPH/14B0HsOyCSjNdXFTFUx6RQz+QoJsfIc4PZs21rccXfG5Y1lvldslJJ1ZPfQJmfZxrb6yjh55EkZmsQiKm0gJ4AmTxFH28hY2/nInAlG2lkeVl/mOisVYnvwjPL+tGiC/GWJxvXXYTpe/C7//dk/xdXTEtAgwO7A6Qj8GT108K12XcjlW8j2l4+rJHvrbZf2UzWw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR1101MB2160.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(366004)(136003)(346002)(39860400002)(396003)(38100700002)(26005)(52536014)(478600001)(64756008)(15650500001)(122000001)(186003)(8936002)(53546011)(2906002)(45080400002)(30864003)(55016002)(4326008)(6506007)(76116006)(71200400001)(66446008)(86362001)(83380400001)(5660300002)(33656002)(7696005)(54906003)(66946007)(966005)(316002)(66556008)(66476007)(19627235002)(38070700005)(8676002)(9686003)(110136005)(559001)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?wgWJBxlPDuVTmtBSeLypAPVscR0IO9Q1NgiOJdOFJ4UcjeO6opBi8GAM68x5?= =?us-ascii?Q?zZB2MNZB/yKnuwTUaizExdBlEa1/FONmgvqVhNa9n6h7ovyTwnGlZDduNPxQ?= =?us-ascii?Q?epYC1N3unVCa4VYH34SDL+wKdsurDvaRFnanIqba98PkXetRJIX7LO8Lxsmt?= =?us-ascii?Q?GlZWm23sw1vmGNQf5uBjv3qHJsrsdjOPiqLhVYgNYA4u/5cE9zv/7S0XqEvZ?= =?us-ascii?Q?InkN/DncgWa7UVkVnYJxCiNQkD/3zUY1qkIh5HsA8vwASpTsNeM9JArtEJmS?= =?us-ascii?Q?95boERJPL+o4S8LXk810hLmXq2cS43LZmO+spNVT3j2/tOmDRAlExIfu1C/O?= =?us-ascii?Q?BelD7t70EpvoFjI7mbdEEHhEaCN6AZYL6mGgVs3NWXqc4WCWhDZmRioxnkWS?= =?us-ascii?Q?lEretOSzXixEZ/lO7IUZrvighPg6O+STc8nrR4opcEO2+EkfYwjT2HuJoGtT?= =?us-ascii?Q?S0FQCndkW/BCteFlNEUpcgLE822DvwvP8h+hMjHc0qcR4y0+LZOSYVzBKrSN?= =?us-ascii?Q?8ofqQ2sjirWy9Li6G193jQ4YiFxRFZLw/+r4cvEDqBRKSFj7Cd96tBavWt5D?= =?us-ascii?Q?yiI82DQC7b5t4zN1DUKsOxiw7avFzXg4joEWTEeo5AFVbMVCTl57lmEfbX0e?= =?us-ascii?Q?Qh+Yhv0S8w1DeC3SLt/i90DAao+QICUnZowUzYgUMrcyMrI1s6rVFTRmO6jH?= =?us-ascii?Q?q9zaZaSnrs4yegD0g8kQGj0BT13Rc+tebkC9GYa9/+Et8gQuUKBvgvh3yujX?= =?us-ascii?Q?mnIi11hEoC1yoH28VsblPyJ6qHXAfJ/qTaPhDno53UchR3jA3gi6nncEKY2M?= =?us-ascii?Q?TPvl1j2PhN2PQyR36YbkcvbnV7AiE5oDiA6BO6GFOYsAu2r58MLfkb96WgdD?= =?us-ascii?Q?MhbQRKQY/Alfs83x7jZs5JavCYdERPzAO4EbwKqxOnQ9wnBCql8FBCzLNaV1?= =?us-ascii?Q?LqQBNnAOZcshlgZuOAPNkPwyiuzodUUjybQUmWmuWO9RwfuMRiH5tSn330Zi?= =?us-ascii?Q?WBkCxnrzPw7gHU3LmtYtEKGPWl0WhCBC6yIxggZXUDV5P3ZSThevmX5hRBRu?= =?us-ascii?Q?aJpGycukfa7YzVSongtnToCm6+zyS/xgCP+TlgkHVGW66IWyCJV3H2nD2FYK?= =?us-ascii?Q?TnZFd34AxyqUM541Wnp+WtN2sEcDicUpCHPxcAtDG0WirWFw08X4klFHA6hx?= =?us-ascii?Q?0zAgXOzAYpDRIr0Gm8aNzn/n7HWhTslpDkgwiTSp07k0Rd5wzAc+54bMTv8x?= =?us-ascii?Q?gr+ayNlrKeeZW5H8hDLM1XZB2scg9+LdkKmt4+0LUHxAiO7Y75uN/AnZjRQk?= =?us-ascii?Q?6xKXqF5qpvSHfyfe/E/5zL8j?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR1101MB2160.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: db037599-84be-4897-8d9c-08d977eda9ad X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Sep 2021 02:08:08.6264 (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: 0ACAhxr2HKHD0WI82WmisIYoGVgR+pZEdaK2VtXTer4hYvwRLxmCv1ElzK8FPebY2r439Hct28f7AeTxMVdnPai4irm6M1Cbepozq1uQwDM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB5057 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 Hi Michael, I attempted to merge this patch, however the contents no longer apply. Ther= e was a refactor done to AcpiPlatform.c to eliminate the MAX_CPU_NUM macro: https://github.com/tianocore/edk2-platforms/commit/353f3ed966abc267c4e77b46= a3b5ab82a0a86488#diff-ae3eb6d7a13316e69709faeb1e624bc2f87ede0dba5148dc198d1= 09e1190e0bb After this refactor, there are several merge conflicts in this patch. Could= you please rebase to latest master branch and re-send the patch? Thanks, Nate=20 -----Original Message----- From: mikuback@linux.microsoft.com =20 Sent: Friday, August 6, 2021 12:54 PM To: devel@edk2.groups.io Cc: Chiu, Chasel ; Desimone, Nathaniel L ; Liming Gao ; Dong, Eric ; Maddy, Daniel ; Michael Kubacki = Subject: [edk2-platforms][PATCH v1 1/1] MinPlatformPkg/AcpiTables: Update s= tructures for ACPI 6.3 From: Daniel Maddy REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3D3535 Updates ACPI table structures in MinPlatformPkg for ACPI 6.3. Cc: Chasel Chiu Cc: Nate DeSimone Cc: Liming Gao Cc: Eric Dong Cc: Daniel Maddy Co-authored-by: Michael Kubacki Signed-off-by: Michael Kubacki --- Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c | 203 +++++++= +++---------- Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/Facs/Facs.c | 11 +- Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/Fadt/Fadt.c | 74 ++++--- 3 files changed, 150 insertions(+), 138 deletions(-) diff --git a/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c b= /Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c index 2b51c34ef2fd..5e3c4c0672f9 100644 --- a/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c +++ b/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c @@ -2,6 +2,7 @@ ACPI Platform Driver =20 Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
+Copyright (c) Microsoft Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ @@ -13,7 +14,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #pragma pac= k(1) =20 typedef struct { - UINT32 AcpiProcessorId; + UINT32 AcpiProcessorUid; UINT32 ApicId; UINT32 Flags; UINT32 SwProcApicId; @@ -27,9 +28,9 @@ typedef struct { // Define Union of IO APIC & Local APIC structure; // typedef union { - EFI_ACPI_4_0_PROCESSOR_LOCAL_APIC_STRUCTURE AcpiLocalApic; - EFI_ACPI_4_0_IO_APIC_STRUCTURE AcpiIoApic; - EFI_ACPI_4_0_PROCESSOR_LOCAL_X2APIC_STRUCTURE AcpiLocalx2Apic; + EFI_ACPI_6_3_PROCESSOR_LOCAL_APIC_STRUCTURE AcpiLocalApic; + EFI_ACPI_6_3_IO_APIC_STRUCTURE AcpiIoApic; + EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC_STRUCTURE AcpiLocalx2Apic; struct { UINT8 Type; UINT8 Length; @@ -38,9 +39,9 @@ typedef union { =20 #pragma pack() =20 -extern EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE Facs; -extern EFI_ACP= I_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt; -extern EFI_ACPI_HIGH_PRECISION_EV= ENT_TIMER_TABLE_HEADER Hpet; +extern EFI_ACPI_6_3_FIRMWARE_ACPI_CONTROL_STRUCTURE Facs; +extern EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE Fadt; +extern EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_HEADER Hpet; extern EFI_ACPI_WSMT_TABLE Wsmt; =20 VOID *mLocalTable[] =3D { @@ -217,7 +218,7 @@ DebugDisplayReOrderTable( DEBUG ((EFI_D_ERROR, "Index AcpiProcId ApicId Flags SwApicId Skt\n"= )); for (Index=3D0; IndexAcpiApicCommon.Type; - LocalApicPtr =3D (EFI_ACPI_4_0_PROCESSOR_LOCAL_APIC_STRUCTURE *)(&((ACPI= _APIC_STRUCTURE_PTR *)ApicPtr)->AcpiLocalApic); - LocalX2ApicPtr =3D (EFI_ACPI_4_0_PROCESSOR_LOCAL_X2APIC_STRUCTURE *)(&((= ACPI_APIC_STRUCTURE_PTR *)ApicPtr)->AcpiLocalx2Apic); + LocalApicPtr =3D (EFI_ACPI_6_3_PROCESSOR_LOCAL_APIC_STRUCTURE=20 + *)(&((ACPI_APIC_STRUCTURE_PTR *)ApicPtr)->AcpiLocalApic); =20 + LocalX2ApicPtr =3D (EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC_STRUCTURE=20 + *)(&((ACPI_APIC_STRUCTURE_PTR *)ApicPtr)->AcpiLocalx2Apic); =20 - if(Type =3D=3D EFI_ACPI_4_0_PROCESSOR_LOCAL_APIC) { + if(Type =3D=3D EFI_ACPI_6_3_PROCESSOR_LOCAL_APIC) { if(!mX2ApicEnabled) { - LocalApicPtr->Flags =3D (UINT8)mCpuApicIdOrderTable[LocalA= picCounter].Flags; - LocalApicPtr->ApicId =3D (UINT8)mCpuApicIdOrderTable[LocalA= picCounter].ApicId; - LocalApicPtr->AcpiProcessorId =3D (UINT8)mCpuApicIdOrderTable[LocalA= picCounter].AcpiProcessorId; + LocalApicPtr->Flags =3D (UINT8)mCpuApicIdOrderTable[Local= ApicCounter].Flags; + LocalApicPtr->ApicId =3D (UINT8)mCpuApicIdOrderTable[Local= ApicCounter].ApicId; + LocalApicPtr->AcpiProcessorUid =3D=20 + (UINT8)mCpuApicIdOrderTable[LocalApicCounter].AcpiProcessorUid; } else { - LocalApicPtr->Flags =3D 0; - LocalApicPtr->ApicId =3D 0xFF; - LocalApicPtr->AcpiProcessorId =3D (UINT8)0xFF; + LocalApicPtr->Flags =3D 0; + LocalApicPtr->ApicId =3D 0xFF; + LocalApicPtr->AcpiProcessorUid =3D (UINT8)0xFF; Status =3D EFI_UNSUPPORTED; } - } else if(Type =3D=3D EFI_ACPI_4_0_PROCESSOR_LOCAL_X2APIC) { + } else if(Type =3D=3D EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC) { if(mX2ApicEnabled) { LocalX2ApicPtr->Flags =3D (UINT8)mCpuApicIdOrderTable[Loc= alApicCounter].Flags; LocalX2ApicPtr->X2ApicId =3D mCpuApicIdOrderTable[LocalApicC= ounter].ApicId; - LocalX2ApicPtr->AcpiProcessorUid =3D mCpuApicIdOrderTable[LocalApicC= ounter].AcpiProcessorId; + LocalX2ApicPtr->AcpiProcessorUid =3D=20 + mCpuApicIdOrderTable[LocalApicCounter].AcpiProcessorUid; } else { LocalX2ApicPtr->Flags =3D 0; LocalX2ApicPtr->X2ApicId =3D (UINT32)-1; @@ -311,8 +312,8 @@ SortCpuLocalApicInTable ( CpuIdMapPtr->ApicId =3D (UINT32)ProcessorInfoBuffer.ProcessorId; CpuIdMapPtr->Flags =3D ((ProcessorInfoBuffer.StatusFlag & PROCES= SOR_ENABLED_BIT) !=3D 0); CpuIdMapPtr->SocketNum =3D (UINT32)ProcessorInfoBuffer.Location.Pa= ckage; - CpuIdMapPtr->AcpiProcessorId =3D (CpuIdMapPtr->SocketNum * FixedPc= dGet32(PcdMaxCpuCoreCount) * FixedPcdGet32(PcdMaxCpuThreadCount)) + GetInde= xFromApicId(CpuIdMapPtr->ApicId); //CpuIdMapPtr->ApicId; - CpuIdMapPtr->SwProcApicId =3D ((UINT32)(ProcessorInfoBuffer.Locati= on.Package << mNumOfBitShift) + (((UINT32)ProcessorInfoBuffer.ProcessorId) = & CoreThreadMask)); + CpuIdMapPtr->AcpiProcessorUid =3D (CpuIdMapPtr->SocketNum * FixedP= cdGet32(PcdMaxCpuCoreCount) * FixedPcdGet32(PcdMaxCpuThreadCount)) + GetInd= exFromApicId(CpuIdMapPtr->ApicId); //CpuIdMapPtr->ApicId; + CpuIdMapPtr->SwProcApicId =3D ((UINT32)(ProcessorInfoBuffer.Lo= cation.Package << mNumOfBitShift) + (((UINT32)ProcessorInfoBuffer.Processor= Id) & CoreThreadMask)); if(mX2ApicEnabled) { //if X2Apic, re-order the socket # so it star= ts from base 0 and contiguous //may not necessory!!!!! } @@ -321,18 +322,18 @@ SortCpuLocalApicInTable ( if (CpuIdMapPtr->Flags =3D=3D 1) { =20 if(mForceX2ApicId) { - CpuIdMapPtr->SocketNum &=3D 0x7; - CpuIdMapPtr->AcpiProcessorId &=3D 0xFF; //keep lower 8bit due = to use Proc obj in dsdt - CpuIdMapPtr->SwProcApicId &=3D 0xFF; + CpuIdMapPtr->SocketNum &=3D 0x7; + CpuIdMapPtr->AcpiProcessorUid &=3D 0xFF; //keep lower 8bit due= to use Proc obj in dsdt + CpuIdMapPtr->SwProcApicId &=3D 0xFF; } } } else { //not enabled - CpuIdMapPtr =3D (EFI_CPU_ID_ORDER_MAP *)&mCpuApicIdOrderTable[Inde= x]; - CpuIdMapPtr->ApicId =3D (UINT32)-1; - CpuIdMapPtr->Flags =3D 0; - CpuIdMapPtr->AcpiProcessorId =3D (UINT32)-1; - CpuIdMapPtr->SwProcApicId =3D (UINT32)-1; - CpuIdMapPtr->SocketNum =3D (UINT32)-1; + CpuIdMapPtr =3D (EFI_CPU_ID_ORDER_MAP *)&mCpuApi= cIdOrderTable[Index]; + CpuIdMapPtr->ApicId =3D (UINT32)-1; + CpuIdMapPtr->Flags =3D 0; + CpuIdMapPtr->AcpiProcessorUid =3D (UINT32)-1; + CpuIdMapPtr->SwProcApicId =3D (UINT32)-1; + CpuIdMapPtr->SocketNum =3D (UINT32)-1; } //end if PROC ENABLE } //end for CurrentProcessor =20 @@ -366,9 +367,9 @@ SortCpuLocalApicInTable ( mCpuApicIdOrderTable[Index].SwProcApicId =3D mCpuApicIdOrderTable[0]= .SwProcApicId; mCpuApicIdOrderTable[0].SwProcApicId =3D TempVal; //swap AcpiProcId - TempVal =3D mCpuApicIdOrderTable[Index].AcpiProcessorId; - mCpuApicIdOrderTable[Index].AcpiProcessorId =3D mCpuApicIdOrderTable= [0].AcpiProcessorId; - mCpuApicIdOrderTable[0].AcpiProcessorId =3D TempVal; + TempVal =3D mCpuApicIdOrderTable[Index].AcpiProcessorUid; + mCpuApicIdOrderTable[Index].AcpiProcessorUid =3D mCpuApicIdOrderTabl= e[0].AcpiProcessorUid; + mCpuApicIdOrderTable[0].AcpiProcessorUid =3D TempVal; =20 } =20 @@ -377,23 +378,23 @@ SortCpuLocalApicInTable ( =20 if(mCpuApicIdOrderTable[CurrProcessor].Flags =3D=3D 0) { //make sure disabled entry has ProcId set to FFs - mCpuApicIdOrderTable[CurrProcessor].ApicId =3D (UINT32)-1; - mCpuApicIdOrderTable[CurrProcessor].AcpiProcessorId =3D (UINT32)-1= ; - mCpuApicIdOrderTable[CurrProcessor].SwProcApicId =3D (UINT32)-1; + mCpuApicIdOrderTable[CurrProcessor].ApicId =3D (UINT32)-= 1; + mCpuApicIdOrderTable[CurrProcessor].AcpiProcessorUid =3D (UINT32)-= 1; + mCpuApicIdOrderTable[CurrProcessor].SwProcApicId =3D (UINT32)-= 1; =20 for(Index =3D CurrProcessor+1; Index < MAX_CPU_NUM; Index++) { if(mCpuApicIdOrderTable[Index].Flags =3D=3D 1) { //move enabled entry up - mCpuApicIdOrderTable[CurrProcessor].Flags =3D 1; - mCpuApicIdOrderTable[CurrProcessor].ApicId =3D mCpuApicIdOrder= Table[Index].ApicId; - mCpuApicIdOrderTable[CurrProcessor].AcpiProcessorId =3D mCpuAp= icIdOrderTable[Index].AcpiProcessorId; - mCpuApicIdOrderTable[CurrProcessor].SwProcApicId =3D mCpuApicI= dOrderTable[Index].SwProcApicId; - mCpuApicIdOrderTable[CurrProcessor].SocketNum =3D mCpuApicIdOr= derTable[Index].SocketNum; + mCpuApicIdOrderTable[CurrProcessor].Flags =3D 1; + mCpuApicIdOrderTable[CurrProcessor].ApicId =3D mCpuA= picIdOrderTable[Index].ApicId; + mCpuApicIdOrderTable[CurrProcessor].AcpiProcessorUid =3D mCpuA= picIdOrderTable[Index].AcpiProcessorUid; + mCpuApicIdOrderTable[CurrProcessor].SwProcApicId =3D mCpuA= picIdOrderTable[Index].SwProcApicId; + mCpuApicIdOrderTable[CurrProcessor].SocketNum =3D mCpuA= picIdOrderTable[Index].SocketNum; //disable moved entry - mCpuApicIdOrderTable[Index].Flags =3D 0; - mCpuApicIdOrderTable[Index].ApicId =3D (UINT32)-1; - mCpuApicIdOrderTable[Index].AcpiProcessorId =3D (UINT32)-1; - mCpuApicIdOrderTable[Index].SwProcApicId =3D (UINT32)-1; + mCpuApicIdOrderTable[Index].Flags =3D 0; + mCpuApicIdOrderTable[Index].ApicId =3D (UINT32)-1; + mCpuApicIdOrderTable[Index].AcpiProcessorUid =3D (UINT32)-1; + mCpuApicIdOrderTable[Index].SwProcApicId =3D (UINT32)-1; break; } } @@ -422,17 +423,17 @@ typedef struct { } STRUCTURE_HEADER; =20 STRUCTURE_HEADER mMadtStructureTable[] =3D { - {EFI_ACPI_4_0_PROCESSOR_LOCAL_APIC, sizeof (EFI_ACPI_4_0_PROCES= SOR_LOCAL_APIC_STRUCTURE)}, - {EFI_ACPI_4_0_IO_APIC, sizeof (EFI_ACPI_4_0_IO_API= C_STRUCTURE)}, - {EFI_ACPI_4_0_INTERRUPT_SOURCE_OVERRIDE, sizeof (EFI_ACPI_4_0_INTERR= UPT_SOURCE_OVERRIDE_STRUCTURE)}, - {EFI_ACPI_4_0_NON_MASKABLE_INTERRUPT_SOURCE, sizeof (EFI_ACPI_4_0_NON_MA= SKABLE_INTERRUPT_SOURCE_STRUCTURE)}, - {EFI_ACPI_4_0_LOCAL_APIC_NMI, sizeof (EFI_ACPI_4_0_LOCAL_= APIC_NMI_STRUCTURE)}, - {EFI_ACPI_4_0_LOCAL_APIC_ADDRESS_OVERRIDE, sizeof (EFI_ACPI_4_0_LOCAL_= APIC_ADDRESS_OVERRIDE_STRUCTURE)}, - {EFI_ACPI_4_0_IO_SAPIC, sizeof (EFI_ACPI_4_0_IO_SAP= IC_STRUCTURE)}, - {EFI_ACPI_4_0_LOCAL_SAPIC, sizeof (EFI_ACPI_4_0_PROCES= SOR_LOCAL_SAPIC_STRUCTURE)}, - {EFI_ACPI_4_0_PLATFORM_INTERRUPT_SOURCES, sizeof (EFI_ACPI_4_0_PLATFO= RM_INTERRUPT_SOURCES_STRUCTURE)}, - {EFI_ACPI_4_0_PROCESSOR_LOCAL_X2APIC, sizeof (EFI_ACPI_4_0_PROCES= SOR_LOCAL_X2APIC_STRUCTURE)}, - {EFI_ACPI_4_0_LOCAL_X2APIC_NMI, sizeof (EFI_ACPI_4_0_LOCAL_= X2APIC_NMI_STRUCTURE)} + {EFI_ACPI_6_3_PROCESSOR_LOCAL_APIC, sizeof (EFI_ACPI_6_3_PROCES= SOR_LOCAL_APIC_STRUCTURE)}, + {EFI_ACPI_6_3_IO_APIC, sizeof (EFI_ACPI_6_3_IO_API= C_STRUCTURE)}, + {EFI_ACPI_6_3_INTERRUPT_SOURCE_OVERRIDE, sizeof (EFI_ACPI_6_3_INTERR= UPT_SOURCE_OVERRIDE_STRUCTURE)}, + {EFI_ACPI_6_3_NON_MASKABLE_INTERRUPT_SOURCE, sizeof (EFI_ACPI_6_3_NON_MA= SKABLE_INTERRUPT_SOURCE_STRUCTURE)}, + {EFI_ACPI_6_3_LOCAL_APIC_NMI, sizeof (EFI_ACPI_6_3_LOCAL_= APIC_NMI_STRUCTURE)}, + {EFI_ACPI_6_3_LOCAL_APIC_ADDRESS_OVERRIDE, sizeof (EFI_ACPI_6_3_LOCAL_= APIC_ADDRESS_OVERRIDE_STRUCTURE)}, + {EFI_ACPI_6_3_IO_SAPIC, sizeof (EFI_ACPI_6_3_IO_SAP= IC_STRUCTURE)}, + {EFI_ACPI_6_3_LOCAL_SAPIC, sizeof (EFI_ACPI_6_3_PROCES= SOR_LOCAL_SAPIC_STRUCTURE)}, + {EFI_ACPI_6_3_PLATFORM_INTERRUPT_SOURCES, sizeof (EFI_ACPI_6_3_PLATFO= RM_INTERRUPT_SOURCES_STRUCTURE)}, + {EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC, sizeof (EFI_ACPI_6_3_PROCES= SOR_LOCAL_X2APIC_STRUCTURE)}, + {EFI_ACPI_6_3_LOCAL_X2APIC_NMI, sizeof (EFI_ACPI_6_3_LOCAL_= X2APIC_NMI_STRUCTURE)} }; =20 /** @@ -591,7 +592,7 @@ InitializeHeader ( **/ EFI_STATUS InitializeMadtHeader ( - IN OUT EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER *MadtHeader + IN OUT EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER=20 + *MadtHeader ) { EFI_STATUS Status; @@ -603,8 +604,8 @@ InitializeMadtHeader ( =20 Status =3D InitializeHeader ( &MadtHeader->Header, - EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE, - EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION, + EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE, + EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION, 0 ); if (EFI_ERROR (Status)) { @@ -612,7 +613,7 @@ InitializeMadtHeader ( } =20 MadtHeader->LocalApicAddress =3D PcdGet32(PcdLocalApicAddress); - MadtHeader->Flags =3D EFI_ACPI_4_0_PCAT_COMPAT; + MadtHeader->Flags =3D EFI_ACPI_6_3_PCAT_COMPAT; =20 return EFI_SUCCESS; } @@ -649,7 +650,7 @@ CopyStructure ( // // Initialize the number of table entries and the table based on the tab= le header passed in. // - if (Header->Signature =3D=3D EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_TABL= E_SIGNATURE) { + if (Header->Signature =3D=3D=20 + EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE) { TableNumEntries =3D sizeof (mMadtStructureTable) / sizeof (STRUCTURE_H= EADER); StructureTable =3D mMadtStructureTable; } else { @@ -759,7 +760,7 @@ BuildAcpiTable ( return EFI_INVALID_PARAMETER; } =20 - if (AcpiHeader->Signature !=3D EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_TA= BLE_SIGNATURE) { + if (AcpiHeader->Signature !=3D=20 + EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE) { DEBUG (( DEBUG_ERROR, "MADT header signature is expected, actually 0x%08x\n", @@ -850,15 += 851,15 @@ InstallMadtFromScratch ( { EFI_STATUS Status; UINTN Index; - EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER *NewMadtTable; + EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER *NewMadtTable; UINTN TableHandle; - EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER MadtTableHeader; - EFI_ACPI_4_0_PROCESSOR_LOCAL_APIC_STRUCTURE ProcLocalApicStruct; - EFI_ACPI_4_0_IO_APIC_STRUCTURE IoApicStruct; - EFI_ACPI_4_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE IntSrcOverrideStruct= ; - EFI_ACPI_4_0_LOCAL_APIC_NMI_STRUCTURE LocalApciNmiStruct; - EFI_ACPI_4_0_PROCESSOR_LOCAL_X2APIC_STRUCTURE ProcLocalX2ApicStruc= t; - EFI_ACPI_4_0_LOCAL_X2APIC_NMI_STRUCTURE LocalX2ApicNmiStruct= ; + EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER MadtTableHeader; + EFI_ACPI_6_3_PROCESSOR_LOCAL_APIC_STRUCTURE ProcLocalApicStruct; + EFI_ACPI_6_3_IO_APIC_STRUCTURE IoApicStruct; + EFI_ACPI_6_3_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE IntSrcOverrideStruct= ; + EFI_ACPI_6_3_LOCAL_APIC_NMI_STRUCTURE LocalApciNmiStruct; + EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC_STRUCTURE ProcLocalX2ApicStruc= t; + EFI_ACPI_6_3_LOCAL_X2APIC_NMI_STRUCTURE LocalX2ApicNmiStruct= ; STRUCTURE_HEADER **MadtStructs; UINTN MaxMadtStructCount; UINTN MadtStructsIndex; @@ -915,11 +916,11 @@ InstallMadtFromScratch ( // // Build Processor Local APIC Structures and Processor Local X2APIC Stru= ctures // - ProcLocalApicStruct.Type =3D EFI_ACPI_4_0_PROCESSOR_LOCAL_APIC; - ProcLocalApicStruct.Length =3D sizeof (EFI_ACPI_4_0_PROCESSOR_LOCAL_APIC= _STRUCTURE); + ProcLocalApicStruct.Type =3D EFI_ACPI_6_3_PROCESSOR_LOCAL_APIC; + ProcLocalApicStruct.Length =3D sizeof=20 + (EFI_ACPI_6_3_PROCESSOR_LOCAL_APIC_STRUCTURE); =20 - ProcLocalX2ApicStruct.Type =3D EFI_ACPI_4_0_PROCESSOR_LOCAL_X2APIC; - ProcLocalX2ApicStruct.Length =3D sizeof (EFI_ACPI_4_0_PROCESSOR_LOCAL_X2= APIC_STRUCTURE); + ProcLocalX2ApicStruct.Type =3D EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC; + ProcLocalX2ApicStruct.Length =3D sizeof=20 + (EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC_STRUCTURE); ProcLocalX2ApicStruct.Reserved[0] =3D 0; ProcLocalX2ApicStruct.Reserved[1] =3D 0; =20 @@ -930,9 +931,9 @@ InstallMadtFromScratch ( // use a processor local x2APIC structure. // if (!mX2ApicEnabled && mCpuApicIdOrderTable[Index].ApicId < MAX_UINT8)= { - ProcLocalApicStruct.Flags =3D (UINT8) mCpuApicIdOrderTable= [Index].Flags; - ProcLocalApicStruct.ApicId =3D (UINT8) mCpuApicIdOrderTable= [Index].ApicId; - ProcLocalApicStruct.AcpiProcessorId =3D (UINT8) mCpuApicIdOrderTable= [Index].AcpiProcessorId; + ProcLocalApicStruct.Flags =3D (UINT8) mCpuApicIdOrderTabl= e[Index].Flags; + ProcLocalApicStruct.ApicId =3D (UINT8) mCpuApicIdOrderTabl= e[Index].ApicId; + ProcLocalApicStruct.AcpiProcessorUid =3D (UINT8)=20 + mCpuApicIdOrderTable[Index].AcpiProcessorUid; =20 ASSERT (MadtStructsIndex < MaxMadtStructCount); Status =3D CopyStructure ( @@ -943,7 +944,7 @@ InstallMadtFromScratch ( } else if (mCpuApicIdOrderTable[Index].ApicId !=3D 0xFFFFFFFF) { ProcLocalX2ApicStruct.Flags =3D (UINT8) mCpuApicIdOrderTa= ble[Index].Flags; ProcLocalX2ApicStruct.X2ApicId =3D mCpuApicIdOrderTable[Inde= x].ApicId; - ProcLocalX2ApicStruct.AcpiProcessorUid =3D mCpuApicIdOrderTable[Inde= x].AcpiProcessorId; + ProcLocalX2ApicStruct.AcpiProcessorUid =3D=20 + mCpuApicIdOrderTable[Index].AcpiProcessorUid; =20 ASSERT (MadtStructsIndex < MaxMadtStructCount); Status =3D CopyStructure ( @@ -961,8 +962,8 @@ InstallMadtFromScratch ( // // Build I/O APIC Structures // - IoApicStruct.Type =3D EFI_ACPI_4_0_IO_APIC; - IoApicStruct.Length =3D sizeof (EFI_ACPI_4_0_IO_APIC_STRUCTURE); + IoApicStruct.Type =3D EFI_ACPI_6_3_IO_APIC; IoApicStruct.Length =3D=20 + sizeof (EFI_ACPI_6_3_IO_APIC_STRUCTURE); IoApicStruct.Reserved =3D 0; =20 PcIoApicEnable =3D PcdGet32(PcdPcIoApicEnable); @@ -1008,8 +1009,8 @@ In= stallMadtFromScratch ( // // Build Interrupt Source Override Structures // - IntSrcOverrideStruct.Type =3D EFI_ACPI_4_0_INTERRUPT_SOURCE_OVERRIDE; - IntSrcOverrideStruct.Length =3D sizeof (EFI_ACPI_4_0_INTERRUPT_SOURCE_OV= ERRIDE_STRUCTURE); + IntSrcOverrideStruct.Type =3D EFI_ACPI_6_3_INTERRUPT_SOURCE_OVERRIDE; + IntSrcOverrideStruct.Length =3D sizeof=20 + (EFI_ACPI_6_3_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE); =20 // // IRQ0=3D>IRQ2 Interrupt Source Override Structure @@ -1052,11 +1053,11= @@ InstallMadtFromScratch ( // // Build Local APIC NMI Structures // - LocalApciNmiStruct.Type =3D EFI_ACPI_4_0_LOCAL_APIC_NMI; - LocalApciNmiStruct.Length =3D sizeof (EFI_ACPI_4_0_LOCAL_APIC_NMI_STRUCT= URE); - LocalApciNmiStruct.AcpiProcessorId =3D 0xFF; // Applies to all proc= essors - LocalApciNmiStruct.Flags =3D 0x0005; // Flags - Edge-tigger= ed, Active High - LocalApciNmiStruct.LocalApicLint =3D 0x1; + LocalApciNmiStruct.Type =3D EFI_ACPI_6_3_LOCAL_APIC_NMI; + LocalApciNmiStruct.Length =3D sizeof (EFI_ACPI_6_3_LOCAL_APIC_NMI_STRUCT= URE); + LocalApciNmiStruct.AcpiProcessorUid =3D 0xFF; // Applies to all pro= cessors + LocalApciNmiStruct.Flags =3D 0x0005; // Flags - Edge-tigge= red, Active High + LocalApciNmiStruct.LocalApicLint =3D 0x1; =20 ASSERT (MadtStructsIndex < MaxMadtStructCount); Status =3D CopyStructure ( @@ -1073,8 +1074,8 @@ InstallMadtFromScratch ( // Build Local x2APIC NMI Structure // if (mX2ApicEnabled) { - LocalX2ApicNmiStruct.Type =3D EFI_ACPI_4_0_LOCAL_X2APIC_NMI; - LocalX2ApicNmiStruct.Length =3D sizeof (EFI_ACPI_4_0_LOCAL_X2APIC_NMI_= STRUCTURE); + LocalX2ApicNmiStruct.Type =3D EFI_ACPI_6_3_LOCAL_X2APIC_NMI; + LocalX2ApicNmiStruct.Length =3D sizeof=20 + (EFI_ACPI_6_3_LOCAL_X2APIC_NMI_STRUCTURE); LocalX2ApicNmiStruct.Flags =3D 0x000D; // Flags - Leve= l-tiggered, Active High LocalX2ApicNmiStruct.AcpiProcessorUid =3D 0xFFFFFFFF; // Applies to a= ll processors LocalX2ApicNmiStruct.LocalX2ApicLint =3D 0x01; @@ -1099,7 +1100,7 @@ = InstallMadtFromScratch ( // Status =3D BuildAcpiTable ( (EFI_ACPI_DESCRIPTION_HEADER *) &MadtTableHeader, - sizeof (EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER), + sizeof (EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER), MadtStructs, MadtStructsIndex, (UINT8 **)&NewMadtTable @@ -1222,7 +1223,7 @@ PlatformUpdateTables ( EFI_ACPI_DESCRIPTION_HEADER *TableHeader; UINT8 *TempOemId; UINT64 TempOemTableId; - EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE *FadtHeader; + EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE *FadtHeader; EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_HEADER *HpetTable; UINT32 HpetBaseAddress; EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_BLOCK_ID HpetBlockId; @@ -1279,12 +1280,12 @@ PlatformUpdateTables ( // switch (Table->Signature) { =20 - case EFI_ACPI_4_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE: + case EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE: ASSERT(FALSE); break; =20 - case EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE: - FadtHeader =3D (EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE *) Table; + case EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE: + FadtHeader =3D (EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE *) Table; =20 FadtHeader->PreferredPmProfile =3D PcdGet8 (PcdFadtPreferredPmProfile)= ; FadtHeader->IaPcBootArch =3D PcdGet16 (PcdFadtIaPcBootArch); @@ -1329,7 +1330,7 @@ PlatformUpdateTables ( DEBUG(( EFI_D_ERROR, " Flags 0x%x\n", FadtHeader->Flags )); break; =20 - case EFI_ACPI_3_0_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE: + case EFI_ACPI_6_3_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE: HpetTable =3D (EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_HEADER *)Tabl= e; HpetBaseAddress =3D PcdGet32 (PcdHpetBaseAddress); HpetTable->BaseAddressLower32Bit.Address =3D HpetBaseAddress; @@ -1381= ,8 +1382,8 @@ IsHardwareChange ( UINTN HWChangeSize; UINT32 PciId; UINTN Handle; - EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE *FacsPtr; - EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE *pFADT; + EFI_ACPI_6_3_FIRMWARE_ACPI_CONTROL_STRUCTURE *FacsPtr; + EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE *pFADT; =20 HandleCount =3D 0; HandleBuffer =3D NULL; @@ -1428,7 +1429,7 @@ IsHardwareChange ( // Handle =3D 0; Status =3D LocateAcpiTableBySignature ( - EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE, + EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE, (EFI_ACPI_DESCRIPTION_HEADER **) &pFADT, &Handle ); @@ -1450,7 +1451,7 @@ IsHardwareChange ( // // Set HardwareSignature value based on CRC value. // - FacsPtr =3D (EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE *)(UINTN)pFADT= ->FirmwareCtrl; + FacsPtr =3D (EFI_ACPI_6_3_FIRMWARE_ACPI_CONTROL_STRUCTURE=20 + *)(UINTN)pFADT->FirmwareCtrl; FacsPtr->HardwareSignature =3D CRC; FreePool( HWChange ); } diff --git a/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/Facs/Facs.c b/Pl= atform/Intel/MinPlatformPkg/Acpi/AcpiTables/Facs/Facs.c index cde6e478c6b9..8700c44e633d 100644 --- a/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/Facs/Facs.c +++ b/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/Facs/Facs.c @@ -1,9 +1,10 @@ /** @file - This file contains a structure definition for the ACPI 5.0 Firmware ACPI + This file contains a structure definition for the ACPI 6.3 Firmware=20 + ACPI Control Structure (FACS). The contents of this file should only be modi= fied for bug fixes, no porting is required. =20 Copyright (c) 2017, Intel Corporation. All rights reserved.
+Copyright (c) Microsoft Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ @@ -35,9 +36,9 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // Please m= odify all values in Facs.h only. // =20 -EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE Facs =3D { - EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE, - sizeof (EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE), +EFI_ACPI_6_3_FIRMWARE_ACPI_CONTROL_STRUCTURE Facs =3D { + EFI_ACPI_6_3_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE, + sizeof (EFI_ACPI_6_3_FIRMWARE_ACPI_CONTROL_STRUCTURE), =20 // // Hardware Signature will be updated at runtime @@ -48,7 +49,7 @@ EFI_A= CPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE Facs =3D { EFI_ACPI_GLOBAL_LOCK, EFI_ACPI_FIRMWARE_CONTROL_STRUCTURE_FLAGS, EFI_ACPI_X_FIRMWARE_WAKING_VECTOR, - EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION, + EFI_ACPI_6_3_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION, { EFI_ACPI_RESERVED_BYTE, EFI_ACPI_RESERVED_BYTE, diff --git a/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/Fadt/Fadt.c b/Pl= atform/Intel/MinPlatformPkg/Acpi/AcpiTables/Fadt/Fadt.c index 6efb38cda40d..38e767856de7 100644 --- a/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/Fadt/Fadt.c +++ b/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/Fadt/Fadt.c @@ -1,9 +1,10 @@ /** @file - This file contains a structure definition for the ACPI 5.0 Fixed ACPI + This file contains a structure definition for the ACPI 6.3 Fixed ACPI Description Table (FADT). The contents of this file should only be modi= fied for bug fixes, no porting is required. =20 Copyright (c) 2017, Intel Corporation. All rights reserved.
+Copyright (c) Microsoft Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ @@ -47,6 +48,12 @@ SPDX-License-Identifier: BSD-2-Clause-Patent =20 #define EFI_ACPI_IAPC_BOOT_ARCH 0 // To be fixed =20 +// +// ARM Boot Architecture Flags +// + +#define EFI_ACPI_ARM_BOOT_ARCH 0 // To be fixed + // // Fixed Feature Flags // @@ -55,7 +62,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // // PM1A= Event Register Block Generic Address Information // -#define EFI_ACPI_PM1= A_EVT_BLK_ADDRESS_SPACE_ID EFI_ACPI_2_0_SYSTEM_IO +#define EFI_ACPI_PM1A_EVT_BLK_ADDRESS_SPACE_ID EFI_ACPI_6_3_SYSTEM_IO #define EFI_ACPI_PM1A_EVT_BLK_BIT_WIDTH 0x20 #define EFI_ACPI_PM1A_EVT_BLK_BIT_OFFSET 0x00 #define EFI_ACPI_PM1A_EVT_BLK_ADDRESS 0 // To be fixed @@ -63,7 +70,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // // PM1B= Event Register Block Generic Address Information // -#define EFI_ACPI_PM1= B_EVT_BLK_ADDRESS_SPACE_ID EFI_ACPI_2_0_SYSTEM_IO +#define EFI_ACPI_PM1B_EVT_BLK_ADDRESS_SPACE_ID EFI_ACPI_6_3_SYSTEM_IO #define EFI_ACPI_PM1B_EVT_BLK_BIT_WIDTH 0x00 #define EFI_ACPI_PM1B_EVT_BLK_BIT_OFFSET 0x00 #define EFI_ACPI_PM1B_EVT_BLK_ADDRESS 0 // To be fixed @@ -71,7 +78,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // // PM1A= Control Register Block Generic Address Information // -#define EFI_ACPI_P= M1A_CNT_BLK_ADDRESS_SPACE_ID EFI_ACPI_2_0_SYSTEM_IO +#define EFI_ACPI_PM1A_CNT_BLK_ADDRESS_SPACE_ID EFI_ACPI_6_3_SYSTEM_IO #define EFI_ACPI_PM1A_CNT_BLK_BIT_WIDTH 0x10 #define EFI_ACPI_PM1A_CNT_BLK_BIT_OFFSET 0x00 #define EFI_ACPI_PM1A_CNT_BLK_ADDRESS 0 // To be fixed @@ -79,7 +86,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // // PM1B= Control Register Block Generic Address Information // -#define EFI_ACPI_P= M1B_CNT_BLK_ADDRESS_SPACE_ID EFI_ACPI_2_0_SYSTEM_IO +#define EFI_ACPI_PM1B_CNT_BLK_ADDRESS_SPACE_ID EFI_ACPI_6_3_SYSTEM_IO #define EFI_ACPI_PM1B_CNT_BLK_BIT_WIDTH 0x00 #define EFI_ACPI_PM1B_CNT_BLK_BIT_OFFSET 0x00 #define EFI_ACPI_PM1B_CNT_BLK_ADDRESS 0 // To be fixed @@ -87,7 +94,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // // PM2 = Control Register Block Generic Address Information // -#define EFI_ACPI_PM= 2_CNT_BLK_ADDRESS_SPACE_ID EFI_ACPI_2_0_SYSTEM_IO +#define EFI_ACPI_PM2_CNT_BLK_ADDRESS_SPACE_ID EFI_ACPI_6_3_SYSTEM_IO #define EFI_ACPI_PM2_CNT_BLK_BIT_WIDTH 0x08 #define EFI_ACPI_PM2_CNT_BLK_BIT_OFFSET 0x00 #define EFI_ACPI_PM2_CNT_BLK_ADDRESS 0 // To be fixed @@ -96,7 +103,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // Power M= anagement Timer Control Register Block Generic Address // Information // = -#define EFI_ACPI_PM_TMR_BLK_ADDRESS_SPACE_ID EFI_ACPI_2_0_SYSTEM_IO +#define EFI_ACPI_PM_TMR_BLK_ADDRESS_SPACE_ID EFI_ACPI_6_3_SYSTEM_IO #define EFI_ACPI_PM_TMR_BLK_BIT_WIDTH 0x20 #define EFI_ACPI_PM_TMR_BLK_BIT_OFFSET 0x00 #define EFI_ACPI_PM_TMR_BLK_ADDRESS 0 // To be fixed @@ -105,7 +112,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // Genera= l Purpose Event 0 Register Block Generic Address // Information // -#defi= ne EFI_ACPI_GPE0_BLK_ADDRESS_SPACE_ID EFI_ACPI_2_0_SYSTEM_IO +#define EFI_ACPI_GPE0_BLK_ADDRESS_SPACE_ID EFI_ACPI_6_3_SYSTEM_IO #define EFI_ACPI_GPE0_BLK_BIT_WIDTH 0 // size of R_PCH_ACPI_GPE0_= STS_127_96 + R_PCH_ACPI_GPE0_EN_127_96 #define EFI_ACPI_GPE0_BLK_BIT_OFFSET 0x00 #define EFI_ACPI_GPE0_BLK_ADDRESS 0 // To be fixed @@ -114,14 +121,14 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // Gene= ral Purpose Event 1 Register Block Generic Address // Information // -#de= fine EFI_ACPI_GPE1_BLK_ADDRESS_SPACE_ID EFI_ACPI_2_0_SYSTEM_IO +#define EFI_ACPI_GPE1_BLK_ADDRESS_SPACE_ID EFI_ACPI_6_3_SYSTEM_IO #define EFI_ACPI_GPE1_BLK_BIT_WIDTH 0x0 #define EFI_ACPI_GPE1_BLK_BIT_OFFSET 0x0 #define EFI_ACPI_GPE1_BLK_ADDRESS 0 // To be fixed // // Reset Register Generic Address Information // -#define EFI_ACPI_RESET_= REG_ADDRESS_SPACE_ID EFI_ACPI_2_0_SYSTEM_IO +#define EFI_ACPI_RESET_REG_ADDRESS_SPACE_ID EFI_ACPI_6_3_SYSTEM_IO #define EFI_ACPI_RESET_REG_BIT_WIDTH 0x08 #define EFI_ACPI_RESET_REG_BIT_OFFSET 0x00 #define EFI_ACPI_RESET_REG_ADDRESS 0x00000CF9 @@ -162,11 +169,11 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // Plea= se modify all values in Fadt.h only. // =20 -EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { +EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { { - EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE, - sizeof (EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE), - EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION, + EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE, + sizeof (EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE), + EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_REVISION, =20 // // Checksum will be updated at runtime @@ -187,9 +194,9 @@ EFI_ACPI_5_= 0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { // // These addresses will be updated at runtime // - 0x00000000,=20 0x00000000, - =20 + 0x00000000, + EFI_ACPI_RESERVED_BYTE, EFI_ACPI_PREFERRED_PM_PROFILE, EFI_ACPI_SCI_INT, @@ -198,7 +205,7 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { EFI_ACPI_ACPI_DISABLE, EFI_ACPI_S4_BIOS_REQ, EFI_ACPI_PSTATE_CNT, - =20 + EFI_ACPI_PM1A_EVT_BLK_ADDRESS, EFI_ACPI_PM1B_EVT_BLK_ADDRESS, EFI_ACPI_PM1A_CNT_BLK_ADDRESS, @@ -240,15 +247,13 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { EFI_ACPI_RESET_REG_ADDRESS_SPACE_ID, EFI_ACPI_RESET_REG_BIT_WIDTH, EFI_ACPI_RESET_REG_BIT_OFFSET, - EFI_ACPI_5_0_BYTE, + EFI_ACPI_6_3_BYTE, EFI_ACPI_RESET_REG_ADDRESS }, EFI_ACPI_RESET_VALUE, - { - EFI_ACPI_RESERVED_BYTE, - EFI_ACPI_RESERVED_BYTE, - EFI_ACPI_RESERVED_BYTE - }, + + EFI_ACPI_ARM_BOOT_ARCH, + EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION, =20 // // These addresses will be updated at runtime @@ -263,7 +268,7 @@ EFI_AC= PI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { EFI_ACPI_PM1A_EVT_BLK_ADDRESS_SPACE_ID, EFI_ACPI_PM1A_EVT_BLK_BIT_WIDTH, EFI_ACPI_PM1A_EVT_BLK_BIT_OFFSET, - EFI_ACPI_5_0_WORD, + EFI_ACPI_6_3_WORD, EFI_ACPI_PM1A_EVT_BLK_ADDRESS }, { @@ -273,7 +278,7 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { EFI_ACPI_PM1B_EVT_BLK_ADDRESS_SPACE_ID, EFI_ACPI_PM1B_EVT_BLK_BIT_WIDTH, EFI_ACPI_PM1B_EVT_BLK_BIT_OFFSET, - EFI_ACPI_5_0_WORD, + EFI_ACPI_6_3_WORD, EFI_ACPI_PM1B_EVT_BLK_ADDRESS }, { @@ -283,7 +288,7 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { EFI_ACPI_PM1A_CNT_BLK_ADDRESS_SPACE_ID, EFI_ACPI_PM1A_CNT_BLK_BIT_WIDTH, EFI_ACPI_PM1A_CNT_BLK_BIT_OFFSET, - EFI_ACPI_5_0_WORD, + EFI_ACPI_6_3_WORD, EFI_ACPI_PM1A_CNT_BLK_ADDRESS }, { @@ -293,7 +298,7 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { EFI_ACPI_PM1B_CNT_BLK_ADDRESS_SPACE_ID, EFI_ACPI_PM1B_CNT_BLK_BIT_WIDTH, EFI_ACPI_PM1B_CNT_BLK_BIT_OFFSET, - EFI_ACPI_5_0_WORD, + EFI_ACPI_6_3_WORD, EFI_ACPI_PM1B_CNT_BLK_ADDRESS }, { @@ -303,7 +308,7 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { EFI_ACPI_PM2_CNT_BLK_ADDRESS_SPACE_ID, EFI_ACPI_PM2_CNT_BLK_BIT_WIDTH, EFI_ACPI_PM2_CNT_BLK_BIT_OFFSET, - EFI_ACPI_5_0_BYTE, + EFI_ACPI_6_3_BYTE, EFI_ACPI_PM2_CNT_BLK_ADDRESS }, { @@ -313,7 +318,7 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { EFI_ACPI_PM_TMR_BLK_ADDRESS_SPACE_ID, EFI_ACPI_PM_TMR_BLK_BIT_WIDTH, EFI_ACPI_PM_TMR_BLK_BIT_OFFSET, - EFI_ACPI_5_0_DWORD, + EFI_ACPI_6_3_DWORD, EFI_ACPI_PM_TMR_BLK_ADDRESS }, { @@ -323,7 +328,7 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { EFI_ACPI_GPE0_BLK_ADDRESS_SPACE_ID, EFI_ACPI_GPE0_BLK_BIT_WIDTH, EFI_ACPI_GPE0_BLK_BIT_OFFSET, - EFI_ACPI_5_0_BYTE, + EFI_ACPI_6_3_BYTE, EFI_ACPI_GPE0_BLK_ADDRESS }, { @@ -333,7 +338,7 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { EFI_ACPI_GPE1_BLK_ADDRESS_SPACE_ID, EFI_ACPI_GPE1_BLK_BIT_WIDTH, EFI_ACPI_GPE1_BLK_BIT_OFFSET, - EFI_ACPI_5_0_BYTE, + EFI_ACPI_6_3_BYTE, EFI_ACPI_GPE1_BLK_ADDRESS }, { @@ -355,5 +360,10 @@ EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE Fadt =3D { 0, 0, 0 - } + }, + + // + // Hypervisor Vendor Identity + // + 0x0000000000000000, }; -- 2.28.0.windows.1