MdePkg/Include/Library/ExtendedSalLib.h File Reference


Functions

EFI_STATUS EFIAPI RegisterEsalClass (IN CONST UINT64 ClassGuidLo, IN CONST UINT64 ClassGuidHi, IN VOID *ModuleGlobal,...)
SAL_RETURN_REGS EFIAPI EsalCall (IN UINT64 ClassGuidLo, IN UINT64 ClassGuidHi, IN UINT64 FunctionId, IN UINT64 Arg2, IN UINT64 Arg3, IN UINT64 Arg4, IN UINT64 Arg5, IN UINT64 Arg6, IN UINT64 Arg7, IN UINT64 Arg8)
SAL_RETURN_REGS EFIAPI EsalStall (IN UINTN Microseconds)
SAL_RETURN_REGS EFIAPI EsalSetNewPalEntry (IN BOOLEAN PhysicalAddress, IN UINT64 PalEntryPoint)
SAL_RETURN_REGS EFIAPI EsalGetNewPalEntry (IN BOOLEAN PhysicalAddress)
SAL_RETURN_REGS EFIAPI EsalGetStateBuffer (IN UINT64 McaType, OUT UINT8 **McaBuffer, OUT UINTN *BufferSize)
SAL_RETURN_REGS EFIAPI EsalSaveStateBuffer (IN UINT64 McaType)
SAL_RETURN_REGS EFIAPI EsalGetVectors (IN UINT64 VectorType)
SAL_RETURN_REGS EFIAPI EsalMcGetParams (IN UINT64 ParamInfoType)
SAL_RETURN_REGS EFIAPI EsalMcGetMcParams (VOID)
SAL_RETURN_REGS EFIAPI EsalGetMcCheckinFlags (IN UINT64 CpuIndex)
SAL_RETURN_REGS EFIAPI EsalAddCpuData (IN UINT64 CpuGlobalId, IN BOOLEAN Enabled, IN UINT64 PalCompatibility)
SAL_RETURN_REGS EFIAPI EsalRemoveCpuData (IN UINT64 CpuGlobalId)
SAL_RETURN_REGS EFIAPI EsalModifyCpuData (IN UINT64 CpuGlobalId, IN BOOLEAN Enabled, IN UINT64 PalCompatibility)
SAL_RETURN_REGS EFIAPI EsalGetCpuDataById (IN UINT64 CpuGlobalId, IN BOOLEAN IndexByEnabledCpu)
SAL_RETURN_REGS EFIAPI EsalGetCpuDataByIndex (IN UINT64 Index, IN BOOLEAN IndexByEnabledCpu)
SAL_RETURN_REGS EFIAPI EsalWhoAmI (IN BOOLEAN IndexByEnabledCpu)
SAL_RETURN_REGS EFIAPI EsalNumProcessors (VOID)
SAL_RETURN_REGS EFIAPI EsalSetMinState (IN UINT64 CpuGlobalId, IN EFI_PHYSICAL_ADDRESS MinStatePointer)
SAL_RETURN_REGS EFIAPI EsalGetMinState (IN UINT64 CpuGlobalId)
SAL_RETURN_REGS EFIAPI EsalMcaGetStateInfo (IN UINT64 CpuGlobalId, OUT EFI_PHYSICAL_ADDRESS *StateBufferPointer, OUT UINT64 *RequiredStateBufferSize)
SAL_RETURN_REGS EFIAPI EsalMcaRegisterCpu (IN UINT64 CpuGlobalId, IN EFI_PHYSICAL_ADDRESS StateBufferPointer)

Detailed Description

Library class definition of Extended SAL Library.

Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php.

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.


Function Documentation

SAL_RETURN_REGS EFIAPI EsalAddCpuData ( IN UINT64  CpuGlobalId,
IN BOOLEAN  Enabled,
IN UINT64  PalCompatibility 
)

Wrapper for the EsalAddCpuDataFunctionId service of Extended SAL MP Services Class.

This function is a wrapper for the EsalAddCpuDataFunctionId service of Extended SAL MP Services Class. See EsalAddCpuDataFunctionId of Extended SAL Specification.

Parameters:
CpuGlobalId The Global ID for the CPU being added.
Enabled The enable flag for the CPU being added. TRUE means the CPU is enabled. FALSE means the CPU is disabled.
PalCompatibility The PAL Compatibility value for the CPU being added.
Return values:
EFI_SAL_SUCCESS The CPU was added to the database.
EFI_SAL_NOT_ENOUGH_SCRATCH There are not enough resource available to add the CPU.
Wrapper for the EsalAddCpuDataFunctionId service of Extended SAL MP Services Class.

This function is a wrapper for the EsalAddCpuDataFunctionId service of Extended SAL MP Services Class. See EsalAddCpuDataFunctionId of Extended SAL Specification.

