From 444bf90deb624ae6a0f914453445e7fd9b550f77 Mon Sep 17 00:00:00 2001 From: xli24 Date: Mon, 6 Jul 2009 15:09:45 +0000 Subject: [PATCH] Refine include file of GUID HOB for SMRAM memory reserve, according to review comments. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8763 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Include/Guid/SmramMemoryReserve.h | 54 ++++++++++--------- 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/IntelFrameworkPkg/Include/Guid/SmramMemoryReserve.h b/IntelFrameworkPkg/Include/Guid/SmramMemoryReserve.h index fcdcf1d83c..ca54e69cc4 100644 --- a/IntelFrameworkPkg/Include/Guid/SmramMemoryReserve.h +++ b/IntelFrameworkPkg/Include/Guid/SmramMemoryReserve.h @@ -1,5 +1,12 @@ /** @file - GUID for use in reserving SMRAM regions. + 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 - 2009, Intel Corporation All rights reserved. This program and the accompanying materials @@ -10,8 +17,6 @@ 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 - @par Revision Reference: GUIDs defined in SmmCis spec version 0.9 @@ -27,42 +32,41 @@ 0x6dadf1d1, 0xd4cc, 0x4910, {0xbb, 0x6e, 0x82, 0xb1, 0xfd, 0x80, 0xff, 0x3d } \ } -// -// ******************************************************* -// EFI_SMRAM_DESCRIPTOR -// ******************************************************* -// +/// +/// Describes the candidate regions for SMRAM that are +/// supported by this platform. +/// 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_PHYSICAL_ADDRESS PhysicalStart; ///< Designates the physical address of the SMRAM in memory. + EFI_PHYSICAL_ADDRESS CpuStart; ///< Designates the address of the SMRAM, as seen by software executing on the processors. + UINT64 PhysicalSize; ///< Describes the number of bytes in the SMRAM region. + UINT64 RegionState; ///< Describes the accessibility attributes of the SMRAM. } EFI_SMRAM_DESCRIPTOR; // -// ******************************************************* -// EFI_SMRAM_STATE -// ******************************************************* +// Definition of SMRAM states, used as value for EFI_SMRAM_DESCRIPTOR.RegionState. // #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. +/// typedef struct { + /// + /// Designates the number of possible regions in the system + /// that can be usable for SMRAM. + /// UINTN 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; +} EFI_HOB_SMRAM_DESCRIPTOR_BLOCK; extern EFI_GUID gEfiSmmPeiSmramMemoryReserveGuid;