IntelFsp2Pkg: Remove CarBase and CarSize from FSP_GLOBAL_DATA
authorSatya Yarlagadda <satya.p.yarlagadda@intel.com>
Wed, 20 Jul 2016 06:49:15 +0000 (14:49 +0800)
committerJiewen Yao <jiewen.yao@intel.com>
Sat, 23 Jul 2016 01:20:04 +0000 (09:20 +0800)
CarBase and CarSize in Fsp Global data structure are no longer needed as
Boot loader doesn't pass them to FSP even in case that BL chooses to skip calling
the FspTempRamInit API. In case of FspTempramInit is called, we can use the PCDs
to identify the CarBase and Size. Hence we remove the relevant code.

Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Satya Yarlagadda <satya.p.yarlagadda@intel.com>
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
IntelFsp2Pkg/FspSecCore/SecFsp.c
IntelFsp2Pkg/Include/FspGlobalData.h
IntelFsp2Pkg/Include/Library/FspCommonLib.h
IntelFsp2Pkg/Library/BaseFspCommonLib/FspCommonLib.c

index 7259a55..96f8fb7 100644 (file)
@@ -76,7 +76,7 @@ SecGetPlatformData (
   //\r
   // Pointer to the size field\r
   //\r
   //\r
   // Pointer to the size field\r
   //\r
-  TopOfCar = FspPlatformData->CarBase + FspPlatformData->CarSize;\r
+  TopOfCar = PcdGet32(PcdTemporaryRamBase) + PcdGet32(PcdTemporaryRamSize);\r
   StackPtr = (UINT32 *)(TopOfCar - sizeof (UINT32));\r
 \r
   if (*(StackPtr - 1) == FSP_MCUD_SIGNATURE) {\r
   StackPtr = (UINT32 *)(TopOfCar - sizeof (UINT32));\r
 \r
   if (*(StackPtr - 1) == FSP_MCUD_SIGNATURE) {\r
@@ -140,8 +140,6 @@ FspGlobalDataInit (
   PeiFspData->CoreStack            = BootLoaderStack;\r
   PeiFspData->PerfIdx              = 2;\r
   PeiFspData->PerfSig              = FSP_PERFORMANCE_DATA_SIGNATURE;\r
   PeiFspData->CoreStack            = BootLoaderStack;\r
   PeiFspData->PerfIdx              = 2;\r
   PeiFspData->PerfSig              = FSP_PERFORMANCE_DATA_SIGNATURE;\r
-  PeiFspData->PlatformData.CarBase = AsmReadMsr32 (0x200) & ~(0x6);\r
-  PeiFspData->PlatformData.CarSize = ~(AsmReadMsr32(0x201) & ~(0x800)) + 1;\r
 \r
   SetFspMeasurePoint (FSP_PERF_ID_API_FSP_MEMORY_INIT_ENTRY);\r
 \r
 \r
   SetFspMeasurePoint (FSP_PERF_ID_API_FSP_MEMORY_INIT_ENTRY);\r
 \r
index a484d16..8ac3199 100644 (file)
@@ -34,8 +34,6 @@ typedef struct  {
    UINT32             MicrocodeRegionSize;\r
    UINT32             CodeRegionBase;\r
    UINT32             CodeRegionSize;\r
    UINT32             MicrocodeRegionSize;\r
    UINT32             CodeRegionBase;\r
    UINT32             CodeRegionSize;\r
-   UINT32             CarBase;\r
-   UINT32             CarSize;\r
 } FSP_PLAT_DATA;\r
 \r
 #define FSP_GLOBAL_DATA_SIGNATURE  SIGNATURE_32 ('F', 'S', 'P', 'D')\r
 } FSP_PLAT_DATA;\r
 \r
 #define FSP_GLOBAL_DATA_SIGNATURE  SIGNATURE_32 ('F', 'S', 'P', 'D')\r
index 231f1e4..5f7a14b 100644 (file)
@@ -289,26 +289,6 @@ SetPhaseStatusCode (
   UINT32  StatusCode\r
   );\r
 \r
   UINT32  StatusCode\r
   );\r
 \r
-/**\r
-  This function gets FSP CAR base.\r
-\r
-**/\r
-UINT32\r
-EFIAPI\r
-GetFspCarBase (\r
-  VOID\r
-  );\r
-\r
-/**\r
-  This function gets FSP CAR size.\r
-\r
-**/\r
-UINT32\r
-EFIAPI\r
-GetFspCarSize (\r
-  VOID\r
-  );\r
-\r
 /**\r
   This function updates the return status of the FSP API with requested reset type and returns to Boot Loader.\r
 \r
 /**\r
   This function updates the return status of the FSP API with requested reset type and returns to Boot Loader.\r
 \r
index 0c5f0b3..660e9fc 100644 (file)
@@ -504,48 +504,6 @@ SetPhaseStatusCode (
   FspData->StatusCode = StatusCode;\r
 }\r
 \r
   FspData->StatusCode = StatusCode;\r
 }\r
 \r
-/**\r
-  This function gets FSP CAR base.\r
-\r
-**/\r
-UINT32\r
-EFIAPI\r
-GetFspCarBase (\r
-  VOID\r
-  )\r
-{\r
-  FSP_GLOBAL_DATA  *FspData;\r
-  UINT32           CarBase;\r
-\r
-  FspData  = GetFspGlobalDataPointer ();\r
-  CarBase = FspData->PlatformData.CarBase;\r
-  if (CarBase == 0) {\r
-    CarBase = PcdGet32(PcdTemporaryRamBase);\r
-  }\r
-  return CarBase;\r
-}\r
-\r
-/**\r
-  This function gets FSP CAR size.\r
-\r
-**/\r
-UINT32\r
-EFIAPI\r
-GetFspCarSize (\r
-  VOID\r
-  )\r
-{\r
-  FSP_GLOBAL_DATA  *FspData;\r
-  UINT32           CarSize;\r
-\r
-  FspData  = GetFspGlobalDataPointer ();\r
-  CarSize = FspData->PlatformData.CarSize;\r
-  if (FspData->PlatformData.CarBase == 0) {\r
-    CarSize = PcdGet32(PcdTemporaryRamSize);\r
-  }\r
-  return CarSize;\r
-}\r
-\r
 /**\r
   This function updates the return status of the FSP API with requested reset type and returns to Boot Loader.\r
 \r
 /**\r
   This function updates the return status of the FSP API with requested reset type and returns to Boot Loader.\r
 \r