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.web08.510.1660092515070874926 for ; Tue, 09 Aug 2022 17:48:35 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=cCNaPQFP; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: chasel.chiu@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1660092515; x=1691628515; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=v2w4AAhqeITvh0DZ/fX6YTAAdkph6/KLZj+Y5R4a9+o=; b=cCNaPQFP2FMTHfjajwd2fiHa5Af84ZqIadFDnUeIjWaY1wbU8OElbET4 c31jquBMC3oJ9YF8PwDnhX+dOZ8ad44BGfkgWuW7UeJGSaRXQaZm/IHXd F/pM+Ehw4+MrNTsLnUpC5wVoODmhh6xxhoRSk8sh/ctAzBAcLefczXRnF bXMNgfDk8wy/U9Yw1K/tk6YTvX23xfO9EIDLd7qd1rqYhLZgRWcEHDBYC VrXcef1aPq3hUxX/1ByaW3+A2rL+kZ+GQUPaBZSx0nPnF63T1MiW7UGw7 pjQfFRc4SZE6d/6/8eZTat3favMO9/YjZdUTHIr7yfxHriOYpnJs5XstX g==; X-IronPort-AV: E=McAfee;i="6400,9594,10434"; a="377257840" X-IronPort-AV: E=Sophos;i="5.93,225,1654585200"; d="scan'208";a="377257840" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Aug 2022 17:48:34 -0700 X-IronPort-AV: E=Sophos;i="5.93,225,1654585200"; d="scan'208";a="555542620" Received: from cchiu4-mobl.gar.corp.intel.com ([10.212.149.229]) by orsmga003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Aug 2022 17:48:33 -0700 From: "Chiu, Chasel" To: devel@edk2.groups.io Cc: Chasel Chiu , Nate DeSimone , Star Zeng Subject: [PATCH v2 0/4] IntelFsp2(Wrapper)Pkg: Support FSP 2.4 MultiPhase. Date: Tue, 9 Aug 2022 17:48:18 -0700 Message-Id: <20220810004822.1499-1-chasel.chiu@intel.com> X-Mailer: git-send-email 2.35.0.windows.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3916 Add FSP 2.4 MultiPhase interfaces and implementation. Cc: Nate DeSimone Cc: Star Zeng Signed-off-by: Chasel Chiu V2: . Add FspMultiPhasePlatformGetNumberOfPhases() and FspWrapperPlatformMultiPhaseHandler() to support platform porting. . Add FSP reset support in FspWrapperVariableRequestHandler() . Fix bug that wrong parameter given when calling FspWrapperVariableRequestHandler() . Corrected code comments. Chasel Chiu (4): IntelFsp2Pkg: Add FSP 2.4 MultiPhase interface. IntelFsp2WrapperPkg: Add FSP 2.4 MultiPhase interface. IntelFsp2Pkg: Adopt FSP 2.4 MultiPhase functions. IntelFsp2WrapperPkg: Implement FSP 2.4 MultiPhase wrapper handlers. IntelFsp2Pkg/FspSecCore/SecFsp.c | 4 ++++ IntelFsp2Pkg/FspSecCore/SecFspApiChk.c | 9 +++++++++ IntelFsp2Pkg/Library/BaseFspMultiPhaseLib/FspMultiPhaseLib.c | 184 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IntelFsp2Pkg/Library/SecFspSecPlatformLibNull/PlatformSecLibNull.c | 30 ++++++++++++++++++++++++++++++ IntelFsp2WrapperPkg/FspmWrapperPeim/FspmWrapperPeim.c | 33 +++++++++++++++++++++++++-------- IntelFsp2WrapperPkg/FspsWrapperPeim/FspsWrapperPeim.c | 27 +++++++++++++++++++++------ IntelFsp2WrapperPkg/Library/BaseFspWrapperPlatformMultiPhaseLibSample/FspWrapperPlatformMultiPhaseLibSample.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ IntelFsp2WrapperPkg/Library/FspWrapperMultiPhaseProcessLib/PeiFspWrapperMultiPhaseProcessLib.c | 355 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IntelFsp2Pkg/FspSecCore/Fsp24SecCoreM.inf | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IntelFsp2Pkg/FspSecCore/Fsp24SecCoreS.inf | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IntelFsp2Pkg/FspSecCore/Ia32/Fsp24ApiEntryM.nasm | 304 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IntelFsp2Pkg/FspSecCore/Ia32/Fsp24ApiEntryS.nasm | 101 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryCommon.nasm | 3 +++ IntelFsp2Pkg/FspSecCore/X64/Fsp24ApiEntryM.nasm | 303 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IntelFsp2Pkg/FspSecCore/X64/Fsp24ApiEntryS.nasm | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IntelFsp2Pkg/FspSecCore/X64/FspApiEntryCommon.nasm | 3 +++ IntelFsp2Pkg/Include/FspEas/FspApi.h | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- IntelFsp2Pkg/Include/FspGlobalData.h | 5 ++++- IntelFsp2Pkg/Include/Library/FspMultiPhaseLib.h | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ IntelFsp2Pkg/Include/Library/FspSecPlatformLib.h | 19 +++++++++++++++++++ IntelFsp2Pkg/IntelFsp2Pkg.dec | 12 ++++++++++-- IntelFsp2Pkg/IntelFsp2Pkg.dsc | 4 ++++ IntelFsp2Pkg/Library/BaseFspMultiPhaseLib/BaseFspMultiPhaseLib.inf | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ IntelFsp2Pkg/Tools/SplitFspBin.py | 48 +++++++++++++++++++++++++----------------------- IntelFsp2WrapperPkg/FspmWrapperPeim/FspmWrapperPeim.inf | 1 + IntelFsp2WrapperPkg/FspsWrapperPeim/FspsWrapperPeim.inf | 3 ++- IntelFsp2WrapperPkg/Include/Library/FspWrapperMultiPhaseProcessLib.h | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IntelFsp2WrapperPkg/IntelFsp2WrapperPkg.dec | 10 +++++++++- IntelFsp2WrapperPkg/IntelFsp2WrapperPkg.dsc | 6 +++++- IntelFsp2WrapperPkg/Library/BaseFspWrapperPlatformMultiPhaseLibSample/BaseFspWrapperPlatformMultiPhaseLibSample.inf | 37 +++++++++++++++++++++++++++++++++++++ IntelFsp2WrapperPkg/Library/FspWrapperMultiPhaseProcessLib/FspWrapperMultiPhaseProcessLib.inf | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 31 files changed, 2023 insertions(+), 45 deletions(-) create mode 100644 IntelFsp2Pkg/Library/BaseFspMultiPhaseLib/FspMultiPhaseLib.c create mode 100644 IntelFsp2WrapperPkg/Library/BaseFspWrapperPlatformMultiPhaseLibSample/FspWrapperPlatformMultiPhaseLibSample.c create mode 100644 IntelFsp2WrapperPkg/Library/FspWrapperMultiPhaseProcessLib/PeiFspWrapperMultiPhaseProcessLib.c create mode 100644 IntelFsp2Pkg/FspSecCore/Fsp24SecCoreM.inf create mode 100644 IntelFsp2Pkg/FspSecCore/Fsp24SecCoreS.inf create mode 100644 IntelFsp2Pkg/FspSecCore/Ia32/Fsp24ApiEntryM.nasm create mode 100644 IntelFsp2Pkg/FspSecCore/Ia32/Fsp24ApiEntryS.nasm create mode 100644 IntelFsp2Pkg/FspSecCore/X64/Fsp24ApiEntryM.nasm create mode 100644 IntelFsp2Pkg/FspSecCore/X64/Fsp24ApiEntryS.nasm create mode 100644 IntelFsp2Pkg/Include/Library/FspMultiPhaseLib.h create mode 100644 IntelFsp2Pkg/Library/BaseFspMultiPhaseLib/BaseFspMultiPhaseLib.inf create mode 100644 IntelFsp2WrapperPkg/Include/Library/FspWrapperMultiPhaseProcessLib.h create mode 100644 IntelFsp2WrapperPkg/Library/BaseFspWrapperPlatformMultiPhaseLibSample/BaseFspWrapperPlatformMultiPhaseLibSample.inf create mode 100644 IntelFsp2WrapperPkg/Library/FspWrapperMultiPhaseProcessLib/FspWrapperMultiPhaseProcessLib.inf -- 2.35.0.windows.1