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