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.web09.1897.1658372818134970503 for ; Wed, 20 Jul 2022 20:06:58 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=HvBqH8/y; spf=pass (domain: intel.com, ip: 192.55.52.120, 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=1658372818; x=1689908818; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=0QzGP8+YkpKeK8QYSmzgUgfxRnz3DbNVZ36+WBPZy2g=; b=HvBqH8/yYNluPqFx8aXIyywYzMWDqAD7i7VgdaKBL1vx3t7LXzfi/wNe iKY5iexeSak3O21+fYK1kJlL3IG6pXxoqN5TbfwKWnQKbDW9QVg/25xdt jirX2eOYYeS8Yd+XfXJw2RMfxR4drHBGSHsFWM6OoYY5yTuQCX6oianAv KP/XaWvALgsRjIOygbQnjR6CJpTco2r6sR6dDbvbQXY6OFNeVD3mTPum6 JKu3RnYHubXakuqNPa/IayJEoF00nq2EVNBAVYCf6XIdAJtmr9nbZCIOT Ya+VqOwQd7Xu72tAgWNy87ITb5NGENjupDpbhCX65zvKs/vRM6t+l9M3S Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10414"; a="285701312" X-IronPort-AV: E=Sophos;i="5.92,288,1650956400"; d="scan'208";a="285701312" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Jul 2022 20:06:57 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.92,288,1650956400"; d="scan'208";a="656547945" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga008.fm.intel.com with ESMTP; 20 Jul 2022 20:06:57 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) 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.2375.28; Wed, 20 Jul 2022 20:06:57 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) 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.2375.28 via Frontend Transport; Wed, 20 Jul 2022 20:06:57 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.171) 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.2308.27; Wed, 20 Jul 2022 20:06:57 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XGPCdxeYDLIi+0HARsD8faBGZbHuQg8vrneCBVdeioXwj1EbWpzoKRM6KOG36BFxSCQGhs46QJfGRILUaiXDDYyn5LyuasC25DaGtyeiXuCFyl4cxGPR1o5u9eu+xgvO6P43AYyUqxYGWk6tpShFciVSEKpSuzFEc+yA2P1kwavfn5uCHTnppg2fcecswNYC+D/+ViL9Eu/bnRGo2pu0iiXaiVFtkAso+PwlvEtbbI72A1KXSQoBGxS7/CjE0Won2ZxbwOcmlmao6tN+53uIBXSP3l0yixRk+LWAdRrFeimGN4w6z/xok+ISZyCxp457fHOBEmKsTCkyjQ20vlbonw== 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=Wlj+6Dwenj74y85dtkaSh+YYXeVEsD7/oKNm3jFk40o=; b=dGS7fmh6TzcPeTcu5ctDi9l8I+WFNF0x1kfbOAZ8phjG/Vy0mOi0nkzjnJxRe47KWXHNGLDKN2Oat46TkNCddUv8MB/wLo5BgTWWKtZW3KuLX1qLTlKYn7FKdnHfwUbz6pR/86y5e1R10EpzbLohj5JCiWJRbvQOI2ZrLBu0rl1cOMW6ZrLLCVUCWJY5YhiUdw+5dcCcSYd5+ifdyu/9i5vhKAFFQyuK2dxXfSiw9Pms/PjdIm3cpuuU2IAznx0ttBIXAhj9m5UzIRxZtCWage1Wy0WUgb833fGe1CPlxqJcSk85Z5O1bDELfOO9GJhyvGyFYoFLqNIUfvVxrO65LQ== 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 DM6PR11MB3291.namprd11.prod.outlook.com (2603:10b6:5:d::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.22; Thu, 21 Jul 2022 03:06:55 +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.5438.023; Thu, 21 Jul 2022 03:06:55 +0000 From: "Zeng, Star" To: "Chiu, Chasel" , "devel@edk2.groups.io" CC: "Desimone, Nathaniel L" , "Zeng, Star" Subject: Re: [PATCH v3] IntelFsp2Pkg: Add FSPI_ARCH_UPD. Thread-Topic: [PATCH v3] IntelFsp2Pkg: Add FSPI_ARCH_UPD. Thread-Index: AQHYnKmvHSGJf8u0CkC8wEhrE9QoK62IIqGQ Date: Thu, 21 Jul 2022 03:06:55 +0000 Message-ID: References: <20220721022837.4137-1-chasel.chiu@intel.com> In-Reply-To: <20220721022837.4137-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: b8e72d43-8fa8-44f4-e329-08da6ac61182 x-ms-traffictypediagnostic: DM6PR11MB3291:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 1nsFTm5Ngt1NbVq1MtWHS1VjtisShpwMTGDVs0Zh8LzjagIV+DgpJtSy0CNzoongyRbAa16rFYO74Ot/kV9fqEwqOO0esQQkpNiathzsxMaJZVk3Z9278Nafs6rDPXTF41NLQpAvpDSHxOSeBJCoo5EHVop9JvbdrDoZtA7ZgJVs29boANKhPfAEAQeCBxvgAcpKQMZC8sjFa47zDdNvVHmrn4yWlbWhGqhMNZWFh7+XHHJTUHtl/8WyFRkpIwxeOyQEDRWjGHEimdOjDCBCDccl4x2znMXxSgZtJBCs2TOhZjOCebjtchAMij3fdIdqZNUs8Q5hD6oHPZXznLvP5aSaHYnDJ9UE4VmXLARbZVvq5e65Coxa+UmM+U7VA1jE2Ks+v8HUt/YPY7IQeBdtYtSyzRdMuq8Uw8EduHV7hRAc5ytSCubqqZVchvXv8kf2QtkqCRA7T/17XNhU0X866L3opSlcg1Gy54ozCNDyRPFxOsihMie/hBnc/zmiwsA9IbcRV97X3QGSMPaHMvPtW4NQAj2FXU4meqrGYfDqiBklaEqNKfcbAChLuFu+eajmUSvFjt5+PFeRT95YIFHsJikCNc+fpKzIj0S7mvw6RULMBkX4ux3z3aezduIiUjJpqQI+sPIC5MRpX/mG51GM8q7zQR2E00V5J7WuVbGlIQDv5v9TqEL0aa78iN9jsuFSQn9YLWic32R351lHcPn1PI3deqZcsbz5M5/pfqjRd4zlcijm6lNc2wf1EzQVcr80ow8lQwFkEYwFlxzMh4CDFbcqkPZafQ33qY4EPLglg0EtU58D2YeblHh4Pav98cK+lu0zNMBP6goVgB1xohWejA== 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)(376002)(346002)(136003)(396003)(366004)(39860400002)(38070700005)(316002)(82960400001)(19627235002)(122000001)(53546011)(38100700002)(7696005)(83380400001)(76116006)(107886003)(186003)(55016003)(2906002)(8676002)(5660300002)(8936002)(4326008)(478600001)(33656002)(66556008)(86362001)(64756008)(66446008)(41300700001)(966005)(6506007)(71200400001)(9686003)(52536014)(54906003)(66946007)(26005)(66476007)(110136005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?t102QcoAvFwT5SqVQUyvOBdfuf+GZWL6yYSDKxMwWESmxWX4hqW+S9xDtC0U?= =?us-ascii?Q?xNCYbWU3dDH9NzDvz4oxn03zzh5+A52T1eB9s8gsbXTHfltDy34Bx7TYO1Ke?= =?us-ascii?Q?DValb0DmP4ztQgLEOgEBe0IfzdEu03cZky0yx/EyueTwzcyuP0diBBwHV6nN?= =?us-ascii?Q?X3hnGgIRqOyGYdn/Kieoikqr6zjMyZp8YdU+jRTNm+zJSltA1CgqYiEvHjjN?= =?us-ascii?Q?qNgHQbmMuLaiGaGEbrk52UtcJhi5f/U3RQB0yh6AA5kBdFRq/8C7pPRv4uuG?= =?us-ascii?Q?Lrq6WrZr8dUoSQZH6Ry6mIKXrn2zUzux2x4BW/pAnL6WSjYq/FCixPDeDNIh?= =?us-ascii?Q?oOGGymDwtU9FL2xAzNLmilKAUY/dj7vXG6AsurPcpn++xUyUgL0l9UWwx4Bz?= =?us-ascii?Q?qYcE5mW56KyQT1R80u2KtaYGwb0b2FbZGDvOqvsmKvv7ecLkijTBRg70Vdnj?= =?us-ascii?Q?6SMd+QhPUm9R1guQFJBFn+jT4wu5jn3YzUfsYZ8n6ioD7VFe9c+kMkkA5wpb?= =?us-ascii?Q?NKw4poQpeAa3BbnqdN/Rjd3SfkwiCKG+hIx7FhsJ6KpcPldplW+vbVljn9+p?= =?us-ascii?Q?hBqjlp426jJq74LgfLG44WnXNOpVt6BTZ/uo9z2wJ4pPuQK5rE2YM1USQoHT?= =?us-ascii?Q?sPQxYCfmoejgu41InmXTbEqwzWiVR10R/9EgT7A/Yo+4hgF25HkZ9ZFcLvXP?= =?us-ascii?Q?TFj6F4MEI/dgODwQ2kk8LWUaUwID5euP5rszT8/1oW5gbgA6aG7OO1z9/px5?= =?us-ascii?Q?IagUT4tCMtoCCPjt/KOh9y4cnFBdsMTIX9dL+cIt5HIGIYf6IQEaH3Fx50JI?= =?us-ascii?Q?ERNb3UqnM7nbvxx+LS1ezYz0R6rCECNKDxkYK7qJk+J3rW78qXlfEwcGA60c?= =?us-ascii?Q?eJMWktmFaT/QFTpRM3mXT7Vavg3FA6q0WJq2k3r/4GQltsrQCYxlp0/ucUA/?= =?us-ascii?Q?BUKe1zQvfedwO4TvMX/SV/O/YZjkcuy79v6fz0E1ig2mn5bB4Ugu++Enm1QF?= =?us-ascii?Q?MeqIplkY7Nfgc3XTBU8iB8C6yaLgVtkTuCQVgb39PPE+r96nKpvl8kiuU5e0?= =?us-ascii?Q?jYyG3tGlsyZbCGAB+rXdkp01U/7kEY6OiE3GEPCjNdHpTPh3X2NA0hqSrtIL?= =?us-ascii?Q?mLc2WnQsnnNYjFqemGz7w4z5mbg73UXl5WzBoKqXnBgn32FLS2DKbUDpKeyd?= =?us-ascii?Q?Enfw1rj7OzCzWx0mZTk76wTLrW16HbLxlt3OBOPv+fcMkbcLwyIno3THkcOJ?= =?us-ascii?Q?QN+Y7zHlCqT59G5cq1s4rr74g8q54xUvrIOtOk33HpXo8S0+WlBpZdx7ivQr?= =?us-ascii?Q?TvO3xAH1XkpNJxE/Vgx/KSyCtAou7z6jIgkfufDqtOwveRgV8Z6795u2ws+h?= =?us-ascii?Q?aJ9dvkbjEWcEKMjNY9usoIJIu9Ur3Bqu6u+FW/2Fj2IQ1cFvbo0VkYK5TTAB?= =?us-ascii?Q?jnuVdDE7aBPiMj1XbpKF0I+ZTuUCqYFSpA65rzYDI3fg2byNvP2w9yQth4tz?= =?us-ascii?Q?1Ccc2/bmqzPSvx+4CJlqmF0d03Dekb59FHwrQj8VWA5+LHfnvqo6y5nMyGQv?= =?us-ascii?Q?ovhM/EVDO7WhO/rN2LxVqwr4AUwg8QfNptgfAOQy?= 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: b8e72d43-8fa8-44f4-e329-08da6ac61182 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jul 2022 03:06:55.6049 (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: zaaQHSFdyvGZlOVwgTv6IxLNAlxT4OXxJmbEaOQ6faFlP8Jr2BXZV8eL0DSeD8zPY1YjoA9aMFmHhwOAMpwj8w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3291 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 Is the reserved bytes number correct for FSPI_ARCH_UPD alignment? UINT16 BootloaderSmmFvContextDataLength; UINT8 Reserved1[24]; Thanks, Star -----Original Message----- From: Chiu, Chasel =20 Sent: Thursday, July 21, 2022 10:29 AM To: devel@edk2.groups.io Cc: Chiu, Chasel ; Desimone, Nathaniel L ; Zeng, Star Subject: [PATCH v3] IntelFsp2Pkg: Add FSPI_ARCH_UPD. REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3993 Adding the missing FSPI_ARCH_UPD, FSP_GLOBAL_DATA_VERSION bumpping up, and some comments for clarification. Also fixed a bug in SplitFspBin.py for FSP-I support. Cc: Nate DeSimone Cc: Star Zeng Signed-off-by: Chasel Chiu --- IntelFsp2Pkg/Include/FspEas/FspApi.h | 71 +++++++++++++++++++++++++++= +++++++++++++++++++++++++++++++++++++------- IntelFsp2Pkg/Include/FspGlobalData.h | 2 +- IntelFsp2Pkg/Include/Guid/FspHeaderFile.h | 21 +++++++++++++++++++-- IntelFsp2Pkg/Tools/SplitFspBin.py | 2 +- 4 files changed, 85 insertions(+), 11 deletions(-) diff --git a/IntelFsp2Pkg/Include/FspEas/FspApi.h b/IntelFsp2Pkg/Include/Fs= pEas/FspApi.h index bf46f13f73..3f368574e8 100644 --- a/IntelFsp2Pkg/Include/FspEas/FspApi.h +++ b/IntelFsp2Pkg/Include/FspEas/FspApi.h @@ -1,6 +1,6 @@ /** @file Intel FSP API definition from Intel Firmware Support Package External - Architecture Specification v2.0 - v2.2 + Architecture Specification v2.0 and above. =20 Copyright (c) 2014 - 2022, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent @@ -100,13 +100,14 @@ typedef struct { /// "XXXXXX_T" for FSP-T /// "XXXXXX_M" for FSP-M /// "XXXXXX_S" for FSP-S + /// "XXXXXX_I" for FSP-I /// Where XXXXXX is an unique signature /// UINT64 Signature; /// /// Revision of the Data structure. - /// For FSP spec 2.0/2.1 value is 1. - /// For FSP spec 2.2 value is 2. + /// For FSP spec 2.0/2.1, this value is 1 and only FSPM_UPD having ARC= H_UPD. + /// For FSP spec 2.2 and above, this value is 2 and ARCH_UPD present i= n all UPD structures. /// UINT8 Revision; UINT8 Reserved[23]; @@ -134,7 +135,7 @@ typedef struct { } FSPT_ARCH_UPD; =20 /// -/// FSPT_ARCH2_UPD Configuration. +/// FSPT_ARCH2_UPD Configuration for FSP 2.4 and above. /// typedef struct { /// @@ -196,7 +197,7 @@ typedef struct { } FSPM_ARCH_UPD; =20 /// -/// FSPM_ARCH2_UPD Configuration. +/// FSPM_ARCH2_UPD Configuration for FSP 2.4 and above. /// typedef struct { /// @@ -209,6 +210,13 @@ typedef struct { /// UINT32 Length; /// + /// Pointer to the non-volatile storage (NVS) data buffer. + /// If it is NULL it indicates the NVS data is not available. + /// This value is deprecated starting with v2.4 of the FSP specification= , + /// and will be removed in an upcoming version of the FSP specification. + /// + EFI_PHYSICAL_ADDRESS NvsBufferPtr; + /// /// Pointer to the temporary stack base address to be /// consumed inside FspMemoryInit() API. /// @@ -232,7 +240,7 @@ typedef struct { /// This value is only valid if Revision is >=3D 2. /// EFI_PHYSICAL_ADDRESS FspEventHandler; - UINT8 Reserved1[24]; + UINT8 Reserved1[16]; } FSPM_ARCH2_UPD; =20 /// @@ -265,7 +273,7 @@ typedef struct { } FSPS_ARCH_UPD; =20 /// -/// FSPS_ARCH2_UPD Configuration. +/// FSPS_ARCH2_UPD Configuration for FSP 2.4 and above. /// typedef struct { /// @@ -285,6 +293,40 @@ typedef struct { UINT8 Reserved1[16]; } FSPS_ARCH2_UPD; =20 +/// +/// FSPI_ARCH_UPD Configuration. +/// +typedef struct { + /// + /// Revision of the structure is 1 for this version of the specification= . + /// + UINT8 Revision; + UINT8 Reserved[3]; + /// + /// Length of the structure in bytes. The current value for this field i= s 32. + /// + UINT32 Length; + /// + /// The physical memory-mapped base address of the bootloader SMM firmwa= re volume (FV). + /// + EFI_PHYSICAL_ADDRESS BootloaderSmmFvBaseAddress; + /// + /// The length in bytes of the bootloader SMM firmware volume (FV). + /// + UINT64 BootloaderSmmFvLength; + /// + /// The physical memory-mapped base address of the bootloader SMM FV con= text data. + /// This data is provided to bootloader SMM drivers through a HOB by the= FSP MM Foundation. + /// + EFI_PHYSICAL_ADDRESS BootloaderSmmFvContextData; + /// + /// The length in bytes of the bootloader SMM FV context data. + /// This data is provided to bootloader SMM drivers through a HOB by the= FSP MM Foundation. + /// + UINT16 BootloaderSmmFvContextDataLength; + UINT8 Reserved1[24]; +} FSPI_ARCH_UPD; + /// /// FSPT_UPD_COMMON Configuration. /// @@ -393,6 +435,21 @@ typedef struct { FSPS_ARCH2_UPD FspsArchUpd; } FSPS_UPD_COMMON_FSP24; =20 +/// +/// FSPI_UPD_COMMON Configuration. +/// +typedef struct { + /// + /// FSP_UPD_HEADER Configuration. + /// + FSP_UPD_HEADER FspUpdHeader; + + /// + /// FSPI_ARCH_UPD Configuration. + /// + FSPI_ARCH_UPD FspiArchUpd; +} FSPI_UPD_COMMON; + /// /// Enumeration of FSP_INIT_PHASE for NOTIFY_PHASE. /// diff --git a/IntelFsp2Pkg/Include/FspGlobalData.h b/IntelFsp2Pkg/Include/Fs= pGlobalData.h index 697b20ed4c..cf94f7b6a5 100644 --- a/IntelFsp2Pkg/Include/FspGlobalData.h +++ b/IntelFsp2Pkg/Include/FspGlobalData.h @@ -12,7 +12,7 @@ =20 #define FSP_IN_API_MODE 0 #define FSP_IN_DISPATCH_MODE 1 -#define FSP_GLOBAL_DATA_VERSION 1 +#define FSP_GLOBAL_DATA_VERSION 0x2 =20 #pragma pack(1) =20 diff --git a/IntelFsp2Pkg/Include/Guid/FspHeaderFile.h b/IntelFsp2Pkg/Inclu= de/Guid/FspHeaderFile.h index c7fb63168f..5381716d81 100644 --- a/IntelFsp2Pkg/Include/Guid/FspHeaderFile.h +++ b/IntelFsp2Pkg/Include/Guid/FspHeaderFile.h @@ -52,7 +52,7 @@ typedef struct { UINT8 Reserved1[2]; /// /// Byte 0x0A: Indicates compliance with a revision of this specificatio= n in the BCD format. - /// For revision v2.3 the value will be 0x23. + /// For revision v2.4 the value will be 0x24. /// UINT8 SpecVersion; /// @@ -93,11 +93,28 @@ typedef struct { /// Bit 0: Graphics Support - Set to 1 when FSP supports enabling Grap= hics Display. /// Bit 1: Dispatch Mode Support - Set to 1 when FSP supports the opti= onal Dispatch Mode API defined in Section 7.2 and 9. This bit is only valid= if FSP HeaderRevision is >=3D 4. /// Bit 2: 64-bit mode support - Set to 1 to indicate FSP supports 64-= bit long mode interfaces. Set to 0 to indicate FSP supports 32-bit mode int= erfaces. This bit is only valid if FSP HeaderRevision is >=3D 7. - /// Bits 15:3 - Reserved + /// Bit 3: FSP Variable Services Support - Set to 1 to indicate FSP ut= ilizes the FSP Variable Services defined in Section 9.6 to store non-volati= le data. This bit is only valid if FSP HeaderRevision is >=3D 7. + /// Bits 15:4 - Reserved /// UINT16 ImageAttribute; /// /// Byte 0x22: Attributes of the FSP Component. + /// Bit 0 - Build Type + /// 0 - Debug Build + /// 1 - Release Build + /// Bit 1 - Release Type + /// 0 - Test Release + /// 1 - Official Release + /// Bit 11:2 - Reserved + /// Bits 15:12 - Component Type + /// 0000 - Reserved + /// 0001 - FSP-T + /// 0010 - FSP-M + /// 0011 - FSP-S + /// 0100 - FSP-I (FSP SMM) + /// 0101 to 0111 - Reserved + /// 1000 - FSP-O + /// 1001 to 1111 - Reserved /// UINT16 ComponentAttribute; /// diff --git a/IntelFsp2Pkg/Tools/SplitFspBin.py b/IntelFsp2Pkg/Tools/SplitFs= pBin.py index 317d9c1fa0..ddabab7d8c 100644 --- a/IntelFsp2Pkg/Tools/SplitFspBin.py +++ b/IntelFsp2Pkg/Tools/SplitFspBin.py @@ -492,7 +492,7 @@ class FspImage: self.FihOffset =3D fihoff self.Offset =3D offset self.FvIdxList =3D [] - self.Type =3D "XTMSIXXXXOXXXXXXX"[(fih.ComponentAttribute >> = 12) & 0x0F] + self.Type =3D "XTMSIXXXOXXXXXXX"[(fih.ComponentAttribute >> 1= 2) & 0x0F] self.PatchList =3D patch self.PatchList.append(fihoff + 0x1C) =20 --=20 2.35.0.windows.1