Parameters:
CpuGlobalId The Global ID for the CPU being added.
Enabled The enable flag for the CPU being added. TRUE means the CPU is enabled. FALSE means the CPU is disabled.
PalCompatibility The PAL Compatibility value for the CPU being added.
Return values:
EFI_SAL_SUCCESS The CPU was added to the database.
EFI_SAL_NOT_ENOUGH_SCRATCH There are not enough resource available to add the CPU.

References AddCpuDataFunctionId, EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID_HI, EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID_LO, and EsalCall().

SAL_RETURN_REGS EFIAPI EsalCall ( IN UINT64  ClassGuidLo,
IN UINT64  ClassGuidHi,
IN UINT64  FunctionId,
IN UINT64  Arg2,
IN UINT64  Arg3,
IN UINT64  Arg4,
IN UINT64  Arg5,
IN UINT64  Arg6,
IN UINT64  Arg7,
IN UINT64  Arg8 
)

Calls an Extended SAL Class service that was previously registered with RegisterEsalClass().

This function calls an Extended SAL Class service that was previously registered with RegisterEsalClass().

Parameters:
ClassGuidLo GUID of function, lower 64-bits
ClassGuidHi GUID of function, upper 64-bits
FunctionId Function in ClassGuid to call
Arg2 Argument 2 ClassGuid/FunctionId defined
Arg3 Argument 3 ClassGuid/FunctionId defined
Arg4 Argument 4 ClassGuid/FunctionId defined
Arg5 Argument 5 ClassGuid/FunctionId defined
Arg6 Argument 6 ClassGuid/FunctionId defined
Arg7 Argument 7 ClassGuid/FunctionId defined
Arg8 Argument 8 ClassGuid/FunctionId defined
Return values:
EFI_SAL_ERROR The address of ExtendedSalProc() can not be determined for the current CPU execution mode.
Other See the return status from ExtendedSalProc() in the EXTENDED_SAL_BOOT_SERVICE_PROTOCOL.
Calls an Extended SAL Class service that was previously registered with RegisterEsalClass().

This function gets the entrypoint of Extended SAL, and calls an Extended SAL Class service that was previously registered with RegisterEsalClass() through this entrypoint.

Parameters:
ClassGuidLo GUID of function, lower 64-bits
ClassGuidHi GUID of function, upper 64-bits
FunctionId Function in ClassGuid to call
Arg2 Argument 2 ClassGuid/FunctionId defined
Arg3 Argument 3 ClassGuid/FunctionId defined
Arg4 Argument 4 ClassGuid/FunctionId defined
Arg5 Argument 5 ClassGuid/FunctionId defined
Arg6 Argument 6 ClassGuid/FunctionId defined
Arg7 Argument 7 ClassGuid/FunctionId defined
Arg8 Argument 8 ClassGuid/FunctionId defined
Return values:
EFI_SAL_SUCCESS ESAL procedure successfully called.
EFI_SAL_ERROR The address of ExtendedSalProc() can not be correctly initialized.
Other Status returned from ExtendedSalProc() service of EXTENDED_SAL_BOOT_SERVICE_PROTOCOL.

References BIT36, EFI_SAL_ERROR, GetEsalEntryPoint(), SAL_RETURN_REGS::r10, SAL_RETURN_REGS::r11, SAL_RETURN_REGS::r9, and SAL_RETURN_REGS::Status.

Referenced by DxePciLibEsalReadWorker(), DxePciLibEsalWriteWorker(), DxePciSegmentLibEsalReadWorker(), DxePciSegmentLibEsalWriteWorker(), EsalAddCpuData(), EsalGetCpuDataById(), EsalGetCpuDataByIndex(), EsalGetMcCheckinFlags(), EsalGetMinState(), EsalGetNewPalEntry(), EsalGetStateBuffer(), EsalGetVectors(), EsalMcaGetStateInfo(), EsalMcaRegisterCpu(), EsalMcGetMcParams(), EsalMcGetParams(), EsalModifyCpuData(), EsalNumProcessors(), EsalRemoveCpuData(), EsalSaveStateBuffer(), EsalSetMinState(), EsalSetNewPalEntry(), EsalStall(), EsalWhoAmI(), IoReadWorker(), IoWriteWorker(), MicroSecondDelay(), MmioReadWorker(), MmioWriteWorker(), NanoSecondDelay(), PalCall(), and SalCall().

SAL_RETURN_REGS EFIAPI EsalGetCpuDataById ( IN UINT64  CpuGlobalId,
IN BOOLEAN  IndexByEnabledCpu 
)

Wrapper for the EsalGetCpuDataByIdFunctionId service of Extended SAL MP Services Class.

This function is a wrapper for the EsalGetCpuDataByIdFunctionId service of Extended SAL MP Services Class. See EsalGetCpuDataByIdFunctionId of Extended SAL Specification.

