From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com []) by mx.groups.io with SMTP id smtpd.web11.411.1573712555062592504 for ; Wed, 13 Nov 2019 22:22:37 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=fail (domain: intel.com, ip: , mailfrom: nathaniel.l.desimone@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Nov 2019 22:22:34 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,302,1569308400"; d="scan'208";a="216641629" Received: from nldesimo-desk1.amr.corp.intel.com ([10.7.159.63]) by orsmga002.jf.intel.com with ESMTP; 13 Nov 2019 22:22:34 -0800 From: "Nate DeSimone" To: devel@edk2.groups.io Cc: Chasel Chiu , Michael Kubacki Subject: [edk2-platforms] [PATCH V1 11/13] KabylakeOpenBoardPkg: Add support for PcdFspDispatchModeUseFspPeiMain Date: Wed, 13 Nov 2019 22:06:53 -0800 Message-Id: <20191114060655.5161-12-nathaniel.l.desimone@intel.com> X-Mailer: git-send-email 2.23.0.windows.1 In-Reply-To: <20191114060655.5161-1-nathaniel.l.desimone@intel.com> References: <20191114060655.5161-1-nathaniel.l.desimone@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable If PcdFspDispatchModeUseFspPeiMain is FALSE, then the BoardPkg should include PeiMain in FvPreMemory. Cc: Chasel Chiu Cc: Michael Kubacki Signed-off-by: Nate DeSimone --- .../KabylakeRvp3/OpenBoardPkg.fdf | 5 +++-- .../KabylakeRvp3/OpenBoardPkgPcd.dsc | 20 +++++++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.= fdf b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.fdf index 98eb7dcb5a..3b3b153b68 100644 --- a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.fdf +++ b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.fdf @@ -229,10 +229,11 @@ READ_LOCK_STATUS =3D TRUE FvNameGuid =3D FC8FE6B5-CD9B-411E-BD8F-31824D0CDE3D=0D =0D INF UefiCpuPkg/SecCore/SecCore.inf=0D -!if (gMinPlatformPkgTokenSpaceGuid.PcdFspWrapperBootMode =3D=3D FALSE) || = (gIntelFsp2WrapperTokenSpaceGuid.PcdFspModeSelection =3D=3D 1)=0D +!if (gMinPlatformPkgTokenSpaceGuid.PcdFspWrapperBootMode =3D=3D FALSE) || = (gMinPlatformPkgTokenSpaceGuid.PcdFspDispatchModeUseFspPeiMain =3D=3D FALSE= ) || (gIntelFsp2WrapperTokenSpaceGuid.PcdFspModeSelection =3D=3D 1)=0D #=0D # PeiMain is needed only for FSP API mode or EDK2 build,=0D -# in FSP dispatch mode the one inside FSP Binary is launched.=0D +# in FSP dispatch mode the one inside FSP Binary is launched=0D +# unless requested otherwise (PcdFspDispatchModeUseFspPeiMain =3D=3D FALSE= ).=0D #=0D INF MdeModulePkg/Core/Pei/PeiMain.inf=0D !endif=0D diff --git a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkgP= cd.dsc b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkgPcd.d= sc index 580504cbc1..5474edd01c 100644 --- a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkgPcd.dsc +++ b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkgPcd.dsc @@ -39,6 +39,26 @@ #=0D gMinPlatformPkgTokenSpaceGuid.PcdFspWrapperBootMode|TRUE=0D =0D + #=0D + # FALSE: The PEI Main included in FvPreMemory is used to dispatch all PE= IMs=0D + # (both inside FSP and outside FSP).=0D + # Pros:=0D + # * PEI Main is re-built from source and is always the latest v= ersion=0D + # * Platform code can link any desired LibraryClass to PEI Main= =0D + # (Ex: Custom DebugLib instance, SerialPortLib, etc.)=0D + # Cons:=0D + # * The PEI Main being used to execute FSP PEIMs is not the PEI= Main=0D + # that the FSP PEIMs were tested with, adding risk of breakag= e.=0D + # * Two copies of PEI Main will exist in the final binary,=0D + # #1 in FSP-M, #2 in FvPreMemory. The copy in FSP-M is never= =0D + # executed, wasting space.=0D + #=0D + # TRUE: The PEI Main included in FSP is used to dispatch all PEI= Ms=0D + # (both inside FSP and outside FSP). PEI Main will not be include= d in=0D + # FvPreMemory. This is the default and is the recommended choice.= =0D + #=0D + gMinPlatformPkgTokenSpaceGuid.PcdFspDispatchModeUseFspPeiMain|TRUE=0D +=0D #=0D # FSP Base address PCD will be updated in FDF basing on flash map.=0D #=0D --=20 2.23.0.windows.1