Home | History | Annotate | Download | only in SmramMemoryReserve
      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