XenevaOS
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Variables
McaInitPmi.h File Reference

Go to the source code of this file.

Classes

struct  SAL_MCA_COUNT_STRUCTURE
 
struct  _EFI_SAL_MCA_INIT_PMI_PROTOCOL
 

Macros

#define EFI_SAL_MCA_INIT_PMI_PROTOCOL_GUID    { 0xb60dc6e8, 0x3b6f, 0x11d5, {0xaf, 0x9, 0x0, 0xa0, 0xc9, 0x44, 0xa0, 0x5b} }
 

Typedefs

typedef struct _EFI_SAL_MCA_INIT_PMI_PROTOCOL EFI_SAL_MCA_INIT_PMI_PROTOCOL
 
typedef EFI_STATUS(EFIAPIEFI_SAL_MCA_HANDLER) (IN VOID *ModuleGlobal, IN UINT64 ProcessorStateParameters, IN EFI_PHYSICAL_ADDRESS MinstateBase, IN UINT64 RendezvouseStateInformation, IN UINT64 CpuIndex, IN SAL_MCA_COUNT_STRUCTURE *McaCountStructure, OUT BOOLEAN *CorrectedMachineCheck)
 
typedef EFI_STATUS(EFIAPIEFI_SAL_INIT_HANDLER) (IN VOID *ModuleGlobal, IN UINT64 ProcessorStateParameters, IN EFI_PHYSICAL_ADDRESS MinstateBase, IN BOOLEAN McaInProgress, IN UINT64 CpuIndex, IN SAL_MCA_COUNT_STRUCTURE *McaCountStructure, OUT BOOLEAN *DumpSwitchPressed)
 
typedef EFI_STATUS(EFIAPIEFI_SAL_PMI_HANDLER) (IN VOID *ModuleGlobal, IN UINT64 CpuIndex, IN UINT64 PmiVector)
 
typedef EFI_STATUS(EFIAPIEFI_SAL_REGISTER_MCA_HANDLER) (IN EFI_SAL_MCA_INIT_PMI_PROTOCOL *This, IN EFI_SAL_MCA_HANDLER McaHandler, IN VOID *ModuleGlobal, IN BOOLEAN MakeFirst, IN BOOLEAN MakeLast)
 
typedef EFI_STATUS(EFIAPIEFI_SAL_REGISTER_INIT_HANDLER) (IN EFI_SAL_MCA_INIT_PMI_PROTOCOL *This, IN EFI_SAL_INIT_HANDLER InitHandler, IN VOID *ModuleGlobal, IN BOOLEAN MakeFirst, IN BOOLEAN MakeLast)
 
typedef EFI_STATUS(EFIAPIEFI_SAL_REGISTER_PMI_HANDLER) (IN EFI_SAL_MCA_INIT_PMI_PROTOCOL *This, IN EFI_SAL_PMI_HANDLER PmiHandler, IN VOID *ModuleGlobal, IN BOOLEAN MakeFirst, IN BOOLEAN MakeLast)
 

Variables

EFI_GUID gEfiSalMcaInitPmiProtocolGuid
 

Detailed Description

MCA/PMI/INIT Protocol as defined in PI Specification VOLUME 4.

This protocol provides services to handle Machine Checks (MCA), Initialization (INIT) events, and Platform Management Interrupt (PMI) events on an Intel Itanium Processor Family based system.

Copyright (c) 2009 - 2018, 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.

Macro Definition Documentation

◆ EFI_SAL_MCA_INIT_PMI_PROTOCOL_GUID

#define EFI_SAL_MCA_INIT_PMI_PROTOCOL_GUID    { 0xb60dc6e8, 0x3b6f, 0x11d5, {0xaf, 0x9, 0x0, 0xa0, 0xc9, 0x44, 0xa0, 0x5b} }

Global ID for the MCA/PMI/INIT Protocol.

Typedef Documentation

◆ EFI_SAL_INIT_HANDLER

typedef EFI_STATUS(EFIAPI * EFI_SAL_INIT_HANDLER) (IN VOID *ModuleGlobal, IN UINT64 ProcessorStateParameters, IN EFI_PHYSICAL_ADDRESS MinstateBase, IN BOOLEAN McaInProgress, IN UINT64 CpuIndex, IN SAL_MCA_COUNT_STRUCTURE *McaCountStructure, OUT BOOLEAN *DumpSwitchPressed)

Prototype of INIT handler.

Parameters
ModuleGlobalThe context of INIT Handler
ProcessorStateParametersThe processor state parameters (PSP)
MinstateBaseBase address of the min-state
McaInProgressThis flag indicates if an MCA is in progress
CpuIndexIndex of the logical processor
McaCountStructurePointer to the MCA records structure
DumpSwitchPressedThis flag indicates the crash dump switch has been pressed
Return values
EFI_SUCCESSHandler successfully returned

