TianoCore EDK2 master
Loading...
Searching...
No Matches
SmmMemoryAttribute.h File Reference

Go to the source code of this file.

Data Structures

struct  _EDKII_SMM_MEMORY_ATTRIBUTE_PROTOCOL
 

Macros

#define EDKII_SMM_MEMORY_ATTRIBUTE_PROTOCOL_GUID
 

Typedefs

typedef struct _EDKII_SMM_MEMORY_ATTRIBUTE_PROTOCOL EDKII_SMM_MEMORY_ATTRIBUTE_PROTOCOL
 
typedef EFI_STATUS(EFIAPI * EDKII_SMM_SET_MEMORY_ATTRIBUTES) (IN EDKII_SMM_MEMORY_ATTRIBUTE_PROTOCOL *This, IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length, IN UINT64 Attributes)
 
typedef EFI_STATUS(EFIAPI * EDKII_SMM_CLEAR_MEMORY_ATTRIBUTES) (IN EDKII_SMM_MEMORY_ATTRIBUTE_PROTOCOL *This, IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length, IN UINT64 Attributes)
 
typedef EFI_STATUS(EFIAPI * EDKII_SMM_GET_MEMORY_ATTRIBUTES) (IN EDKII_SMM_MEMORY_ATTRIBUTE_PROTOCOL *This, IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length, OUT UINT64 *Attributes)
 

Variables

EFI_GUID gEdkiiSmmMemoryAttributeProtocolGuid
 

Detailed Description

SMM Memory Attribute Protocol provides retrieval and update service for memory attributes in EFI SMM environment.

Copyright (c) 2017 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file SmmMemoryAttribute.h.

Macro Definition Documentation

◆ EDKII_SMM_MEMORY_ATTRIBUTE_PROTOCOL_GUID

#define EDKII_SMM_MEMORY_ATTRIBUTE_PROTOCOL_GUID
Value:
{ \
0x69b792ea, 0x39ce, 0x402d, { 0xa2, 0xa6, 0xf7, 0x21, 0xde, 0x35, 0x1d, 0xfe } \
}

Definition at line 14 of file SmmMemoryAttribute.h.

Typedef Documentation

◆ EDKII_SMM_CLEAR_MEMORY_ATTRIBUTES

typedef EFI_STATUS(EFIAPI * EDKII_SMM_CLEAR_MEMORY_ATTRIBUTES) (IN EDKII_SMM_MEMORY_ATTRIBUTE_PROTOCOL *This, IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length, IN UINT64 Attributes)

This function clears given attributes of the memory region specified by BaseAddress and Length.

Parameters
ThisThe EDKII_SMM_MEMORY_ATTRIBUTE_PROTOCOL instance.
BaseAddressThe physical address that is the start address of a memory region.
LengthThe size in bytes of the memory region.
AttributesThe bit mask of attributes to clear for the memory region.
Return values
EFI_SUCCESSThe attributes were cleared for the memory region.
EFI_INVALID_PARAMETERLength is zero. Attributes specified an illegal combination of attributes that cannot be cleared together.
EFI_UNSUPPORTEDThe processor does not support one or more bytes of the memory resource range specified by BaseAddress and Length. The bit mask of attributes is not supported for the memory resource range specified by BaseAddress and Length.

Definition at line 77 of file SmmMemoryAttribute.h.

◆ EDKII_SMM_GET_MEMORY_ATTRIBUTES

typedef EFI_STATUS(EFIAPI * EDKII_SMM_GET_MEMORY_ATTRIBUTES) (IN EDKII_SMM_MEMORY_ATTRIBUTE_PROTOCOL *This, IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length, OUT UINT64 *Attributes)

This function retrieves the attributes of the memory region specified by BaseAddress and Length. If different attributes are got from different part of the memory region, EFI_NO_MAPPING will be returned.

Parameters
ThisThe EDKII_SMM_MEMORY_ATTRIBUTE_PROTOCOL instance.
BaseAddressThe physical address that is the start address of a memory region.
LengthThe size in bytes of the memory region.
AttributesPointer to attributes returned.
Return values
EFI_SUCCESSThe attributes got for the memory region.
EFI_INVALID_PARAMETERLength is zero. Attributes is NULL.
EFI_NO_MAPPINGAttributes are not consistent cross the memory region.
EFI_UNSUPPORTEDThe processor does not support one or more bytes of the memory resource range specified by BaseAddress and Length.

Definition at line 107 of file SmmMemoryAttribute.h.

◆ EDKII_SMM_MEMORY_ATTRIBUTE_PROTOCOL

◆ EDKII_SMM_SET_MEMORY_ATTRIBUTES

typedef EFI_STATUS(EFIAPI * EDKII_SMM_SET_MEMORY_ATTRIBUTES) (IN EDKII_SMM_MEMORY_ATTRIBUTE_PROTOCOL *This, IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length, IN UINT64 Attributes)

This function set given attributes of the memory region specified by BaseAddress and Length.

Parameters
ThisThe EDKII_SMM_MEMORY_ATTRIBUTE_PROTOCOL instance.
BaseAddressThe physical address that is the start address of a memory region.
LengthThe size in bytes of the memory region.
AttributesThe bit mask of attributes to set for the memory region.
Return values
EFI_SUCCESSThe attributes were set for the memory region.
EFI_INVALID_PARAMETERLength is zero. Attributes specified an illegal combination of attributes that cannot be set together.
EFI_UNSUPPORTEDThe processor does not support one or more bytes of the memory resource range specified by BaseAddress and Length. The bit mask of attributes is not supported for the memory resource range specified by BaseAddress and Length.

Definition at line 45 of file SmmMemoryAttribute.h.