From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web11.11598.1682653618521261740 for ; Thu, 27 Apr 2023 20:46:58 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=IB3WqsIN; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: vincentx.ke@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1682653618; x=1714189618; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=XjHPmyJfogu82oVR/0ZUK+J548oAyfCllGJavN7BRFs=; b=IB3WqsINugFfduMukGOJhmlbfflqme5FRJVpdZ9FGWmrU1rSwOtjGrI3 MbwYooXbX671DzWGEX8eVpQlKJWjVMhFIaYRk3PX2oNCuWstTOB8cfcFL w0ZwCoYINfhKzXIu9qwZ8ICqprl6QCabR60Rfc00YKevCrWTnQYdU8tr5 tBxXlnvYWHEuvegdwG6JV4mQswznLttI4VOp/O1To8BaVonnoNqKyn8cu 8tktCFCRwxon3UMaeB3ffVDPb2jxGBx7pVRUuqHqBw4X3sYVYVB0vn0d4 GwJYiJZkUSKSq7YtjzP7tkXw50J6G9jrpLJtICIs3lkpCdAn47SHpf/ob Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10693"; a="347665869" X-IronPort-AV: E=Sophos;i="5.99,233,1677571200"; d="scan'208";a="347665869" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Apr 2023 20:46:58 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10693"; a="694666456" X-IronPort-AV: E=Sophos;i="5.99,233,1677571200"; d="scan'208";a="694666456" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga002.jf.intel.com with ESMTP; 27 Apr 2023 20:46:58 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx603.amr.corp.intel.com (10.18.126.83) 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:46:57 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) 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:46:57 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.49) by edgegateway.intel.com (192.55.55.70) 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:46:57 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TLGOcq2fsvPcKQNHyQVp8j0Kad0NnZ1qu2Ol8MOYmT6X4IoftFB+tf260pBQTnRo7mOIbkdkR1vN1Jn0MsJjDbIjpZ61DVGHfq4bmml23I2bNmspnE6k0AHIV6BxGa7h6fT/e/eyyvhrrNWW2GptmKDJvDNBDL+KYdmzp5GrzeuJl78+K75LRwdi/TS2GE9UDdc2Mrf/HgRdDDClD49A41kfs6wrboeVXP0JBQ63f9XX5DDEtKty1/G3GypuVrXOJZxSOIOR+u9HAumAVnaUjsfkEBMqiA7iTgoOD6mOiYSrIewNhnbgLbuibnjmwzPJ91tcHpGX9cFfZlHPOTfV+w== 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=8E/v7ihhrQdLBltL3cGhwyyfvwNLTJ9OQiadzGOGHAY=; b=aSgda25mr/PED2pBSkBT6Y86f3u7NIu2+2VfzOxfU7fAKTQHoXXsNex3K3CktGP3b8SsqeUQNwr1/+pPB0KEv+eNsvd+phV1m93xptsNGQ5kZXgVQBOnevdfXwUaJuwSNKe8cCF0XV4UWK5WYoaUQcFJTNemWRIAASf+yYUTCIueWrN/r+sIYmLJEoyUUvE0qDpcrwL5XtGWaHjOmtAyYXBYuBXkJ3brmjF/Kx+Icr/ubVki04zupvv+X8M/OHl4jNjO7xs9sZTdQKwE2vPrFdS8xkeyHMnk0jBtffqFWQW4N/MvqdqqY1b6fppjQeLXUnYrrs3cY/XrJCHHsE+wRA== 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 DM4PR11MB5487.namprd11.prod.outlook.com (2603:10b6:5:39f::22) by PH8PR11MB6658.namprd11.prod.outlook.com (2603:10b6:510:1c1::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.21; Fri, 28 Apr 2023 03:46:55 +0000 Received: from DM4PR11MB5487.namprd11.prod.outlook.com ([fe80::5b26:2660:6aaf:37f9]) by DM4PR11MB5487.namprd11.prod.outlook.com ([fe80::5b26:2660:6aaf:37f9%4]) with mapi id 15.20.6340.023; Fri, 28 Apr 2023 03:46:55 +0000 From: "VincentX Ke" 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 Thread-Topic: [edk2-devel] [PATCH v3] MinPlatformPkg: Update HWSignature filed in FADT Thread-Index: AQHZeX0mA4R/6MEpGEuSu/V9YrvmU69ACk8AgAACgeCAAAfU4A== Date: Fri, 28 Apr 2023 03:46:55 +0000 Message-ID: References: <20230428025659.692-1-vincentx.ke@intel.com> In-Reply-To: Accept-Language: zh-TW, 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: DM4PR11MB5487:EE_|PH8PR11MB6658:EE_ x-ms-office365-filtering-correlation-id: acbfacee-f769-4fd7-23f2-08db479b35df 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: +wzYb2j6sV1OV/tATuOTYZCr2rKk61nKthBphkcDkpauIeHZfwawDkNOpjTHXb3DGPXPpjJdohvK4a241VngNN/yJpv5o+Ucinn6SuGNLcx39Mf57f1bzEe1YMktB1ux1f+9WPR5djmo9QDC7IdBQIsvOQ+KAV0wq4b28IrzKIOdt5PLN4403jcIGEICJ5o2w873paMX7OLoE9thuh5yIit35O02WJ49bLiFuhfdcB2J9yPMQSPrXrdS+rgg6rttvnkfU0r8bN3afLfl/z1ZhV5nFXW3/Vp6Gn0E2FQMhsVebY/v37lcWj/MlwGtzyqzEHMS6sjfZRNyl/von6506RpdAcMBG7a6g8lgsWc4lt8h+2hVFE/MLil87P55VNivQt/ONbQAko1dLZScoBiOkhdsF8hjS1sV6Cawlyn6wMAPT/M7Z4wo12YZ5dM6B1qgjGciyPVuN9Zt2FYjr0nk2q/zGkclxhZJQsMI7LGH3R1P8HrNpspFIhDi5tN84uYrpIYc8FtgA0sEGbLpbwUJ35lRSXskStEam+J6gYvuUCUa2EBKaym5+UKRISyBVqXsYBrOeRLfwdRB4ue0jkuf5siuhImIl1Vf72vZkdZSOGlnnwSJlRgkPgiRp7C8+kKs/jdL1Hdh9/cZNrWrVFutAA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR11MB5487.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(136003)(39860400002)(366004)(396003)(376002)(451199021)(66446008)(66556008)(316002)(66476007)(110136005)(4326008)(76116006)(66946007)(54906003)(66899021)(55016003)(5660300002)(15650500001)(82960400001)(52536014)(38070700005)(64756008)(41300700001)(8936002)(8676002)(2906002)(38100700002)(122000001)(186003)(2940100002)(53546011)(966005)(107886003)(26005)(6506007)(9686003)(83380400001)(33656002)(86362001)(478600001)(7696005)(71200400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?Ju1SvZ7nhomCwkSwG7hQYv2OGeHlDEbLuQSlxlD7fb6pQR/+curDJdXnSmrD?= =?us-ascii?Q?ZmUsk+eIxnY9uur5voCKLDdDftAyNNjw8KFgAB52UMUiHyXjvUuoKfnN4Td1?= =?us-ascii?Q?dMXB6c76ckkn1oL08PwAn0jAZsLr2ltFKLsyZbHgIBuyUpP+Ki7Xe2AlxXOr?= =?us-ascii?Q?zbfnxnrYn/J5PjSkVrCL1gV0XtAO8vz0fdn3dXwG5ADglRZwJbvzbL4GO7AU?= =?us-ascii?Q?FUI6hnPrUvyO1SVes9r16UOrPAJvvqGxOLH7KAjfd6dYMaPqQweWZQns7ZaV?= =?us-ascii?Q?T9dFA1qzShZnr5ZJgZ5X/VO3QnvOH5kalXFZHs6S48aShulWIQIh0AkEvumM?= =?us-ascii?Q?84z75cezIA+rlwRYZpxKBUhnnEOOJvAD43fuzEgOhDddoOb65+pilAKI3oEu?= =?us-ascii?Q?torNKftlC/U45uMYvt+AUmC4+rH/PPUGwVYyby7JmPIVJgmSJjvQL4sbyHyW?= =?us-ascii?Q?tSWmYsLuI7JaE/krwV8hMFx8C6Gfop+pbrelSPyZ7P7NxZkmca5vF5hrwN75?= =?us-ascii?Q?K4KVsV23x+3i7hjgZnz7J66RK9ZjG4kTI0Q0X+LGjUilTTKt2+UfRdKlMIGi?= =?us-ascii?Q?7C3lphW1wuRf7fCAQs7C293MzcoTDv2OANUzdRB66vJ8NHwJFUbejV39duOX?= =?us-ascii?Q?VS0QCYYq4e1KFt5tPmq0HggcmnfX6sfP+Zg8VwPG+SPHGY7mlgq8gycqmQER?= =?us-ascii?Q?dahvJ21E2IXpNZ6a0Z1Zsvy3pajoe3v5nfd+b+AEgBwJWO9dA55FigaZGTFc?= =?us-ascii?Q?UEPuf/b+M1lgoL0I93tFOAR75GY9Pg2hsXCbKjCc/PJlq8lno2oIzkRWRHha?= =?us-ascii?Q?bOwInmGFhWHyMX5YICIpqIDFwjFaU9623WCQtCys5VLwExa40OXtxRS4+x4j?= =?us-ascii?Q?NMGV/ScYs7tJCqX7Kaxv1XJN7x5U+o9zzQrrb4OATTzg0tu7ySLjGP1T0k9E?= =?us-ascii?Q?4pfUWthWNpeIo3SijIpA3tsMJYOufit4qmZLAZJcVwhaXk2keOg0fogHfDiE?= =?us-ascii?Q?fdfHVV67K1UG3lSDNbiauMox1PbWqVX2QABs6/FK366L1/Vrgh2I5ZBbMqsj?= =?us-ascii?Q?iNkiTqCmj+RjHsghPlzFZckAucmjJZV9khCz2b7DKIXr0tRi3B34caldTz67?= =?us-ascii?Q?SxCoYOmKFwRn+YQkohoq7sObt13JhaDS540jBiptBnovryfLuE1QW4nrzDyU?= =?us-ascii?Q?yM7wYGBUcijDxgu0fG9aD7kM3vwUQrWrW7GFg7YRhLhwVBuOwkKiARkp/f2Q?= =?us-ascii?Q?ihab7CV6KGJUqt6lXKjO/V6XWanyQSVge63+xsmO2ewgNaHzgDnhJvHufqPv?= =?us-ascii?Q?wTKUuUcD9HT/+pjBh/if/+MyTaLuKH5M3Rs1METcyRNPvkgPfvPdrsrvwVgc?= =?us-ascii?Q?n1TrwVRTfrvxIozbIXl1H1SB2W997XbhhyLqJOhFRCHbYU5PsQHC8hGE7zvA?= =?us-ascii?Q?POMDvTFIpFgEaRPs6L5FIWZkkF6HBs52/O4kWJNic+B+h67y/NV8iBBDHDTF?= =?us-ascii?Q?kimcWAVNOs4oErLOeZpt1igdG8PTVLfN/sQbMeB5qcmNB/L36MXgZR9ZQq+l?= =?us-ascii?Q?UnwWQWTbku25kjpYB3GDD+uiAj1YqovcEYyMZXWz?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5487.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: acbfacee-f769-4fd7-23f2-08db479b35df X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Apr 2023 03:46:55.2040 (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: eRfqtNeLVtOeYrQY4FwWT44z3Y1U7PHxkbN6lHXK9Yp/gZSeKHbddldBIPlvkfFHJsdiOoFNxf66iO+66/Vr9g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR11MB6658 Return-Path: vincentx.ke@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Dear All, Patch v4 updated. Please let me know if there is any suggestion. Thanks [PATCH v4] https://edk2.groups.io/g/devel/message/103738 BR, Vincent -----Original Message----- From: Ke, VincentX=20 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 fil= ed in FADT Hi, Ray Based on ACPI Spec 6.5, "Hardware Signature" filed changed the description. Here is the new description. "The only thing that determines the hardware signature is the ACPI tables.= =20 If any content or structure of the ACPI tables has changed, including addin= g or removing of tables, then the hardware signature must change." I keep version 6.3 only for Intel code base test. It should be updated to 6= .4. Thanks for the reminder. 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 fil= ed in FADT Vincent, It's an interesting patch. The original logic is to use the HardwareSignature field to indicate any ch= anges in adding/removing PCI devices. Your new logic is to expand this field to indicate any changes in any table= s when FADT version is > 6.3. Why? > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of=20 > VincentX Ke > Sent: Friday, April 28, 2023 10:57 AM > To: devel@edk2.groups.io > Cc: Ke, VincentX ; Chiu, Chasel=20 > ; Desimone, Nathaniel L=20 > ; Oram, Isaac W=20 > ; Gao, Liming ;=20 > Dong, Eric > Subject: [edk2-devel] [PATCH v3] MinPlatformPkg: Update HWSignature=20 > filed in FADT >=20 > From: VincentX Ke >=20 > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4428 >=20 > Calculating CRC based on checksum from all ACPI tables. > Update HWSignature filed in FADT based on CRC while ACPI table changed. >=20 > 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(-) >=20 > 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); >=20 > } >=20 >=20 >=20 > +/** >=20 > + This function calculates RCR based on Checksum from all ACPI tables. >=20 > + It also calculates CRC and provides as HWSignature filed in FADT table= . >=20 > +**/ >=20 > +VOID >=20 > +IsAcpiTableChange ( >=20 > + VOID >=20 > + ) >=20 > +{ >=20 > + EFI_STATUS Status; >=20 > + UINTN Index; >=20 > + UINTN AcpiTableCount; >=20 > + UINT32 Table; >=20 > + UINT32 CRC; >=20 > + UINT32 *AcpiTable; >=20 > + EFI_ACPI_6_5_ROOT_SYSTEM_DESCRIPTION_POINTER *Rsdp; >=20 > + EFI_ACPI_DESCRIPTION_HEADER *Rsdt; >=20 > + EFI_ACPI_DESCRIPTION_HEADER *Xsdt; >=20 > + EFI_ACPI_6_5_FIRMWARE_ACPI_CONTROL_STRUCTURE *FacsPtr; >=20 > + EFI_ACPI_6_5_FIXED_ACPI_DESCRIPTION_TABLE *pFADT; >=20 > + >=20 > + AcpiTableCount =3D 0; >=20 > + AcpiTable =3D NULL; >=20 > + Rsdp =3D NULL; >=20 > + Rsdt =3D NULL; >=20 > + Xsdt =3D NULL; >=20 > + FacsPtr =3D NULL; >=20 > + pFADT =3D NULL; >=20 > + >=20 > + DEBUG ((DEBUG_INFO, "%a() - Start\n", __FUNCTION__)); >=20 > + >=20 > + Status =3D EfiGetSystemConfigurationTable (&gEfiAcpiTableGuid, (VOID > **)&Rsdp); >=20 > + if (EFI_ERROR (Status) || (Rsdp =3D=3D NULL)) { >=20 > + return; >=20 > + } >=20 > + >=20 > + // >=20 > + // ACPI table count starts with 2 as RSDT and XSDT are already located= . >=20 > + // Then add ACPI tables found by XSDT and FADT. >=20 > + // >=20 > + Rsdt =3D (EFI_ACPI_DESCRIPTION_HEADER *)(UINTN)Rsdp- > >RsdtAddress; >=20 > + Xsdt =3D (EFI_ACPI_DESCRIPTION_HEADER *)(UINTN)Rsdp- > >XsdtAddress; >=20 > + AcpiTableCount =3D AcpiTableCount + 2; >=20 > + AcpiTableCount =3D AcpiTableCount + (Xsdt->Length - sizeof > (EFI_ACPI_DESCRIPTION_HEADER))/sizeof (UINT64); >=20 > + >=20 > + for (Index =3D sizeof (EFI_ACPI_DESCRIPTION_HEADER); Index < (Xsdt- > >Length); Index =3D Index + sizeof (UINT64)) { >=20 > + Table =3D *((UINT32 *)((UINT8 *)Xsdt + Index)); >=20 > + if (((EFI_ACPI_DESCRIPTION_HEADER *)(UINTN)Table)->Signature =3D=3D > EFI_ACPI_6_5_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE) { >=20 > + pFADT =3D (EFI_ACPI_6_5_FIXED_ACPI_DESCRIPTION_TABLE > *)(UINTN)Table; >=20 > + if ((pFADT->XDsdt !=3D 0) || (pFADT->Dsdt !=3D 0)) { >=20 > + AcpiTableCount =3D AcpiTableCount + 1; >=20 > + } >=20 > + } >=20 > + } >=20 > + >=20 > + // >=20 > + // Allocate memory for founded ACPI tables. >=20 > + // >=20 > + AcpiTable =3D AllocateZeroPool (sizeof (UINT32) * AcpiTableCount); >=20 > + if (AcpiTable =3D=3D NULL) { >=20 > + return; >=20 > + } >=20 > + >=20 > + AcpiTableCount =3D 0; >=20 > + AcpiTable[AcpiTableCount++] =3D Rsdt->Checksum; >=20 > + AcpiTable[AcpiTableCount++] =3D Xsdt->Checksum; >=20 > + >=20 > + for (Index =3D sizeof (EFI_ACPI_DESCRIPTION_HEADER); Index < (Xsdt- > >Length); Index =3D Index + sizeof (UINT64)) { >=20 > + Table =3D *((UINT32 *)((UINT8 *)Xsdt + Index))= ; >=20 > + AcpiTable[AcpiTableCount++] =3D ((EFI_ACPI_DESCRIPTION_HEADER > *)(UINTN)Table)->Checksum; >=20 > + if (((EFI_ACPI_DESCRIPTION_HEADER *)(UINTN)Table)->Signature =3D=3D > EFI_ACPI_6_5_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE) { >=20 > + pFADT =3D (EFI_ACPI_6_5_FIXED_ACPI_DESCRIPTION_TABLE > *)(UINTN)Table; >=20 > + if (pFADT->XDsdt !=3D 0) { >=20 > + AcpiTable[AcpiTableCount++] =3D ((EFI_ACPI_DESCRIPTION_HEADER > *)(UINTN)pFADT->XDsdt)->Checksum; >=20 > + } else { >=20 > + AcpiTable[AcpiTableCount++] =3D ((EFI_ACPI_DESCRIPTION_HEADER > *)(UINTN)pFADT->Dsdt)->Checksum; >=20 > + } >=20 > + } >=20 > + } >=20 > + >=20 > + // >=20 > + // pFADT table not found. >=20 > + // >=20 > + if (pFADT =3D=3D NULL) { >=20 > + return; >=20 > + } >=20 > + >=20 > + // >=20 > + // Calculate CRC value. >=20 > + // >=20 > + Status =3D gBS->CalculateCrc32 (AcpiTable, AcpiTableCount, &CRC); >=20 > + DEBUG ((DEBUG_INFO, "CRC =3D %x and Status =3D %r\n", CRC, Status)); >=20 > + >=20 > + // >=20 > + // Set HardwareSignature value based on CRC value. >=20 > + // >=20 > + FacsPtr =3D > (EFI_ACPI_6_5_FIRMWARE_ACPI_CONTROL_STRUCTURE *)(UINTN)pFADT- > >FirmwareCtrl; >=20 > + FacsPtr->HardwareSignature =3D CRC; >=20 > + FreePool (AcpiTable); >=20 > + DEBUG ((DEBUG_INFO, "%a() - End\n", __FUNCTION__)); >=20 > +} >=20 > + >=20 > VOID >=20 > UpdateLocalTable ( >=20 > VOID >=20 > @@ -1329,7 +1431,13 @@ AcpiEndOfDxeEvent ( > // >=20 > // Calculate Hardware Signature value based on current platform=20 > configurations >=20 > // >=20 > - IsHardwareChange (); >=20 > + if ((PcdGet8 (PcdFadtMajorVersion) <=3D > EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_REVISION) && >=20 > + (PcdGet8 (PcdFadtMinorVersion) <=3D > EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION)) >=20 > + { >=20 > + IsHardwareChange (); >=20 > + } else { >=20 > + IsAcpiTableChange (); >=20 > + } >=20 > } >=20 >=20 >=20 > /** >=20 > 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 >=20 > gEfiHobListGuid ## CONSUMES >=20 > gEfiEndOfDxeEventGroupGuid ## CONSUMES >=20 > + gEfiAcpiTableGuid ## CONSUMES >=20 >=20 >=20 > [Depex] >=20 > gEfiAcpiTableProtocolGuid AND >=20 > -- > 2.39.2.windows.1 >=20 >=20 >=20 > -=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]=20 > -=3D-=3D-=3D-=3D-=3D-=3D >=20