Parameters:
CpuGlobalId The Global ID for the CPU being looked up.
IndexByEnabledCpu If TRUE, then the index of set of enabled CPUs of database is returned. If FALSE, then the index of set of all CPUs of database is returned.
Return values:
EFI_SAL_SUCCESS The information on the specified CPU was returned.
EFI_SAL_NO_INFORMATION The specified CPU is not in the database.
Wrapper for the EsalGetCpuDataByIdFunctionId service of Extended SAL MP Services Class.

This function is a wrapper for the EsalGetCpuDataByIdFunctionId service of Extended SAL MP Services Class. See EsalGetCpuDataByIdFunctionId of Extended SAL Specification.

Parameters:
CpuGlobalId The Global ID for the CPU being looked up.
IndexByEnabledCpu If TRUE, then the index of set of enabled CPUs of database is returned. If FALSE, then the index of set of all CPUs of database is returned.
Return values:
EFI_SAL_SUCCESS The information on the specified CPU was returned.
EFI_SAL_NO_INFORMATION The specified CPU is not in the database.

References EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID_HI, EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID_LO, EsalCall(), and GetCpuDataByIDFunctionId.

SAL_RETURN_REGS EFIAPI EsalGetCpuDataByIndex ( IN UINT64  Index,
IN BOOLEAN  IndexByEnabledCpu 
)

Wrapper for the EsalGetCpuDataByIndexFunctionId service of Extended SAL MP Services Class.

This function is a wrapper for the EsalGetCpuDataByIndexFunctionId service of Extended SAL MP Services Class. See EsalGetCpuDataByIndexFunctionId of Extended SAL Specification.

Parameters:
Index The Global ID for the CPU being modified.
IndexByEnabledCpu If TRUE, then the index of set of enabled CPUs of database is returned. If FALSE, then the index of set of all CPUs of database is returned.
Return values:
EFI_SAL_SUCCESS The information on the specified CPU was returned.
EFI_SAL_NO_INFORMATION The specified CPU is not in the database.
Wrapper for the EsalGetCpuDataByIndexFunctionId service of Extended SAL MP Services Class.

This function is a wrapper for the EsalGetCpuDataByIndexFunctionId service of Extended SAL MP Services Class. See EsalGetCpuDataByIndexFunctionId of Extended SAL Specification.

Parameters:
Index The Global ID for the CPU being modified.
IndexByEnabledCpu If TRUE, then the index of set of enabled CPUs of database is returned. If FALSE, then the index of set of all CPUs of database is returned.
Return values:
EFI_SAL_SUCCESS The information on the specified CPU was returned.
EFI_SAL_NO_INFORMATION The specified CPU is not in the database.

References EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID_HI, EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID_LO, EsalCall(), and GetCpuDataByIndexFunctionId.

SAL_RETURN_REGS EFIAPI EsalGetMcCheckinFlags ( IN UINT64  CpuIndex  ) 

Wrapper for the EsalGetMcCheckinFlagsFunctionId service of Extended SAL Base Services Class.

This function is a wrapper for the EsalGetMcCheckinFlagsFunctionId service of Extended SAL Base Services Class. See EsalGetMcCheckinFlagsFunctionId of Extended SAL Specification.

Parameters:
CpuIndex The index of the CPU of set of enabled CPUs to check.
Return values:
EFI_SAL_SUCCESS The checkin status of the requested CPU was returned.

References EFI_EXTENDED_SAL_BASE_SERVICES_PROTOCOL_GUID_HI, EFI_EXTENDED_SAL_BASE_SERVICES_PROTOCOL_GUID_LO, EsalCall(), and EsalGetMcCheckinFlagsFunctionId.

SAL_RETURN_REGS EFIAPI EsalGetMinState ( IN UINT64  CpuGlobalId  ) 

Wrapper for the EsalGetMinStateFunctionId service of Extended SAL MP Services Class.

This function is a wrapper for the EsalGetMinStateFunctionId service of Extended SAL MP Services Class. See EsalGetMinStateFunctionId of Extended SAL Specification.

Parameters:
CpuGlobalId The Global ID for the CPU whose MINSTATE pointer is being retrieved.
Return values:
EFI_SAL_SUCCESS The MINSTATE pointer for the specified CPU was retrieved.
EFI_SAL_NO_INFORMATION The specified CPU is not in the database.
Wrapper for the EsalGetMinStateFunctionId service of Extended SAL MP Services Class.

This function is a wrapper for the EsalGetMinStateFunctionId service of Extended SAL MP Services Class. See EsalGetMinStateFunctionId of Extended SAL Specification.

Parameters:
CpuGlobalId The Global ID for the CPU whose MINSTATE pointer is being retrieved.
Return values:
EFI_SAL_SUCCESS The MINSTATE pointer for the specified CPU was retrieved.
EFI_SAL_NO_INFORMATION The specified CPU is not in the database.

References EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID_HI, EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID_LO, EsalCall(), and GetMinStateFunctionId.

SAL_RETURN_REGS EFIAPI EsalGetNewPalEntry ( IN BOOLEAN  PhysicalAddress  ) 

