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.
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.
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. |
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. |
This function is a wrapper for the EsalAddCpuDataFunctionId service of Extended SAL MP Services Class. See EsalAddCpuDataFunctionId of Extended SAL Specification.
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. |
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().
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 |
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. |
This function gets the entrypoint of Extended SAL, and calls an Extended SAL Class service that was previously registered with RegisterEsalClass() through this entrypoint.
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 |
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.
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. |
EFI_SAL_SUCCESS | The information on the specified CPU was returned. | |
EFI_SAL_NO_INFORMATION | The specified CPU is not in the database. |
This function is a wrapper for the EsalGetCpuDataByIdFunctionId service of Extended SAL MP Services Class. See EsalGetCpuDataByIdFunctionId of Extended SAL Specification.
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. |
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.
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. |
EFI_SAL_SUCCESS | The information on the specified CPU was returned. | |
EFI_SAL_NO_INFORMATION | The specified CPU is not in the database. |
This function is a wrapper for the EsalGetCpuDataByIndexFunctionId service of Extended SAL MP Services Class. See EsalGetCpuDataByIndexFunctionId of Extended SAL Specification.
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. |
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.
CpuIndex | The index of the CPU of set of enabled CPUs to check. |
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.
CpuGlobalId | The Global ID for the CPU whose MINSTATE pointer is being retrieved. |
EFI_SAL_SUCCESS | The MINSTATE pointer for the specified CPU was retrieved. | |
EFI_SAL_NO_INFORMATION | The specified CPU is not in the database. |
This function is a wrapper for the EsalGetMinStateFunctionId service of Extended SAL MP Services Class. See EsalGetMinStateFunctionId of Extended SAL Specification.
CpuGlobalId | The Global ID for the CPU whose MINSTATE pointer is being retrieved. |
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.
PhysicalAddress | If TRUE, then PalEntryPoint is a physical address. If FALSE, then PalEntryPoint is a virtual address. |
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. |
This function is a wrapper for the EsalGetNewPalEntryFunctionId service of Extended SAL PAL Services Services Class. See EsalGetNewPalEntryFunctionId of Extended SAL Specification.
PhysicalAddress | If TRUE, then PalEntryPoint is a physical address. If FALSE, then PalEntryPoint is a virtual address. |
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. |
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.
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. |
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 |
r10 Size of the returned buffer in bytes
This function is a wrapper for the EsalGetStateBufferFunctionId service of Extended SAL MCA Log Services Class. See EsalGetStateBufferFunctionId of Extended SAL Specification.
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. |
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 |
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.
VectorType | The vector type to retrieve. 0 - MCA, 1 - BSP INIT, 2 - BOOT_RENDEZ, 3 - AP INIT. |
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. |
This function is a wrapper for the EsalGetVectorsFunctionId service of Extended SAL Base Services Class. See EsalGetVectorsFunctionId of Extended SAL Specification.
VectorType | The vector type to retrieve. 0 - MCA, 1 - BSP INIT, 2 - BOOT_RENDEZ, 3 - AP INIT. |
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.
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. |
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.
CpuGlobalId | The Global ID for the CPU whose MCA state buffer is being set. | |
StateBufferPointer | A pointer to the MCA state buffer. |
EFI_SAL_NO_INFORMATION | Cannot get the processor info with the CpuId | |
EFI_SUCCESS | Save the processor's state info successfully |
This function is a wrapper for the EsalMcaRegisterCpuFunctionId service of Extended SAL MCA Services Class. See EsalMcaRegisterCpuFunctionId of Extended SAL Specification.
CpuGlobalId | The Global ID for the CPU whose MCA state buffer is being set. | |
StateBufferPointer | A pointer to the MCA state buffer. |
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.
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.
ParamInfoType | The parameter type to retrieve. 1 - rendezvous interrupt 2 - wake up 3 - Corrected Platform Error Vector. |
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. |
This function is a wrapper for the EsalMcGetParamsFunctionId service of Extended SAL Base Services Class. See EsalMcGetParamsFunctionId of Extended SAL Specification.
ParamInfoType | The parameter type to retrieve. 1 - rendezvous interrupt 2 - wake up 3 - Corrected Platform Error Vector. |
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.
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. |
EFI_SAL_SUCCESS | The CPU database was updated. | |
EFI_SAL_NO_INFORMATION | The specified CPU is not in the database. |
This function is a wrapper for the EsalModifyCpuDataFunctionId service of Extended SAL MP Services Class. See EsalModifyCpuDataFunctionId of Extended SAL Specification.
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. |
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.
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.
CpuGlobalId | The Global ID for the CPU being removed. |
EFI_SAL_SUCCESS | The CPU was removed from the database. | |
EFI_SAL_NO_INFORMATION | The specified CPU is not in the database. |
This function is a wrapper for the EsalRemoveCpuDataFunctionId service of Extended SAL MP Services Class. See EsalRemoveCpuDataFunctionId of Extended SAL Specification.
CpuGlobalId | The Global ID for the CPU being removed. |
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.
McaType | See type parameter of SAL Procedure SAL_GET_STATE_INFO. |
EFI_SUCCESS | The memory buffer containing the error record was written to nonvolatile storage. |
This function is a wrapper for the EsalSaveStateBufferFunctionId service of Extended SAL MCA Log Services Class. See EsalSaveStateBufferFunctionId of Extended SAL Specification.
McaType | See type parameter of SAL Procedure SAL_GET_STATE_INFO. |
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.
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. |
EFI_SAL_SUCCESS | The MINSTATE pointer was set for the specified CPU. | |
EFI_SAL_NO_INFORMATION | The specified CPU is not in the database. |
This function is a wrapper for the EsalSetMinStateFnctionId service of Extended SAL MP Services Class. See EsalSetMinStateFnctionId of Extended SAL Specification.
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. |
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.
PhysicalAddress | If TRUE, then PalEntryPoint is a physical address. If FALSE, then PalEntryPoint is a virtual address. | |
PalEntryPoint | The PAL Entry Point being set. |
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. |
This function is a wrapper for the EsalSetNewPalEntryFunctionId service of Extended SAL PAL Services Services Class. See EsalSetNewPalEntryFunctionId of Extended SAL Specification.
PhysicalAddress | If TRUE, then PalEntryPoint is a physical address. If FALSE, then PalEntryPoint is a virtual address. | |
PalEntryPoint | The PAL Entry Point being set. |
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.
Microseconds | The number of microseconds to delay. |
EFI_SAL_SUCCESS | Call completed without error. | |
EFI_SAL_INVALID_ARGUMENT | Invalid argument. | |
EFI_SAL_VIRTUAL_ADDRESS_ERROR | Virtual address not registered |
This function is a wrapper for the EsalStallFunctionId service of Extended SAL Stall Services Class. See EsalStallFunctionId of Extended SAL Specification.
Microseconds | The number of microseconds to delay. |
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.
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. |
EFI_SAL_SUCCESS | The Global ID for the calling CPU was returned. | |
EFI_SAL_NO_INFORMATION | The calling CPU is not in the database. |
This function is a wrapper for the EsalWhoAmIFunctionId service of Extended SAL MP Services Class. See EsalWhoAmIFunctionId of Extended SAL Specification.
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. |
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().
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 |
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. |
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().
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 |
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.