From b7c51c9cf4864df6aabb99a1ae843becd577237c Mon Sep 17 00:00:00 2001 From: raywu Date: Fri, 15 Jun 2018 00:00:50 +0800 Subject: init. 1AQQW051 --- .../Guid/SmramMemoryReserve/SmramMemoryReserve.c | 28 +++++++++ .../Guid/SmramMemoryReserve/SmramMemoryReserve.h | 70 ++++++++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 EDK/Foundation/Framework/Guid/SmramMemoryReserve/SmramMemoryReserve.c create mode 100644 EDK/Foundation/Framework/Guid/SmramMemoryReserve/SmramMemoryReserve.h (limited to 'EDK/Foundation/Framework/Guid/SmramMemoryReserve') diff --git a/EDK/Foundation/Framework/Guid/SmramMemoryReserve/SmramMemoryReserve.c b/EDK/Foundation/Framework/Guid/SmramMemoryReserve/SmramMemoryReserve.c new file mode 100644 index 0000000..221b1a8 --- /dev/null +++ b/EDK/Foundation/Framework/Guid/SmramMemoryReserve/SmramMemoryReserve.c @@ -0,0 +1,28 @@ +/*++ + +Copyright (c) 1999 - 2002, 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. + + +Module Name: + + SmramMemoryReserve.c + +Abstract: + + GUID for use in reserving SMRAM regions. + +--*/ + +#include "Tiano.h" +#include EFI_GUID_DEFINITION(SmramMemoryReserve) + +EFI_GUID gEfiSmmPeiSmramMemoryReserve = EFI_SMM_PEI_SMRAM_MEMORY_RESERVE; + +EFI_GUID_STRING(&gEfiSmmPeiSmramMemoryReserve, "SMRAM Memory Reserve", "SMRAM Memory Reserve"); diff --git a/EDK/Foundation/Framework/Guid/SmramMemoryReserve/SmramMemoryReserve.h b/EDK/Foundation/Framework/Guid/SmramMemoryReserve/SmramMemoryReserve.h new file mode 100644 index 0000000..ff3351b --- /dev/null +++ b/EDK/Foundation/Framework/Guid/SmramMemoryReserve/SmramMemoryReserve.h @@ -0,0 +1,70 @@ +/*++ + +Copyright (c) 1999 - 2002, 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. + + +Module Name: + + SmramMemoryReserve.h + +Abstract: + + GUID for use in reserving SMRAM regions. + +--*/ + +#ifndef _EFI_SMM_PEI_SMRAM_MEMORY_RESERVE_H_ +#define _EFI_SMM_PEI_SMRAM_MEMORY_RESERVE_H_ + +#define EFI_SMM_PEI_SMRAM_MEMORY_RESERVE \ + { \ + 0x6dadf1d1, 0xd4cc, 0x4910, 0xbb, 0x6e, 0x82, 0xb1, 0xfd, 0x80, 0xff, 0x3d \ + } + +// +// ******************************************************* +// EFI_SMRAM_DESCRIPTOR +// ******************************************************* +// +typedef struct { + EFI_PHYSICAL_ADDRESS PhysicalStart; // Phsyical location in DRAM + EFI_PHYSICAL_ADDRESS CpuStart; // Address CPU uses to access the SMI handler + // May or may not match PhysicalStart + // + UINT64 PhysicalSize; + UINT64 RegionState; +} EFI_SMRAM_DESCRIPTOR; + +// +// ******************************************************* +// EFI_SMRAM_STATE +// ******************************************************* +// +#define EFI_SMRAM_OPEN 0x00000001 +#define EFI_SMRAM_CLOSED 0x00000002 +#define EFI_SMRAM_LOCKED 0x00000004 +#define EFI_CACHEABLE 0x00000008 +#define EFI_ALLOCATED 0x00000010 +#define EFI_NEEDS_TESTING 0x00000020 +#define EFI_NEEDS_ECC_INITIALIZATION 0x00000040 + +// +// ******************************************************* +// EFI_SMRAM_HOB_DESCRIPTOR_BLOCK +// ******************************************************* +// +typedef struct { + UINT32 NumberOfSmmReservedRegions; + EFI_SMRAM_DESCRIPTOR Descriptor[1]; +} EFI_SMRAM_HOB_DESCRIPTOR_BLOCK; + +extern EFI_GUID gEfiSmmPeiSmramMemoryReserve; + +#endif -- cgit v1.2.3