Wrapper for the EsalGetNewPalEntryFunctionId service of Extended SAL PAL Services Services Class.

This function is a wrapper for the EsalGetNewPalEntryFunctionId service of Extended SAL PAL Services Services Class. See EsalGetNewPalEntryFunctionId of Extended SAL Specification.

Parameters:
PhysicalAddress If TRUE, then PalEntryPoint is a physical address. If FALSE, then PalEntryPoint is a virtual address.
Return values:
EFI_SAL_SUCCESS The PAL Entry Point was retrieved and returned in SAL_RETURN_REGS.r9.
EFI_SAL_VIRTUAL_ADDRESS_ERROR This function was called in virtual mode before virtual mappings for the specified Extended SAL Procedure are available.
Returns:
r9 PAL entry point retrieved.
Wrapper for the EsalGetNewPalEntryFunctionId service of Extended SAL PAL Services Services Class.

This function is a wrapper for the EsalGetNewPalEntryFunctionId service of Extended SAL PAL Services Services Class. See EsalGetNewPalEntryFunctionId of Extended SAL Specification.

Parameters:
PhysicalAddress If TRUE, then PalEntryPoint is a physical address. If FALSE, then PalEntryPoint is a virtual address.
Return values:
EFI_SAL_SUCCESS The PAL Entry Point was retrieved and returned in SAL_RETURN_REGS.r9.
EFI_SAL_VIRTUAL_ADDRESS_ERROR This function was called in virtual mode before virtual mappings for the specified Extended SAL Procedure are available.
Returns:
r9 PAL entry point retrieved.

References EFI_EXTENDED_SAL_PAL_SERVICES_PROTOCOL_GUID_HI, EFI_EXTENDED_SAL_PAL_SERVICES_PROTOCOL_GUID_LO, EsalCall(), and GetNewPalEntryFunctionId.

SAL_RETURN_REGS EFIAPI EsalGetStateBuffer ( IN UINT64  McaType,
OUT UINT8 **  McaBuffer,
OUT UINTN *  BufferSize 
)

Wrapper for the EsalGetStateBufferFunctionId service of Extended SAL MCA Log Services Class.

This function is a wrapper for the EsalGetStateBufferFunctionId service of Extended SAL MCA Log Services Class. See EsalGetStateBufferFunctionId of Extended SAL Specification.

Parameters:
McaType See type parameter of SAL Procedure SAL_GET_STATE_INFO.
McaBuffer A pointer to the base address of the returned buffer. Copied from SAL_RETURN_REGS.r9.
BufferSize A pointer to the size, in bytes, of the returned buffer. Copied from SAL_RETURN_REGS.r10.
Return values:
EFI_SAL_SUCCESS The memory buffer to store error records was returned in r9 and r10.
EFI_OUT_OF_RESOURCES A memory buffer for string error records in not available
Returns:
r9 Base address of the returned buffer

r10 Size of the returned buffer in bytes

Wrapper for the EsalGetStateBufferFunctionId service of Extended SAL MCA Log Services Class.

This function is a wrapper for the EsalGetStateBufferFunctionId service of Extended SAL MCA Log Services Class. See EsalGetStateBufferFunctionId of Extended SAL Specification.

Parameters:
McaType See type parameter of SAL Procedure SAL_GET_STATE_INFO.
McaBuffer A pointer to the base address of the returned buffer. Copied from SAL_RETURN_REGS.r9.
BufferSize A pointer to the size, in bytes, of the returned buffer. Copied from SAL_RETURN_REGS.r10.
Return values:
EFI_SAL_SUCCESS The memory buffer to store error records was returned in r9 and r10.
EFI_OUT_OF_RESOURCES A memory buffer for string error records in not available
Returns:
r9 Base address of the returned buffer

r10 Size of the returned buffer in bytes

References EFI_EXTENDED_SAL_MCA_LOG_SERVICES_PROTOCOL_GUID_HI, EFI_EXTENDED_SAL_MCA_LOG_SERVICES_PROTOCOL_GUID_LO, EsalCall(), EsalGetStateBufferFunctionId, SAL_RETURN_REGS::r10, and SAL_RETURN_REGS::r9.

SAL_RETURN_REGS EFIAPI EsalGetVectors ( IN UINT64  VectorType  ) 

Wrapper for the EsalGetVectorsFunctionId service of Extended SAL Base Services Class.

This function is a wrapper for the EsalGetVectorsFunctionId service of Extended SAL Base Services Class. See EsalGetVectorsFunctionId of Extended SAL Specification.

Parameters:
VectorType The vector type to retrieve. 0 - MCA, 1 - BSP INIT, 2 - BOOT_RENDEZ, 3 - AP INIT.
Return values:
EFI_SAL_SUCCESS Call completed without error.
EFI_SAL_INVALID_ARGUMENT Invalid argument.
EFI_SAL_NO_INFORMATION The requested vector has not been registered with the SAL Procedure SAL_SET_VECTORS.
Wrapper for the EsalGetVectorsFunctionId service of Extended SAL Base Services Class.

