X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=IntelFrameworkPkg%2FInclude%2FGuid%2FSmramMemoryReserve.h;h=04589cf040eebbd03178f422c58a1cb2c6412610;hp=d13119d45faf56e1a5647ab24c9ce751e431079c;hb=639a76d1912f8eb07e26b1a8f2393b682be65f2c;hpb=b80fbe8543eb535e40172a263b6b5d633e5b282c diff --git a/IntelFrameworkPkg/Include/Guid/SmramMemoryReserve.h b/IntelFrameworkPkg/Include/Guid/SmramMemoryReserve.h index d13119d45f..04589cf040 100644 --- a/IntelFrameworkPkg/Include/Guid/SmramMemoryReserve.h +++ b/IntelFrameworkPkg/Include/Guid/SmramMemoryReserve.h @@ -1,69 +1,60 @@ /** @file - GUID for use in reserving SMRAM regions. - - Copyright (c) 2007, Intel Corporation - All rights reserved. This program and the accompanying materials - are licensed and made available under the terms and conditions of the BSD License - which accompanies this distribution. The full text of the license may be found at - http://opensource.org/licenses/bsd-license.php - - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - - Module Name: SmramMemoryReserve.h + Definition of GUIDed HOB for reserving SMRAM regions. + + This file defines: + * the GUID used to identify the GUID HOB for reserving SMRAM regions. + * the data structure of SMRAM descriptor to describe SMRAM candidate regions + * values of state of SMRAM candidate regions + * the GUID specific data structure of HOB for reserving SMRAM regions. + This GUIDed HOB can be used to convey the existence of the T-SEG reservation and H-SEG usage + +Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.
+This program and the accompanying materials are licensed and made available under +the terms and conditions of the BSD License that accompanies this distribution. +The full text of the license may be found at +http://opensource.org/licenses/bsd-license.php. + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. @par Revision Reference: - GUIDs defined in SmmCis spec version 0.9 + GUIDs defined in SmmCis spec version 0.9. **/ #ifndef _EFI_SMM_PEI_SMRAM_MEMORY_RESERVE_H_ #define _EFI_SMM_PEI_SMRAM_MEMORY_RESERVE_H_ -#include - #define EFI_SMM_PEI_SMRAM_MEMORY_RESERVE \ { \ 0x6dadf1d1, 0xd4cc, 0x4910, {0xbb, 0x6e, 0x82, 0xb1, 0xfd, 0x80, 0xff, 0x3d } \ } -// -// ******************************************************* -// EFI_SMRAM_DESCRIPTOR -// ******************************************************* -// -typedef struct { - EFI_PHYSICAL_ADDRESS PhysicalStart; // Phsyical location in DRAM - EFI_PHYSICAL_ADDRESS CpuStart; // Address CPU uses to access the SMI handler - // May or may not match PhysicalStart - // - UINT64 PhysicalSize; - UINT64 RegionState; -} EFI_SMRAM_DESCRIPTOR; - -// -// ******************************************************* -// EFI_SMRAM_STATE -// ******************************************************* -// -#define EFI_SMRAM_OPEN 0x00000001 -#define EFI_SMRAM_CLOSED 0x00000002 -#define EFI_SMRAM_LOCKED 0x00000004 -#define EFI_CACHEABLE 0x00000008 -#define EFI_ALLOCATED 0x00000010 -#define EFI_NEEDS_TESTING 0x00000020 -#define EFI_NEEDS_ECC_INITIALIZATION 0x00000040 - -// -// ******************************************************* -// EFI_SMRAM_HOB_DESCRIPTOR_BLOCK -// ******************************************************* -// +/** +* GUID specific data structure of HOB for reserving SMRAM regions. +* +* Inconsistent with specification here: +* EFI_HOB_SMRAM_DESCRIPTOR_BLOCK has been changed to EFI_SMRAM_HOB_DESCRIPTOR_BLOCK. +* This inconsistency is kept in code in order for backward compatibility. +**/ typedef struct { - UINTN NumberOfSmmReservedRegions; + /// + /// Designates the number of possible regions in the system + /// that can be usable for SMRAM. + /// + /// Inconsistent with specification here: + /// In Framework SMM CIS 0.91 specification, it defines the field type as UINTN. + /// However, HOBs are supposed to be CPU neutral, so UINT32 should be used instead. + /// + UINT32 NumberOfSmmReservedRegions; + /// + /// Used throughout this protocol to describe the candidate + /// regions for SMRAM that are supported by this platform. + /// EFI_SMRAM_DESCRIPTOR Descriptor[1]; } EFI_SMRAM_HOB_DESCRIPTOR_BLOCK; extern EFI_GUID gEfiSmmPeiSmramMemoryReserveGuid; #endif +