CarBase and CarSize in Fsp Global data strcture are no longer needed as
Boot loader doesn't pass them to FSP even incase BL chooses to skip calling the 
FspTempRamInit API. Incase of FspTempramInit is called we can use the PCDs to 
identify the CarBase and Size. Hence removeing the relevent code.

Cc: Giri P Mudusuru <[email protected]>
Cc: Jiewen Yao <[email protected]>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Satya Yarlagadda <[email protected]>
---
 IntelFsp2Pkg/FspSecCore/SecFsp.c                   |  4 +--
 IntelFsp2Pkg/Include/FspGlobalData.h               |  2 --
 IntelFsp2Pkg/Include/Library/FspCommonLib.h        | 20 -----------
 .../Library/BaseFspCommonLib/FspCommonLib.c        | 42 ----------------------
 4 files changed, 1 insertion(+), 67 deletions(-)

diff --git a/IntelFsp2Pkg/FspSecCore/SecFsp.c b/IntelFsp2Pkg/FspSecCore/SecFsp.c
index 7259a55..96f8fb7 100644
--- a/IntelFsp2Pkg/FspSecCore/SecFsp.c
+++ b/IntelFsp2Pkg/FspSecCore/SecFsp.c
@@ -76,7 +76,7 @@ SecGetPlatformData (
   //
   // Pointer to the size field
   //
-  TopOfCar = FspPlatformData->CarBase + FspPlatformData->CarSize;
+  TopOfCar = PcdGet32(PcdTemporaryRamBase) + PcdGet32(PcdTemporaryRamSize);
   StackPtr = (UINT32 *)(TopOfCar - sizeof (UINT32));
 
   if (*(StackPtr - 1) == FSP_MCUD_SIGNATURE) {
@@ -140,8 +140,6 @@ FspGlobalDataInit (
   PeiFspData->CoreStack            = BootLoaderStack;
   PeiFspData->PerfIdx              = 2;
   PeiFspData->PerfSig              = FSP_PERFORMANCE_DATA_SIGNATURE;
-  PeiFspData->PlatformData.CarBase = AsmReadMsr32 (0x200) & ~(0x6);
-  PeiFspData->PlatformData.CarSize = ~(AsmReadMsr32(0x201) & ~(0x800)) + 1;
 
   SetFspMeasurePoint (FSP_PERF_ID_API_FSP_MEMORY_INIT_ENTRY);
 
diff --git a/IntelFsp2Pkg/Include/FspGlobalData.h 
b/IntelFsp2Pkg/Include/FspGlobalData.h
index a484d16..8ac3199 100644
--- a/IntelFsp2Pkg/Include/FspGlobalData.h
+++ b/IntelFsp2Pkg/Include/FspGlobalData.h
@@ -34,8 +34,6 @@ typedef struct  {
    UINT32             MicrocodeRegionSize;
    UINT32             CodeRegionBase;
    UINT32             CodeRegionSize;
-   UINT32             CarBase;
-   UINT32             CarSize;
 } FSP_PLAT_DATA;
 
 #define FSP_GLOBAL_DATA_SIGNATURE  SIGNATURE_32 ('F', 'S', 'P', 'D')
diff --git a/IntelFsp2Pkg/Include/Library/FspCommonLib.h 
b/IntelFsp2Pkg/Include/Library/FspCommonLib.h
index 231f1e4..5f7a14b 100644
--- a/IntelFsp2Pkg/Include/Library/FspCommonLib.h
+++ b/IntelFsp2Pkg/Include/Library/FspCommonLib.h
@@ -290,26 +290,6 @@ SetPhaseStatusCode (
   );
 
 /**
-  This function gets FSP CAR base.
-
-**/
-UINT32
-EFIAPI
-GetFspCarBase (
-  VOID
-  );
-
-/**
-  This function gets FSP CAR size.
-
-**/
-UINT32
-EFIAPI
-GetFspCarSize (
-  VOID
-  );
-
-/**
   This function updates the return status of the FSP API with requested reset 
type and returns to Boot Loader.
 
   @param[in] FspResetType     Reset type that needs to returned as API return 
status
diff --git a/IntelFsp2Pkg/Library/BaseFspCommonLib/FspCommonLib.c 
b/IntelFsp2Pkg/Library/BaseFspCommonLib/FspCommonLib.c
index 0c5f0b3..660e9fc 100644
--- a/IntelFsp2Pkg/Library/BaseFspCommonLib/FspCommonLib.c
+++ b/IntelFsp2Pkg/Library/BaseFspCommonLib/FspCommonLib.c
@@ -505,48 +505,6 @@ SetPhaseStatusCode (
 }
 
 /**
-  This function gets FSP CAR base.
-
-**/
-UINT32
-EFIAPI
-GetFspCarBase (
-  VOID
-  )
-{
-  FSP_GLOBAL_DATA  *FspData;
-  UINT32           CarBase;
-
-  FspData  = GetFspGlobalDataPointer ();
-  CarBase = FspData->PlatformData.CarBase;
-  if (CarBase == 0) {
-    CarBase = PcdGet32(PcdTemporaryRamBase);
-  }
-  return CarBase;
-}
-
-/**
-  This function gets FSP CAR size.
-
-**/
-UINT32
-EFIAPI
-GetFspCarSize (
-  VOID
-  )
-{
-  FSP_GLOBAL_DATA  *FspData;
-  UINT32           CarSize;
-
-  FspData  = GetFspGlobalDataPointer ();
-  CarSize = FspData->PlatformData.CarSize;
-  if (FspData->PlatformData.CarBase == 0) {
-    CarSize = PcdGet32(PcdTemporaryRamSize);
-  }
-  return CarSize;
-}
-
-/**
   This function updates the return status of the FSP API with requested reset 
type and returns to Boot Loader.
 
   @param[in] FspResetType     Reset type that needs to returned as API return 
status
-- 
2.9.2.windows.1

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to