Incorporated the bug fix in unicode file parse
[mirror_edk2.git] / IntelFrameworkPkg / Include / Guid / SmramMemoryReserve.h
1 /** @file
2 GUID for use in reserving SMRAM regions.
3
4 Copyright (c) 2007, Intel Corporation
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13 Module Name: SmramMemoryReserve.h
14
15 @par Revision Reference:
16 GUIDs defined in SmmCis spec version 0.9
17
18 **/
19
20 #ifndef _EFI_SMM_PEI_SMRAM_MEMORY_RESERVE_H_
21 #define _EFI_SMM_PEI_SMRAM_MEMORY_RESERVE_H_
22
23 #include <PiPei.h>
24
25 #define EFI_SMM_PEI_SMRAM_MEMORY_RESERVE \
26 { \
27 0x6dadf1d1, 0xd4cc, 0x4910, {0xbb, 0x6e, 0x82, 0xb1, 0xfd, 0x80, 0xff, 0x3d } \
28 }
29
30 //
31 // *******************************************************
32 // EFI_SMRAM_DESCRIPTOR
33 // *******************************************************
34 //
35 typedef struct {
36 EFI_PHYSICAL_ADDRESS PhysicalStart; // Phsyical location in DRAM
37 EFI_PHYSICAL_ADDRESS CpuStart; // Address CPU uses to access the SMI handler
38 // May or may not match PhysicalStart
39 //
40 UINT64 PhysicalSize;
41 UINT64 RegionState;
42 } EFI_SMRAM_DESCRIPTOR;
43
44 //
45 // *******************************************************
46 // EFI_SMRAM_STATE
47 // *******************************************************
48 //
49 #define EFI_SMRAM_OPEN 0x00000001
50 #define EFI_SMRAM_CLOSED 0x00000002
51 #define EFI_SMRAM_LOCKED 0x00000004
52 #define EFI_CACHEABLE 0x00000008
53 #define EFI_ALLOCATED 0x00000010
54 #define EFI_NEEDS_TESTING 0x00000020
55 #define EFI_NEEDS_ECC_INITIALIZATION 0x00000040
56
57 //
58 // *******************************************************
59 // EFI_SMRAM_HOB_DESCRIPTOR_BLOCK
60 // *******************************************************
61 //
62 typedef struct {
63 UINTN NumberOfSmmReservedRegions;
64 EFI_SMRAM_DESCRIPTOR Descriptor[1];
65 } EFI_SMRAM_HOB_DESCRIPTOR_BLOCK;
66
67 extern EFI_GUID gEfiSmmPeiSmramMemoryReserveGuid;
68
69 #endif