/EdkCompatibilityPkg/Foundation/Library/Dxe/Include/Ipf/SalDriverLib.h
https://bitbucket.org/incubaid/edk2 · C Header · 1454 lines · 398 code · 66 blank · 990 comment · 0 complexity · 9bf4b5368684cc71c0ec8701f232b852 MD5 · raw file
- /*++
-
- Copyright (c) 2004, Intel Corporation. All rights reserved.<BR>
- 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.
-
- Module Name:
-
- SalDriverLib.h
-
- Abstract:
-
- SAL Driver Lib
-
- Revision History
-
- --*/
-
- #ifndef _SAL_DRIVER_LIB_H_
- #define _SAL_DRIVER_LIB_H_
-
- #include "Tiano.h"
- #include "EfiDriverLib.h"
- #include "SalApi.h"
-
- #include EFI_PROTOCOL_DEFINITION (ExtendedSalBootService)
- #include EFI_PROTOCOL_DEFINITION (ExtendedSalGuid)
-
- //
- // Assembly Functions
- //
- SAL_RETURN_REGS
- LibGetEsalPhyData (
- VOID
- )
- /*++
-
- Routine Description:
-
- Get Esal global data in physical mode.
-
- Arguments:
-
- None
-
- Returns:
-
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- LibGetEsalVirtData (
- VOID
- )
- /*++
-
- Routine Description:
-
- Get Esal global data in virtual mode.
-
- Arguments:
-
- None
-
- Returns:
-
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- LibSetEsalPhyData (
- IN VOID *Ptr,
- IN UINT64 GP
- )
- /*++
-
- Routine Description:
-
- Set Esal global data in physical mode.
-
- Arguments:
-
- Ptr - Pointer to the data
- GP - Global pointer
-
- Returns:
-
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- LibSetEsalVirtData (
- IN VOID *Ptr,
- IN UINT64 GP
- )
- /*++
-
- Routine Description:
-
- Set Esal global data in virtual mode.
-
- Arguments:
-
- Ptr - Pointer to the data
- GP - Global pointer
-
- Returns:
-
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- LibGetGlobalPhyData (
- VOID
- )
- /*++
-
- Routine Description:
-
- Get Esal global data in physical mode.
-
- Arguments:
-
- None
-
- Returns:
-
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- LibGetGlobalVirtData (
- VOID
- )
- /*++
-
- Routine Description:
-
- Get Esal global data in virtual mode.
-
- Arguments:
-
- None
-
- Returns:
-
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- LibSetGlobalPhyData (
- IN VOID *Ptr,
- IN UINT64 GP
- )
- /*++
-
- Routine Description:
-
- Set Esal global data in physical mode.
-
- Arguments:
-
- Ptr - Pointer to the data
- GP - Global pointer
-
- Returns:
-
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- LibSetGlobalVirtData (
- IN VOID *Ptr,
- IN UINT64 GP
- )
- /*++
-
- Routine Description:
-
- Set Esal global data in virtual mode.
-
- Arguments:
-
- Ptr - Pointer to the data
- GP - Global pointer
-
- Returns:
-
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- GetIrrData (
- VOID
- )
- /*++
-
- Routine Description:
-
- Get interrupt request register.
-
- Arguments:
-
- None
-
- Returns:
-
- Output regs
-
- --*/
- ;
-
- VOID
- PrepareApsForHandOverToOS (
- VOID
- )
- /*++
-
- Routine Description:
-
- Prepare AP info for hand over to OS.
-
- Arguments:
-
- None
-
- Returns:
-
- None
-
- --*/
- ;
-
- VOID
- HandOverApsToOS (
- IN UINT64 a1,
- IN UINT64 a2,
- IN UINT64 a3
- )
- /*++
-
- Routine Description:
-
- Hand over AP info to OS.
-
- Arguments:
-
- a1 - Address to call into
-
- a2 - GP
-
- a3 - Undefined
-
- Returns:
-
- None
-
- --*/
- ;
-
- SAL_RETURN_REGS
- GetPsrData (
- VOID
- )
- /*++
-
- Routine Description:
-
- Get PSR register.
-
- Arguments:
-
- None
-
- Returns:
-
- Output regs.
-
- --*/
- ;
-
- SAL_RETURN_REGS
- GetProcIdData (
- VOID
- )
- /*++
-
- Routine Description:
-
- Get LID
-
- Arguments:
-
- None
-
- Returns:
-
- Output regs
-
- --*/
- ;
-
- VOID
- SwitchCpuStack (
- IN UINT64 NewBsp,
- IN UINT64 OldBsp
- )
- /*++
-
- Routine Description:
-
- Switch BSP
-
- Arguments:
-
- NewBsp - New BSP index
- OldBsp - Old BSP index
-
- Returns:
-
- None
-
- --*/
- ;
-
- //
- // SAL Reset Class
- //
- VOID
- SalResetSystem (
- IN EFI_RESET_TYPE ResetType,
- IN EFI_STATUS ResetStatus,
- IN UINTN DataSize,
- IN CHAR16 *ResetData
- )
- /*++
-
- Routine Description:
-
- Reset system
-
- Arguments:
-
- ResetType - Reset type
- ResetStatus - Reset status
- DataSize - Size of ResetData
- ResetData - Description string
-
- Returns:
-
- None
-
- --*/
- ;
-
- //
- // PAL PROC Class
- //
- SAL_RETURN_REGS
- SalPalProc (
- IN UINT64 Arg1,
- IN UINT64 Arg2,
- IN UINT64 Arg3,
- IN UINT64 Arg4
- )
- /*++
-
- Routine Description:
-
- Call pal proc.
-
- Arguments:
-
- Arg1 - Pal call index
- Arg2 - First arg
- Arg3 - Second arg
- Arg4 - Third arg
-
- Returns:
-
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- SalRegisterNewPalEntry (
- IN BOOLEAN PhysicalPalAddress,
- IN EFI_PHYSICAL_ADDRESS NewPalAddress
- )
- /*++
-
- Routine Description:
-
- Register Pal entry.
-
- Arguments:
-
- PhysicalPalAddress - The address is physical or virtual
- NewPalAddress - New Pal entry address
-
- Returns:
-
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- SalGetPalEntryPointer (
- IN BOOLEAN PhysicalPalAddress
- )
- /*++
-
- Routine Description:
-
- Get Pal entry.
-
- Arguments:
-
- PhysicalPalAddress - The address is physical or virtual
-
- Returns:
-
- Output regs
-
- --*/
- ;
-
- //
- // SAL MTC Class
- //
- EFI_STATUS
- SalGetNextHighMonotonicCount (
- OUT UINT32 *HighCount
- )
- /*++
-
- Routine Description:
-
- Get next high 32 bits of monotonic count.
-
- Arguments:
-
- HighCount - High 32 bits of monotonic count.
-
- Returns:
-
- Status code
-
- --*/
- ;
-
- //
- // SAL BASE Class
- //
- SAL_RETURN_REGS
- SalProcSetVectors (
- IN UINT64 SalVectorType,
- IN UINT64 PhyAddr1,
- IN UINT64 Gp1,
- IN UINT64 LengthCs1,
- IN UINT64 PhyAddr2,
- IN UINT64 Gp2,
- IN UINT64 LengthCs2
- )
- /*++
-
- Routine Description:
-
- Set vectors.
-
- Arguments:
-
- SalVectorType - Vector type
- PhyAddr1 - OS MCA entry point
- Gp1 - GP for OS MCA entry
- LengthCs1 - Length of OS MCA
- PhyAddr2 - OS INIT entry point
- Gp2 - GP for OS Init entry
- LengthCs2 - Length of OS INIT
-
- Returns:
-
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- SalProcMcRendez (
- VOID
- )
- /*++
-
- Routine Description:
-
- Mc rendezvous function.
-
- Arguments:
-
- None
-
- Returns:
-
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- SalProcMcSetParams (
- IN UINT64 ParamType,
- IN UINT64 IntOrMem,
- IN UINT64 IntOrMemVal,
- IN UINT64 Timeout,
- IN UINT64 McaOpt
- )
- /*++
-
- Routine Description:
-
- Set MCA parameters.
-
- Arguments:
-
- ParamType - Parameter type
- IntOrMem - Interrupt or memory address
- IntOrMemVal - Interrupt number or memory address value
- Timeout - Time out value
- McaOpt - Option for MCA
-
- Returns:
-
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- EsalProcGetVectors (
- IN UINT64 VectorType
- )
- /*++
-
- Routine Description:
-
- Get OS MCA vector.
-
- Arguments:
-
- VectorType - Vector type
-
- Returns:
-
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- EsalProcMcGetParams (
- IN UINT64 ParamInfoType
- )
- /*++
-
- Routine Description:
-
- Get MCA parameter.
-
- Arguments:
-
- ParamInfoType - Parameter info type
-
- Returns:
-
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- EsalProcMcGetMcParams (
- VOID
- )
- /*++
-
- Routine Description:
-
- Get MCA parameter.
-
- Arguments:
-
-
- Returns:
-
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- EsalProcGetMcCheckinFlags (
- IN UINT64 ProcessorUnit
- )
- /*++
-
- Routine Description:
-
- Get process status.
-
- Arguments:
-
- ProcessorUnit - Processor Index
-
- Returns:
-
- Output regs
-
- --*/
- ;
-
- //
- // Sal Base Class enums
- //
- typedef enum {
- McaVector,
- BspInitVector,
- BootRendezVector,
- ApInitVector
- } ESAL_GET_VECTOR_TYPE;
-
- //
- // Sal RTC Class
- //
- EFI_STATUS
- SalGetTime (
- OUT EFI_TIME *Time,
- OUT EFI_TIME_CAPABILITIES *Capabilities
- )
- /*++
-
- Routine Description:
-
- Returns the current time and date information, and the time-keeping
- capabilities of the hardware platform.
-
- Arguments:
-
- Time - A pointer to storage to receive a snapshot of the current time.
- Capabilities - An optional pointer to a buffer to receive the real time clock device's
- capabilities.
-
- Returns:
-
- Status code
-
- --*/
- ;
-
- EFI_STATUS
- SalSetTime (
- OUT EFI_TIME *Time
- )
- /*++
-
- Routine Description:
-
- Sets the current local time and date information.
-
- Arguments:
-
- Time - A pointer to the current time.
-
- Returns:
-
- Status code
-
- --*/
- ;
-
- EFI_STATUS
- SalGetWakeupTime (
- OUT BOOLEAN *Enabled,
- OUT BOOLEAN *Pending,
- OUT EFI_TIME *Time
- )
- /*++
-
- Routine Description:
-
- Returns the current wakeup alarm clock setting.
-
- Arguments:
-
- Enabled - Indicates if the alarm is currently enabled or disabled.
- Pending - Indicates if the alarm signal is pending and requires acknowledgement.
- Time - The current alarm setting.
-
- Returns:
-
- Status code
-
- --*/
- ;
-
- EFI_STATUS
- SalSetWakeupTime (
- IN BOOLEAN Enable,
- IN EFI_TIME *Time
- )
- /*++
-
- Routine Description:
-
- Sets the system wakeup alarm clock time.
-
- Arguments:
-
- Enable - Enable or disable the wakeup alarm.
- Time - If Enable is TRUE, the time to set the wakeup alarm for.
- If Enable is FALSE, then this parameter is optional, and may be NULL.
-
- Returns:
-
- Status code
-
- --*/
- ;
-
- SAL_RETURN_REGS
- SalInitializeThreshold (
- IN VOID *ThresholdStruct,
- IN UINT64 Count,
- IN UINT64 Duration
- )
- /*++
-
- Routine Description:
-
- Init threshold structure.
-
- Arguments:
-
- ThresholdStruct - Threshold structure
- Count - Threshold count
- Duration - Duration
-
- Returns:
-
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- SalBumpThresholdCount (
- IN VOID *ThresholdStruct,
- IN UINT64 Count,
- IN UINT64 Duration
- )
- /*++
-
- Routine Description:
-
- Bump threshold count.
-
- Arguments:
-
- ThresholdStruct - Threshold structure
- Count - Threshold count
- Duration - Duration
-
- Returns:
-
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- SalGetThresholdCount (
- IN VOID *ThresholdStruct,
- IN UINT64 Count,
- IN UINT64 Duration
- )
- /*++
-
- Routine Description:
-
- Get threshold structure.
-
- Arguments:
-
- ThresholdStruct - Threshold structure
- Count - Threshold count
- Duration - Duration
-
- Returns:
-
- Output regs
-
- --*/
- ;
-
- //
- // Common Lib Function
- //
- EFI_STATUS
- RegisterEsalFunction (
- IN UINT64 FunctionId,
- IN EFI_GUID *ClassGuid,
- IN SAL_INTERNAL_EXTENDED_SAL_PROC Function,
- IN VOID *ModuleGlobal
- )
- /*++
-
- Routine Description:
-
- Register ESAL Class Function and it's asociated global.
- This function is boot service only!
-
- Arguments:
- FunctionId - ID of function to register
- ClassGuid - GUID of function class
- Function - Function to register under ClassGuid/FunctionId pair
- ModuleGlobal - Module global for Function.
-
- Returns:
- EFI_SUCCESS - If ClassGuid/FunctionId Function was registered.
-
- --*/
- ;
-
- EFI_STATUS
- EfiInitializeSalDriverLib (
- IN BOOLEAN Runtime
- )
- /*++
-
- Routine Description:
-
- Initialize Sal driver lib.
-
- Arguments:
- Runtime - At runtime or not?
-
- Returns:
- Status code
-
- --*/
- ;
-
- //
- // MCA PMI INIT Registeration Functions.
- //
- EFI_STATUS
- LibRegisterMcaFunction (
- IN EFI_SAL_MCA_HANDLER McaHandler,
- IN VOID *ModuleGlobal,
- IN BOOLEAN MakeFirst,
- IN BOOLEAN MakeLast
- )
- /*++
-
- Routine Description:
-
- Register MCA handler.
-
- Arguments:
- McaHandler - MCA handler
- ModuleGlobal - Module global for function
- MakeFirst - Make it as first?
- MakeLast - Make it as last?
-
- Returns:
- Status code
-
- --*/
- ;
-
- EFI_STATUS
- LibRegisterPmiFunction (
- IN EFI_SAL_PMI_HANDLER PmiHandler,
- IN VOID *ModuleGlobal,
- IN BOOLEAN MakeFirst,
- IN BOOLEAN MakeLast
- )
- /*++
-
- Routine Description:
-
- Register PMI handler.
-
- Arguments:
- PmiHandler - PMI handler
- ModuleGlobal - Module global for function
- MakeFirst - Make it as first?
- MakeLast - Make it as last?
-
- Returns:
- Status code
-
- --*/
- ;
-
- EFI_STATUS
- LibRegisterInitFunction (
- IN EFI_SAL_INIT_HANDLER InitHandler,
- IN VOID *ModuleGlobal,
- IN BOOLEAN MakeFirst,
- IN BOOLEAN MakeLast
- )
- /*++
-
- Routine Description:
-
- Register INIT handler.
-
- Arguments:
- InitHandler - INIT handler
- ModuleGlobal - Module global for function
- MakeFirst - Make it as first?
- MakeLast - Make it as last?
-
- Returns:
- Status code
-
- --*/
- ;
-
- //
- // Base IO Class Functions
- //
- EFI_STATUS
- ESalIoRead (
- IN EFI_CPU_IO_PROTOCOL_WIDTH Width,
- IN UINT64 Address,
- IN UINTN Count,
- IN OUT VOID *Buffer
- )
- /*++
-
- Routine Description:
-
- Io read operation.
-
- Arguments:
-
- Width - Width of read operation
- Address - Start IO address to read
- Count - Read count
- Buffer - Buffer to store result
-
- Returns:
-
- Status code
-
- --*/
- ;
-
- EFI_STATUS
- ESalIoWrite (
- IN EFI_CPU_IO_PROTOCOL_WIDTH Width,
- IN UINT64 Address,
- IN UINTN Count,
- IN OUT VOID *Buffer
- )
- /*++
-
- Routine Description:
-
- Io write operation.
-
- Arguments:
-
- Width - Width of write operation
- Address - Start IO address to write
- Count - Write count
- Buffer - Buffer to write to the address
-
- Returns:
-
- Status code
-
- --*/
- ;
-
- EFI_STATUS
- ESalMemRead (
- IN EFI_CPU_IO_PROTOCOL_WIDTH Width,
- IN UINT64 Address,
- IN UINTN Count,
- IN OUT VOID *Buffer
- )
- /*++
-
- Routine Description:
- Perform a Memory mapped IO read into Buffer.
-
- Arguments:
- Width - Width of each read transaction.
- Address - Memory mapped IO address to read
- Count - Number of Width quanta to read
- Buffer - Buffer to read data into. size is Width * Count
-
- Returns:
- Status code
-
- --*/
- ;
-
- EFI_STATUS
- ESalMemWrite (
- IN EFI_CPU_IO_PROTOCOL_WIDTH Width,
- IN UINT64 Address,
- IN UINTN Count,
- IN OUT VOID *Buffer
- )
- /*++
-
- Routine Description:
- Perform a memory mapped IO write into Buffer.
-
- Arguments:
- Width - Width of write transaction, and repeat operation to use
- Address - IO address to write
- Count - Number of times to write the IO address.
- Buffer - Buffer to write data from. size is Width * Count
-
- Returns:
- Status code
-
- --*/
- ;
-
- //
- // PCI Class Functions
- //
- SAL_RETURN_REGS
- SalPCIConfigRead (
- IN UINT64 Address,
- IN UINT64 Size
- )
- /*++
-
- Routine Description:
- Pci config space read.
-
- Arguments:
- Address - PCI address to read
- Size - Size to read
-
- Returns:
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- SalPCIConfigWrite (
- IN UINT64 Address,
- IN UINT64 Size,
- IN UINT64 Value
- )
- /*++
-
- Routine Description:
- Pci config space write.
-
- Arguments:
- Address - PCI address to write
- Size - Size to write
- Value - Value to write
-
- Returns:
- Output regs
-
- --*/
- ;
-
- //
- // MP Class Functions
- //
- SAL_RETURN_REGS
- LibMPAddCpuData (
- IN UINT64 CpuGlobalId,
- IN BOOLEAN Enabled,
- IN UINT64 PalCompatability
- )
- /*++
-
- Routine Description:
- Add CPU data.
-
- Arguments:
- CpuGlobalId - CPU ID
- Enabled - Enabled or not
- PalCompatability - Pal compatability
-
- Returns:
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- LibMPRemoveCpuData (
- IN UINT64 CpuGlobalId
- )
- /*++
-
- Routine Description:
- Remove CPU data.
-
- Arguments:
- CpuGlobalId - CPU ID
-
- Returns:
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- LibMPModifyCpuData (
- IN UINT64 CpuGlobalId,
- IN BOOLEAN Enabled,
- IN UINT64 PalCompatability
- )
- /*++
-
- Routine Description:
- Modify CPU data.
-
- Arguments:
- CpuGlobalId - CPU ID
- Enabled - Enabled or not
- PalCompatability - Pal compatability
-
- Returns:
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- LibMPGetCpuDataByID (
- IN UINT64 CpuGlobalId,
- IN BOOLEAN IndexByEnabledCpu
- )
- /*++
-
- Routine Description:
- Get CPU data.
-
- Arguments:
- CpuGlobalId - CPU ID
- IndexByEnabledCpu - Whether indexed by enabled CPU
-
- Returns:
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- LibMPGetCpuDataByIndex (
- IN UINT64 Index,
- IN BOOLEAN IndexByEnabledCpu
- )
- /*++
-
- Routine Description:
- Get CPU data.
-
- Arguments:
- Index - CPU index
- IndexByEnabledCpu - Whether indexed by enabled CPU
-
- Returns:
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- LibMPSendIpi (
- IN UINT64 ProcessorNumber,
- IN UINT64 VectorNumber,
- IN EFI_DELIVERY_MODE DeliveryMode,
- IN BOOLEAN IRFlag
- )
- /*++
-
- Routine Description:
- Send IPI.
-
- Arguments:
- ProcessorNumber - Processor number
- VectorNumber - Vector number
- DeliveryMode - Delivery mode
- IRFlag - Interrupt Redirection flag
-
- Returns:
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- LibMpCurrentProcessor (
- IN BOOLEAN IndexByEnabledCpu
- )
- /*++
-
- Routine Description:
- Get current processor index.
-
- Arguments:
- IndexByEnabledCpu - Whether indexed by enabled CPU
-
- Returns:
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- LibGetNumProcessors (
- VOID
- )
- /*++
-
- Routine Description:
- Get number of processors.
-
- Arguments:
- None
-
- Returns:
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- LibMpSaveMinStatePointer (
- IN UINT64 CpuGlobalId,
- IN EFI_PHYSICAL_ADDRESS MinStatePointer
- )
- /*++
-
- Routine Description:
- Register pointer to save min state.
-
- Arguments:
- CpuGlobalId - CPU global ID
- MinStatePointer - Pointer to save min state
-
- Returns:
- Output regs
-
- --*/
- ;
-
- SAL_RETURN_REGS
- LibMpRestoreMinStatePointer (
- IN UINT64 CpuGlobalId
- )
- /*++
-
- Routine Description:
- Restore pointer to save min state.
-
- Arguments:
- CpuGlobalId - CPU global ID
-
- Returns:
- Output regs
-
- --*/
- ;
-
- //
- // MCA Class Functions
- //
- EFI_STATUS
- LibMcaGetStateInfo (
- IN UINT64 CpuId,
- OUT EFI_PHYSICAL_ADDRESS *StateBufferPointer,
- OUT UINT64 *RequiredStateBufferSize
- )
- /*++
-
- Routine Description:
- MCA get state info.
-
- Arguments:
- CpuId - CPU ID
- StateBufferPointer - Pointer of state buffer
- RequiredStateBufferSize - Size of required state buffer
-
- Returns:
- Status code
-
- --*/
- ;
-
- EFI_STATUS
- LibMcaRegisterCpu (
- IN UINT64 CpuId,
- IN EFI_PHYSICAL_ADDRESS StateBufferAddress
- )
- /*++
-
- Routine Description:
- MCA register CPU state info.
-
- Arguments:
- CpuId - CPU ID
- StateBufferAddress - Pointer of state buffer
-
- Returns:
- Status code
-
- --*/
- ;
-
- //
- // SAL ELOG Functions
- //
- EFI_STATUS
- LibSalGetStateInfo (
- IN UINT64 McaType,
- IN UINT8 *McaBuffer,
- OUT UINTN *Size
- )
- /*++
-
- Routine Description:
- Get state info.
-
- Arguments:
- McaType - MCA type
- McaBuffer - Info buffer provided by caller
- Size - Size of info
-
- Returns:
- Status code
-
- --*/
- ;
-
- EFI_STATUS
- LibSalGetStateInfoSize (
- IN UINT64 McaType,
- OUT UINTN *Size
- )
- /*++
-
- Routine Description:
- Get state info size.
-
- Arguments:
- McaType - MCA type
- Size - Size required
-
- Returns:
- Status code
-
- --*/
- ;
-
- EFI_STATUS
- LibSalClearStateInfo (
- IN UINT64 McaType
- )
- /*++
-
- Routine Description:
- Clear state info.
-
- Arguments:
- McaType - MCA type
-
- Returns:
- Status code
-
- --*/
- ;
-
- EFI_STATUS
- LibEsalGetStateBuffer (
- IN UINT64 McaType,
- OUT UINT8 **McaBuffer,
- OUT UINTN *Index
- )
- /*++
-
- Routine Description:
- Get state buffer.
-
- Arguments:
- McaType - MCA type
- McaBuffer - MCA buffer
- Index - CPU index
-
- Returns:
- Status code
-
- --*/
- ;
-
- EFI_STATUS
- LibEsalSaveStateBuffer (
- IN UINT64 McaType
- )
- /*++
-
- Routine Description:
- Save state buffer.
-
- Arguments:
- McaType - MCA type
-
- Returns:
- Status code
-
- --*/
- ;
-
- #endif