From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web10.11703.1682654094234021795 for ; Thu, 27 Apr 2023 20:54:54 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=Hp4ovR+0; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: ray.ni@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1682654094; x=1714190094; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=s8CgXlw/rABkbSzVx+Fjm7wRlEyOqKcAjRoYwserDYg=; b=Hp4ovR+06OeGYAmO+yCoh3Sq0dDUCGwodYAyFfGhzT8E+F6T4vImix7n wvsaXCJ7C+IKWYCZhNfaoa/NSOvUk232HkPKVZ69aomrD0mehj1Bq3Yqj uuGEsiMRziZymPQdpBKAiXUF//aXCcSfpF1vtP4r/1NF7xQmAia5UCLj/ ze9STy2YmPBKXxvND+3+aADnpwpYrKaK/PfNDQ+dt4AfHCiwZ5D0rO2Va qC3oeS/L1dp3iq6UceZuyBGxygEn3JmhZsAFz/feoxTV7SpciQhqi5eUv /3bRq15m21tm+Rs3TBhFOPzywuH9q+lL2vmZFr+VkcX1DIIsfMbA0E3xx g==; X-IronPort-AV: E=McAfee;i="6600,9927,10693"; a="346399636" X-IronPort-AV: E=Sophos;i="5.99,233,1677571200"; d="scan'208";a="346399636" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Apr 2023 20:54:45 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10693"; a="688668143" X-IronPort-AV: E=Sophos;i="5.99,233,1677571200"; d="scan'208";a="688668143" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga007.jf.intel.com with ESMTP; 27 Apr 2023 20:54:45 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Thu, 27 Apr 2023 20:54:45 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Thu, 27 Apr 2023 20:54:45 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.168) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Thu, 27 Apr 2023 20:54:44 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NqiIBIhX0z9Ar5VZ+XDITAjgUBvT4H6Chi7A78yr1y6RM5yB/B0D2iaBQjhla5nvspEeYVfvC+sSfPe1dXsg3yuZTOeGd893d5kNfs0wUUmfBbELb/hZpmolqGXLH7NK6uAe5mTJ9rluorCEu7zXMGk/3u5KHrgPvz+gp2mhWizfU+7Hi7tfcYJ/p8OLj3qyM1UPqZSZFREx1iRMNhuc8qQQ4JXmTgTpTxYRh7hFua+01vvrxdswzrd/dUgYR70pQTLBbS2j7zKqIIU0enh1+3Erk2oGV50SALOw2Run69E1eBurr3i9KWEV2u9TI7tVXetE8T9ADc5wggB+XCq2kw== 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=nz2JdJ/c7wrX2aKnoWygz+6ZHxCahgZVUZwanxIcnvc=; b=fZpG+odtcE1/0tfxs88ay+HuZVEEqA3/IUffihg4pvK2hsSdgt5nzTYKrgNQ9CyaLA6q9hUS/47I4rU+itaYuGTNUQsc6xOC6Yh8ajtEYo+MYyjtgS/vRC+L3OFTkYQ79W0dvfeyGKM9a2QIQVua/jpP4IpTZjBpCRgNzFzutEHiB8c1fjeCcB93UlW52dw8MtTqKyt5IPaFTtl+kE6cWpgXcFPLhxirYRJkX7qe3ZJmvk/7+WOrtRwRk6D7DxXieYaAsoI4gDsrMVz2kjdi9CN7FVYWXcQIdXkxIUFRwz1igfB6HVX8d7MwAI8IF4eH5Lt59rQfNIIAlwLv4acUXQ== 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 Received: from MN6PR11MB8244.namprd11.prod.outlook.com (2603:10b6:208:470::14) by CH0PR11MB5563.namprd11.prod.outlook.com (2603:10b6:610:d6::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.33; Fri, 28 Apr 2023 03:54:42 +0000 Received: from MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::892b:b8e6:bab7:635d]) by MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::892b:b8e6:bab7:635d%5]) with mapi id 15.20.6340.023; Fri, 28 Apr 2023 03:54:42 +0000 From: "Ni, Ray" To: "Ke, VincentX" , "devel@edk2.groups.io" CC: "Chiu, Chasel" , "Desimone, Nathaniel L" , "Oram, Isaac W" , "Gao, Liming" , "Dong, Eric" Subject: Re: [edk2-devel] [PATCH v3] MinPlatformPkg: Update HWSignature filed in FADT Thread-Topic: [edk2-devel] [PATCH v3] MinPlatformPkg: Update HWSignature filed in FADT Thread-Index: AQHZeX0qP4YvpiUeA0Wpu4LZ1vxPNq9ACZqwgAAG2YCAAAGeMA== Date: Fri, 28 Apr 2023 03:54:42 +0000 Message-ID: References: <20230428025659.692-1-vincentx.ke@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN6PR11MB8244:EE_|CH0PR11MB5563:EE_ x-ms-office365-filtering-correlation-id: f4607923-5abc-4002-db0f-08db479c4c31 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: MmcqcXBnsSzajLPymEf2L4FQUDnZiDipsDyxtLS4ggjrfKt3ujRP6ONMMKK26IV3JghLL3G+Ti0LE0rPvP5tLyI5xoN/kJOx6bCDwIPb+J0gwzj3Fwscob+kCII8WzIkwcNd8BcgfUVuv/lKNQ3PJG6LHB52by9qDnTqPryTklfBhDVpxL3qUGWKaf+yFG7M8uAHPkL3pc3UukDu6atwrMWav42Prgm95pDqC6hIjiKu92FQXrEZ4NRhSwgAqOW6lVcEXfNJXd9BQOmg6cf2Wa5WQw4gVEmMLT4XwQ6KKzsrwoAhHKQrA2Z75fYACuK4Xnuwwmcc/okd4vl7Zrh5toV2X2TSKP3URPfpoEMGToulwZakhUDoMlo+IqcJvJ0MOtu4+VvZ5J/kitakG8BiXNIpn/15T4VbIeMwrrWYfcu3BG4/4BaqeJ2JLR2BIAV07eY6zp21YZPAvx3ezwawJstXaYuGIhsl/2Bsd5ASG6RHwnoGKz2S0L+sIZzv+C0kVTiKWl0yFhxZlt0uG+JRvNCzQmVnF9zlY2UbzRX1WRR/iLQPhe1mhjO+OZT4wFcNHdPoL102bXIRL9UQuEcc/ERTiXeN7FYBoEG5amOn43W0OWbQnZOlqG6BYz2I4czwG9yZq06UPFfiUiQa7EFAMw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN6PR11MB8244.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(376002)(136003)(39860400002)(366004)(451199021)(15650500001)(107886003)(7696005)(2906002)(966005)(55016003)(71200400001)(6506007)(9686003)(41300700001)(66556008)(4326008)(53546011)(82960400001)(478600001)(66476007)(316002)(76116006)(64756008)(38070700005)(66446008)(186003)(8936002)(5660300002)(54906003)(110136005)(8676002)(52536014)(122000001)(66946007)(38100700002)(33656002)(86362001)(83380400001)(66899021);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?5zQgedVQE3/YbumdRPXXfXFluE9oE6QYurNLy263QWByltR/Nbm640FRol6t?= =?us-ascii?Q?oApx67Scmn68xacmetuiy5YpvXQYspw+rSvoqj0MThxoQrubi18EK48DAJvK?= =?us-ascii?Q?2/b5k3wfp8JlHp7akHu4o/suanHZnzioE6skBpYXny35XZqokO+h6z7Rlb2n?= =?us-ascii?Q?XQM5qOT2GFuRUSNkdhswFo1LYQj3X+oeWHuhiCa5tz8SJqQkTHXLIHLHtH5D?= =?us-ascii?Q?C9ityAhMGsLJWrkIp7gL4pSRZZ+U0NI0oIV6xS7bwdw0kh2bj9hh5yHF0/1R?= =?us-ascii?Q?EGTuqcluVJzGABrJKXRMtDU5cCq2GIB59xpZF0UiWaIdCAMDHaKhYfWnRlqa?= =?us-ascii?Q?f7Pwg9HrBksgsVDJMD/zZInzUw27d0zmggGry57+8Mw6lW3rUjbrWjKLsbZx?= =?us-ascii?Q?E9HKwSIJ4/iRGJlkLzDpycQansBLRbhswLgCmb45QqzteHJTg4gnAvPlzxDr?= =?us-ascii?Q?FgwPmRjzH9x3o9ljLZ5Mu19oW1JLfNOB/7npVFp6YWZ1SGmhdpDY8LMUvYVf?= =?us-ascii?Q?D0f6rUrO2B540jJldiI4f6zaDvVenTZynA4ora4oUZtoFWvBzdeMDDOsO+zw?= =?us-ascii?Q?rkgfwY1wIiu71NYZoq4i9XyS7plqL188fecxbnIHY1DtZHvlAwZILLVRmoKs?= =?us-ascii?Q?b8GGEKaXgRsTgt9rslUmqyc9PsHVplDLjPsxt62LCMIrKTKCqEqWPD7G1GLj?= =?us-ascii?Q?KQ85G7qLVzJ8wUu+rHKNMpCjVNt2JvecxX3/Lw61DFiUiCyJFmCFjjWKKnMw?= =?us-ascii?Q?RZhtMHSjbB38Z/6ehU6cRy8nIDFUGTqT3mxUHRgfEsxUM3BZDonZOq7Pfn9G?= =?us-ascii?Q?RS8Ok6J4yPppotJtwpwbXuVSwukdEDX0JWH5Wb4wYbQpM1gS42yEStFR9g+f?= =?us-ascii?Q?3h0rMdn/LmDqSIAKYJ/5XmGqGHloB0LoWkb60Tl//lPG/aCk6f8ZR87CdWW0?= =?us-ascii?Q?RGCIKKebGsttAl24TeroZBOfMNn1rbesG9kPhRGZ0DRoK6xgHlKRcC2nA1zP?= =?us-ascii?Q?MFIiMf8If79u8JgzZWdyYl0Dd8RVS6xwh8vTJc/QdVKnCQf/BHDVVkMIqtRn?= =?us-ascii?Q?NIUeWzRNzv328GXVfhTKWfyuP4pqGFVMYA3Eo0JchsJEXE4y+SzuAMUH2BfJ?= =?us-ascii?Q?M8SR2qk1Adpy8K4wp8kS5Q7ZOHdTIYYwyMMsL5+t88oxjDJV/7dSyibzZGz+?= =?us-ascii?Q?g70w7ZnEtepu2HIzY8+iD4e4KMeJv2JgDq6+P2wDZ3qd1EkxRmuRjSZZuUhU?= =?us-ascii?Q?wGozmWgoUUInHFx0siQeTIivCYwwoXzeDCooPt6sfWmrsQzVq9vz39FkSMNJ?= =?us-ascii?Q?Jx2bdaupYPnu51jicnS+ah+GbhioR3tY8BV8L6YA21TUC0d+ehYpLpbZJNri?= =?us-ascii?Q?R7YjeowksL0dKyieYUr6ecI9lwbQACY3ou/ZGJajTuCvyGspHTuL4wNk62FN?= =?us-ascii?Q?GRUV3zugysBpAZp348zKuogkUoVu2hRO6F/5qo/RxWeOwYT+MiNLuyA1gENe?= =?us-ascii?Q?abJUeV5WHRpTaRVNGYL6RQE5eUcPlvmJPzOzMBngDFXotiPnVXT++2RcTw?= =?us-ascii?Q?=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN6PR11MB8244.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f4607923-5abc-4002-db0f-08db479c4c31 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Apr 2023 03:54:42.1665 (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: AD5D8+Nirhn079UYVwLHjHZaiMIqXwCsD6QldPUO2OcR1deCf/FJnljzvgTuUaIeoGJ0Easr8HfLXy/P8FaJjQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR11MB5563 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable RSDP points to RSDT or XSDT. RSDT/XSDT contains multiple tables, one of which is FADT, others are SSDTs. FADT contains two pointers, one pointing to FACS, the other pointing to DSD= T. So: 1. Your code assume if Table->Checksum is not changed, the Table is not cha= nged. I don't think it's a valid assumption. 2. Your code "measures" the DSDT change which is good. (still only reading = Checksum is not good.) 3. FACS table is not "measured". Thanks, Ray > -----Original Message----- > From: Ke, VincentX > Sent: Friday, April 28, 2023 11:30 AM > To: Ni, Ray ; devel@edk2.groups.io > Cc: Chiu, Chasel ; Desimone, Nathaniel L > ; Oram, Isaac W > ; Gao, Liming ; Dong, > Eric > Subject: RE: [edk2-devel] [PATCH v3] MinPlatformPkg: Update HWSignature > filed in FADT >=20 > Hi, Ray >=20 > Based on ACPI Spec 6.5, "Hardware Signature" filed changed the descriptio= n. >=20 > Here is the new description. > "The only thing that determines the hardware signature is the ACPI tables= . > If any content or structure of the ACPI tables has changed, > including adding or removing of tables, then the hardware signature must > change." >=20 > I keep version 6.3 only for Intel code base test. It should be updated to= 6.4. > Thanks for the reminder. >=20 > BR, > Vincent > -----Original Message----- > From: Ni, Ray > Sent: Friday, April 28, 2023 11:08 AM > To: devel@edk2.groups.io; Ke, VincentX > Cc: Chiu, Chasel ; Desimone, Nathaniel L > ; Oram, Isaac W > ; Gao, Liming ; Dong, > Eric > Subject: RE: [edk2-devel] [PATCH v3] MinPlatformPkg: Update HWSignature > filed in FADT >=20 > Vincent, > It's an interesting patch. >=20 > The original logic is to use the HardwareSignature field to indicate any > changes in adding/removing PCI devices. > Your new logic is to expand this field to indicate any changes in any tab= les > when FADT version is > 6.3. >=20 > Why? >=20 >=20 > > -----Original Message----- > > From: devel@edk2.groups.io On Behalf Of > > VincentX Ke > > Sent: Friday, April 28, 2023 10:57 AM > > To: devel@edk2.groups.io > > Cc: Ke, VincentX ; Chiu, Chasel > > ; Desimone, Nathaniel L > > ; Oram, Isaac W > > ; Gao, Liming ; > > Dong, Eric > > Subject: [edk2-devel] [PATCH v3] MinPlatformPkg: Update HWSignature > > filed in FADT > > > > From: VincentX Ke > > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4428 > > > > Calculating CRC based on checksum from all ACPI tables. > > Update HWSignature filed in FADT based on CRC while ACPI table changed. > > > > Signed-off-by: VincentX Ke > > Cc: Chasel Chiu > > Cc: Nate DeSimone > > Cc: Isaac Oram > > Cc: Liming Gao > > Cc: Eric Dong > > --- > > Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c | 110 > > +++++++++++++++++++- > > Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.inf | 1 + > > 2 files changed, 110 insertions(+), 1 deletion(-) > > > > diff --git > > a/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c > > b/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c > > index e967031a3b..d84c1d4f6d 100644 > > --- a/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c > > +++ b/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c > > @@ -1285,6 +1285,108 @@ IsHardwareChange ( > > FreePool (HWChange); > > > > } > > > > > > > > +/** > > > > + This function calculates RCR based on Checksum from all ACPI tables. > > > > + It also calculates CRC and provides as HWSignature filed in FADT tab= le. > > > > +**/ > > > > +VOID > > > > +IsAcpiTableChange ( > > > > + VOID > > > > + ) > > > > +{ > > > > + EFI_STATUS Status; > > > > + UINTN Index; > > > > + UINTN AcpiTableCount; > > > > + UINT32 Table; > > > > + UINT32 CRC; > > > > + UINT32 *AcpiTable; > > > > + EFI_ACPI_6_5_ROOT_SYSTEM_DESCRIPTION_POINTER *Rsdp; > > > > + EFI_ACPI_DESCRIPTION_HEADER *Rsdt; > > > > + EFI_ACPI_DESCRIPTION_HEADER *Xsdt; > > > > + EFI_ACPI_6_5_FIRMWARE_ACPI_CONTROL_STRUCTURE *FacsPtr; > > > > + EFI_ACPI_6_5_FIXED_ACPI_DESCRIPTION_TABLE *pFADT; > > > > + > > > > + AcpiTableCount =3D 0; > > > > + AcpiTable =3D NULL; > > > > + Rsdp =3D NULL; > > > > + Rsdt =3D NULL; > > > > + Xsdt =3D NULL; > > > > + FacsPtr =3D NULL; > > > > + pFADT =3D NULL; > > > > + > > > > + DEBUG ((DEBUG_INFO, "%a() - Start\n", __FUNCTION__)); > > > > + > > > > + Status =3D EfiGetSystemConfigurationTable (&gEfiAcpiTableGuid, (VOID > > **)&Rsdp); > > > > + if (EFI_ERROR (Status) || (Rsdp =3D=3D NULL)) { > > > > + return; > > > > + } > > > > + > > > > + // > > > > + // ACPI table count starts with 2 as RSDT and XSDT are already locat= ed. > > > > + // Then add ACPI tables found by XSDT and FADT. > > > > + // > > > > + Rsdt =3D (EFI_ACPI_DESCRIPTION_HEADER *)(UINTN)Rsdp- > > >RsdtAddress; > > > > + Xsdt =3D (EFI_ACPI_DESCRIPTION_HEADER *)(UINTN)Rsdp- > > >XsdtAddress; > > > > + AcpiTableCount =3D AcpiTableCount + 2; > > > > + AcpiTableCount =3D AcpiTableCount + (Xsdt->Length - sizeof > > (EFI_ACPI_DESCRIPTION_HEADER))/sizeof (UINT64); > > > > + > > > > + for (Index =3D sizeof (EFI_ACPI_DESCRIPTION_HEADER); Index < (Xsdt- > > >Length); Index =3D Index + sizeof (UINT64)) { > > > > + Table =3D *((UINT32 *)((UINT8 *)Xsdt + Index)); > > > > + if (((EFI_ACPI_DESCRIPTION_HEADER *)(UINTN)Table)->Signature =3D= =3D > > EFI_ACPI_6_5_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE) { > > > > + pFADT =3D (EFI_ACPI_6_5_FIXED_ACPI_DESCRIPTION_TABLE > > *)(UINTN)Table; > > > > + if ((pFADT->XDsdt !=3D 0) || (pFADT->Dsdt !=3D 0)) { > > > > + AcpiTableCount =3D AcpiTableCount + 1; > > > > + } > > > > + } > > > > + } > > > > + > > > > + // > > > > + // Allocate memory for founded ACPI tables. > > > > + // > > > > + AcpiTable =3D AllocateZeroPool (sizeof (UINT32) * AcpiTableCount); > > > > + if (AcpiTable =3D=3D NULL) { > > > > + return; > > > > + } > > > > + > > > > + AcpiTableCount =3D 0; > > > > + AcpiTable[AcpiTableCount++] =3D Rsdt->Checksum; > > > > + AcpiTable[AcpiTableCount++] =3D Xsdt->Checksum; > > > > + > > > > + for (Index =3D sizeof (EFI_ACPI_DESCRIPTION_HEADER); Index < (Xsdt- > > >Length); Index =3D Index + sizeof (UINT64)) { > > > > + Table =3D *((UINT32 *)((UINT8 *)Xsdt + Index= )); > > > > + AcpiTable[AcpiTableCount++] =3D ((EFI_ACPI_DESCRIPTION_HEADER > > *)(UINTN)Table)->Checksum; > > > > + if (((EFI_ACPI_DESCRIPTION_HEADER *)(UINTN)Table)->Signature =3D= =3D > > EFI_ACPI_6_5_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE) { > > > > + pFADT =3D (EFI_ACPI_6_5_FIXED_ACPI_DESCRIPTION_TABLE > > *)(UINTN)Table; > > > > + if (pFADT->XDsdt !=3D 0) { > > > > + AcpiTable[AcpiTableCount++] =3D ((EFI_ACPI_DESCRIPTION_HEADER > > *)(UINTN)pFADT->XDsdt)->Checksum; > > > > + } else { > > > > + AcpiTable[AcpiTableCount++] =3D ((EFI_ACPI_DESCRIPTION_HEADER > > *)(UINTN)pFADT->Dsdt)->Checksum; > > > > + } > > > > + } > > > > + } > > > > + > > > > + // > > > > + // pFADT table not found. > > > > + // > > > > + if (pFADT =3D=3D NULL) { > > > > + return; > > > > + } > > > > + > > > > + // > > > > + // Calculate CRC value. > > > > + // > > > > + Status =3D gBS->CalculateCrc32 (AcpiTable, AcpiTableCount, &CRC); > > > > + DEBUG ((DEBUG_INFO, "CRC =3D %x and Status =3D %r\n", CRC, Status)); > > > > + > > > > + // > > > > + // Set HardwareSignature value based on CRC value. > > > > + // > > > > + FacsPtr =3D > > (EFI_ACPI_6_5_FIRMWARE_ACPI_CONTROL_STRUCTURE *)(UINTN)pFADT- > > >FirmwareCtrl; > > > > + FacsPtr->HardwareSignature =3D CRC; > > > > + FreePool (AcpiTable); > > > > + DEBUG ((DEBUG_INFO, "%a() - End\n", __FUNCTION__)); > > > > +} > > > > + > > > > VOID > > > > UpdateLocalTable ( > > > > VOID > > > > @@ -1329,7 +1431,13 @@ AcpiEndOfDxeEvent ( > > // > > > > // Calculate Hardware Signature value based on current platform > > configurations > > > > // > > > > - IsHardwareChange (); > > > > + if ((PcdGet8 (PcdFadtMajorVersion) <=3D > > EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_REVISION) && > > > > + (PcdGet8 (PcdFadtMinorVersion) <=3D > > EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION)) > > > > + { > > > > + IsHardwareChange (); > > > > + } else { > > > > + IsAcpiTableChange (); > > > > + } > > > > } > > > > > > > > /** > > > > diff --git > > a/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.inf > > b/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.inf > > index 694492112b..f47cc3908d 100644 > > --- a/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.inf > > +++ b/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.inf > > @@ -128,6 +128,7 @@ > > gEfiGlobalVariableGuid ## CONSUMES > > > > gEfiHobListGuid ## CONSUMES > > > > gEfiEndOfDxeEventGroupGuid ## CONSUMES > > > > + gEfiAcpiTableGuid ## CONSUMES > > > > > > > > [Depex] > > > > gEfiAcpiTableProtocolGuid AND > > > > -- > > 2.39.2.windows.1 > > > > > > > > -=3D-=3D-=3D-=3D-=3D-=3D > > Groups.io Links: You receive all messages sent to this group. > > View/Reply Online (#103734): > > https://edk2.groups.io/g/devel/message/103734 > > Mute This Topic: https://groups.io/mt/98551423/1712937 > > Group Owner: devel+owner@edk2.groups.io > > Unsubscribe: https://edk2.groups.io/g/devel/unsub [ray.ni@intel.com] > > -=3D-=3D-=3D-=3D-=3D-=3D > >