◆ EFI_SAL_MCA_HANDLER

typedef EFI_STATUS(EFIAPI * EFI_SAL_MCA_HANDLER) (IN VOID *ModuleGlobal, IN UINT64 ProcessorStateParameters, IN EFI_PHYSICAL_ADDRESS MinstateBase, IN UINT64 RendezvouseStateInformation, IN UINT64 CpuIndex, IN SAL_MCA_COUNT_STRUCTURE *McaCountStructure, OUT BOOLEAN *CorrectedMachineCheck)

Prototype of MCA handler.

Parameters
ModuleGlobalThe context of MCA Handler
ProcessorStateParametersThe processor state parameters (PSP)
MinstateBaseBase address of the min-state
RendezvouseStateInformationRendezvous state information to be passed to the OS on OS MCA entry
CpuIndexIndex of the logical processor
McaCountStructurePointer to the MCA records structure
CorrectedMachineCheckThis flag is set to TRUE is the MCA has been corrected by the handler or by a previous handler
Return values
EFI_SUCCESSHandler successfully returned

◆ EFI_SAL_MCA_INIT_PMI_PROTOCOL

Declare forward reference for the Timer Architectural Protocol

◆ EFI_SAL_PMI_HANDLER

typedef EFI_STATUS(EFIAPI * EFI_SAL_PMI_HANDLER) (IN VOID *ModuleGlobal, IN UINT64 CpuIndex, IN UINT64 PmiVector)

Prototype of PMI handler

Parameters
ModuleGlobalThe context of PMI Handler
CpuIndexIndex of the logical processor
PmiVectorThe PMI vector number as received from the PALE_PMI exit state (GR24)
Return values
EFI_SUCCESSHandler successfully returned

◆ EFI_SAL_REGISTER_INIT_HANDLER

typedef EFI_STATUS(EFIAPI * EFI_SAL_REGISTER_INIT_HANDLER) (IN EFI_SAL_MCA_INIT_PMI_PROTOCOL *This, IN EFI_SAL_INIT_HANDLER InitHandler, IN VOID *ModuleGlobal, IN BOOLEAN MakeFirst, IN BOOLEAN MakeLast)

Register an INIT handler with the INIT dispatcher.

Parameters
ThisThe EFI_SAL_MCA_INIT_PMI_PROTOCOL instance
InitHandlerThe INIT handler to register
ModuleGlobalThe context of INIT Handler
MakeFirstThis flag specifies the handler should be made first in the list
MakeLastThis flag specifies the handler should be made last in the list
Return values
EFI_SUCCESSINIT Handle was registered
EFI_OUT_OF_RESOURCESNo more resources to register an INIT handler
EFI_INVALID_PARAMETERInvalid parameters were passed

◆ EFI_SAL_REGISTER_MCA_HANDLER

typedef EFI_STATUS(EFIAPI * EFI_SAL_REGISTER_MCA_HANDLER) (IN EFI_SAL_MCA_INIT_PMI_PROTOCOL *This, IN EFI_SAL_MCA_HANDLER McaHandler, IN VOID *ModuleGlobal, IN BOOLEAN MakeFirst, IN BOOLEAN MakeLast)

Register a MCA handler with the MCA dispatcher.

Parameters
ThisThe EFI_SAL_MCA_INIT_PMI_PROTOCOL instance
McaHandlerThe MCA handler to register
ModuleGlobalThe context of MCA Handler
MakeFirstThis flag specifies the handler should be made first in the list
MakeLastThis flag specifies the handler should be made last in the list
Return values
EFI_SUCCESSMCA Handle was registered
EFI_OUT_OF_RESOURCESNo more resources to register an MCA handler
EFI_INVALID_PARAMETERInvalid parameters were passed

◆ EFI_SAL_REGISTER_PMI_HANDLER

typedef EFI_STATUS(EFIAPI * EFI_SAL_REGISTER_PMI_HANDLER) (IN EFI_SAL_MCA_INIT_PMI_PROTOCOL *This, IN EFI_SAL_PMI_HANDLER PmiHandler, IN VOID *ModuleGlobal, IN BOOLEAN MakeFirst, IN BOOLEAN MakeLast)

Register a PMI handler with the PMI dispatcher.

Parameters
ThisThe EFI_SAL_MCA_INIT_PMI_PROTOCOL instance
PmiHandlerThe PMI handler to register
ModuleGlobalThe context of PMI Handler
MakeFirstThis flag specifies the handler should be made first in the list
MakeLastThis flag specifies the handler should be made last in the list
Return values
EFI_SUCCESSPMI Handle was registered
EFI_OUT_OF_RESOURCESNo more resources to register an PMI handler
EFI_INVALID_PARAMETERInvalid parameters were passed

Variable Documentation

◆ gEfiSalMcaInitPmiProtocolGuid

EFI_GUID gEfiSalMcaInitPmiProtocolGuid
extern