From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web10.29196.1658986384128003231 for ; Wed, 27 Jul 2022 22:33:04 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=mePQ0b4Z; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: star.zeng@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1658986384; x=1690522384; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=9rPuRWplBvhnbQkHd9tyu1F4MAm3IfLuYa9o3jpT+TY=; b=mePQ0b4ZMd09mt0N+3TqeS+Ap6PnQKwMIKtcmjpflaX1i8hKG9RL7f4F ZC7LudL78OnESMvAhm97KDFYnuh1WtQQxZT/RLo9DlWccepl7+S0/LZZ0 p9AOcylJutJR6uZQJ0OJa/uuyoj4XSAvG49+qWayo3aAxLFxitQNuGrgw M0xgRBvcAgomT1u7A0gPNqkZHZJAFJ+uTbbXaOczpBYD2TYiiYR7eHr8V Qdm3aB0OaKdSP5KQp5j9xTWKed74buukB9PtTkJFrHdD82A6y+iPnTgM0 ggdp2NUvBg0LQF7MYx02L+vqdlpLc+CeXagRA3OdWVfVJteuCx7BGI+Nj A==; X-IronPort-AV: E=McAfee;i="6400,9594,10421"; a="285972797" X-IronPort-AV: E=Sophos;i="5.93,196,1654585200"; d="scan'208";a="285972797" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Jul 2022 22:33:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,196,1654585200"; d="scan'208";a="690144224" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by FMSMGA003.fm.intel.com with ESMTP; 27 Jul 2022 22:33:03 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Wed, 27 Jul 2022 22:33:03 -0700 Received: from fmsmsx606.amr.corp.intel.com (10.18.126.86) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Wed, 27 Jul 2022 22:33:02 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28 via Frontend Transport; Wed, 27 Jul 2022 22:33:02 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.176) 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.2375.28; Wed, 27 Jul 2022 22:33:00 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fJU6Pgv0oqkD/Er461TUFXPSjBSLpmMh3DpkP0bvKLBjUKIY9MuwsJTt6FEx+ArF1hJvD8d+D1ac8TsnE1HnrAgn6C7FB06et7f9En1Gc0oBc6MFjeQWkg33BzDVYB3o7C5sKhuR9hCNEibJfEPeKzdo0btmJFs3nT1sZLRAtgFr2wTNfKQBTozRrgDunIA6eceQve5/U/c0qzc/iI6HGXgcsS+D4np368zHQeUiPO6LcFAZvj0fjgHPJ1oMRo+LfZCC0OpdfXy8P/JoSE1/2oTW5qLJ0ZVb+w98RIyoiOKRlRt+WVC0aOFEh3bTFWCSqno2xCOl+pSvF6IxsKRKrg== 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=HzjmVNxhQi2vmCEP6F8QFIDjX3DL8nY7HhFUAgN5tR4=; b=gyBN4UrlN8hF6PY2k2XxLbHDu0OwX494Epl6O9Tayx5yC1M/0SvVIrXjK0Y6o4MVW/xjF3blhaRZ1OpxNlGhXkAJ2syG+77pqcf3bqh/ZAZNRWD6Tc8cSs4ILzNQkUP1dtcsjg+QDYaiEYi4uG/W9mLt3dJw5NFyTHntsulWX6h1Dl97jddETq9cgcXW2tAtD/zmb+Klki9LGXW+FZsk3YJaWBx4bDgAySyjV1GT/AqoFbCgLX7jJqHcv4inMM2RGW6QTaL47vUtgipuxMyyBFUyjzf0/zQr+oiwfyAl+ep7poiR2bKu9oS74eiUrpiUQlDh6r6vGx4JwPrZuD7wMA== 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 DM5PR11MB1244.namprd11.prod.outlook.com (2603:10b6:3:13::7) by CY4PR11MB1992.namprd11.prod.outlook.com (2603:10b6:903:2f::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5458.20; Thu, 28 Jul 2022 05:32:58 +0000 Received: from DM5PR11MB1244.namprd11.prod.outlook.com ([fe80::a139:4994:ae5f:c359]) by DM5PR11MB1244.namprd11.prod.outlook.com ([fe80::a139:4994:ae5f:c359%10]) with mapi id 15.20.5458.025; Thu, 28 Jul 2022 05:32:57 +0000 From: "Zeng, Star" To: "Chiu, Chasel" , "devel@edk2.groups.io" CC: "Desimone, Nathaniel L" , "Zeng, Star" Subject: Re: [PATCH v2] IntelFsp2Pkg: FSPI_UPD is not mandatory. Thread-Topic: [PATCH v2] IntelFsp2Pkg: FSPI_UPD is not mandatory. Thread-Index: AQHYokEcYbAwcFEUckuExvOm0bZ9z62TQmJw Date: Thu, 28 Jul 2022 05:32:57 +0000 Message-ID: References: <20220728051522.601-1-chasel.chiu@intel.com> In-Reply-To: <20220728051522.601-1-chasel.chiu@intel.com> Accept-Language: zh-CN, 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-office365-filtering-correlation-id: 366a0f77-a2bd-4df6-028f-08da705aa0c0 x-ms-traffictypediagnostic: CY4PR11MB1992:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: B+irsypNW+Q8wMdibnUlT7Yz4kHQ9K2+b+xxMytdaaLGH4Zjyqqz0aL3uBNVmmUtzRHTPTH/DxC3ws56kanKKANVMHZx0LUQPb2aPIyp7setQXlxyYZk5sq+o3K9UHaw4G3WK3tJLuYwAtsKAxJ82G9HExwGEhksHB0r/dugcZI+6pzjm0Q4d7dScuK5vSwll1EDTl+5zAwKl0BUfgOZS9jmA+zul7EMsGDGbqAZ2OhFX+5JrNWxSDLJCNqZazrhfeMKniIgxUbIdaN12VhBfoQSM72fH55SC7SzgBo+RImuirH+sz4tNFrAV8uNIPp+84GdBw7EpIeu1pB1UdOUwzfCAEUSrKBkSj17vPSqNc4f8uDiaWiJ1fXGnW13jtS5Mlmjc1SPvnblJiglgP02z3mtMC6U0XSauD/tiO+L/d2clAYwoYUe79AvdNUeiQsTSdvr95J73ZDsYOLkvZjbot4NE6B2lamwmZGeQV8gmmqBMuH4p6PkBVi6tCU9MSg66UtcbjawowdFjF6ew/lCgut0ryPZkn1dWUJT9al0IcXtBpqmdlV0iaKRHa/GMJz8fGQeL5j5tTjL2EJcMFpq9jIyVMVTbCCIqXVw6wx7YtnfBTLxW+PDXwGWH81aHyifryUhG+ykd8ZfwDnbkG7fD6UY3lsjQi+FRBcC78Mne7IwAxiooJYCJ73sLiqOO3luA8WzIE6Wefkw8CMS256WJIBsO9xyDeQRMjerics8FtYgM8ueugh+mgJaP9NwbCl/8TU8+ukTGCqxZTXGhKW9g2nGpigHBqo8NyVscf0FdP3VsFjZhpa3SbRW+nhSr9xCG5I8zT8mgWzk8wpwt2eFsA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR11MB1244.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(39860400002)(136003)(396003)(366004)(376002)(26005)(966005)(53546011)(8936002)(71200400001)(52536014)(5660300002)(7696005)(6506007)(55016003)(86362001)(478600001)(9686003)(107886003)(83380400001)(186003)(38100700002)(66946007)(2906002)(122000001)(19627235002)(54906003)(33656002)(41300700001)(38070700005)(66476007)(8676002)(64756008)(66446008)(110136005)(82960400001)(76116006)(66556008)(4326008)(316002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?JF/LNkFCrrgB4toFwbrGe69q6yA13x5LakudnSstDWIy2tnaYC2xZx4iAMQw?= =?us-ascii?Q?8lluMy7UoKEWEYGp0gqSuwG71eVBhPva0ptN6bEgslUfA/EPWq4YkG0bf7/9?= =?us-ascii?Q?ZDrCFg09LIxWmq/Qu6B4W7toY7mu/ArkWREDJxIXjRB4x6O+NJCWurG1WjPq?= =?us-ascii?Q?8x8fZL+nhaVOg0XxqWtDNsFkx80tXrFvSDX/P1bNz3n97AZvI9IB1mO0TBIF?= =?us-ascii?Q?3fOD9KLguuVzJSEjbjNF520BfmxwnUH/evQYa8pdujHKCyAxKPKqH0UCgLcK?= =?us-ascii?Q?v/RHz/Dl5g91KkNYSp7Q3T+VQJlLq0vlN72rRdOLjDxWWYAyTKCS9Ht22tgM?= =?us-ascii?Q?AnxXQXImBT0EMF346V2DwRkI0pOpx3Py5TLMzoEeO3y2MLi9RkUPjdOOhX92?= =?us-ascii?Q?XPayKFgUzPuCI8GGBsRpO2473q4mGIfSEQv7hiK/51StYqVJGqkxdMb54Thv?= =?us-ascii?Q?KO1e6lhCO7ld150fFRUvZTSjiiIFYi+oTYWk5YIVSAX/8W3/FFSoKsHkOuvz?= =?us-ascii?Q?XrK/wgDLgm1z8S/XX7Uj4ipcjcTCQkY1vWPBeyYb0jVpoB5xODJuZ3SNv44y?= =?us-ascii?Q?enlHaMGE7aYAYvyV0vB1oealTogOtKYHkj5KOegiL0bUkNgO04bC7a0fUYIo?= =?us-ascii?Q?qflMXEApsVNC8ElS5S5xymWZyFI0y6D5FialpS3iK1sl+eOsGEqf1UVlwxRK?= =?us-ascii?Q?zl6QC5+I17XNJm4cN80XCI+bdZkkPuhimlXSx7De9nnMnPYcemUeC0tgouu6?= =?us-ascii?Q?Kp/JHGS4Zmka7XkP8mjneDgK8Wu4dxR5nCxGx3KyqLbsPcZeYfkmdslXReWF?= =?us-ascii?Q?Twjsmsp56TlvQK2YSYh7b2MaymmcTlrQ/sGnHTIYDLlgmeN5uWi922uAFpgE?= =?us-ascii?Q?WmQOUpBn8wS3uWfWuNFCBQ8lpmU4xax/HBDUtyYNssfbRqbg5g3Wx5NBZDSF?= =?us-ascii?Q?DuDDqvuiQ7l4VEcNNeZqgrhM0rhHnbImkeYRVB5h5DZWiEala1W0aDIOkYMr?= =?us-ascii?Q?a20suq/fQi+gqss5NinzfaJlAg/0PF9esLYN8fBwW/JaKoBjk2swp5GHdjjH?= =?us-ascii?Q?RY9UEeIny72xzJ33cgeza5xJF0gbjVWumyRUGFj0kcXOq4NvyzKP3gtexelP?= =?us-ascii?Q?GAr0Dtz7CXI5fsS+ORJTNFECLMKQqMxWNfd3H7zjcp1Y/hqfAowYzSHhi6M7?= =?us-ascii?Q?ZYXH4NGE5smkKzggXU7mH3Puo8EbW3jsIusffB6cZ+mgCHJb5PWPUPIJIrFb?= =?us-ascii?Q?+o2r9iA7ZU5VgG/pc/jdmwAzzWBqGjZn/8SwBQFM2Koc73+dRlUEOJoOmK/b?= =?us-ascii?Q?D4z6rjjKIxieGb+Pr/Agf7wVj3s17xY62p0tTypTjgNjud8Exxhzf49jpVXH?= =?us-ascii?Q?4QJ7n2BbyhjdzVk5ksAmaZCRi8V5nOc4Ng7/7w19HZE/Je28BbrqqLGZl/g3?= =?us-ascii?Q?RejoXQzqkWtiL/h3xQEXHJ/JNlo6NRtrUAucPQbuyWT5i8g8e4mG3kBLMz4w?= =?us-ascii?Q?EE7WvDLmPbwIVPaGApj/jUkP/icTk/l3aYFuiVBjv5SVmEff7qameAMJuifY?= =?us-ascii?Q?t2Blll3NCo/sfa4+BXIfk/aocmh7eTBpL2fhXIRm?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM5PR11MB1244.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 366a0f77-a2bd-4df6-028f-08da705aa0c0 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jul 2022 05:32:57.2495 (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: CqEW9RdRSGxTlPBjX1R+ogl31EIjiDa+bapqNwlyVVTe6HbQeMLCSeYnSycRQzAl/O5ZG99z7+7yDwiZGP26BA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB1992 Return-Path: star.zeng@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Star Zeng -----Original Message----- From: Chiu, Chasel =20 Sent: Thursday, July 28, 2022 1:15 PM To: devel@edk2.groups.io Cc: Chiu, Chasel ; Desimone, Nathaniel L ; Zeng, Star Subject: [PATCH v2] IntelFsp2Pkg: FSPI_UPD is not mandatory. REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3993 FSPI_UPD is required only When platforms implemented FSP_I component. Updated the scripts to allow FSPI_UPD not present scenario. Also fixed FSP_GLOBAL_DATA structure alignment issue and unnecessary non-backward compatibility change in previous FSP_I patch. Cc: Nate DeSimone Cc: Star Zeng Signed-off-by: Chasel Chiu --- IntelFsp2Pkg/Include/FspGlobalData.h | 43 +++++++++++++++++++++-----------= ----------- IntelFsp2Pkg/Tools/GenCfgOpt.py | 14 ++++++++++---- 2 files changed, 31 insertions(+), 26 deletions(-) diff --git a/IntelFsp2Pkg/Include/FspGlobalData.h b/IntelFsp2Pkg/Include/Fs= pGlobalData.h index cf94f7b6a5..32c6d460e4 100644 --- a/IntelFsp2Pkg/Include/FspGlobalData.h +++ b/IntelFsp2Pkg/Include/FspGlobalData.h @@ -42,58 +42,57 @@ typedef struct { #define FSP_PERFORMANCE_DATA_TIMER_MASK 0xFFFFFFFFFFFFFF =20 typedef struct { - UINT32 Signature; - UINT8 Version; - UINT8 Reserved1[3]; + UINT32 Signature; + UINT8 Version; + UINT8 Reserved1[3]; /// /// Offset 0x08 /// - UINTN CoreStack; - UINTN Reserved2; + UINTN CoreStack; + VOID *SmmInitUpdPtr; /// /// IA32: Offset 0x10; X64: Offset 0x18 /// - UINT32 StatusCode; - UINT8 ApiIdx; + UINT32 StatusCode; + UINT8 ApiIdx; /// /// 0: FSP in API mode; 1: FSP in DISPATCH mode /// - UINT8 FspMode; - UINT8 OnSeparateStack; - UINT8 Reserved3; - UINT32 NumberOfPhases; - UINT32 PhasesExecuted; - UINT32 Reserved4[8]; + UINT8 FspMode; + UINT8 OnSeparateStack; + UINT8 Reserved2; + UINT32 NumberOfPhases; + UINT32 PhasesExecuted; + UINT32 Reserved3[8]; /// /// IA32: Offset 0x40; X64: Offset 0x48 /// Start of UINTN and pointer section - /// All UINTN and pointer members must be put in this section - /// except CoreStack and Reserved2. In addition, the number of - /// UINTN and pointer members must be even for natural alignment - /// in both IA32 and X64. + /// All UINTN and pointer members are put in this section + /// for maintaining natural alignment for both IA32 and X64 builds. /// FSP_PLAT_DATA PlatformData; VOID *TempRamInitUpdPtr; VOID *MemoryInitUpdPtr; VOID *SiliconInitUpdPtr; - VOID *SmmInitUpdPtr; /// - /// IA32: Offset 0x68; X64: Offset 0x98 + /// IA32: Offset 0x64; X64: Offset 0x90 /// To store function parameters pointer /// so it can be retrieved after stack switched. /// VOID *FunctionParameterPtr; FSP_INFO_HEADER *FspInfoHeader; VOID *UpdDataPtr; - UINTN Reserved5; /// /// End of UINTN and pointer section + /// At this point, next field offset must be either *0h or *8h to + /// meet natural alignment requirement. /// - UINT8 Reserved6[16]; + UINT8 Reserved4[16]; UINT32 PerfSig; UINT16 PerfLen; - UINT16 Reserved7; + UINT16 Reserved5; UINT32 PerfIdx; + UINT32 Reserved6; UINT64 PerfData[32]; } FSP_GLOBAL_DATA; =20 diff --git a/IntelFsp2Pkg/Tools/GenCfgOpt.py b/IntelFsp2Pkg/Tools/GenCfgOpt= .py index 128b896592..71c48f10e0 100644 --- a/IntelFsp2Pkg/Tools/GenCfgOpt.py +++ b/IntelFsp2Pkg/Tools/GenCfgOpt.py @@ -959,8 +959,13 @@ EndList UpdTxtFile =3D '' FvDir =3D self._FvDir if GuidList[Index] not in self._MacroDict: - self.Error =3D "%s definition is missing in DSC file" % (G= uidList[Index]) - return 1 + NoFSPI =3D False + if GuidList[Index] =3D=3D 'FSP_I_UPD_TOOL_GUID': + NoFSPI =3D True + continue + else: + self.Error =3D "%s definition is missing in DSC file" = % (GuidList[Index]) + return 1 =20 if UpdTxtFile =3D=3D '': UpdTxtFile =3D os.path.join(FvDir, self._MacroDict[GuidLis= t[Index]] + '.txt') @@ -1296,7 +1301,8 @@ EndList elif '_S' in SignatureStr[6:6+2]: TxtBody.append("#define FSPS_UPD_SIGNATURE = %s /* '%s' */\n\n" % (Item['value'], SignatureStr)) elif '_I' in SignatureStr[6:6+2]: - TxtBody.append("#define FSPI_UPD_SIGNATURE = %s /* '%s' */\n\n" % (Item['value'], SignatureStr)) + if NoFSPI =3D=3D True: + TxtBody.append("#define FSPI_UPD_SIGNATURE = %s /* '%s' */\n\n" % (Item['value'], SignatureStr)) TxtBody.append("\n") =20 for Region in ['UPD']: @@ -1702,7 +1708,7 @@ EndList =20 =20 def Usage(): - print ("GenCfgOpt Version 0.58") + print ("GenCfgOpt Version 0.59") print ("Usage:") print (" GenCfgOpt UPDTXT PlatformDscFile BuildFvDir = [-D Macros]") print (" GenCfgOpt HEADER PlatformDscFile BuildFvDir InputHFile = [-D Macros]") --=20 2.35.0.windows.1