From nobody Sun May 19 01:15:10 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+81358+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+81358+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1633076945; cv=none; d=zohomail.com; s=zohoarc; b=kDiEEdxvyrZD0jkpAt6A5arJ35+rKr5d1eRn4M0IY464B/1vSUBvHqoFr2BKgxetR7sa1xTBO6S6lY0XqxZ03ZdswNWVVPcewQYBS0OoeCYO7GENbn3glE63AJJK18Kxr5467q5hvWeYSyEWoV4Awl7/0t05rbO4x2ON7Mj8KrU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1633076945; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Sender:Subject:To; bh=TH5vtEFKb4CvXf2QPXkFwlDJNlnF13ATuhVF4dwiayA=; b=RQFpd1U49fnkjhJO0etGkOFQ4UojBdb7mTrsNR6PsaxAE23zPicnHXr4Cl6U85ITcZT5x1OuUloKgiMiJl3NCq138+qm5laANA7hCE/r0nXUToJx/l1Xk4oFH6Ns1ZukHggz2OKCUKDfRpQkY5fyFTXdpDSmUqvcI99QqcrBLrg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+81358+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1633076945006224.01267425159313; Fri, 1 Oct 2021 01:29:05 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id a4CSYY1788612xt6T2ConrqD; Fri, 01 Oct 2021 01:29:04 -0700 X-Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web10.5197.1633076943099157113 for ; Fri, 01 Oct 2021 01:29:03 -0700 X-IronPort-AV: E=McAfee;i="6200,9189,10123"; a="225030041" X-IronPort-AV: E=Sophos;i="5.85,337,1624345200"; d="scan'208";a="225030041" X-Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Oct 2021 01:29:01 -0700 X-IronPort-AV: E=Sophos;i="5.85,337,1624345200"; d="scan'208";a="708434584" X-Received: from cchiu4-mobl.gar.corp.intel.com ([10.252.190.77]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Oct 2021 01:29:00 -0700 From: "Chiu, Chasel" To: devel@edk2.groups.io Cc: Chasel Chiu , Maurice Ma , Nate DeSimone , Star Zeng Subject: [edk2-devel] [PATCH] IntelFsp2Pkg: Adopt FSP 2.3 specification. Date: Fri, 1 Oct 2021 16:28:48 +0800 Message-Id: <20211001082848.2710-1-chasel.chiu@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,chasel.chiu@intel.com X-Gm-Message-State: 5dgkswHIw9Cri6Auedcz0UX8x1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1633076944; bh=17+IiTDhUlaZvzsl764TOqcdkPqP9/ctFzcIGaoZOgA=; h=Cc:Date:From:Reply-To:Subject:To; b=GeOHiKCA456xCA1StVi+5nvwVSaE/AV5KRgsWDv3/O3nrRlxXH8IHeB4uRjpvL7//j8 ZwzY3aWPMF7Lg78eGOaLtY95KF1+vR8jPhXsBlc1dltpJcVjM0YKbQ0Aq0oxNniaDOisG sty3gL/Y8OFYBiFNOIW8JztpR9a2546hzKE= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1633076947397100003 Content-Type: text/plain; charset="utf-8" REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3D3674 Add ExtendedImageRevision in FSP_INFO_HEADER structure, also add FSP_NON_VOLATILE_STORAGE_HOB2 header. Cc: Maurice Ma Cc: Nate DeSimone Cc: Star Zeng Signed-off-by: Chasel Chiu Reviewed-by: Nate DeSimone --- IntelFsp2Pkg/Include/Guid/FspHeaderFile.h | 33 +++++++++++++++= +++++++++++++++++- IntelFsp2Pkg/Include/Guid/FspNonVolatileStorageHob2.h | 27 +++++++++++++++= ++++++++++++ IntelFsp2Pkg/IntelFsp2Pkg.dec | 1 + 3 files changed, 60 insertions(+), 1 deletion(-) diff --git a/IntelFsp2Pkg/Include/Guid/FspHeaderFile.h b/IntelFsp2Pkg/Inclu= de/Guid/FspHeaderFile.h index 3474bac1de..11e0ede65b 100644 --- a/IntelFsp2Pkg/Include/Guid/FspHeaderFile.h +++ b/IntelFsp2Pkg/Include/Guid/FspHeaderFile.h @@ -2,7 +2,7 @@ Intel FSP Header File definition from Intel Firmware Support Package Ext= ernal Architecture Specification v2.0 and above. =20 - Copyright (c) 2014 - 2020, Intel Corporation. All rights reserved.
+ Copyright (c) 2014 - 2021, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ @@ -44,14 +44,28 @@ 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. /// UINT8 SpecVersion; /// /// Byte 0x0B: Revision of the FSP Information Header. + /// The Current value for this field is 0x6. /// UINT8 HeaderRevision; /// /// Byte 0x0C: Revision of the FSP binary. + /// Major.Minor.Revision.Build + /// If FSP HeaderRevision is <=3D 5, the ImageRevision can be= decoded as follows: + /// 7 : 0 - Build Number + /// 15 : 8 - Revision + /// 23 : 16 - Minor Version + /// 31 : 24 - Major Version + /// If FSP HeaderRevision is >=3D 6, ImageRevision specifies = the low-order bytes of the build number and revision + /// while ExtendedImageRevision specifies the high-order byte= s of the build number and revision. + /// 7 : 0 - Low Byte of Build Number + /// 15 : 8 - Low Byte of Revision + /// 23 : 16 - Minor Version + /// 31 : 24 - Major Version /// UINT32 ImageRevision; /// @@ -116,6 +130,23 @@ typedef struct { /// If the value is set to 0x00000000, then this API is not a= vailable in this component. /// UINT32 FspMultiPhaseSiInitEntryOffset; + /// + /// Byte 0x4C: Extended revision of the FSP binary. + /// This value is only valid if FSP HeaderRevision is >=3D 6. + /// ExtendedImageRevision specifies the high-order byte of th= e revision and build number in the FSP binary revision. + /// 7 : 0 - High Byte of Build Number + /// 15 : 8 - High Byte of Revision + /// The FSP binary build number can be decoded as follows: + /// Build Number =3D (ExtendedImageRevision[7:0] << 8) | Imag= eRevision[7:0] + /// Revision =3D (ExtendedImageRevision[15:8] << 8) | ImageRe= vision[15:8] + /// Minor Version =3D ImageRevision[23:16] + /// Major Version =3D ImageRevision[31:24] + /// + UINT16 ExtendedImageRevision; + /// + /// Byte 0x4E: Reserved4. + /// + UINT16 Reserved4; } FSP_INFO_HEADER; =20 /// diff --git a/IntelFsp2Pkg/Include/Guid/FspNonVolatileStorageHob2.h b/IntelF= sp2Pkg/Include/Guid/FspNonVolatileStorageHob2.h new file mode 100644 index 0000000000..8c07dc7e7e --- /dev/null +++ b/IntelFsp2Pkg/Include/Guid/FspNonVolatileStorageHob2.h @@ -0,0 +1,27 @@ +/** @file + Intel FSP Non-Volatile Storage (NVS) HOB version 2 definition from + Intel Firmware Support Package External Architecture Specification v2.3. + + Copyright (c) 2021, Intel Corporation. All rights reserved.
+ SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef __FSP_NON_VOLATILE_STORAGE_HOB2_H__ +#define __FSP_NON_VOLATILE_STORAGE_HOB2_H__ + +/// +/// The Non-Volatile Storage (NVS) HOB version 2 provides > 64KB buffer su= pport. +/// +#define FSP_NON_VOLATILE_STORAGE_HOB2_GUID \ + { 0x4866788f, 0x6ba8, 0x47d8, { 0x83, 0x06, 0xac, 0xf7, 0x7f, 0x55, 0x10= , 0x46 } } + +typedef struct { + EFI_HOB_GUID_TYPE GuidHob; + EFI_PHYSICAL_ADDRESS NvsDataPtr; + UINT64 NvsDataLength; +} FSP_NON_VOLATILE_STORAGE_HOB2; + +extern EFI_GUID gFspNonVolatileStorageHob2Guid; + +#endif diff --git a/IntelFsp2Pkg/IntelFsp2Pkg.dec b/IntelFsp2Pkg/IntelFsp2Pkg.dec index ec7b9a7702..58eac7220d 100644 --- a/IntelFsp2Pkg/IntelFsp2Pkg.dec +++ b/IntelFsp2Pkg/IntelFsp2Pkg.dec @@ -68,6 +68,7 @@ # Guid define in FSP EAS gFspHeaderFileGuid =3D { 0x912740BE, 0x2284, 0x4734, = { 0xB9, 0x71, 0x84, 0xB0, 0x27, 0x35, 0x3F, 0x0C } } gFspReservedMemoryResourceHobGuid =3D { 0x69a79759, 0x1373, 0x4367, = { 0xa6, 0xc4, 0xc7, 0xf5, 0x9e, 0xfd, 0x98, 0x6e } } + gFspNonVolatileStorageHob2Guid =3D { 0x4866788f, 0x6ba8, 0x47d8, = { 0x83, 0x06, 0xac, 0xf7, 0x7f, 0x55, 0x10, 0x46 } } gFspNonVolatileStorageHobGuid =3D { 0x721acf02, 0x4d77, 0x4c2a, = { 0xb3, 0xdc, 0x27, 0x0b, 0x7b, 0xa9, 0xe4, 0xb0 } } gFspBootLoaderTolumHobGuid =3D { 0x73ff4f56, 0xaa8e, 0x4451, = { 0xb3, 0x16, 0x36, 0x35, 0x36, 0x67, 0xad, 0x44 } } # FSP EAS v1.1 =20 --=20 2.28.0.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#81358): https://edk2.groups.io/g/devel/message/81358 Mute This Topic: https://groups.io/mt/85994000/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-