summaryrefslogtreecommitdiff
path: root/EdkCompatibilityPkg/Compatibility/SmmAccess2OnSmmAccessThunk
diff options
context:
space:
mode:
authorGuo Mang <mang.guo@intel.com>2017-08-02 09:54:47 +0800
committerGuo Mang <mang.guo@intel.com>2017-09-05 19:45:08 +0800
commit6c128c65b5ec0e5b8b5a0ccb165f3afd29e485f8 (patch)
tree444372d92a0ae8991fe4d15eb3937df43690dfda /EdkCompatibilityPkg/Compatibility/SmmAccess2OnSmmAccessThunk
parentb207c6434d7a5a4502975d322312e07017e8a8cb (diff)
downloadedk2-platforms-6c128c65b5ec0e5b8b5a0ccb165f3afd29e485f8.tar.xz
Remove core packages since we can get them from edk2 repository
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Guo Mang <mang.guo@intel.com>
Diffstat (limited to 'EdkCompatibilityPkg/Compatibility/SmmAccess2OnSmmAccessThunk')
-rw-r--r--EdkCompatibilityPkg/Compatibility/SmmAccess2OnSmmAccessThunk/SmmAccess2OnSmmAccessThunk.c208
-rw-r--r--EdkCompatibilityPkg/Compatibility/SmmAccess2OnSmmAccessThunk/SmmAccess2OnSmmAccessThunk.h99
-rw-r--r--EdkCompatibilityPkg/Compatibility/SmmAccess2OnSmmAccessThunk/SmmAccess2OnSmmAccessThunk.inf50
3 files changed, 0 insertions, 357 deletions
diff --git a/EdkCompatibilityPkg/Compatibility/SmmAccess2OnSmmAccessThunk/SmmAccess2OnSmmAccessThunk.c b/EdkCompatibilityPkg/Compatibility/SmmAccess2OnSmmAccessThunk/SmmAccess2OnSmmAccessThunk.c
deleted file mode 100644
index 0275bd7550..0000000000
--- a/EdkCompatibilityPkg/Compatibility/SmmAccess2OnSmmAccessThunk/SmmAccess2OnSmmAccessThunk.c
+++ /dev/null
@@ -1,208 +0,0 @@
-/** @file
- SMM Access2 Protocol on SMM Access Protocol Thunk driver.
-
- Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
- 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.
-
-**/
-
-#include "SmmAccess2OnSmmAccessThunk.h"
-
-EFI_SMM_ACCESS2_PROTOCOL gSmmAccess2 = {
- SmmAccess2Open,
- SmmAccess2Close,
- SmmAccess2Lock,
- SmmAccess2GetCapabilities,
- FALSE,
- FALSE
-};
-
-EFI_SMM_ACCESS_PROTOCOL *mSmmAccess;
-UINTN mSmramRegionNumber;
-
-/**
- Opens the SMRAM area to be accessible by a boot-service 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.
-
- @param[in] This The EFI_SMM_ACCESS2_PROTOCOL instance.
-
- @retval EFI_SUCCESS The operation was successful.
- @retval EFI_UNSUPPORTED The system does not support opening and closing of SMRAM.
- @retval EFI_DEVICE_ERROR SMRAM cannot be opened, perhaps because it is locked.
-**/
-EFI_STATUS
-EFIAPI
-SmmAccess2Open (
- IN EFI_SMM_ACCESS2_PROTOCOL *This
- )
-{
- EFI_STATUS Status;
- UINTN DescriptorIndex;
-
- ///
- /// Open all SMRAM regions via SMM Access Protocol
- ///
-
- Status = EFI_SUCCESS;
- for (DescriptorIndex = 0; DescriptorIndex < mSmramRegionNumber && !EFI_ERROR (Status); DescriptorIndex++) {
- Status = mSmmAccess->Open (mSmmAccess, DescriptorIndex);
- }
- if (!EFI_ERROR (Status)) {
- gSmmAccess2.OpenState = TRUE;
- }
- return Status;
-}
-
-/**
- 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.
-
- @param [in] This The EFI_SMM_ACCESS2_PROTOCOL instance.
-
- @retval EFI_SUCCESS The operation was successful.
- @retval EFI_UNSUPPORTED The system does not support opening and closing of SMRAM.
- @retval EFI_DEVICE_ERROR SMRAM cannot be closed.
-**/
-EFI_STATUS
-EFIAPI
-SmmAccess2Close (
- IN EFI_SMM_ACCESS2_PROTOCOL *This
- )
-{
- EFI_STATUS Status;
- UINTN DescriptorIndex;
-
- ///
- /// Close all SMRAM regions via SMM Access Protocol
- ///
-
- Status = EFI_SUCCESS;
- for (DescriptorIndex = 0; DescriptorIndex < mSmramRegionNumber && !EFI_ERROR (Status); DescriptorIndex++) {
- Status = mSmmAccess->Close (mSmmAccess, DescriptorIndex);
- }
- if (!EFI_ERROR (Status)) {
- gSmmAccess2.OpenState = FALSE;
- }
- return Status;
-}
-
-/**
- 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.
-
- @param[in] This The EFI_SMM_ACCESS2_PROTOCOL instance.
-
- @retval EFI_SUCCESS The device was successfully locked.
- @retval EFI_UNSUPPORTED The system does not support locking of SMRAM.
-**/
-EFI_STATUS
-EFIAPI
-SmmAccess2Lock (
- IN EFI_SMM_ACCESS2_PROTOCOL *This
- )
-{
- EFI_STATUS Status;
- UINTN DescriptorIndex;
-
- ///
- /// Lock all SMRAM regions via SMM Access Protocol
- ///
-
- Status = EFI_SUCCESS;
- for (DescriptorIndex = 0; DescriptorIndex < mSmramRegionNumber && !EFI_ERROR (Status); DescriptorIndex++) {
- Status = mSmmAccess->Lock (mSmmAccess, DescriptorIndex);
- }
- if (!EFI_ERROR (Status)) {
- gSmmAccess2.LockState = TRUE;
- }
- return Status;
-}
-
-/**
- Queries the memory controller for the possible regions that will support SMRAM.
-
- @param[in] This The EFI_SMM_ACCESS2_PROTOCOL instance.
- @param[in, out] SmramMapSize A pointer to the size, in bytes, of the SmramMemoryMap buffer.
- @param[in, out] SmramMap A pointer to the buffer in which firmware places the current memory map.
-
- @retval EFI_SUCCESS The chipset supported the given resource.
- @retval EFI_BUFFER_TOO_SMALL The SmramMap parameter was too small. The current buffer size
- needed to hold the memory map is returned in SmramMapSize.
-**/
-EFI_STATUS
-EFIAPI
-SmmAccess2GetCapabilities (
- IN CONST EFI_SMM_ACCESS2_PROTOCOL *This,
- IN OUT UINTN *SmramMapSize,
- IN OUT EFI_SMRAM_DESCRIPTOR *SmramMap
- )
-{
- return mSmmAccess->GetCapabilities (mSmmAccess, SmramMapSize, SmramMap);
-}
-
-/**
- Entry Point for SMM Access2 On SMM Access Thunk driver.
-
- @param[in] ImageHandle Image handle of this driver.
- @param[in] SystemTable A Pointer to the EFI System Table.
-
- @retval EFI_SUCCESS The entry point is executed successfully.
- @retval other Some error occurred when executing this entry point.
-**/
-EFI_STATUS
-EFIAPI
-SmmAccess2ThunkMain (
- IN EFI_HANDLE ImageHandle,
- IN EFI_SYSTEM_TABLE *SystemTable
- )
-{
- EFI_STATUS Status;
- UINTN SmramMapSize;
-
- ///
- /// Locate SMM Access Protocol
- ///
- Status = gBS->LocateProtocol (&gEfiSmmAccessProtocolGuid, NULL, (VOID **)&mSmmAccess);
- ASSERT_EFI_ERROR (Status);
-
- ///
- /// Calculate number of SMRAM regions
- ///
- SmramMapSize = 0;
- Status = mSmmAccess->GetCapabilities (mSmmAccess, &SmramMapSize, NULL);
- ASSERT (Status == EFI_BUFFER_TOO_SMALL);
-
- mSmramRegionNumber = SmramMapSize/sizeof (EFI_SMRAM_DESCRIPTOR);
- ASSERT (mSmramRegionNumber > 0);
-
- ///
- /// Assume all SMRAM regions have consistent OPEN and LOCK states
- ///
- gSmmAccess2.OpenState = mSmmAccess->OpenState;
- gSmmAccess2.LockState = mSmmAccess->LockState;
-
- ///
- /// Publish PI SMM Access2 Protocol
- ///
- Status = gBS->InstallProtocolInterface (
- &ImageHandle,
- &gEfiSmmAccess2ProtocolGuid,
- EFI_NATIVE_INTERFACE,
- &gSmmAccess2
- );
- return Status;
-}
-
diff --git a/EdkCompatibilityPkg/Compatibility/SmmAccess2OnSmmAccessThunk/SmmAccess2OnSmmAccessThunk.h b/EdkCompatibilityPkg/Compatibility/SmmAccess2OnSmmAccessThunk/SmmAccess2OnSmmAccessThunk.h
deleted file mode 100644
index 18f9c65ebe..0000000000
--- a/EdkCompatibilityPkg/Compatibility/SmmAccess2OnSmmAccessThunk/SmmAccess2OnSmmAccessThunk.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/** @file
- Include file for SMM Access2 Protocol on SMM Access Protocol Thunk driver.
-
- Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
- 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.
-
-**/
-
-#ifndef _SMM_ACCESS2_ON_SMM_ACCESS_THUNK_H_
-#define _SMM_ACCESS2_ON_SMM_ACCESS_THUNK_H_
-
-#include <PiDxe.h>
-#include <FrameworkSmm.h>
-#include <Library/DebugLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/UefiDriverEntryPoint.h>
-#include <Protocol/SmmAccess2.h>
-#include <Protocol/SmmAccess.h>
-
-/**
- Opens the SMRAM area to be accessible by a boot-service 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.
-
- @param[in] This The EFI_SMM_ACCESS2_PROTOCOL instance.
-
- @retval EFI_SUCCESS The operation was successful.
- @retval EFI_UNSUPPORTED The system does not support opening and closing of SMRAM.
- @retval EFI_DEVICE_ERROR SMRAM cannot be opened, perhaps because it is locked.
-**/
-EFI_STATUS
-EFIAPI
-SmmAccess2Open (
- IN EFI_SMM_ACCESS2_PROTOCOL *This
- );
-
-/**
- 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.
-
- @param[in] This The EFI_SMM_ACCESS2_PROTOCOL instance.
-
- @retval EFI_SUCCESS The operation was successful.
- @retval EFI_UNSUPPORTED The system does not support opening and closing of SMRAM.
- @retval EFI_DEVICE_ERROR SMRAM cannot be closed.
-**/
-EFI_STATUS
-EFIAPI
-SmmAccess2Close (
- IN EFI_SMM_ACCESS2_PROTOCOL *This
- );
-
-/**
- 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.
-
- @param[in] This The EFI_SMM_ACCESS2_PROTOCOL instance.
-
- @retval EFI_SUCCESS The device was successfully locked.
- @retval EFI_UNSUPPORTED The system does not support locking of SMRAM.
-**/
-EFI_STATUS
-EFIAPI
-SmmAccess2Lock (
- IN EFI_SMM_ACCESS2_PROTOCOL *This
- );
-
-/**
- Queries the memory controller for the possible regions that will support SMRAM.
-
- @param[in] This The EFI_SMM_ACCESS2_PROTOCOL instance.
- @param[in, out] SmramMapSize A pointer to the size, in bytes, of the SmramMemoryMap buffer.
- @param[in, out] SmramMap A pointer to the buffer in which firmware places the current memory map.
-
- @retval EFI_SUCCESS The chipset supported the given resource.
- @retval EFI_BUFFER_TOO_SMALL The SmramMap parameter was too small. The current buffer size
- needed to hold the memory map is returned in SmramMapSize.
-**/
-EFI_STATUS
-EFIAPI
-SmmAccess2GetCapabilities (
- IN CONST EFI_SMM_ACCESS2_PROTOCOL *This,
- IN OUT UINTN *SmramMapSize,
- IN OUT EFI_SMRAM_DESCRIPTOR *SmramMap
- );
-
-#endif
diff --git a/EdkCompatibilityPkg/Compatibility/SmmAccess2OnSmmAccessThunk/SmmAccess2OnSmmAccessThunk.inf b/EdkCompatibilityPkg/Compatibility/SmmAccess2OnSmmAccessThunk/SmmAccess2OnSmmAccessThunk.inf
deleted file mode 100644
index 2d857e7835..0000000000
--- a/EdkCompatibilityPkg/Compatibility/SmmAccess2OnSmmAccessThunk/SmmAccess2OnSmmAccessThunk.inf
+++ /dev/null
@@ -1,50 +0,0 @@
-## @file
-# Component description file for SMM Access2 Protocol on SMM Access Protocol Thunk driver.
-#
-# Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
-#
-# 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.
-#
-##
-
-[Defines]
- INF_VERSION = 0x00010005
- BASE_NAME = SmmAccess2OnSmmAccessThunk
- FILE_GUID = 98BBCDA4-18B4-46d3-BD1F-6A3A52D44CF8
- MODULE_TYPE = DXE_DRIVER
- VERSION_STRING = 1.0
- ENTRY_POINT = SmmAccess2ThunkMain
-
-#
-# The following information is for reference only and not required by the build tools.
-#
-# VALID_ARCHITECTURES = IA32 X64
-#
-
-[Sources]
- SmmAccess2OnSmmAccessThunk.c
- SmmAccess2OnSmmAccessThunk.h
-
-[Packages]
- MdePkg/MdePkg.dec
- IntelFrameworkPkg/IntelFrameworkPkg.dec
- EdkCompatibilityPkg/EdkCompatibilityPkg.dec
-
-[LibraryClasses]
- UefiDriverEntryPoint
- UefiBootServicesTableLib
- DebugLib
-
-[Protocols]
- gEfiSmmAccessProtocolGuid # PROTOCOL ALWAYS_CONSUMED
- gEfiSmmAccess2ProtocolGuid # PROTOCOL ALWAYS_PRODUCED
-
-[Depex]
- gEfiSmmAccessProtocolGuid
-