]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Library/ExtendedSalLib.h
MdePkg: Removed IPF related code
[mirror_edk2.git] / MdePkg / Include / Library / ExtendedSalLib.h
diff --git a/MdePkg/Include/Library/ExtendedSalLib.h b/MdePkg/Include/Library/ExtendedSalLib.h
deleted file mode 100644 (file)
index 85cfe5a..0000000
+++ /dev/null
@@ -1,488 +0,0 @@
-/** @file\r
-  Library class definition of Extended SAL Library.\r
-\r
-Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#ifndef _EXTENDED_SAL_LIB_H__\r
-#define _EXTENDED_SAL_LIB_H__\r
-\r
-#include <IndustryStandard/Sal.h>\r
-\r
-/**\r
-  Register ESAL Class and its associated global.\r
-\r
-  This function Registers one or more Extended SAL services in a given\r
-  class along with the associated global context.\r
-  This function is only available prior to ExitBootServices().\r
-\r
-  @param  ClassGuidLo          GUID of function class, lower 64-bits\r
-  @param  ClassGuidHi          GUID of function class, upper 64-bits\r
-  @param  ModuleGlobal         Module global for Function.\r
-  @param  ...                  List of Function/FunctionId pairs, ended by NULL\r
-\r
-  @retval EFI_SUCCESS          The Extended SAL services were registered.\r
-  @retval EFI_UNSUPPORTED      This function was called after ExitBootServices().\r
-  @retval EFI_OUT_OF_RESOURCES There are not enough resources available to register one or more of the specified services.\r
-  @retval Other                ClassGuid could not be installed onto a new handle.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-RegisterEsalClass (\r
-  IN  CONST UINT64    ClassGuidLo,\r
-  IN  CONST UINT64    ClassGuidHi,\r
-  IN  VOID            *ModuleGlobal,  OPTIONAL\r
-  ...\r
-  );\r
-\r
-/**\r
-  Calls an Extended SAL Class service that was previously registered with RegisterEsalClass().\r
-\r
-  This function calls an Extended SAL Class service that was previously registered with RegisterEsalClass().\r
-\r
-  @param  ClassGuidLo    GUID of function, lower 64-bits\r
-  @param  ClassGuidHi    GUID of function, upper 64-bits\r
-  @param  FunctionId     Function in ClassGuid to call\r
-  @param  Arg2           Argument 2 ClassGuid/FunctionId defined\r
-  @param  Arg3           Argument 3 ClassGuid/FunctionId defined\r
-  @param  Arg4           Argument 4 ClassGuid/FunctionId defined\r
-  @param  Arg5           Argument 5 ClassGuid/FunctionId defined\r
-  @param  Arg6           Argument 6 ClassGuid/FunctionId defined\r
-  @param  Arg7           Argument 7 ClassGuid/FunctionId defined\r
-  @param  Arg8           Argument 8 ClassGuid/FunctionId defined\r
-\r
-  @retval EFI_SAL_ERROR  The address of ExtendedSalProc() can not be determined\r
-                         for the current CPU execution mode.\r
-  @retval Other          See the return status from ExtendedSalProc() in the\r
-                         EXTENDED_SAL_BOOT_SERVICE_PROTOCOL.\r
-\r
-**/\r
-SAL_RETURN_REGS\r
-EFIAPI\r
-EsalCall (\r
-  IN UINT64  ClassGuidLo,\r
-  IN UINT64  ClassGuidHi,\r
-  IN UINT64  FunctionId,\r
-  IN UINT64  Arg2,\r
-  IN UINT64  Arg3,\r
-  IN UINT64  Arg4,\r
-  IN UINT64  Arg5,\r
-  IN UINT64  Arg6,\r
-  IN UINT64  Arg7,\r
-  IN UINT64  Arg8\r
-  );\r
-\r
-/**\r
-  Wrapper for the EsalStallFunctionId service of Extended SAL Stall Services Class.\r
-\r
-  This function is a wrapper for the EsalStallFunctionId service of Extended SAL\r
-  Stall Services Class. See EsalStallFunctionId of Extended SAL Specification.\r
-\r
-  @param  Microseconds                  The number of microseconds to delay.\r
-\r
-  @retval EFI_SAL_SUCCESS               Call completed without error.\r
-  @retval EFI_SAL_INVALID_ARGUMENT      Invalid argument.\r
-  @retval EFI_SAL_VIRTUAL_ADDRESS_ERROR Virtual address not registered\r
-\r
-**/\r
-SAL_RETURN_REGS\r
-EFIAPI\r
-EsalStall (\r
-  IN UINTN  Microseconds\r
-  );\r
-\r
-/**\r
-  Wrapper for the EsalSetNewPalEntryFunctionId service of Extended SAL PAL Services Services Class.\r
-\r
-  This function is a wrapper for the EsalSetNewPalEntryFunctionId service of Extended SAL\r
-  PAL Services Services Class. See EsalSetNewPalEntryFunctionId of Extended SAL Specification.\r
-\r
-  @param  PhysicalAddress                If TRUE, then PalEntryPoint is a physical address.\r
-                                         If FALSE, then PalEntryPoint is a virtual address.\r
-  @param  PalEntryPoint                  The PAL Entry Point being set.\r
-\r
-  @retval EFI_SAL_SUCCESS                The PAL Entry Point was set.\r
-  @retval EFI_SAL_VIRTUAL_ADDRESS_ERROR  This function was called in virtual mode before\r
-                                         virtual mappings for the specified Extended SAL\r
-                                         Procedure are available.\r
-\r
-**/\r
-SAL_RETURN_REGS\r
-EFIAPI\r
-EsalSetNewPalEntry (\r
-  IN BOOLEAN  PhysicalAddress,\r
-  IN UINT64   PalEntryPoint\r
-  );\r
-\r
-/**\r
-  Wrapper for the EsalGetNewPalEntryFunctionId service of Extended SAL PAL Services Services Class.\r
-\r
-  This function is a wrapper for the EsalGetNewPalEntryFunctionId service of Extended SAL\r
-  PAL Services Services Class. See EsalGetNewPalEntryFunctionId of Extended SAL Specification.\r
-\r
-  @param  PhysicalAddress                If TRUE, then PalEntryPoint is a physical address.\r
-                                         If FALSE, then PalEntryPoint is a virtual address.\r
-\r
-  @retval EFI_SAL_SUCCESS                The PAL Entry Point was retrieved and returned in\r
-                                         SAL_RETURN_REGS.r9.\r
-  @retval EFI_SAL_VIRTUAL_ADDRESS_ERROR  This function was called in virtual mode before\r
-                                         virtual mappings for the specified Extended SAL\r
-                                         Procedure are available.\r
-  @return r9                             PAL entry point retrieved.\r
-\r
-**/\r
-SAL_RETURN_REGS\r
-EFIAPI\r
-EsalGetNewPalEntry (\r
-  IN BOOLEAN  PhysicalAddress\r
-  );\r
-\r
-/**\r
-  Wrapper for the EsalGetStateBufferFunctionId service of Extended SAL MCA Log Services Class.\r
-\r
-  This function is a wrapper for the EsalGetStateBufferFunctionId service of Extended SAL\r
-  MCA Log Services Class. See EsalGetStateBufferFunctionId of Extended SAL Specification.\r
-\r
-  @param  McaType               See type parameter of SAL Procedure SAL_GET_STATE_INFO.\r
-  @param  McaBuffer             A pointer to the base address of the returned buffer.\r
-                                Copied from SAL_RETURN_REGS.r9.\r
-  @param  BufferSize            A pointer to the size, in bytes, of the returned buffer.\r
-                                Copied from SAL_RETURN_REGS.r10.\r
-\r
-  @retval EFI_SAL_SUCCESS       The memory buffer to store error records was returned in r9 and r10.\r
-  @retval EFI_OUT_OF_RESOURCES  A memory buffer for string error records in not available\r
-  @return r9                    Base address of the returned buffer\r
-  @return r10                   Size of the returned buffer in bytes\r
-\r
-**/\r
-SAL_RETURN_REGS\r
-EFIAPI\r
-EsalGetStateBuffer (\r
-  IN  UINT64  McaType,\r
-  OUT UINT8   **McaBuffer,\r
-  OUT UINTN   *BufferSize\r
-  );\r
-\r
-/**\r
-  Wrapper for the EsalSaveStateBufferFunctionId service of Extended SAL MCA Log Services Class.\r
-\r
-  This function is a wrapper for the EsalSaveStateBufferFunctionId service of Extended SAL\r
-  MCA Log Services Class. See EsalSaveStateBufferFunctionId of Extended SAL Specification.\r
-\r
-  @param  McaType      See type parameter of SAL Procedure SAL_GET_STATE_INFO.\r
-\r
-  @retval EFI_SUCCESS  The memory buffer containing the error record was written to nonvolatile storage.\r
-\r
-**/\r
-SAL_RETURN_REGS\r
-EFIAPI\r
-EsalSaveStateBuffer (\r
-  IN  UINT64  McaType\r
-  );\r
-\r
-/**\r
-  Wrapper for the EsalGetVectorsFunctionId service of Extended SAL Base Services Class.\r
-\r
-  This function is a wrapper for the EsalGetVectorsFunctionId service of Extended SAL\r
-  Base Services Class. See EsalGetVectorsFunctionId of Extended SAL Specification.\r
-\r
-  @param  VectorType               The vector type to retrieve.\r
-                                   0 - MCA, 1 - BSP INIT, 2 - BOOT_RENDEZ, 3 - AP INIT.\r
-\r
-  @retval EFI_SAL_SUCCESS          Call completed without error.\r
-  @retval EFI_SAL_INVALID_ARGUMENT Invalid argument.\r
-  @retval EFI_SAL_NO_INFORMATION   The requested vector has not been registered\r
-                                   with the SAL Procedure SAL_SET_VECTORS.\r
-\r
-**/\r
-SAL_RETURN_REGS\r
-EFIAPI\r
-EsalGetVectors (\r
-  IN  UINT64  VectorType\r
-  );\r
-\r
-/**\r
-  Wrapper for the EsalMcGetParamsFunctionId service of Extended SAL Base Services Class.\r
-\r
-  This function is a wrapper for the EsalMcGetParamsFunctionId service of Extended SAL\r
-  Base Services Class. See EsalMcGetParamsFunctionId of Extended SAL Specification.\r
-\r
-  @param  ParamInfoType            The parameter type to retrieve.\r
-                                   1 - rendezvous interrupt\r
-                                   2 - wake up\r
-                                   3 - Corrected Platform Error Vector.\r
-\r
-  @retval EFI_SAL_SUCCESS          Call completed without error.\r
-  @retval EFI_SAL_INVALID_ARGUMENT Invalid argument.\r
-  @retval EFI_SAL_NO_INFORMATION   The requested vector has not been registered\r
-                                   with the SAL Procedure SAL_MC_SET_PARAMS.\r
-\r
-**/\r
-SAL_RETURN_REGS\r
-EFIAPI\r
-EsalMcGetParams (\r
-  IN  UINT64  ParamInfoType\r
-  );\r
-\r
-/**\r
-  Wrapper for the EsalMcGetParamsFunctionId service of Extended SAL Base Services Class.\r
-\r
-  This function is a wrapper for the EsalMcGetParamsFunctionId service of Extended SAL\r
-  Base Services Class. See EsalMcGetParamsFunctionId of Extended SAL Specification.\r
-\r
-  @retval EFI_SAL_SUCCESS          Call completed without error.\r
-  @retval EFI_SAL_NO_INFORMATION   The requested vector has not been registered\r
-                                   with the SAL Procedure SAL_MC_SET_PARAMS.\r
-\r
-**/\r
-SAL_RETURN_REGS\r
-EFIAPI\r
-EsalMcGetMcParams (\r
-  VOID\r
-  );\r
-\r
-/**\r
-  Wrapper for the EsalGetMcCheckinFlagsFunctionId service of Extended SAL Base Services Class.\r
-\r
-  This function is a wrapper for the EsalGetMcCheckinFlagsFunctionId service of Extended SAL\r
-  Base Services Class. See EsalGetMcCheckinFlagsFunctionId of Extended SAL Specification.\r
-\r
-  @param  CpuIndex         The index of the CPU of set of enabled CPUs to check.\r
-\r
-  @retval EFI_SAL_SUCCESS  The checkin status of the requested CPU was returned.\r
-\r
-**/\r
-SAL_RETURN_REGS\r
-EFIAPI\r
-EsalGetMcCheckinFlags (\r
-  IN  UINT64  CpuIndex\r
-  );\r
-\r
-/**\r
-  Wrapper for the EsalAddCpuDataFunctionId service of Extended SAL MP Services Class.\r
-\r
-  This function is a wrapper for the EsalAddCpuDataFunctionId service of Extended SAL\r
-  MP Services Class. See EsalAddCpuDataFunctionId of Extended SAL Specification.\r
-\r
-  @param  CpuGlobalId                 The Global ID for the CPU being added.\r
-  @param  Enabled                     The enable flag for the CPU being added.\r
-                                      TRUE means the CPU is enabled.\r
-                                      FALSE means the CPU is disabled.\r
-  @param  PalCompatibility            The PAL Compatibility value for the CPU being added.\r
-\r
-  @retval EFI_SAL_SUCCESS             The CPU was added to the database.\r
-  @retval EFI_SAL_NOT_ENOUGH_SCRATCH  There are not enough resource available to add the CPU.\r
-\r
-**/\r
-SAL_RETURN_REGS\r
-EFIAPI\r
-EsalAddCpuData (\r
-  IN UINT64   CpuGlobalId,\r
-  IN BOOLEAN  Enabled,\r
-  IN UINT64   PalCompatibility\r
-  );\r
-\r
-/**\r
-  Wrapper for the EsalRemoveCpuDataFunctionId service of Extended SAL MP Services Class.\r
-\r
-  This function is a wrapper for the EsalRemoveCpuDataFunctionId service of Extended SAL\r
-  MP Services Class. See EsalRemoveCpuDataFunctionId of Extended SAL Specification.\r
-\r
-  @param  CpuGlobalId             The Global ID for the CPU being removed.\r
-\r
-  @retval EFI_SAL_SUCCESS         The CPU was removed from the database.\r
-  @retval EFI_SAL_NO_INFORMATION  The specified CPU is not in the database.\r
-\r
-**/\r
-SAL_RETURN_REGS\r
-EFIAPI\r
-EsalRemoveCpuData (\r
-  IN UINT64  CpuGlobalId\r
-  );\r
-\r
-/**\r
-  Wrapper for the EsalModifyCpuDataFunctionId service of Extended SAL MP Services Class.\r
-\r
-  This function is a wrapper for the EsalModifyCpuDataFunctionId service of Extended SAL\r
-  MP Services Class. See EsalModifyCpuDataFunctionId of Extended SAL Specification.\r
-\r
-  @param  CpuGlobalId             The Global ID for the CPU being modified.\r
-  @param  Enabled                 The enable flag for the CPU being modified.\r
-                                  TRUE means the CPU is enabled.\r
-                                  FALSE means the CPU is disabled.\r
-  @param  PalCompatibility        The PAL Compatibility value for the CPU being modified.\r
-\r
-  @retval EFI_SAL_SUCCESS         The CPU database was updated.\r
-  @retval EFI_SAL_NO_INFORMATION  The specified CPU is not in the database.\r
-\r
-**/\r
-SAL_RETURN_REGS\r
-EFIAPI\r
-EsalModifyCpuData (\r
-  IN UINT64   CpuGlobalId,\r
-  IN BOOLEAN  Enabled,\r
-  IN UINT64   PalCompatibility\r
-  );\r
-\r
-/**\r
-  Wrapper for the EsalGetCpuDataByIdFunctionId service of Extended SAL MP Services Class.\r
-\r
-  This function is a wrapper for the EsalGetCpuDataByIdFunctionId service of Extended SAL\r
-  MP Services Class. See EsalGetCpuDataByIdFunctionId of Extended SAL Specification.\r
-\r
-  @param  CpuGlobalId             The Global ID for the CPU being looked up.\r
-  @param  IndexByEnabledCpu       If TRUE, then the index of set of enabled CPUs of database is returned.\r
-                                  If FALSE, then the index of set of all CPUs of database is returned.\r
-\r
-  @retval EFI_SAL_SUCCESS         The information on the specified CPU was returned.\r
-  @retval EFI_SAL_NO_INFORMATION  The specified CPU is not in the database.\r
-\r
-**/\r
-SAL_RETURN_REGS\r
-EFIAPI\r
-EsalGetCpuDataById (\r
-  IN UINT64   CpuGlobalId,\r
-  IN BOOLEAN  IndexByEnabledCpu\r
-  );\r
-\r
-/**\r
-  Wrapper for the EsalGetCpuDataByIndexFunctionId service of Extended SAL MP Services Class.\r
-\r
-  This function is a wrapper for the EsalGetCpuDataByIndexFunctionId service of Extended SAL\r
-  MP Services Class. See EsalGetCpuDataByIndexFunctionId of Extended SAL Specification.\r
-\r
-  @param  Index                   The Global ID for the CPU being modified.\r
-  @param  IndexByEnabledCpu       If TRUE, then the index of set of enabled CPUs of database is returned.\r
-                                  If FALSE, then the index of set of all CPUs of database is returned.\r
-\r
-  @retval EFI_SAL_SUCCESS         The information on the specified CPU was returned.\r
-  @retval EFI_SAL_NO_INFORMATION  The specified CPU is not in the database.\r
-\r
-**/\r
-SAL_RETURN_REGS\r
-EFIAPI\r
-EsalGetCpuDataByIndex (\r
-  IN UINT64   Index,\r
-  IN BOOLEAN  IndexByEnabledCpu\r
-  );\r
-\r
-/**\r
-  Wrapper for the EsalWhoAmIFunctionId service of Extended SAL MP Services Class.\r
-\r
-  This function is a wrapper for the EsalWhoAmIFunctionId service of Extended SAL\r
-  MP Services Class. See EsalWhoAmIFunctionId of Extended SAL Specification.\r
-\r
-  @param  IndexByEnabledCpu       If TRUE, then the index of set of enabled CPUs of database is returned.\r
-                                  If FALSE, then the index of set of all CPUs of database is returned.\r
-\r
-  @retval EFI_SAL_SUCCESS         The Global ID for the calling CPU was returned.\r
-  @retval EFI_SAL_NO_INFORMATION  The calling CPU is not in the database.\r
-\r
-**/\r
-SAL_RETURN_REGS\r
-EFIAPI\r
-EsalWhoAmI (\r
-  IN BOOLEAN  IndexByEnabledCpu\r
-  );\r
-\r
-/**\r
-  Wrapper for the EsalNumProcessors service of Extended SAL MP Services Class.\r
-\r
-  This function is a wrapper for the EsalNumProcessors service of Extended SAL\r
-  MP Services Class. See EsalNumProcessors of Extended SAL Specification.\r
-\r
-  @retval EFI_SAL_SUCCESS    The information on the number of CPUs in the platform\r
-                             was returned.\r
-\r
-**/\r
-SAL_RETURN_REGS\r
-EFIAPI\r
-EsalNumProcessors (\r
-  VOID\r
-  );\r
-\r
-/**\r
-  Wrapper for the EsalSetMinStateFnctionId service of Extended SAL MP Services Class.\r
-\r
-  This function is a wrapper for the EsalSetMinStateFnctionId service of Extended SAL\r
-  MP Services Class. See EsalSetMinStateFnctionId of Extended SAL Specification.\r
-\r
-  @param  CpuGlobalId              The Global ID for the CPU whose MINSTATE pointer is being set.\r
-  @param  MinStatePointer          The physical address of the MINSTATE buffer for the CPU\r
-                                   specified by CpuGlobalId.\r
-\r
-  @retval EFI_SAL_SUCCESS          The MINSTATE pointer was set for the specified CPU.\r
-  @retval EFI_SAL_NO_INFORMATION   The specified CPU is not in the database.\r
-\r
-**/\r
-SAL_RETURN_REGS\r
-EFIAPI\r
-EsalSetMinState (\r
-  IN UINT64                CpuGlobalId,\r
-  IN EFI_PHYSICAL_ADDRESS  MinStatePointer\r
-  );\r
-\r
-/**\r
-  Wrapper for the EsalGetMinStateFunctionId service of Extended SAL MP Services Class.\r
-\r
-  This function is a wrapper for the EsalGetMinStateFunctionId service of Extended SAL\r
-  MP Services Class. See EsalGetMinStateFunctionId of Extended SAL Specification.\r
-\r
-  @param  CpuGlobalId            The Global ID for the CPU whose MINSTATE pointer is being retrieved.\r
-\r
-  @retval EFI_SAL_SUCCESS        The MINSTATE pointer for the specified CPU was retrieved.\r
-  @retval EFI_SAL_NO_INFORMATION The specified CPU is not in the database.\r
-\r
-**/\r
-SAL_RETURN_REGS\r
-EFIAPI\r
-EsalGetMinState (\r
-  IN UINT64  CpuGlobalId\r
-  );\r
-\r
-/**\r
-  Wrapper for the EsalMcsGetStateInfoFunctionId service of Extended SAL MCA Services Class.\r
-\r
-  This function is a wrapper for the EsalMcsGetStateInfoFunctionId service of Extended SAL\r
-  MCA Services Class. See EsalMcsGetStateInfoFunctionId of Extended SAL Specification.\r
-\r
-  @param  CpuGlobalId               The Global ID for the CPU whose MCA state buffer is being retrieved.\r
-  @param  StateBufferPointer        A pointer to the returned MCA state buffer.\r
-  @param  RequiredStateBufferSize   A pointer to the size, in bytes, of the returned MCA state buffer.\r
-\r
-  @retval EFI_SUCCESS               MINSTATE successfully got and size calculated.\r
-  @retval EFI_SAL_NO_INFORMATION    Fail to get MINSTATE.\r
-\r
-**/\r
-SAL_RETURN_REGS\r
-EFIAPI\r
-EsalMcaGetStateInfo (\r
-  IN  UINT64                CpuGlobalId,\r
-  OUT EFI_PHYSICAL_ADDRESS  *StateBufferPointer,\r
-  OUT UINT64                *RequiredStateBufferSize\r
-  );\r
-\r
-/**\r
-  Wrapper for the EsalMcaRegisterCpuFunctionId service of Extended SAL MCA Services Class.\r
-\r
-  This function is a wrapper for the EsalMcaRegisterCpuFunctionId service of Extended SAL\r
-  MCA Services Class. See EsalMcaRegisterCpuFunctionId of Extended SAL Specification.\r
-\r
-  @param  CpuGlobalId              The Global ID for the CPU whose MCA state buffer is being set.\r
-  @param  StateBufferPointer       A pointer to the MCA state buffer.\r
-\r
-  @retval EFI_SAL_NO_INFORMATION   Cannot get the processor info with the CpuId\r
-  @retval EFI_SUCCESS              Save the processor's state info successfully\r
-\r
-**/\r
-SAL_RETURN_REGS\r
-EFIAPI\r
-EsalMcaRegisterCpu (\r
-  IN UINT64                CpuGlobalId,\r
-  IN EFI_PHYSICAL_ADDRESS  StateBufferPointer\r
-  );\r
-\r
-#endif\r