This function is a wrapper for the EsalGetVectorsFunctionId service of Extended SAL Base Services Class. See EsalGetVectorsFunctionId of Extended SAL Specification.

Parameters:
VectorType The vector type to retrieve. 0 - MCA, 1 - BSP INIT, 2 - BOOT_RENDEZ, 3 - AP INIT.
Return values:
EFI_SAL_SUCCESS Call completed without error.
EFI_SAL_INVALID_ARGUMENT Invalid argument.
EFI_SAL_NO_INFORMATION The requested vector has not been registered with the SAL Procedure SAL_SET_VECTORS.

References EFI_EXTENDED_SAL_BASE_SERVICES_PROTOCOL_GUID_HI, EFI_EXTENDED_SAL_BASE_SERVICES_PROTOCOL_GUID_LO, EsalCall(), and EsalGetVectorsFunctionId.

SAL_RETURN_REGS EFIAPI EsalMcaGetStateInfo ( IN UINT64  CpuGlobalId,
OUT EFI_PHYSICAL_ADDRESS StateBufferPointer,
OUT UINT64 RequiredStateBufferSize 
)

Wrapper for the EsalMcsGetStateInfoFunctionId service of Extended SAL MCA Services Class.

This function is a wrapper for the EsalMcsGetStateInfoFunctionId service of Extended SAL MCA Services Class. See EsalMcsGetStateInfoFunctionId of Extended SAL Specification.

Parameters:
CpuGlobalId The Global ID for the CPU whose MCA state buffer is being retrieved.
StateBufferPointer A pointer to the returned MCA state buffer.
RequiredStateBufferSize A pointer to the size, in bytes, of the returned MCA state buffer.
Return values:
EFI_SUCCESS MINSTATE successfully got and size calculated.
EFI_SAL_NO_INFORMATION Fail to get MINSTATE.

References EFI_EXTENDED_SAL_MCA_SERVICES_PROTOCOL_GUID_HI, EFI_EXTENDED_SAL_MCA_SERVICES_PROTOCOL_GUID_LO, EsalCall(), McaGetStateInfoFunctionId, SAL_RETURN_REGS::r10, and SAL_RETURN_REGS::r9.

SAL_RETURN_REGS EFIAPI EsalMcaRegisterCpu ( IN UINT64  CpuGlobalId,
IN EFI_PHYSICAL_ADDRESS  StateBufferPointer 
)

Wrapper for the EsalMcaRegisterCpuFunctionId service of Extended SAL MCA Services Class.

This function is a wrapper for the EsalMcaRegisterCpuFunctionId service of Extended SAL MCA Services Class. See EsalMcaRegisterCpuFunctionId of Extended SAL Specification.

Parameters:
CpuGlobalId The Global ID for the CPU whose MCA state buffer is being set.
StateBufferPointer A pointer to the MCA state buffer.
Return values:
EFI_SAL_NO_INFORMATION Cannot get the processor info with the CpuId
EFI_SUCCESS Save the processor's state info successfully
Wrapper for the EsalMcaRegisterCpuFunctionId service of Extended SAL MCA Services Class.

This function is a wrapper for the EsalMcaRegisterCpuFunctionId service of Extended SAL MCA Services Class. See EsalMcaRegisterCpuFunctionId of Extended SAL Specification.

Parameters:
CpuGlobalId The Global ID for the CPU whose MCA state buffer is being set.
StateBufferPointer A pointer to the MCA state buffer.
Return values:
EFI_SAL_NO_INFORMATION Cannot get the processor info with the CpuId
EFI_SUCCESS Save the processor's state info successfully

References EFI_EXTENDED_SAL_MCA_SERVICES_PROTOCOL_GUID_HI, EFI_EXTENDED_SAL_MCA_SERVICES_PROTOCOL_GUID_LO, EsalCall(), and McaRegisterCpuFunctionId.

SAL_RETURN_REGS EFIAPI EsalMcGetMcParams ( VOID   ) 

Wrapper for the EsalMcGetParamsFunctionId service of Extended SAL Base Services Class.

This function is a wrapper for the EsalMcGetParamsFunctionId service of Extended SAL Base Services Class. See EsalMcGetParamsFunctionId of Extended SAL Specification.

Return values:
EFI_SAL_SUCCESS Call completed without error.
EFI_SAL_NO_INFORMATION The requested vector has not been registered with the SAL Procedure SAL_MC_SET_PARAMS.

References EFI_EXTENDED_SAL_BASE_SERVICES_PROTOCOL_GUID_HI, EFI_EXTENDED_SAL_BASE_SERVICES_PROTOCOL_GUID_LO, EsalCall(), and EsalMcGetMcParamsFunctionId.

