MdeModulePkg/Include/Ppi/SmmAccess.h File Reference


Data Structures

struct  _PEI_SMM_ACCESS_PPI

Defines

#define PEI_SMM_ACCESS_PPI_GUID   { 0x268f33a9, 0xcccd, 0x48be, { 0x88, 0x17, 0x86, 0x5, 0x3a, 0xc3, 0x2e, 0xd6 }}

Typedefs

typedef struct _PEI_SMM_ACCESS_PPI PEI_SMM_ACCESS_PPI
typedef EFI_STATUS(EFIAPI * PEI_SMM_OPEN )(IN EFI_PEI_SERVICES **PeiServices, IN PEI_SMM_ACCESS_PPI *This, IN UINTN DescriptorIndex)
typedef EFI_STATUS(EFIAPI * PEI_SMM_CLOSE )(IN EFI_PEI_SERVICES **PeiServices, IN PEI_SMM_ACCESS_PPI *This, IN UINTN DescriptorIndex)
typedef EFI_STATUS(EFIAPI * PEI_SMM_LOCK )(IN EFI_PEI_SERVICES **PeiServices, IN PEI_SMM_ACCESS_PPI *This, IN UINTN DescriptorIndex)
typedef EFI_STATUS(EFIAPI * PEI_SMM_CAPABILITIES )(IN EFI_PEI_SERVICES **PeiServices, IN PEI_SMM_ACCESS_PPI *This, IN OUT UINTN *SmramMapSize, IN OUT EFI_SMRAM_DESCRIPTOR *SmramMap)

Variables

EFI_GUID gPeiSmmAccessPpiGuid

Detailed Description

EFI SMM Access PPI definition.

This PPI is used to control the visibility of the SMRAM on the platform. It abstracts the location and characteristics of SMRAM. The expectation is that the north bridge or memory controller would publish this PPI.

The principal functionality found in the memory controller includes the following:

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


Define Documentation

#define PEI_SMM_ACCESS_PPI_GUID   { 0x268f33a9, 0xcccd, 0x48be, { 0x88, 0x17, 0x86, 0x5, 0x3a, 0xc3, 0x2e, 0xd6 }}


Typedef Documentation

typedef EFI_STATUS(EFIAPI * PEI_SMM_CAPABILITIES)(IN EFI_PEI_SERVICES **PeiServices, IN PEI_SMM_ACCESS_PPI *This, IN OUT UINTN *SmramMapSize, IN OUT EFI_SMRAM_DESCRIPTOR *SmramMap)

Queries the memory controller for the possible regions that will support SMRAM.

Parameters:
PeiServices General purpose services available to every PEIM.
This The pointer to the SmmAccessPpi Interface.
SmramMapSize The pointer to the variable containing size of the buffer to contain the description information.
SmramMap The buffer containing the data describing the Smram region descriptors.
Return values:
EFI_BUFFER_TOO_SMALL The user did not provide a sufficient buffer.
EFI_SUCCESS The user provided a sufficiently-sized buffer.

typedef EFI_STATUS(EFIAPI * PEI_SMM_CLOSE)(IN EFI_PEI_SERVICES **PeiServices, IN PEI_SMM_ACCESS_PPI *This, IN UINTN DescriptorIndex)

Inhibits access to the SMRAM.

This function "closes" SMRAM so that it is not visible while outside of SMM. The function should return EFI_UNSUPPORTED if the hardware does not support hiding of SMRAM.

Parameters:
PeiServices General purpose services available to every PEIM.
This The pointer to the SMM Access Interface.
DescriptorIndex The region of SMRAM to Close.
Return values:
EFI_SUCCESS The region was successfully closed.
EFI_DEVICE_ERROR The region could not be closed because locked by chipset.
EFI_INVALID_PARAMETER The descriptor index was out of bounds.

typedef EFI_STATUS(EFIAPI * PEI_SMM_LOCK)(IN EFI_PEI_SERVICES **PeiServices, IN PEI_SMM_ACCESS_PPI *This, IN UINTN DescriptorIndex)

Inhibits access to the SMRAM.

This function prohibits access to the SMRAM region. This function is usually implemented such that it is a write-once operation.

Parameters:
PeiServices General purpose services available to every PEIM.
This The pointer to the SMM Access Interface.
DescriptorIndex The region of SMRAM to Close.
Return values:
EFI_SUCCESS The region was successfully locked.
EFI_DEVICE_ERROR The region could not be locked because at least one range is still open.
EFI_INVALID_PARAMETER The descriptor index was out of bounds.

typedef EFI_STATUS(EFIAPI * PEI_SMM_OPEN)(IN EFI_PEI_SERVICES **PeiServices, IN PEI_SMM_ACCESS_PPI *This, IN UINTN DescriptorIndex)

Opens the SMRAM area to be accessible by a PEIM driver.

This function "opens" SMRAM so that it is visible while not inside of SMM. The function should return EFI_UNSUPPORTED if the hardware does not support hiding of SMRAM. The function should return EFI_DEVICE_ERROR if the SMRAM configuration is locked.

Parameters:
PeiServices General purpose services available to every PEIM.
This The pointer to the SMM Access Interface.
DescriptorIndex The region of SMRAM to Open.
Return values:
EFI_SUCCESS The region was successfully opened.
EFI_DEVICE_ERROR The region could not be opened because locked by chipset.
EFI_INVALID_PARAMETER The descriptor index was out of bounds.


Variable Documentation


Generated on Thu Sep 24 23:30:15 2015 for MdeModulePkg[ALL] by  doxygen 1.5.7.1