From: Satya Yarlagadda Date: Wed, 20 Jul 2016 06:49:15 +0000 (+0800) Subject: IntelFsp2Pkg: Remove CarBase and CarSize from FSP_GLOBAL_DATA X-Git-Tag: edk2-stable201903~6230 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=40bc7509142af30d8befd198afbdeeaa58964234;hp=c243b7443213cce5c13389fa61660b8d8cc3c6dd IntelFsp2Pkg: Remove CarBase and CarSize from FSP_GLOBAL_DATA 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 Cc: Jiewen Yao Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Satya Yarlagadda Reviewed-by: Giri P Mudusuru Reviewed-by: Jiewen Yao --- diff --git a/IntelFsp2Pkg/FspSecCore/SecFsp.c b/IntelFsp2Pkg/FspSecCore/SecFsp.c index 7259a55bbd..96f8fb7554 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 a484d16dcc..8ac3199bab 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 231f1e44b3..5f7a14b9b2 100644 --- a/IntelFsp2Pkg/Include/Library/FspCommonLib.h +++ b/IntelFsp2Pkg/Include/Library/FspCommonLib.h @@ -289,26 +289,6 @@ SetPhaseStatusCode ( UINT32 StatusCode ); -/** - 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. diff --git a/IntelFsp2Pkg/Library/BaseFspCommonLib/FspCommonLib.c b/IntelFsp2Pkg/Library/BaseFspCommonLib/FspCommonLib.c index 0c5f0b306e..660e9fc696 100644 --- a/IntelFsp2Pkg/Library/BaseFspCommonLib/FspCommonLib.c +++ b/IntelFsp2Pkg/Library/BaseFspCommonLib/FspCommonLib.c @@ -504,48 +504,6 @@ SetPhaseStatusCode ( FspData->StatusCode = StatusCode; } -/** - 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.