From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web10.10211.1683081869042192410 for ; Tue, 02 May 2023 19:44:29 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=O84opP+/; spf=pass (domain: intel.com, ip: 192.55.52.43, 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=1683081868; x=1714617868; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=XNW2e0adcY+JqNt1/nj0B0rY12xq4A6sYxuQIxn3vOo=; b=O84opP+/e2UccJOv9ce+N2JphWdXKk0qBvcFULcoqSDjyMG2aLnjMsfO TFkHlFCPDYZV07bju0eJx1aaPLS/shQOSSzSMGhD73V8I06ILPTEJ9lyL T8AqG7pQ5TNEqzygjSE/vYllRRaSPKJVjg+Mr2/IFuaK/X7K1l87QAMoG e47r00Z8PwALG+19KDrvkI+nk0pXWUotLCsz6GeXjmOtj1YPq0Z74Qmuc ZBc7uq1AITMNuZUTRVl/7AxS7slEYDZOQYdp09dMX8yicV7M/cmh/55fd r2wT+yIsuZp6OcuskVizbUq0HzPWVTEEtrloDWoy/Eh3ZrAtaiw0VpP1E Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10698"; a="434860488" X-IronPort-AV: E=Sophos;i="5.99,246,1677571200"; d="scan'208";a="434860488" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 May 2023 19:44:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10698"; a="699202304" X-IronPort-AV: E=Sophos;i="5.99,246,1677571200"; d="scan'208";a="699202304" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga007.fm.intel.com with ESMTP; 02 May 2023 19:44:28 -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; Tue, 2 May 2023 19:44:28 -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; Tue, 2 May 2023 19:44:28 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.107) 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; Tue, 2 May 2023 19:44:27 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kY5E4tNW8NmLniq8HvF+xS+pNrvrU2JwTj4c6p5AzKfRsNA414EmDJv+1d5Ts8fHd/9Z0wsuaNSlIaYebn+h0yKUnfakIkxotRRTOda1Bj3+MDWXM4SQYzxWghJFR70Xuve2bfFaY7Li52/OVS77sopbhs7aE1uuA0Jr9kGAhYsvk4O6bkCD3SI5xTMw33nx5jLUyr6e7FgYNJYAVmlWOzRwpKawLZhoirmdYR0svmkDl7z6sl8O9b8HD/MuRc5CZnKHf16sBzZ22I4j9Zay0kLwmMq+TL6jmdPt2aXFmgCjdSHqbDelVQstNcTwEoEJlVP1L8+1hz6wkRP3pUk8Fg== 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=WHeO4YcdrJKKsSwJIPBUp3spGDcU6iLBzjj5LPkucug=; b=FZ8TSURznZsag+2NCYg9ER+SCLWQ8BRjGtZ5l6TtvpeaQRL6/3g6YV8OEXnh6xCBUsuasQoweWqgOCCXTMC7ArOQhxydOl3LbU1UZgdhMZ+tlWZzI2j4v4qLOl0V22nBb1EWwLxpIxWyG4PouzJXQfQ1L3B0b/fm4IssWOaZgDd2V6dCoh8GgvOc4zDH8mA5KtYbbOG/c4o4LI36qZSobu0nsa+MLNOtlKZldQZLD5BzX6Fic/mvbHKwWAmW4l8+Et1h5oe18cBFrJhEGsmr2XJjoYTSrtuRcWbTYppcpAHoUNNzkQrc6/RS0m1TWDskNDstphjHmorjkFCXpWqYFw== 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 DM4PR11MB7206.namprd11.prod.outlook.com (2603:10b6:8:112::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.30; Wed, 3 May 2023 02:44:25 +0000 Received: from DM4PR11MB5487.namprd11.prod.outlook.com ([fe80::5b26:2660:6aaf:37f9]) by DM4PR11MB5487.namprd11.prod.outlook.com ([fe80::5b26:2660:6aaf:37f9%3]) with mapi id 15.20.6363.022; Wed, 3 May 2023 02:44:25 +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/V9YrvmU69ACk8AgAACgeCAAAqIAIAHx1iw Date: Wed, 3 May 2023 02:44:25 +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_|DM4PR11MB7206:EE_ x-ms-office365-filtering-correlation-id: 6d8d19d1-719b-4349-fac5-08db4b804ec7 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: auDWRE9pCO5IlREO5ljPmeKpkA8ADXkTfyNUzy5a9yMDczwwiGdnJhWWWoxhf/jx/XNf95vGQlurPULv6MoaU9H7VhHDrfu2LPrltLL6nYIx7+lja/sTGlQjmqiuNixkm79SSmmfOQrM4Zm+0E+MRnrl8+zOg8xWpMQXLoShFwvY6CW9Kzh1TzALAxagovsLll8NkjbqOnWQtBc8IP9uwOTVQ7J1NsMUnjnJSAxT8+wo2Z6QLSeME6crMQzGEVcF1X6t3czeZzTLhrMYPuavdWEwsIAvN44By8EERRSpkMSDNEXQaqnqadkbMzCcay5aThdtbyd9gPS3EqcUef8gKEbsH3+L/V3CPsrC+VyOoMthmGO9AqR16EZCahAiseMrx/Na9uZjpZeFq/ICFxVTUd8rEpWRfXfd8My/0cKJ4tTOjWfEYqq89jpOZs+ZmLRGqPKGiRQgtjjw9UhM73w+F+xDpelIstUY/Hf2OulGXNVPMAnJxkh2FeMTyErqEGVS/nTLDfZL+EyfJpHVSwSmlx+oVg7HWur2hZsx5hJ/b1oOrJpZY8/3tC5NvCVSQJclULe2hxqGzy3k/BL3QkVfZPLe+zWvUyqHIpAjDfvkTMGHAKqVPD+Xasd/UPnSN2gQWCCDB6bmmxOhsCAt93ZZgw== 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)(136003)(39860400002)(376002)(366004)(396003)(346002)(451199021)(86362001)(33656002)(38070700005)(38100700002)(82960400001)(122000001)(66476007)(66446008)(15650500001)(66946007)(52536014)(5660300002)(55016003)(8936002)(76116006)(64756008)(4326008)(41300700001)(66556008)(316002)(8676002)(2906002)(966005)(6506007)(110136005)(71200400001)(54906003)(7696005)(478600001)(186003)(9686003)(107886003)(83380400001)(53546011)(66899021);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?V8ECvxUPCHYbT8EBZR68bz/R5DLJJC6SqI40wn/1TQvNfhwdt/VjoCCVNnkV?= =?us-ascii?Q?aeg+aLxF1qc2DHBeHAXZJDnGsj8AahaiboHV0wruc/2ws8i15h9aq9gIVr09?= =?us-ascii?Q?NJRmMIQud88tltRxwXJwBbfeSx7zgOnnwr5zA+jqsnOPgLfaMs65kBkAnKzc?= =?us-ascii?Q?EKu39zpSZAH8Rc6YZQxPSfynJbBbxNjg/0jJyz/A0lf6YvGAgNHaLvyotRfM?= =?us-ascii?Q?wz/deifK55IVAbzU9FYcoZv5NA5dkpakOWH1PnAfdEmF80MLaM+IEXe7dzok?= =?us-ascii?Q?IIruEf2yF7naSzn1gA6e+DmZo0iiYrU6F5h3NIF7gkC0moIHgUuI2VIsjtt6?= =?us-ascii?Q?qG27Ic30Z2cts1jZZmdYkXs80lxFAHvAczYW6qVQGv7NmlpcjXk62Gy0bV6M?= =?us-ascii?Q?pcrPPis5/oB/MBbBJwL0jAWKAsUiw9Oog0qseVciBLSbubHuhNSsF/+Fk6DR?= =?us-ascii?Q?t97v2PrPIiUE1LzvWwukkHD/oNcjnn+7Nuzm0LqmNDcPEAKDqHFkB0rx/klz?= =?us-ascii?Q?UXxXFwcdFrcuxBdV+V3d+0rGUhJOj5hTncoiCXiXEYVNQ1bun6MC+TxnfY7g?= =?us-ascii?Q?BFIfIIWRsXHYViKhuNNJ2IYvKSjHDxhfRVzthtbfomaEB8cZRlc1QzmwY9TK?= =?us-ascii?Q?Wtni95A6snXMDDW50kI7nm/bK8BWHAgd7q5iowDkqGUq+2CQDYZWCbc8Rq1X?= =?us-ascii?Q?Vg6VRxmHujEIrD4V/80AjNrKu9YClbXEHKFlZjWBOGhNxdf02VNo50IaxXdg?= =?us-ascii?Q?tS0HmGnt2UQy9ZDw9426D2rgQlg8YOFEmkfUVq3tMhsBlTFhlVRYz0i1V6p/?= =?us-ascii?Q?MgqwLBWHSDgJVzl4kIW7M+dlTMyw2rW4xZ4U8DErEhmF/uPMrLnWF8dF3Xqs?= =?us-ascii?Q?N3i/vm+YoM6tX/ForT/0EwmJ24KAuUHrwavZ7PP5LoP0Leaj8HJ78C+KAx4P?= =?us-ascii?Q?51iX3jKpJtuY3SrXif87jyKW56cZB2u7PJXQOOImg+/RiIRGmg4aQOuTinvD?= =?us-ascii?Q?YMB/F/a8Bm/CKmMc4NG1hejajQhK1nFiQhmKJG3k8MNOPguc4oiMbHW1JJxQ?= =?us-ascii?Q?Bi8ItLnD/yEuX6DBdMPZO/Kt6OoyiS8mUzcsiGGuBvdmIbg+VOryixrI4cus?= =?us-ascii?Q?lh1I4qk2HsRKdnudFj6Czk3VYX4cPSFu3wjvcP0H9uzwzxAHo6+bQdtgHx3N?= =?us-ascii?Q?OWAXH5RlTjatssEsOecphi3Y7OsGndtm6ZtA8s5ihiu5tv0CCQh/79hxIcV4?= =?us-ascii?Q?OJQxkFzlYSHx2SbBeKLuxHh60nBo9T82I8QgBW6NB5IodmjnX/A5kjWqwrkj?= =?us-ascii?Q?osD0Z9gdMCgHymTDODNDBPruUPuxDl1SKyd7jsQXLzjWO+vrw92xIV0f+4qQ?= =?us-ascii?Q?BiuROSQAU2sECqbCb7iBvm9DpuXUGv0HojtuoI/QO3UNMDM4dvrBf7LD03Tz?= =?us-ascii?Q?GYwD8bFE1OKXXQdqwWKjWZeKlV8KktPiwSawlE76u4Sd1WodK3kmI8Ourgcp?= =?us-ascii?Q?ROdgST0XfHaTAV2VpZO6TTnpwYpC8xIePOzMXQbdjR02eT/E56J4elaK1w?= =?us-ascii?Q?=3D=3D?= 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: 6d8d19d1-719b-4349-fac5-08db4b804ec7 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 May 2023 02:44:25.2234 (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: HjatLwZ7jk7s0iD2ncnbrHF3HcgYEo/mk3WozZW/L65qVlv717SBLtyr8Z/1Vl1zE7Avm8krOyg4kyzoG9klMg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB7206 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 Hi, Ray Update patch and fix your concern in the patch v5. Please let me know if there is any suggestion. Thanks. [Patch v5] https://edk2.groups.io/g/devel/message/103877 BR, Vincent -----Original Message----- From: Ni, Ray =20 Sent: Friday, April 28, 2023 11:55 AM 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 fil= ed in FADT 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=20 > ; Oram, Isaac W=20 > ; Gao, Liming ;=20 > Dong, Eric > Subject: RE: [edk2-devel] [PATCH v3] MinPlatformPkg: Update=20 > 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=20 > adding or removing of tables, then the hardware signature must=20 > 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=20 > ; Oram, Isaac W=20 > ; Gao, Liming ;=20 > Dong, Eric > Subject: RE: [edk2-devel] [PATCH v3] MinPlatformPkg: Update=20 > HWSignature filed in FADT >=20 > Vincent, > It's an interesting patch. >=20 > The original logic is to use the HardwareSignature field to indicate=20 > any changes in adding/removing PCI devices. > Your new logic is to expand this field to indicate any changes in any=20 > tables when FADT version is > 6.3. >=20 > Why? >=20 >=20 > > -----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 > > > > 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,=20 > > + (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=20 > > 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]=20 > > -=3D-=3D-=3D-=3D-=3D-=3D > >