SAL_RETURN_REGS EFIAPI EsalMcGetParams ( IN UINT64  ParamInfoType  ) 

Wrapper for the EsalMcGetParamsFunctionId service of Extended SAL Base Services Class.

This function is a wrapper for the EsalMcGetParamsFunctionId service of Extended SAL Base Services Class. See EsalMcGetParamsFunctionId of Extended SAL Specification.

Parameters:
ParamInfoType The parameter type to retrieve. 1 - rendezvous interrupt 2 - wake up 3 - Corrected Platform Error Vector.
Return values:
EFI_SAL_SUCCESS Call completed without error.
EFI_SAL_INVALID_ARGUMENT Invalid argument.
EFI_SAL_NO_INFORMATION The requested vector has not been registered with the SAL Procedure SAL_MC_SET_PARAMS.
Wrapper for the EsalMcGetParamsFunctionId service of Extended SAL Base Services Class.

This function is a wrapper for the EsalMcGetParamsFunctionId service of Extended SAL Base Services Class. See EsalMcGetParamsFunctionId of Extended SAL Specification.

Parameters:
ParamInfoType The parameter type to retrieve. 1 - rendezvous interrupt 2 - wake up 3 - Corrected Platform Error Vector.
Return values:
EFI_SAL_SUCCESS Call completed without error.
EFI_SAL_INVALID_ARGUMENT Invalid argument.
EFI_SAL_NO_INFORMATION The requested vector has not been registered with the SAL Procedure SAL_MC_SET_PARAMS.

References EFI_EXTENDED_SAL_BASE_SERVICES_PROTOCOL_GUID_HI, EFI_EXTENDED_SAL_BASE_SERVICES_PROTOCOL_GUID_LO, EsalCall(), and EsalMcGetParamsFunctionId.

SAL_RETURN_REGS EFIAPI EsalModifyCpuData ( IN UINT64  CpuGlobalId,
IN BOOLEAN  Enabled,
IN UINT64  PalCompatibility 
)

Wrapper for the EsalModifyCpuDataFunctionId service of Extended SAL MP Services Class.

This function is a wrapper for the EsalModifyCpuDataFunctionId service of Extended SAL MP Services Class. See EsalModifyCpuDataFunctionId of Extended SAL Specification.

Parameters:
CpuGlobalId The Global ID for the CPU being modified.
Enabled The enable flag for the CPU being modified. TRUE means the CPU is enabled. FALSE means the CPU is disabled.
PalCompatibility The PAL Compatibility value for the CPU being modified.
Return values:
EFI_SAL_SUCCESS The CPU database was updated.
EFI_SAL_NO_INFORMATION The specified CPU is not in the database.
Wrapper for the EsalModifyCpuDataFunctionId service of Extended SAL MP Services Class.

This function is a wrapper for the EsalModifyCpuDataFunctionId service of Extended SAL MP Services Class. See EsalModifyCpuDataFunctionId of Extended SAL Specification.

Parameters:
CpuGlobalId The Global ID for the CPU being modified.
Enabled The enable flag for the CPU being modified. TRUE means the CPU is enabled. FALSE means the CPU is disabled.
PalCompatibility The PAL Compatibility value for the CPU being modified.
Return values:
EFI_SAL_SUCCESS The CPU database was updated.
EFI_SAL_NO_INFORMATION The specified CPU is not in the database.

References EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID_HI, EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID_LO, EsalCall(), and ModifyCpuDataFunctionId.

SAL_RETURN_REGS EFIAPI EsalNumProcessors ( VOID   ) 

Wrapper for the EsalNumProcessors service of Extended SAL MP Services Class.

This function is a wrapper for the EsalNumProcessors service of Extended SAL MP Services Class. See EsalNumProcessors of Extended SAL Specification.

Return values:
EFI_SAL_SUCCESS The information on the number of CPUs in the platform was returned.

References EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID_HI, EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID_LO, EsalCall(), and NumProcessorsFunctionId.

SAL_RETURN_REGS EFIAPI EsalRemoveCpuData ( IN UINT64  CpuGlobalId  ) 

Wrapper for the EsalRemoveCpuDataFunctionId service of Extended SAL MP Services Class.

This function is a wrapper for the EsalRemoveCpuDataFunctionId service of Extended SAL MP Services Class. See EsalRemoveCpuDataFunctionId of Extended SAL Specification.

Parameters:
CpuGlobalId The Global ID for the CPU being removed.
Return values:
EFI_SAL_SUCCESS The CPU was removed from the database.
EFI_SAL_NO_INFORMATION The specified CPU is not in the database.
Wrapper for the EsalRemoveCpuDataFunctionId service of Extended SAL MP Services Class.

This function is a wrapper for the EsalRemoveCpuDataFunctionId service of Extended SAL MP Services Class. See EsalRemoveCpuDataFunctionId of Extended SAL Specification.

