Update FSP wrapper to follow: https://firmware.intel.com/sites/default/files/FSP_EAS_v2.0_Draft%20External.pdf
Update API required by FSP2.0. Update component required by FSP2.0. The FSP1.1 compatibility is NOT maintained. The new Intel platform will follow FSP2.0. The old platform can either use an old EDK branch, or move FSP1.1 support to platform directory. Cc: Giri P Mudusuru <giri.p.mudus...@intel.com> Cc: Maurice Ma <maurice...@intel.com> Cc: Ravi P Rangarajan <ravi.p.rangara...@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao <jiewen....@intel.com> Reviewed-by: Giri P Mudusuru <giri.p.mudus...@intel.com> Reviewed-by: Maurice Ma <maurice...@intel.com> Reviewed-by: Ravi P Rangarajan <ravi.p.rangara...@intel.com> --- IntelFspWrapperPkg/IntelFspWrapperPkg.dec | 66 +++++--------------- IntelFspWrapperPkg/IntelFspWrapperPkg.dsc | 20 +++--- 2 files changed, 28 insertions(+), 58 deletions(-) diff --git a/IntelFspWrapperPkg/IntelFspWrapperPkg.dec b/IntelFspWrapperPkg/IntelFspWrapperPkg.dec index 1fc8e2c..7717547 100644 --- a/IntelFspWrapperPkg/IntelFspWrapperPkg.dec +++ b/IntelFspWrapperPkg/IntelFspWrapperPkg.dec @@ -1,7 +1,7 @@ ## @file # Provides drivers and definitions to support fsp in EDKII bios. # -# Copyright (c) 2014 - 2015, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR> # This program and the accompanying materials are licensed and made available under # the terms and conditions of the BSD License that accompanies this distribution. # The full text of the license may be found at @@ -23,28 +23,29 @@ [LibraryClasses] ## @libraryclass Provide FSP API related function. - FspApiLib|Include/Library/FspApiLib.h + FspWrapperApiLib|Include/Library/FspWrapperApiLib.h + FspWrapperApiTestLib|Include/Library/FspWrapperApiTestLib.h ## @libraryclass Provide FSP hob process related function. - FspHobProcessLib|Include/Library/FspHobProcessLib.h + FspWrapperHobProcessLib|Include/Library/FspWrapperHobProcessLib.h - ## @libraryclass Provide FSP platform information related function. - FspPlatformInfoLib|Include/Library/FspPlatformInfoLib.h - - ## @libraryclass Provide FSP wrapper platform sec related function. - FspPlatformSecLib|Include/Library/FspPlatformSecLib.h + ## @libraryclass Provide FSP platform related function. + FspWrapperPlatformLib|Include/Library/FspWrapperPlatformLib.h [Guids] # # GUID defined in package # - gFspWrapperTokenSpaceGuid = {0x2bc1c74a, 0x122f, 0x40b2, { 0xb2, 0x23, 0x8, 0x2b, 0x74, 0x65, 0x22, 0x5d } } + gFspWrapperTokenSpaceGuid = { 0x2bc1c74a, 0x122f, 0x40b2, { 0xb2, 0x23, 0x08, 0x2b, 0x74, 0x65, 0x22, 0x5d } } + gFspApiPerformanceGuid = { 0xc9122295, 0x56ed, 0x4d4e, { 0x06, 0xa6, 0x50, 0x8d, 0x89, 0x4d, 0x3e, 0x40 } } + gFspHobGuid = { 0x6d86fb36, 0xba90, 0x472c, { 0xb5, 0x83, 0x3f, 0xbe, 0xd3, 0xfb, 0x20, 0x9a } } [Ppis] - gFspInitDonePpiGuid = { 0xf5ef05e4, 0xd538, 0x4774, { 0x8f, 0x1b, 0xe9, 0x77, 0x30, 0x11, 0xe0, 0x38 } } - gTopOfTemporaryRamPpiGuid = { 0x2f3962b2, 0x57c5, 0x44ec, { 0x9e, 0xfc, 0xa6, 0x9f, 0xd3, 0x02, 0x03, 0x2b } } + gFspSiliconInitDonePpiGuid = { 0x4eb6e09c, 0xd256, 0x4e1e, { 0xb5, 0x0a, 0x87, 0x4b, 0xd2, 0x84, 0xb3, 0xde } } + gTopOfTemporaryRamPpiGuid = { 0x2f3962b2, 0x57c5, 0x44ec, { 0x9e, 0xfc, 0xa6, 0x9f, 0xd3, 0x02, 0x03, 0x2b } } [Protocols] + gAddPerfRecordProtocolGuid = { 0xc4a58d6d, 0x3677, 0x49cb, { 0xa0, 0x0a, 0x94, 0x70, 0x76, 0x5f, 0xb5, 0x5e } } ################################################################################ # @@ -59,51 +60,18 @@ ## Provides the size of the BIOS Flash Device. gFspWrapperTokenSpaceGuid.PcdFlashCodeCacheSize|0x00200000|UINT32|0x10000002 - ## Indicates the base address of the factory FSP binary. - gFspWrapperTokenSpaceGuid.PcdFlashFvFspBase|0xFFF80000|UINT32|0x10000003 - ## Indicates the base address of the updatable FSP binary to support Dual FSP. - # There could be two FSP images at different locations in a flash - - # one factory version (default) and updatable version (updatable). - # TempRamInit, FspMemoryInit and TempRamExit are always executed from factory version. - # FspSiliconInit and NotifyPhase can be executed from updatable version if it is available, - # FspSiliconInit and NotifyPhase are executed from factory version if there is no updateable version, - # PcdFlashFvFspBase is base address of factory FSP, and PcdFlashFvSecondFspBase - # is base address of updatable FSP. If PcdFlashFvSecondFspBase is 0, that means - # there is no updatable FSP. - gFspWrapperTokenSpaceGuid.PcdFlashFvSecondFspBase|0x00000000|UINT32|0x10000008 - ## Provides the size of the factory FSP binary. - gFspWrapperTokenSpaceGuid.PcdFlashFvFspSize|0x00048000|UINT32|0x10000004 - ## Provides the size of the updatable FSP binary to support Dual FSP. - gFspWrapperTokenSpaceGuid.PcdFlashFvSecondFspSize|0x00000000|UINT32|0x10000009 - ## Indicates the base address of the first Microcode Patch in the Microcode Region gFspWrapperTokenSpaceGuid.PcdCpuMicrocodePatchAddress|0x0|UINT64|0x10000005 gFspWrapperTokenSpaceGuid.PcdCpuMicrocodePatchRegionSize|0x0|UINT64|0x10000006 ## Indicates the offset of the Cpu Microcode. - gFspWrapperTokenSpaceGuid.PcdFlashMicroCodeOffset|0x90|UINT32|0x10000007 - - ## - # Maximum number of Ppi is provided by SecCore. - ## - gFspWrapperTokenSpaceGuid.PcdSecCoreMaxPpiSupported|0x6|UINT32|0x20000001 - - # This is MAX UPD region size - gFspWrapperTokenSpaceGuid.PcdMaxUpdRegionSize|0x200|UINT32|0x30000001 - - ## Stack size in the temporary RAM. - # 0 means half of TemporaryRamSize. - gFspWrapperTokenSpaceGuid.PcdPeiTemporaryRamStackSize|0|UINT32|0x40000001 - - # This is temporary DRAM base and size for StackTop in FspInit - gFspWrapperTokenSpaceGuid.PcdTemporaryRamBase|0x00080000|UINT32|0x40000002 - gFspWrapperTokenSpaceGuid.PcdTemporaryRamSize|0x00010000|UINT32|0x40000003 + gFspWrapperTokenSpaceGuid.PcdFlashMicrocodeOffset|0x90|UINT32|0x10000007 ## Indicate the PEI memory size platform want to report gFspWrapperTokenSpaceGuid.PcdPeiMinMemSize|0x1800000|UINT32|0x40000004 ## Indicate the PEI memory size platform want to report gFspWrapperTokenSpaceGuid.PcdPeiRecoveryMinMemSize|0x3000000|UINT32|0x40000005 - ## PcdFspApiVersion is to determine wrapper calling mechanism - # - FSP_API_REVISION_1 1 - # - FSP_API_REVISION_2 2 - gFspWrapperTokenSpaceGuid.PcdFspApiVersion|0x02|UINT8|0x00001000 + ## This is the base address of FSP-T/M/S + gFspWrapperTokenSpaceGuid.PcdFsptBaseAddress|0x00000000|UINT32|0x00000300 + gFspWrapperTokenSpaceGuid.PcdFspmBaseAddress|0x00000000|UINT32|0x00000301 + gFspWrapperTokenSpaceGuid.PcdFspsBaseAddress|0x00000000|UINT32|0x00000302 diff --git a/IntelFspWrapperPkg/IntelFspWrapperPkg.dsc b/IntelFspWrapperPkg/IntelFspWrapperPkg.dsc index 3714e30..cc286e2 100644 --- a/IntelFspWrapperPkg/IntelFspWrapperPkg.dsc +++ b/IntelFspWrapperPkg/IntelFspWrapperPkg.dsc @@ -36,7 +36,7 @@ PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf - # Dummy - test build only + PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf @@ -48,13 +48,14 @@ UefiCpuLib|UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf LocalApicLib|UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.inf - # FSP lib - FspApiLib|IntelFspWrapperPkg/Library/BaseFspApiLib/BaseFspApiLib.inf + # FSP Wrapper Lib + FspWrapperApiLib|IntelFspWrapperPkg/Library/BaseFspWrapperApiLib/BaseFspWrapperApiLib.inf + FspWrapperApiTestLib|IntelFspWrapperPkg/Library/BaseFspWrapperApiTestLibNull/BaseFspWrapperApiTestLibNull.inf # FSP platform sample - FspPlatformInfoLib|IntelFspWrapperPkg/Library/BaseFspPlatformInfoLibSample/BaseFspPlatformInfoLibSample.inf - FspPlatformSecLib|IntelFspWrapperPkg/Library/SecPeiFspPlatformSecLibSample/SecPeiFspPlatformSecLibSample.inf - FspHobProcessLib|IntelFspWrapperPkg/Library/PeiFspHobProcessLibSample/PeiFspHobProcessLibSample.inf + FspWrapperPlatformLib|IntelFspWrapperPkg/Library/BaseFspWrapperPlatformLibSample/BaseFspWrapperPlatformLibSample.inf + PlatformSecLib|IntelFspWrapperPkg/Library/SecFspWrapperPlatformSecLibSample/SecFspWrapperPlatformSecLibSample.inf + FspWrapperHobProcessLib|IntelFspWrapperPkg/Library/PeiFspWrapperHobProcessLibSample/PeiFspWrapperHobProcessLibSample.inf [LibraryClasses.common.PEIM,LibraryClasses.common.PEI_CORE] PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf @@ -71,13 +72,14 @@ UefiLib|MdePkg/Library/UefiLib/UefiLib.inf MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf + HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf [Components.Ia32] - IntelFspWrapperPkg/FspWrapperSecCore/FspWrapperSecCore.inf - IntelFspWrapperPkg/FspInitPei/FspInitPei.inf + IntelFspWrapperPkg/FspmWrapperPeim/FspmWrapperPeim.inf + IntelFspWrapperPkg/FspsWrapperPeim/FspsWrapperPeim.inf [Components.IA32, Components.X64] - IntelFspWrapperPkg/FspNotifyDxe/FspNotifyDxe.inf + IntelFspWrapperPkg/FspWrapperNotifyDxe/FspWrapperNotifyDxe.inf [PcdsFixedAtBuild.common] gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x1f -- 2.7.4.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel