]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFrameworkPkg/Include/Guid/SmramMemoryReserve.h
Remove the following PPIs from the IntelFrameworkPkg because they were identical...
[mirror_edk2.git] / IntelFrameworkPkg / Include / Guid / SmramMemoryReserve.h
CommitLineData
79964ac8 1/** @file\r
444bf90d 2 Definition of GUIDed HOB for reserving SMRAM regions.\r
3\r
4 This file defines:\r
5 * the GUID used to identify the GUID HOB for reserving SMRAM regions.\r
6 * the data structure of SMRAM descriptor to describe SMRAM candidate regions\r
7 * values of state of SMRAM candidate regions\r
8 * the GUID specific data structure of HOB for reserving SMRAM regions.\r
9 This GUIDed HOB can be used to convey the existence of the T-SEG reservation and H-SEG usage\r
79964ac8 10\r
2bbaeb0d 11 Copyright (c) 2007 - 2009, Intel Corporation\r
79964ac8 12 All rights reserved. This program and the accompanying materials\r
13 are licensed and made available under the terms and conditions of the BSD License\r
14 which accompanies this distribution. The full text of the license may be found at\r
15 http://opensource.org/licenses/bsd-license.php\r
16\r
17 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
18 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
19\r
79964ac8 20 @par Revision Reference:\r
21 GUIDs defined in SmmCis spec version 0.9\r
22\r
23**/\r
24\r
25#ifndef _EFI_SMM_PEI_SMRAM_MEMORY_RESERVE_H_\r
26#define _EFI_SMM_PEI_SMRAM_MEMORY_RESERVE_H_\r
27\r
28#define EFI_SMM_PEI_SMRAM_MEMORY_RESERVE \\r
29 { \\r
30 0x6dadf1d1, 0xd4cc, 0x4910, {0xbb, 0x6e, 0x82, 0xb1, 0xfd, 0x80, 0xff, 0x3d } \\r
31 }\r
32\r
444bf90d 33///\r
34/// Describes the candidate regions for SMRAM that are\r
35/// supported by this platform.\r
36///\r
79964ac8 37typedef struct {\r
444bf90d 38 EFI_PHYSICAL_ADDRESS PhysicalStart; ///< Designates the physical address of the SMRAM in memory.\r
39 EFI_PHYSICAL_ADDRESS CpuStart; ///< Designates the address of the SMRAM, as seen by software executing on the processors. \r
40 UINT64 PhysicalSize; ///< Describes the number of bytes in the SMRAM region.\r
41 UINT64 RegionState; ///< Describes the accessibility attributes of the SMRAM.\r
79964ac8 42} EFI_SMRAM_DESCRIPTOR;\r
43\r
ab6fc27a 44///\r
45/// Definition of SMRAM states, used as value for EFI_SMRAM_DESCRIPTOR.RegionState.\r
46///@{\r
79964ac8 47#define EFI_SMRAM_OPEN 0x00000001\r
48#define EFI_SMRAM_CLOSED 0x00000002\r
49#define EFI_SMRAM_LOCKED 0x00000004\r
50#define EFI_CACHEABLE 0x00000008\r
51#define EFI_ALLOCATED 0x00000010\r
ab6fc27a 52///@}\r
79964ac8 53\r
ab6fc27a 54/**\r
55* GUID specific data structure of HOB for reserving SMRAM regions.\r
56*\r
57* Inconsistent with specification here: \r
58* EFI_HOB_SMRAM_DESCRIPTOR_BLOCK has been changed to EFI_SMRAM_HOB_DESCRIPTOR_BLOCK.\r
59* This inconsistency is kept in code in order for backward compatibility.\r
60**/\r
79964ac8 61typedef struct {\r
444bf90d 62 ///\r
63 /// Designates the number of possible regions in the system\r
64 /// that can be usable for SMRAM. \r
65 ///\r
79964ac8 66 UINTN NumberOfSmmReservedRegions;\r
444bf90d 67 ///\r
68 /// Used throughout this protocol to describe the candidate\r
69 /// regions for SMRAM that are supported by this platform. \r
70 ///\r
79964ac8 71 EFI_SMRAM_DESCRIPTOR Descriptor[1];\r
a5baf845 72} EFI_SMRAM_HOB_DESCRIPTOR_BLOCK;\r
79964ac8 73\r
74extern EFI_GUID gEfiSmmPeiSmramMemoryReserveGuid;\r
75\r
76#endif\r
ab6fc27a 77\r