XenevaOS
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Variables
MmBase.h File Reference
#include <Pi/PiMmCis.h>
Include dependency graph for MmBase.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _EFI_MM_BASE_PROTOCOL
 

Macros

#define EFI_MM_BASE_PROTOCOL_GUID
 

Typedefs

typedef struct _EFI_MM_BASE_PROTOCOL EFI_MM_BASE_PROTOCOL
 
typedef EFI_STATUS(EFIAPIEFI_MM_INSIDE_OUT) (IN CONST EFI_MM_BASE_PROTOCOL *This, OUT BOOLEAN *InMmram)
 
typedef EFI_STATUS(EFIAPIEFI_MM_GET_MMST_LOCATION) (IN CONST EFI_MM_BASE_PROTOCOL *This, IN OUT EFI_MM_SYSTEM_TABLE **Mmst)
 

Variables

EFI_GUID gEfiMmBaseProtocolGuid
 

Detailed Description

EFI MM Base Protocol as defined in the PI 1.5 specification.

This protocol is utilized by all MM drivers to locate the MM infrastructure services and determine whether the driver is being invoked inside MMRAM or outside of MMRAM.

Copyright (c) 2017, 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_MM_BASE_PROTOCOL_GUID

#define EFI_MM_BASE_PROTOCOL_GUID
Value:
{ \
0xf4ccbfb7, 0xf6e0, 0x47fd, {0x9d, 0xd4, 0x10, 0xa8, 0xf1, 0x50, 0xc1, 0x91 } \
}

Typedef Documentation

◆ EFI_MM_BASE_PROTOCOL

◆ EFI_MM_GET_MMST_LOCATION

typedef EFI_STATUS(EFIAPI * EFI_MM_GET_MMST_LOCATION) (IN CONST EFI_MM_BASE_PROTOCOL *This, IN OUT EFI_MM_SYSTEM_TABLE **Mmst)

Returns the location of the Management Mode Service Table (MMST).

This function returns the location of the Management Mode Service Table (MMST). The use of the API is such that a driver can discover the location of the MMST in its entry point and then cache it in some driver global variable so that the MMST can be invoked in subsequent handlers.

Parameters
[in]ThisThe EFI_MM_BASE_PROTOCOL instance.
[in,out]MmstOn return, points to a pointer to the Management Mode Service Table (MMST).
Return values
EFI_SUCCESSThe operation was successful.
EFI_INVALID_PARAMETERMmst was invalid.
EFI_UNSUPPORTEDNot in MM.

◆ EFI_MM_INSIDE_OUT

typedef EFI_STATUS(EFIAPI * EFI_MM_INSIDE_OUT) (IN CONST EFI_MM_BASE_PROTOCOL *This, OUT BOOLEAN *InMmram)

Service to indicate whether the driver is currently executing in the MM Initialization phase.

This service is used to indicate whether the driver is currently executing in the MM Initialization phase. For MM drivers, this will return TRUE in InMmram while inside the driver's entry point and otherwise FALSE. For combination MM/DXE drivers, this will return FALSE in the DXE launch. For the MM launch, it behaves as an MM driver.

Parameters
[in]ThisThe EFI_MM_BASE_PROTOCOL instance.
[out]InMmramPointer to a Boolean which, on return, indicates that the driver is currently executing inside of MMRAM (TRUE) or outside of MMRAM (FALSE).
Return values
EFI_SUCCESSThe call returned successfully.
EFI_INVALID_PARAMETERInMmram was NULL.

Variable Documentation

◆ gEfiMmBaseProtocolGuid

EFI_GUID gEfiMmBaseProtocolGuid
extern