]> git.proxmox.com Git - mirror_edk2.git/blob - Tools/Source/TianoTools/Include/Guid/SmramMemoryReserve.h
fc49092b9302657c47ca74dd4b94a3f15496ce56
[mirror_edk2.git] / Tools / Source / TianoTools / Include / Guid / SmramMemoryReserve.h
1 /** @file
2 GUID for use in reserving SMRAM regions.
3
4 Copyright (c) 2006, 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 #define EFI_SMM_PEI_SMRAM_MEMORY_RESERVE \
24 { \
25 0x6dadf1d1, 0xd4cc, 0x4910, {0xbb, 0x6e, 0x82, 0xb1, 0xfd, 0x80, 0xff, 0x3d } \
26 }
27
28 //
29 // *******************************************************
30 // EFI_SMRAM_DESCRIPTOR
31 // *******************************************************
32 //
33 typedef struct {
34 EFI_PHYSICAL_ADDRESS PhysicalStart; // Phsyical location in DRAM
35 EFI_PHYSICAL_ADDRESS CpuStart; // Address CPU uses to access the SMI handler
36 // May or may not match PhysicalStart
37 //
38 UINT64 PhysicalSize;
39 UINT64 RegionState;
40 } EFI_SMRAM_DESCRIPTOR;
41
42 //
43 // *******************************************************
44 // EFI_SMRAM_STATE
45 // *******************************************************
46 //
47 #define EFI_SMRAM_OPEN 0x00000001
48 #define EFI_SMRAM_CLOSED 0x00000002
49 #define EFI_SMRAM_LOCKED 0x00000004
50 #define EFI_CACHEABLE 0x00000008
51 #define EFI_ALLOCATED 0x00000010
52 #define EFI_NEEDS_TESTING 0x00000020
53 #define EFI_NEEDS_ECC_INITIALIZATION 0x00000040
54
55 //
56 // *******************************************************
57 // EFI_SMRAM_HOB_DESCRIPTOR_BLOCK
58 // *******************************************************
59 //
60 typedef struct {
61 UINTN NumberOfSmmReservedRegions;
62 EFI_SMRAM_DESCRIPTOR Descriptor[1];
63 } EFI_SMRAM_HOB_DESCRIPTOR_BLOCK;
64
65 extern EFI_GUID gEfiSmmPeiSmramMemoryReserve;
66
67 #endif