Parameters:
CpuGlobalId The Global ID for the CPU being removed.
Return values:
EFI_SAL_SUCCESS The CPU was removed from the database.
EFI_SAL_NO_INFORMATION The specified CPU is not in the database.

References EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID_HI, EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID_LO, EsalCall(), and RemoveCpuDataFunctionId.

SAL_RETURN_REGS EFIAPI EsalSaveStateBuffer ( IN UINT64  McaType  ) 

Wrapper for the EsalSaveStateBufferFunctionId service of Extended SAL MCA Log Services Class.

This function is a wrapper for the EsalSaveStateBufferFunctionId service of Extended SAL MCA Log Services Class. See EsalSaveStateBufferFunctionId of Extended SAL Specification.

Parameters:
McaType See type parameter of SAL Procedure SAL_GET_STATE_INFO.
Return values:
EFI_SUCCESS The memory buffer containing the error record was written to nonvolatile storage.
Wrapper for the EsalSaveStateBufferFunctionId service of Extended SAL MCA Log Services Class.

This function is a wrapper for the EsalSaveStateBufferFunctionId service of Extended SAL MCA Log Services Class. See EsalSaveStateBufferFunctionId of Extended SAL Specification.

Parameters:
McaType See type parameter of SAL Procedure SAL_GET_STATE_INFO.
Return values:
EFI_SUCCESS The memory buffer containing the error record was written to nonvolatile storage.

References EFI_EXTENDED_SAL_MCA_LOG_SERVICES_PROTOCOL_GUID_HI, EFI_EXTENDED_SAL_MCA_LOG_SERVICES_PROTOCOL_GUID_LO, EsalCall(), and EsalSaveStateBufferFunctionId.

SAL_RETURN_REGS EFIAPI EsalSetMinState ( IN UINT64  CpuGlobalId,
IN EFI_PHYSICAL_ADDRESS  MinStatePointer 
)

Wrapper for the EsalSetMinStateFnctionId service of Extended SAL MP Services Class.

This function is a wrapper for the EsalSetMinStateFnctionId service of Extended SAL MP Services Class. See EsalSetMinStateFnctionId of Extended SAL Specification.

Parameters:
CpuGlobalId The Global ID for the CPU whose MINSTATE pointer is being set.
MinStatePointer The physical address of the MINSTATE buffer for the CPU specified by CpuGlobalId.
Return values:
EFI_SAL_SUCCESS The MINSTATE pointer was set for the specified CPU.
EFI_SAL_NO_INFORMATION The specified CPU is not in the database.
Wrapper for the EsalSetMinStateFnctionId service of Extended SAL MP Services Class.

This function is a wrapper for the EsalSetMinStateFnctionId service of Extended SAL MP Services Class. See EsalSetMinStateFnctionId of Extended SAL Specification.

Parameters:
CpuGlobalId The Global ID for the CPU whose MINSTATE pointer is being set.
MinStatePointer The physical address of the MINSTATE buffer for the CPU specified by CpuGlobalId.
Return values:
EFI_SAL_SUCCESS The MINSTATE pointer was set for the specified CPU.
EFI_SAL_NO_INFORMATION The specified CPU is not in the database.

References EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID_HI, EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID_LO, EsalCall(), and SetMinStateFunctionId.

SAL_RETURN_REGS EFIAPI EsalSetNewPalEntry ( IN BOOLEAN  PhysicalAddress,
IN UINT64  PalEntryPoint 
)

Wrapper for the EsalSetNewPalEntryFunctionId service of Extended SAL PAL Services Services Class.

This function is a wrapper for the EsalSetNewPalEntryFunctionId service of Extended SAL PAL Services Services Class. See EsalSetNewPalEntryFunctionId of Extended SAL Specification.

Parameters:
PhysicalAddress If TRUE, then PalEntryPoint is a physical address. If FALSE, then PalEntryPoint is a virtual address.
PalEntryPoint The PAL Entry Point being set.
Return values:
EFI_SAL_SUCCESS The PAL Entry Point was set.
EFI_SAL_VIRTUAL_ADDRESS_ERROR This function was called in virtual mode before virtual mappings for the specified Extended SAL Procedure are available.
Wrapper for the EsalSetNewPalEntryFunctionId service of Extended SAL PAL Services Services Class.

This function is a wrapper for the EsalSetNewPalEntryFunctionId service of Extended SAL PAL Services Services Class. See EsalSetNewPalEntryFunctionId of Extended SAL Specification.

Parameters:
PhysicalAddress If TRUE, then PalEntryPoint is a physical address. If FALSE, then PalEntryPoint is a virtual address.
PalEntryPoint The PAL Entry Point being set.
Return values:
EFI_SAL_SUCCESS The PAL Entry Point was set.
EFI_SAL_VIRTUAL_ADDRESS_ERROR This function was called in virtual mode before virtual mappings for the specified Extended SAL Procedure are available.

