MdeModulePkg[all]
0.98
|
Data Structures | |
struct | _PEI_SMM_ACCESS_PPI |
Macros | |
#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 |
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 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
#define PEI_SMM_ACCESS_PPI_GUID { 0x268f33a9, 0xcccd, 0x48be, { 0x88, 0x17, 0x86, 0x5, 0x3a, 0xc3, 0x2e, 0xd6 }} |
typedef struct _PEI_SMM_ACCESS_PPI PEI_SMM_ACCESS_PPI |
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.
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. |
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.
PeiServices | General purpose services available to every PEIM. |
This | The pointer to the SMM Access Interface. |
DescriptorIndex | The region of SMRAM to Close. |
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.
PeiServices | General purpose services available to every PEIM. |
This | The pointer to the SMM Access Interface. |
DescriptorIndex | The region of SMRAM to Close. |
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.
PeiServices | General purpose services available to every PEIM. |
This | The pointer to the SMM Access Interface. |
DescriptorIndex | The region of SMRAM to Open. |
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. |
EFI_GUID gPeiSmmAccessPpiGuid |