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

Reply via email to