]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFspPkg/Library/BaseFspCommonLib/FspCommonLib.c
IntelFspPkg&IntelFspWrapperPkg: Remove them
[mirror_edk2.git] / IntelFspPkg / Library / BaseFspCommonLib / FspCommonLib.c
diff --git a/IntelFspPkg/Library/BaseFspCommonLib/FspCommonLib.c b/IntelFspPkg/Library/BaseFspCommonLib/FspCommonLib.c
deleted file mode 100644 (file)
index 0f48ccf..0000000
+++ /dev/null
@@ -1,477 +0,0 @@
-/** @file\r
-\r
-  Copyright (c) 2014 - 2015, Intel Corporation. All rights reserved.<BR>\r
-  SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#include <PiPei.h>\r
-#include <Library/BaseLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/PcdLib.h>\r
-#include <FspGlobalData.h>\r
-#include <FspApi.h>\r
-\r
-#pragma pack(1)\r
-\r
-//\r
-//   Cont Func Parameter 2        +0x3C\r
-//   Cont Func Parameter 1        +0x38\r
-//\r
-//   API Parameter                +0x34\r
-//   API return address           +0x30\r
-//\r
-//   push    FspInfoHeader        +0x2C\r
-//   pushfd                       +0x28\r
-//   cli\r
-//   pushad                       +0x24\r
-//   sub     esp, 8               +0x00\r
-//   sidt    fword ptr [esp]\r
-//\r
-typedef struct {\r
-  UINT16    IdtrLimit;\r
-  UINT32    IdtrBase;\r
-  UINT16    Reserved;\r
-  UINT32    Edi;\r
-  UINT32    Esi;\r
-  UINT32    Ebp;\r
-  UINT32    Esp;\r
-  UINT32    Ebx;\r
-  UINT32    Edx;\r
-  UINT32    Ecx;\r
-  UINT32    Eax;\r
-  UINT16    Flags[2];\r
-  UINT32    FspInfoHeader;\r
-  UINT32    ApiRet;\r
-  UINT32    ApiParam;\r
-} CONTEXT_STACK;\r
-\r
-#define CONTEXT_STACK_OFFSET(x)  (UINT32)&((CONTEXT_STACK *)(UINTN)0)->x\r
-\r
-#pragma pack()\r
-\r
-/**\r
-  This function sets the FSP global data pointer.\r
-\r
-  @param[in] FspData       Fsp global data pointer.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-SetFspGlobalDataPointer (\r
-  IN FSP_GLOBAL_DATA   *FspData\r
-  )\r
-{\r
-  ASSERT (FspData != NULL);\r
-  *((volatile UINT32 *)(UINTN)PcdGet32(PcdGlobalDataPointerAddress)) = (UINT32)(UINTN)FspData;\r
-}\r
-\r
-/**\r
-  This function gets the FSP global data pointer.\r
-\r
-**/\r
-FSP_GLOBAL_DATA *\r
-EFIAPI\r
-GetFspGlobalDataPointer (\r
-  VOID\r
-  )\r
-{\r
-  FSP_GLOBAL_DATA   *FspData;\r
-\r
-  FspData = *(FSP_GLOBAL_DATA  **)(UINTN)PcdGet32(PcdGlobalDataPointerAddress);\r
-  return FspData;\r
-}\r
-\r
-/**\r
-  This function gets back the FSP API parameter passed by the bootlaoder.\r
-\r
-  @retval ApiParameter FSP API parameter passed by the bootlaoder.\r
-**/\r
-UINT32\r
-EFIAPI\r
-GetFspApiParameter (\r
-  VOID\r
-  )\r
-{\r
-  FSP_GLOBAL_DATA  *FspData;\r
-\r
-  FspData  = GetFspGlobalDataPointer ();\r
-  return *(UINT32 *)(UINTN)(FspData->CoreStack + CONTEXT_STACK_OFFSET(ApiParam));\r
-}\r
-\r
-/**\r
-  This function sets the FSP API parameter in the stack.\r
-\r
-   @param[in] Value       New parameter value.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-SetFspApiParameter (\r
-  IN UINT32      Value\r
-  )\r
-{\r
-  FSP_GLOBAL_DATA  *FspData;\r
-\r
-  FspData  = GetFspGlobalDataPointer ();\r
-  *(UINT32 *)(UINTN)(FspData->CoreStack + CONTEXT_STACK_OFFSET(ApiParam)) = Value;\r
-}\r
-\r
-/**\r
-  This function sets the FSP continuation function parameters in the stack.\r
-\r
-  @param[in] Value             New parameter value to set.\r
-  @param[in] Index             Parameter index.\r
-**/\r
-VOID\r
-EFIAPI\r
-SetFspContinuationFuncParameter (\r
-  IN UINT32      Value,\r
-  IN UINT32      Index\r
-  )\r
-{\r
-  FSP_GLOBAL_DATA  *FspData;\r
-\r
-  FspData  = GetFspGlobalDataPointer ();\r
-  *(UINT32 *)(UINTN)(FspData->CoreStack + CONTEXT_STACK_OFFSET(ApiParam) + (Index + 1) * sizeof(UINT32)) = Value;\r
-}\r
-\r
-\r
-/**\r
-  This function changes the BootLoader return address in stack.\r
-\r
-  @param[in] ReturnAddress       Address to return.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-SetFspApiReturnAddress (\r
-  IN UINT32  ReturnAddress\r
-  )\r
-{\r
-  FSP_GLOBAL_DATA  *FspData;\r
-\r
-  FspData  = GetFspGlobalDataPointer ();\r
-  *(UINT32 *)(UINTN)(FspData->CoreStack + CONTEXT_STACK_OFFSET(ApiRet)) = ReturnAddress;\r
-}\r
-\r
-/**\r
-  This function set the API status code returned to the BootLoader.\r
-\r
-  @param[in] ReturnStatus       Status code to return.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-SetFspApiReturnStatus (\r
-  IN UINT32  ReturnStatus\r
-  )\r
-{\r
-  FSP_GLOBAL_DATA  *FspData;\r
-\r
-  FspData  = GetFspGlobalDataPointer ();\r
-  *(UINT32 *)(UINTN)(FspData->CoreStack + CONTEXT_STACK_OFFSET(Eax)) = ReturnStatus;\r
-}\r
-\r
-/**\r
-  This function sets the context switching stack to a new stack frame.\r
-\r
-  @param[in] NewStackTop       New core stack to be set.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-SetFspCoreStackPointer (\r
-  IN VOID   *NewStackTop\r
-  )\r
-{\r
-  FSP_GLOBAL_DATA  *FspData;\r
-  UINT32           *OldStack;\r
-  UINT32           *NewStack;\r
-  UINT32           StackContextLen;\r
-\r
-  FspData  = GetFspGlobalDataPointer ();\r
-  StackContextLen = sizeof(CONTEXT_STACK) / sizeof(UINT32);\r
-\r
-  //\r
-  // Reserve space for the ContinuationFunc two parameters\r
-  //\r
-  OldStack = (UINT32 *)FspData->CoreStack;\r
-  NewStack = (UINT32 *)NewStackTop - StackContextLen - 2;\r
-  FspData->CoreStack = (UINT32)NewStack;\r
-  while (StackContextLen-- != 0) {\r
-    *NewStack++ = *OldStack++;\r
-  }\r
-}\r
-\r
-/**\r
-  This function sets the platform specific data pointer.\r
-\r
-  @param[in] PlatformData       Fsp platform specific data pointer.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-SetFspPlatformDataPointer (\r
-  IN VOID   *PlatformData\r
-  )\r
-{\r
-  FSP_GLOBAL_DATA  *FspData;\r
-\r
-  FspData  = GetFspGlobalDataPointer ();\r
-  FspData->PlatformData.DataPtr = PlatformData;\r
-}\r
-\r
-\r
-/**\r
-  This function gets the platform specific data pointer.\r
-\r
-   @param[in] PlatformData       Fsp platform specific data pointer.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-GetFspPlatformDataPointer (\r
-  VOID\r
-  )\r
-{\r
-  FSP_GLOBAL_DATA  *FspData;\r
-\r
-  FspData  = GetFspGlobalDataPointer ();\r
-  return FspData->PlatformData.DataPtr;\r
-}\r
-\r
-\r
-/**\r
-  This function sets the UPD data pointer.\r
-\r
-  @param[in] UpdDataRgnPtr   UPD data pointer.\r
-**/\r
-VOID\r
-EFIAPI\r
-SetFspUpdDataPointer (\r
-  IN VOID    *UpdDataRgnPtr\r
-  )\r
-{\r
-  FSP_GLOBAL_DATA  *FspData;\r
-\r
-  //\r
-  // Get the Fsp Global Data Pointer\r
-  //\r
-  FspData  = GetFspGlobalDataPointer ();\r
-\r
-  //\r
-  // Set the UPD pointer.\r
-  //\r
-  FspData->UpdDataRgnPtr = UpdDataRgnPtr;\r
-}\r
-\r
-/**\r
-  This function gets the UPD data pointer.\r
-\r
-  @return UpdDataRgnPtr   UPD data pointer.\r
-**/\r
-VOID *\r
-EFIAPI\r
-GetFspUpdDataPointer (\r
-  VOID\r
-  )\r
-{\r
-  FSP_GLOBAL_DATA  *FspData;\r
-\r
-  FspData  = GetFspGlobalDataPointer ();\r
-  return FspData->UpdDataRgnPtr;\r
-}\r
-\r
-\r
-/**\r
-  This function sets the memory init UPD data pointer.\r
-\r
-  @param[in] MemoryInitUpdPtr   memory init UPD data pointer.\r
-**/\r
-VOID\r
-EFIAPI\r
-SetFspMemoryInitUpdDataPointer (\r
-  IN VOID    *MemoryInitUpdPtr\r
-  )\r
-{\r
-  FSP_GLOBAL_DATA  *FspData;\r
-\r
-  //\r
-  // Get the Fsp Global Data Pointer\r
-  //\r
-  FspData  = GetFspGlobalDataPointer ();\r
-\r
-  //\r
-  // Set the memory init UPD pointer.\r
-  //\r
-  FspData->MemoryInitUpdPtr = MemoryInitUpdPtr;\r
-}\r
-\r
-/**\r
-  This function gets the memory init UPD data pointer.\r
-\r
-  @return memory init UPD data pointer.\r
-**/\r
-VOID *\r
-EFIAPI\r
-GetFspMemoryInitUpdDataPointer (\r
-  VOID\r
-  )\r
-{\r
-  FSP_GLOBAL_DATA  *FspData;\r
-\r
-  FspData  = GetFspGlobalDataPointer ();\r
-  return FspData->MemoryInitUpdPtr;\r
-}\r
-\r
-\r
-/**\r
-  This function sets the silicon init UPD data pointer.\r
-\r
-  @param[in] SiliconInitUpdPtr   silicon init UPD data pointer.\r
-**/\r
-VOID\r
-EFIAPI\r
-SetFspSiliconInitUpdDataPointer (\r
-  IN VOID    *SiliconInitUpdPtr\r
-  )\r
-{\r
-  FSP_GLOBAL_DATA  *FspData;\r
-\r
-  //\r
-  // Get the Fsp Global Data Pointer\r
-  //\r
-  FspData  = GetFspGlobalDataPointer ();\r
-\r
-  //\r
-  // Set the silicon init UPD data pointer.\r
-  //\r
-  FspData->SiliconInitUpdPtr = SiliconInitUpdPtr;\r
-}\r
-\r
-/**\r
-  This function gets the silicon init UPD data pointer.\r
-\r
-  @return silicon init UPD data pointer.\r
-**/\r
-VOID *\r
-EFIAPI\r
-GetFspSiliconInitUpdDataPointer (\r
-  VOID\r
-  )\r
-{\r
-  FSP_GLOBAL_DATA  *FspData;\r
-\r
-  FspData  = GetFspGlobalDataPointer ();\r
-  return FspData->SiliconInitUpdPtr;\r
-}\r
-\r
-\r
-/**\r
-  Set FSP measurement point timestamp.\r
-\r
-  @param[in] Id       Measurement point ID.\r
-\r
-  @return performance timestamp.\r
-**/\r
-UINT64\r
-EFIAPI\r
-SetFspMeasurePoint (\r
-  IN UINT8  Id\r
-  )\r
-{\r
-  FSP_GLOBAL_DATA  *FspData;\r
-\r
-  //\r
-  // Bit [55: 0]  will be the timestamp\r
-  // Bit [63:56]  will be the ID\r
-  //\r
-  FspData  = GetFspGlobalDataPointer ();\r
-  if (FspData->PerfIdx < sizeof(FspData->PerfData) / sizeof(FspData->PerfData[0])) {\r
-    FspData->PerfData[FspData->PerfIdx] = AsmReadTsc ();\r
-    ((UINT8 *)(&FspData->PerfData[FspData->PerfIdx]))[7] = Id;\r
-  }\r
-\r
-  return FspData->PerfData[(FspData->PerfIdx)++];\r
-}\r
-\r
-/**\r
-  This function gets the FSP info header pointer.\r
-\r
-  @retval FspInfoHeader   FSP info header pointer\r
-**/\r
-FSP_INFO_HEADER *\r
-EFIAPI\r
-GetFspInfoHeader (\r
-  VOID\r
-  )\r
-{\r
-  return  GetFspGlobalDataPointer()->FspInfoHeader;\r
-}\r
-\r
-/**\r
-  This function gets the FSP info header pointer using the API stack context.\r
-\r
-  @retval FspInfoHeader   FSP info header pointer using the API stack context\r
-**/\r
-FSP_INFO_HEADER *\r
-EFIAPI\r
-GetFspInfoHeaderFromApiContext (\r
-  VOID\r
-  )\r
-{\r
-  FSP_GLOBAL_DATA  *FspData;\r
-\r
-  FspData  = GetFspGlobalDataPointer ();\r
-  return  (FSP_INFO_HEADER *)(*(UINT32 *)(UINTN)(FspData->CoreStack + CONTEXT_STACK_OFFSET(FspInfoHeader)));\r
-}\r
-\r
-/**\r
-  This function gets the VPD data pointer.\r
-\r
-  @return VpdDataRgnPtr   VPD data pointer.\r
-**/\r
-VOID *\r
-EFIAPI\r
-GetFspVpdDataPointer (\r
-  VOID\r
-  )\r
-{\r
-  FSP_INFO_HEADER   *FspInfoHeader;\r
-\r
-  FspInfoHeader = GetFspInfoHeader ();\r
-  return (VOID *)(FspInfoHeader->ImageBase + FspInfoHeader->CfgRegionOffset);\r
-}\r
-\r
-/**\r
-  This function gets FSP API calling mode.\r
-\r
-  @retval API calling mode\r
-**/\r
-UINT8\r
-EFIAPI\r
-GetFspApiCallingMode (\r
-  VOID\r
-  )\r
-{\r
-  return  GetFspGlobalDataPointer()->ApiMode;\r
-}\r
-\r
-/**\r
-  This function sets FSP API calling mode.\r
-\r
-  @param[in] Mode     API calling mode\r
-**/\r
-VOID\r
-EFIAPI\r
-SetFspApiCallingMode (\r
-  UINT8  Mode\r
-  )\r
-{\r
-  FSP_GLOBAL_DATA  *FspData;\r
-\r
-  FspData  = GetFspGlobalDataPointer ();\r
-  FspData->ApiMode = Mode;\r
-}\r
-\r