From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web10.1982.1658373556314838475 for ; Wed, 20 Jul 2022 20:19:16 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=EQ+NtDVw; spf=pass (domain: intel.com, ip: 192.55.52.151, 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=1658373556; x=1689909556; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Q6KxpuSHq5wmzRSIlZIqwdk7ETy5yvs2xk3dJyNzC2A=; b=EQ+NtDVwAAGxszktwkA0WnR/7SfWPkTE0V0XvBFWzkyjWWgRDIOD0wvd rQtNGVfJbr4y4f52lPzJVqAqPP2YisE05NaS57dccU3BjwI09p6YL9zPM MGWn7t/xXtvANhHMUlhDmz3iuC4z3inBbsZz+KeMOYDcyYWX/nniyhF4n 50hLCjhTET136lQg3tpeGzx/ovh5p4vGKlWKOT3fhqVMBGBz0eo7JLeGW yxevkIYHo8Hjqg2mG61diM1evCIQw24Nt8MDxzX1XEsP+5lft7MZkDHUo YLX8524gHPAaLB5tdq+CQiAkKqLNom+CK9r17Y1Vmt5Yq6p6sq2dbkoad A==; X-IronPort-AV: E=McAfee;i="6400,9594,10414"; a="267337027" X-IronPort-AV: E=Sophos;i="5.92,288,1650956400"; d="scan'208";a="267337027" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Jul 2022 20:19:15 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.92,288,1650956400"; d="scan'208";a="625930181" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by orsmga008.jf.intel.com with ESMTP; 20 Jul 2022 20:19:15 -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, 20 Jul 2022 20:19:14 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) 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, 20 Jul 2022 20:19:14 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) 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:19:14 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.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.2308.27; Wed, 20 Jul 2022 20:19:13 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FPGYzuxBJ9q00kAGa6T2Q1AxgfyGgdsE1ILB81oWH6GiVoAnH7XV1hrgj77Rw+i2Ug0RqWP0sK4KWbchwrf07imTHcZOF9kvZFSj30cQiUY8Gce8nT9hxz9DJ1TKm3fQ9rcEoFaWdzDtptdNdX8yNZvp4Aqhev1LOr+TvyWxL7p9Ai2E1SMXe0TqDnlTIjnjlGmPA0MvHwkAFStj8QKgtFmI3uFj3BjDjBk5HS8roXGm1/V3RDj6ER1nZWzC8vy12vKbNEd26RXWkxFahN3De4hVbiOePixYe6Dtp4onEiSRfXml51OL8+myOp5iSjT0kcFPoZnLiJD563MP23Al1A== 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=zxTJwJ64ZSOGTNC18SYZbdSx69EJb7u3RoKjSSQMOaI=; b=iJHWTdwOHCwqYKm8iJQq9orO1RiqxINxluldgqVGA9wCCZcW/Fo64jy5jt/xxw4p+mAV8f1MVCRAB+RYh9NjMKMj0oHZHnCs4e9+Kq8s52fpNhvUa8zQi04R95z+FBvdivFifWOxBKylryTfI7THbvTOarsUJo5oPrHSM2lXqRRkL9pumnMHjDShtFS89HDpXGbp5hZsSqyWi3WrY28rFHe2DcdYr49DzJaQpMsvtTtZGY6INZf/4czpsDC6NO+1BzyiFZNJSB1op+aInT61kFzHfuT/PfLilw9V+lm/y0Vh98TRoNeK+4xf86YkfnprL8krcfssdWzy3SiFqGa1tQ== 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 MWHPR1101MB2080.namprd11.prod.outlook.com (2603:10b6:301:56::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.21; Thu, 21 Jul 2022 03:19:12 +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:19:12 +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: AQHYnKmvHSGJf8u0CkC8wEhrE9QoK62IIqGQgAAEhICAAACyYA== Date: Thu, 21 Jul 2022 03:19:12 +0000 Message-ID: References: <20220721022837.4137-1-chasel.chiu@intel.com> In-Reply-To: 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: bcec2dbb-28e4-4ba4-d99e-08da6ac7c880 x-ms-traffictypediagnostic: MWHPR1101MB2080:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 4jwm+DsAV//ol9d0QBwKEOm5f+rPq47NeiCCiEE27XTqaaI+8cvkELqAxlHI5mPXGxSXhJQZSiHqwV9EpYj4ptLGrg0LizgxBuN5yCE1ytJW/NMB7CcElhaPN4FpzRzZxah1jfjlUhnck7CXuoHsUppnBNOIjj1IXp/9R+PWzcDGXJW4V6Zdmd7yvZvylnVFiYXxPZyv4NIDDl8I6LsR2YPwWt+TaX9sWXyhaNRDbBgGv+gLhKt5s5HXWL1zUVfKAFBJrHGIUpMI/kSmRiqfy5NviunGnH83wU3kAmzt6ihB8F1kkZDkyLchGxA3x1gurQD0IJgGoQ/+mMckKeW438wfcNgTVM+DBklcdFJrFFh3zhDr1L7ihCWLNpEvdt+U0Kdv0ThaKkRpY/0IgKbxGbMsYpgQXBn3tZQHd4QdXK3LHuNRHTPk5IPvrfFdlnJN4wKBLeil7jlR3yC7iF0RBRWNAxyEX39sN/4tBX6jhf9Tt5S/vEO+Cr1FLerRhp6qEOcOtKYnltUpUkXU5+g/0scyxFlnE7G8icAwYYsvuq6zVKA0c8NQqhBbwhchmvMZT1ZFaykQGow4ThIvyAGZn/5fMpz8ZwiXTmpnGkEmcGOJIztCz3haEdrliNxE2yzDhDkSDtDqfr70rtyGrkqEhAWUBbSiPYx2PH6RsPo0RHK9vVm2Eein41c1qRmfJx6gJIwUdc4ZK32wlN4mlvCV35eiHW+OL6RMrQGhgeTWXKP9V4mjT9h6YQkXRTTkg3/4oy3dBqzUSqoBEuiAdyuJqPc0udyNN6H+42zM9n9quyEBc7C2HG1401VOlI2xh5Png93eGrq0pMi6oRxUzt4nPw== 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)(136003)(366004)(396003)(346002)(39860400002)(376002)(76116006)(66556008)(5660300002)(53546011)(66446008)(64756008)(66946007)(66476007)(8676002)(52536014)(55016003)(4326008)(8936002)(2906002)(38070700005)(83380400001)(7696005)(82960400001)(54906003)(38100700002)(71200400001)(86362001)(122000001)(110136005)(966005)(33656002)(107886003)(41300700001)(478600001)(316002)(26005)(9686003)(186003)(6506007)(19627235002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?qO0Cyur9y/YnFpt0sWDaL+HohtQrTVltp3snt18y0RtiTmPcQlWkQpDyKdur?= =?us-ascii?Q?f+drp5DyH4Gr90ksnARBRXSBBpwrcOZu7wgzPXv0aRUJ+R3BNkMNTkoYMjBI?= =?us-ascii?Q?jOLWdEhHaUJ8eXxetkWKMUP/7IN7TPrJ1shZPAK5XXoY+YETlnlqd6crMRJG?= =?us-ascii?Q?VLoPaq3kBkDLqdHcYftG7WvBOvgXivRiZBIqb8mw+Fk30i+KvQFV41IobkrT?= =?us-ascii?Q?EwEEHkHBWPG3zm6USXcAXFUDwS/6auXmk84iyALhDSSiRK/xSxa/55CSDFMC?= =?us-ascii?Q?iS2VZwzeKJM4OGi6hSsyE9ae9obsiqb/RxNHgMU9Vki9Z1+c/78bEGauwKFJ?= =?us-ascii?Q?9jNMWv1YeDT9FhOQJMjPHJCGQPdAZwSdJXp3/JngJiLn6+r9N+rMzN9PudSZ?= =?us-ascii?Q?lbncXQfpBvbE+G7TTFiAdFEbFVKJWjAhY2PQeWamLS5ywMm6dxLwwhjiUaqe?= =?us-ascii?Q?FWZEinV/D8c1//+fbd/kQ7L59lsTDjS/Ta5P8cHFeQjUnqqxvhoTVrcYe1n3?= =?us-ascii?Q?kXII3nVjRq3bqJ1ohMEzrpmXI8LbbXJaQ35HBzsZct1L58O9/aVgRASz0to0?= =?us-ascii?Q?PkwCSXSdXdXz3M9HeLjOhrIgQTg05O8GCXDYF12oQh/1xXVS3a1f/02YREjC?= =?us-ascii?Q?oMzj+SBcU1TfdYn+zEz+SxaMaOWAOoADmZ05C+n+d7oFBu+EODolhysOZUAo?= =?us-ascii?Q?giXcP1s/mzxpGv96tetRDVMUVETDXGbdymF9if0zcB004dlI/0Y9LsgjHiAB?= =?us-ascii?Q?mu3mYxjkGeakaQ6jsZSVbTBvM3XOU2kWfNBzBMfoOS/l10G/rqRhjx33tAGn?= =?us-ascii?Q?G/gDT55FstVdtzrQWoioXfK9BXw5wRhCMaVv0KhWlUoTOFf1qLse4NmPopou?= =?us-ascii?Q?F3Pow+EsDqVGqDxp0kkt8qhSFwqdiazelS+YGwgLqWg2rqQI2/xT/2Xy4O94?= =?us-ascii?Q?dqccizBbNPjzNhbS5umqg8hd1WWC4BtnH9mDfksb3SHgMETJ8oj5G0KP8VVy?= =?us-ascii?Q?F4iGW71sfVxDg/MFEXssSoiOXZbB6Y4FhNPs3guNnU4kQTKf7X1whYi56dE4?= =?us-ascii?Q?kQu3/+t6Qr8Gl9pomXgrPHC49/KTjmROg9kZF8Rl0sN6iHsCyYVkR5WTys5S?= =?us-ascii?Q?R3esvr/Qhd4ESYjaKjQgNQdFUJO2Ww+GqoycwKED34uKiJrxY4zELls+m/v2?= =?us-ascii?Q?3zirA5UByvL8bUbHufDaW7hJnWqF4FYl0Su29vTTf9y2R59fL6DHa3T167Pu?= =?us-ascii?Q?wIaGjJtxpb8JA4z2y9qVy4JQVQDJLAr/Jql0tqLvG1El0sg2lMuq3HygCFHS?= =?us-ascii?Q?6gTalu/CNfY6D+hqYhLJBQCTAQ38u4JHqEm1YT9CzVUAa2hKkgEVm+04W1FN?= =?us-ascii?Q?HbNNcA5NzQkH+bAZn/aQ1LU6t2joJMwSFijegbQ0HLReP73VQNVzDurvznhi?= =?us-ascii?Q?lolvOoV/K+sZwb54hbo3EvMzbgYqlYSwUHDG4Ryr3nO4lNHq2wqBaeGcxh1f?= =?us-ascii?Q?3Cu/EHuUwJaf9fL56mEKmYmE/9/8IoaZ0aH1OGelzDapnFrVnFDMG2VB/GAt?= =?us-ascii?Q?vAZgy1q1Fu4IwfDI826ckg/raGLY3+8pjWGpTSEX?= 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: bcec2dbb-28e4-4ba4-d99e-08da6ac7c880 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jul 2022 03:19:12.0957 (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: RG8tfVItz8qjxmOPnjE/Uz2Ugtji3/Jb4vDNMPY7iPtpixi7aH2uGFVC87N5FVBfDfrkrn4RWQm04G/tK0zhmA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1101MB2080 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 The spec looks wrong to me. Thanks, Star -----Original Message----- From: Chiu, Chasel =20 Sent: Thursday, July 21, 2022 11:16 AM To: Zeng, Star ; devel@edk2.groups.io Cc: Desimone, Nathaniel L Subject: RE: [PATCH v3] IntelFsp2Pkg: Add FSPI_ARCH_UPD. Hi Star, this is following current specification. Thanks, Chasel > -----Original Message----- > From: Zeng, Star > Sent: Wednesday, July 20, 2022 8:07 PM > To: Chiu, Chasel ; devel@edk2.groups.io > Cc: Desimone, Nathaniel L ; Zeng, Star=20 > > Subject: RE: [PATCH v3] IntelFsp2Pkg: Add FSPI_ARCH_UPD. >=20 > Is the reserved bytes number correct for FSPI_ARCH_UPD alignment? > UINT16 BootloaderSmmFvContextDataLength; > UINT8 Reserved1[24]; >=20 > Thanks, > Star > -----Original Message----- > From: Chiu, Chasel > Sent: Thursday, July 21, 2022 10:29 AM > To: devel@edk2.groups.io > Cc: Chiu, Chasel ; Desimone, Nathaniel L=20 > ; Zeng, Star > Subject: [PATCH v3] IntelFsp2Pkg: Add FSPI_ARCH_UPD. >=20 > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3993 >=20 > Adding the missing FSPI_ARCH_UPD, FSP_GLOBAL_DATA_VERSION bumpping up,=20 > and some comments for clarification. > Also fixed a bug in SplitFspBin.py for FSP-I support. >=20 > 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(-) >=20 > diff --git a/IntelFsp2Pkg/Include/FspEas/FspApi.h > b/IntelFsp2Pkg/Include/FspEas/FspApi.h > index bf46f13f73..3f368574e8 100644 > --- a/IntelFsp2Pkg/Include/FspEas/FspApi.h > +++ b/IntelFsp2Pkg/Include/FspEas/FspApi.h > @@ -1,6 +1,6 @@ > /** @file >=20 > Intel FSP API definition from Intel Firmware Support Package=20 > External >=20 > - Architecture Specification v2.0 - v2.2 >=20 > + Architecture Specification v2.0 and above. >=20 >=20 >=20 > Copyright (c) 2014 - 2022, Intel Corporation. All rights=20 > reserved.
>=20 > SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > @@ -100,13 +100,14 @@ typedef struct { > /// "XXXXXX_T" for FSP-T >=20 > /// "XXXXXX_M" for FSP-M >=20 > /// "XXXXXX_S" for FSP-S >=20 > + /// "XXXXXX_I" for FSP-I >=20 > /// Where XXXXXX is an unique signature >=20 > /// >=20 > UINT64 Signature; >=20 > /// >=20 > /// Revision of the Data structure. >=20 > - /// For FSP spec 2.0/2.1 value is 1. >=20 > - /// For FSP spec 2.2 value is 2. >=20 > + /// For FSP spec 2.0/2.1, this value is 1 and only FSPM_UPD having > ARCH_UPD. >=20 > + /// For FSP spec 2.2 and above, this value is 2 and ARCH_UPD present= in all > UPD structures. >=20 > /// >=20 > UINT8 Revision; >=20 > UINT8 Reserved[23]; >=20 > @@ -134,7 +135,7 @@ typedef struct { > } FSPT_ARCH_UPD; >=20 >=20 >=20 > /// >=20 > -/// FSPT_ARCH2_UPD Configuration. >=20 > +/// FSPT_ARCH2_UPD Configuration for FSP 2.4 and above. >=20 > /// >=20 > typedef struct { >=20 > /// >=20 > @@ -196,7 +197,7 @@ typedef struct { > } FSPM_ARCH_UPD; >=20 >=20 >=20 > /// >=20 > -/// FSPM_ARCH2_UPD Configuration. >=20 > +/// FSPM_ARCH2_UPD Configuration for FSP 2.4 and above. >=20 > /// >=20 > typedef struct { >=20 > /// >=20 > @@ -209,6 +210,13 @@ typedef struct { > /// >=20 > UINT32 Length; >=20 > /// >=20 > + /// Pointer to the non-volatile storage (NVS) data buffer. >=20 > + /// If it is NULL it indicates the NVS data is not available. >=20 > + /// This value is deprecated starting with v2.4 of the FSP=20 > + specification, >=20 > + /// and will be removed in an upcoming version of the FSP specificatio= n. >=20 > + /// >=20 > + EFI_PHYSICAL_ADDRESS NvsBufferPtr; >=20 > + /// >=20 > /// Pointer to the temporary stack base address to be >=20 > /// consumed inside FspMemoryInit() API. >=20 > /// >=20 > @@ -232,7 +240,7 @@ typedef struct { > /// This value is only valid if Revision is >=3D 2. >=20 > /// >=20 > EFI_PHYSICAL_ADDRESS FspEventHandler; >=20 > - UINT8 Reserved1[24]; >=20 > + UINT8 Reserved1[16]; >=20 > } FSPM_ARCH2_UPD; >=20 >=20 >=20 > /// >=20 > @@ -265,7 +273,7 @@ typedef struct { > } FSPS_ARCH_UPD; >=20 >=20 >=20 > /// >=20 > -/// FSPS_ARCH2_UPD Configuration. >=20 > +/// FSPS_ARCH2_UPD Configuration for FSP 2.4 and above. >=20 > /// >=20 > typedef struct { >=20 > /// >=20 > @@ -285,6 +293,40 @@ typedef struct { > UINT8 Reserved1[16]; >=20 > } FSPS_ARCH2_UPD; >=20 >=20 >=20 > +/// >=20 > +/// FSPI_ARCH_UPD Configuration. >=20 > +/// >=20 > +typedef struct { >=20 > + /// >=20 > + /// Revision of the structure is 1 for this version of the specificati= on. >=20 > + /// >=20 > + UINT8 Revision; >=20 > + UINT8 Reserved[3]; >=20 > + /// >=20 > + /// Length of the structure in bytes. The current value for this field= is 32. >=20 > + /// >=20 > + UINT32 Length; >=20 > + /// >=20 > + /// The physical memory-mapped base address of the bootloader SMM > firmware volume (FV). >=20 > + /// >=20 > + EFI_PHYSICAL_ADDRESS BootloaderSmmFvBaseAddress; >=20 > + /// >=20 > + /// The length in bytes of the bootloader SMM firmware volume (FV). >=20 > + /// >=20 > + UINT64 BootloaderSmmFvLength; >=20 > + /// >=20 > + /// The physical memory-mapped base address of the bootloader SMM=20 > + FV > context data. >=20 > + /// This data is provided to bootloader SMM drivers through a HOB=20 > + by the FSP > MM Foundation. >=20 > + /// >=20 > + EFI_PHYSICAL_ADDRESS BootloaderSmmFvContextData; >=20 > + /// >=20 > + /// The length in bytes of the bootloader SMM FV context data. >=20 > + /// This data is provided to bootloader SMM drivers through a HOB=20 > + by the FSP > MM Foundation. >=20 > + /// >=20 > + UINT16 BootloaderSmmFvContextDataLength; >=20 > + UINT8 Reserved1[24]; >=20 > +} FSPI_ARCH_UPD; >=20 > + >=20 > /// >=20 > /// FSPT_UPD_COMMON Configuration. >=20 > /// >=20 > @@ -393,6 +435,21 @@ typedef struct { > FSPS_ARCH2_UPD FspsArchUpd; >=20 > } FSPS_UPD_COMMON_FSP24; >=20 >=20 >=20 > +/// >=20 > +/// FSPI_UPD_COMMON Configuration. >=20 > +/// >=20 > +typedef struct { >=20 > + /// >=20 > + /// FSP_UPD_HEADER Configuration. >=20 > + /// >=20 > + FSP_UPD_HEADER FspUpdHeader; >=20 > + >=20 > + /// >=20 > + /// FSPI_ARCH_UPD Configuration. >=20 > + /// >=20 > + FSPI_ARCH_UPD FspiArchUpd; >=20 > +} FSPI_UPD_COMMON; >=20 > + >=20 > /// >=20 > /// Enumeration of FSP_INIT_PHASE for NOTIFY_PHASE. >=20 > /// >=20 > diff --git a/IntelFsp2Pkg/Include/FspGlobalData.h > b/IntelFsp2Pkg/Include/FspGlobalData.h > index 697b20ed4c..cf94f7b6a5 100644 > --- a/IntelFsp2Pkg/Include/FspGlobalData.h > +++ b/IntelFsp2Pkg/Include/FspGlobalData.h > @@ -12,7 +12,7 @@ >=20 >=20 > #define FSP_IN_API_MODE 0 >=20 > #define FSP_IN_DISPATCH_MODE 1 >=20 > -#define FSP_GLOBAL_DATA_VERSION 1 >=20 > +#define FSP_GLOBAL_DATA_VERSION 0x2 >=20 >=20 >=20 > #pragma pack(1) >=20 >=20 >=20 > diff --git a/IntelFsp2Pkg/Include/Guid/FspHeaderFile.h > b/IntelFsp2Pkg/Include/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]; >=20 > /// >=20 > /// Byte 0x0A: Indicates compliance with a revision of this=20 > specification in the BCD format. >=20 > - /// For revision v2.3 the value will be 0x23. >=20 > + /// For revision v2.4 the value will be 0x24. >=20 > /// >=20 > UINT8 SpecVersion; >=20 > /// >=20 > @@ -93,11 +93,28 @@ typedef struct { > /// Bit 0: Graphics Support - Set to 1 when FSP supports enabling Gr= aphics > Display. >=20 > /// Bit 1: Dispatch Mode Support - Set to 1 when FSP supports the op= tional > Dispatch Mode API defined in Section 7.2 and 9. This bit is only valid=20 > if FSP HeaderRevision is >=3D 4. >=20 > /// Bit 2: 64-bit mode support - Set to 1 to indicate FSP supports 6= 4-bit long > mode interfaces. Set to 0 to indicate FSP supports 32-bit mode=20 > interfaces. This bit is only valid if FSP HeaderRevision is >=3D 7. >=20 > - /// Bits 15:3 - Reserved >=20 > + /// Bit 3: FSP Variable Services Support - Set to 1 to indicate FSP = utilizes the > FSP Variable Services defined in Section 9.6 to store non-volatile=20 > data. This bit is only valid if FSP HeaderRevision is >=3D 7. >=20 > + /// Bits 15:4 - Reserved >=20 > /// >=20 > UINT16 ImageAttribute; >=20 > /// >=20 > /// Byte 0x22: Attributes of the FSP Component. >=20 > + /// Bit 0 - Build Type >=20 > + /// 0 - Debug Build >=20 > + /// 1 - Release Build >=20 > + /// Bit 1 - Release Type >=20 > + /// 0 - Test Release >=20 > + /// 1 - Official Release >=20 > + /// Bit 11:2 - Reserved >=20 > + /// Bits 15:12 - Component Type >=20 > + /// 0000 - Reserved >=20 > + /// 0001 - FSP-T >=20 > + /// 0010 - FSP-M >=20 > + /// 0011 - FSP-S >=20 > + /// 0100 - FSP-I (FSP SMM) >=20 > + /// 0101 to 0111 - Reserved >=20 > + /// 1000 - FSP-O >=20 > + /// 1001 to 1111 - Reserved >=20 > /// >=20 > UINT16 ComponentAttribute; >=20 > /// >=20 > diff --git a/IntelFsp2Pkg/Tools/SplitFspBin.py > b/IntelFsp2Pkg/Tools/SplitFspBin.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 >=20 > self.Offset =3D offset >=20 > self.FvIdxList =3D [] >=20 > - self.Type =3D "XTMSIXXXXOXXXXXXX"[(fih.ComponentAttribute >= > 12) & > 0x0F] >=20 > + self.Type =3D "XTMSIXXXOXXXXXXX"[(fih.ComponentAttribute >>= 12) & > 0x0F] >=20 > self.PatchList =3D patch >=20 > self.PatchList.append(fihoff + 0x1C) >=20 >=20 >=20 > -- > 2.35.0.windows.1