]>
Commit | Line | Data |
---|---|---|
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 |
1c2f052d | 11 | Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r |
22a69a5e | 12 | SPDX-License-Identifier: BSD-2-Clause-Patent\r |
79964ac8 | 13 | \r |
79964ac8 | 14 | @par Revision Reference:\r |
f22f941e | 15 | GUIDs defined in SmmCis spec version 0.9.\r |
79964ac8 | 16 | \r |
17 | **/\r | |
18 | \r | |
19 | #ifndef _EFI_SMM_PEI_SMRAM_MEMORY_RESERVE_H_\r | |
20 | #define _EFI_SMM_PEI_SMRAM_MEMORY_RESERVE_H_\r | |
21 | \r | |
22 | #define EFI_SMM_PEI_SMRAM_MEMORY_RESERVE \\r | |
23 | { \\r | |
24 | 0x6dadf1d1, 0xd4cc, 0x4910, {0xbb, 0x6e, 0x82, 0xb1, 0xfd, 0x80, 0xff, 0x3d } \\r | |
25 | }\r | |
26 | \r | |
ab6fc27a | 27 | /**\r |
28 | * GUID specific data structure of HOB for reserving SMRAM regions.\r | |
29 | *\r | |
1c2f052d | 30 | * Inconsistent with specification here:\r |
ab6fc27a | 31 | * EFI_HOB_SMRAM_DESCRIPTOR_BLOCK has been changed to EFI_SMRAM_HOB_DESCRIPTOR_BLOCK.\r |
32 | * This inconsistency is kept in code in order for backward compatibility.\r | |
33 | **/\r | |
79964ac8 | 34 | typedef struct {\r |
444bf90d | 35 | ///\r |
36 | /// Designates the number of possible regions in the system\r | |
1c2f052d | 37 | /// that can be usable for SMRAM.\r |
444bf90d | 38 | ///\r |
1c2f052d | 39 | /// Inconsistent with specification here:\r |
7ae58ec2 | 40 | /// In Framework SMM CIS 0.91 specification, it defines the field type as UINTN.\r |
41 | /// However, HOBs are supposed to be CPU neutral, so UINT32 should be used instead.\r | |
42 | ///\r | |
43 | UINT32 NumberOfSmmReservedRegions;\r | |
444bf90d | 44 | ///\r |
45 | /// Used throughout this protocol to describe the candidate\r | |
1c2f052d | 46 | /// regions for SMRAM that are supported by this platform.\r |
444bf90d | 47 | ///\r |
79964ac8 | 48 | EFI_SMRAM_DESCRIPTOR Descriptor[1];\r |
a5baf845 | 49 | } EFI_SMRAM_HOB_DESCRIPTOR_BLOCK;\r |
79964ac8 | 50 | \r |
51 | extern EFI_GUID gEfiSmmPeiSmramMemoryReserveGuid;\r | |
52 | \r | |
53 | #endif\r | |
ab6fc27a | 54 | \r |