References EFI_EXTENDED_SAL_PAL_SERVICES_PROTOCOL_GUID_HI, EFI_EXTENDED_SAL_PAL_SERVICES_PROTOCOL_GUID_LO, EsalCall(), and SetNewPalEntryFunctionId.

SAL_RETURN_REGS EFIAPI EsalStall ( IN UINTN  Microseconds  ) 

Wrapper for the EsalStallFunctionId service of Extended SAL Stall Services Class.

This function is a wrapper for the EsalStallFunctionId service of Extended SAL Stall Services Class. See EsalStallFunctionId of Extended SAL Specification.

Parameters:
Microseconds The number of microseconds to delay.
Return values:
EFI_SAL_SUCCESS Call completed without error.
EFI_SAL_INVALID_ARGUMENT Invalid argument.
EFI_SAL_VIRTUAL_ADDRESS_ERROR Virtual address not registered
Wrapper for the EsalStallFunctionId service of Extended SAL Stall Services Class.

This function is a wrapper for the EsalStallFunctionId service of Extended SAL Stall Services Class. See EsalStallFunctionId of Extended SAL Specification.

Parameters:
Microseconds The number of microseconds to delay.
Return values:
EFI_SAL_SUCCESS Call completed without error.
EFI_SAL_INVALID_ARGUMENT Invalid argument.
EFI_SAL_VIRTUAL_ADDRESS_ERROR Virtual address not registered

References EFI_EXTENDED_SAL_STALL_SERVICES_PROTOCOL_GUID_HI, EFI_EXTENDED_SAL_STALL_SERVICES_PROTOCOL_GUID_LO, EsalCall(), and StallFunctionId.

SAL_RETURN_REGS EFIAPI EsalWhoAmI ( IN BOOLEAN  IndexByEnabledCpu  ) 

Wrapper for the EsalWhoAmIFunctionId service of Extended SAL MP Services Class.

This function is a wrapper for the EsalWhoAmIFunctionId service of Extended SAL MP Services Class. See EsalWhoAmIFunctionId of Extended SAL Specification.

Parameters:
IndexByEnabledCpu If TRUE, then the index of set of enabled CPUs of database is returned. If FALSE, then the index of set of all CPUs of database is returned.
Return values:
EFI_SAL_SUCCESS The Global ID for the calling CPU was returned.
EFI_SAL_NO_INFORMATION The calling CPU is not in the database.
Wrapper for the EsalWhoAmIFunctionId service of Extended SAL MP Services Class.

This function is a wrapper for the EsalWhoAmIFunctionId service of Extended SAL MP Services Class. See EsalWhoAmIFunctionId of Extended SAL Specification.

Parameters:
IndexByEnabledCpu If TRUE, then the index of set of enabled CPUs of database is returned. If FALSE, then the index of set of all CPUs of database is returned.
Return values:
EFI_SAL_SUCCESS The Global ID for the calling CPU was returned.
EFI_SAL_NO_INFORMATION The calling CPU is not in the database.

References CurrentProcInfoFunctionId, EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID_HI, EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID_LO, and EsalCall().

EFI_STATUS EFIAPI RegisterEsalClass ( IN CONST UINT64  ClassGuidLo,
IN CONST UINT64  ClassGuidHi,
IN VOID *  ModuleGlobal,
  ... 
)

Register ESAL Class and its associated global.

This function Registers one or more Extended SAL services in a given class along with the associated global context. This function is only available prior to ExitBootServices().

Parameters:
ClassGuidLo GUID of function class, lower 64-bits
ClassGuidHi GUID of function class, upper 64-bits
ModuleGlobal Module global for Function.
... List of Function/FunctionId pairs, ended by NULL
Return values:
EFI_SUCCESS The Extended SAL services were registered.
EFI_UNSUPPORTED This function was called after ExitBootServices().
EFI_OUT_OF_RESOURCES There are not enough resources available to register one or more of the specified services.
Other ClassGuid could not be installed onto a new handle.
Registers ESAL Class and it's associated global.

This function registers one or more Extended SAL services in a given class along with the associated global context. This function is only available prior to ExitBootServices().

Parameters:
ClassGuidLo GUID of function class, lower 64-bits
ClassGuidHi GUID of function class, upper 64-bits
ModuleGlobal Module global for the class.
... List of Function/FunctionId pairs, ended by NULL
Return values:
EFI_SUCCESS The Extended SAL services were registered.
EFI_UNSUPPORTED This function was called after ExitBootServices().
EFI_OUT_OF_RESOURCES There are not enough resources available to register one or more of the specified services.
Other ClassGuid could not be installed onto a new handle.

References EFI_ERROR, EFI_NATIVE_INTERFACE, EFI_SUCCESS, gBS, EFI_BOOT_SERVICES::InstallProtocolInterface, NULL, RegisterEsalFunction(), VA_ARG, VA_END, and VA_START.


Generated on Thu Sep 24 23:14:16 2015 for MdePkg[ALL] by  doxygen 1.5.7.1