X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=IntelFrameworkPkg%2FInclude%2FProtocol%2FSmmAccess.h;h=d7719e44c1c66a526b32a12551c042af829588f7;hb=412fb9ef2d5389a7ad1735ac8187ac2f72103fbc;hp=700eb250068357bdc0a879005dbb062a2a79936f;hpb=79964ac84ea0ca6c68d0dea38245fa83ff1945d1;p=mirror_edk2.git diff --git a/IntelFrameworkPkg/Include/Protocol/SmmAccess.h b/IntelFrameworkPkg/Include/Protocol/SmmAccess.h index 700eb25006..d7719e44c1 100644 --- a/IntelFrameworkPkg/Include/Protocol/SmmAccess.h +++ b/IntelFrameworkPkg/Include/Protocol/SmmAccess.h @@ -1,5 +1,10 @@ /** @file - This file declares SMM SMRAM Access abstraction protocol + This file declares SMM SMRAM Access abstraction protocol which is used to control + the visibility of the SMRAM on the platform. The expectation is + that the north bridge or memory controller would publish this protocol. + For example, the Memory Controller Hub (MCH) has the hardware provision for this + type of control. Because of the protected, distinguished class of memory for IA-32 + systems, the expectation is that this protocol would be supported only on IA-32 systems. Copyright (c) 2007, Intel Corporation All rights reserved. This program and the accompanying materials @@ -10,8 +15,6 @@ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - Module Name: SmmAccess.h - @par Revision Reference: This Protocol is defined in Framework of EFI SMM Core Interface Spec Version 0.9. @@ -20,7 +23,8 @@ #ifndef _SMM_ACCESS_H_ #define _SMM_ACCESS_H_ -#include +#include +#include typedef struct _EFI_SMM_ACCESS_PROTOCOL EFI_SMM_ACCESS_PROTOCOL; @@ -59,7 +63,7 @@ typedef struct _EFI_SMM_ACCESS_PROTOCOL EFI_SMM_ACCESS_PROTOCOL; **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_OPEN) ( +(EFIAPI *EFI_SMM_OPEN)( IN EFI_SMM_ACCESS_PROTOCOL *This, UINTN DescriptorIndex ); @@ -68,7 +72,7 @@ EFI_STATUS Inhibits access to the SMRAM. @param This The EFI_SMM_ACCESS_PROTOCOL instance. - @param DescriptorIndex Indicates that the driver wishes to open + @param DescriptorIndex Indicates that the driver wishes to close the memory tagged by this index. @retval EFI_SUCCESS The operation was successful. @@ -79,15 +83,16 @@ EFI_STATUS **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_CLOSE) ( +(EFIAPI *EFI_SMM_CLOSE)( IN EFI_SMM_ACCESS_PROTOCOL *This, UINTN DescriptorIndex ); /** Inhibits access to the SMRAM. + @param This The EFI_SMM_ACCESS_PROTOCOL instance. - @param DescriptorIndex Indicates that the driver wishes to open + @param DescriptorIndex Indicates that the driver wishes to lock the memory tagged by this index. @retval EFI_SUCCESS The operation was successful. @@ -98,7 +103,7 @@ EFI_STATUS **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_LOCK) ( +(EFIAPI *EFI_SMM_LOCK)( IN EFI_SMM_ACCESS_PROTOCOL *This, UINTN DescriptorIndex ); @@ -116,7 +121,7 @@ EFI_STATUS **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_CAPABILITIES) ( +(EFIAPI *EFI_SMM_CAPABILITIES)( IN EFI_SMM_ACCESS_PROTOCOL *This, IN OUT UINTN *SmramMapSize, IN OUT EFI_SMRAM_DESCRIPTOR *SmramMap @@ -139,10 +144,10 @@ EFI_STATUS Gets information on possible SMRAM regions. @param LockState -Indicates the current state of the SMRAM. Set to TRUE if any region is locked. + Indicates the current state of the SMRAM. Set to TRUE if any region is locked. @param OpenState -Indicates the current state of the SMRAM. Set to TRUE if any region is open. + Indicates the current state of the SMRAM. Set to TRUE if any region is open. **/ struct _EFI_SMM_ACCESS_PROTOCOL {