The definition of NumberOfSmmReservedRegions is incorrect in Framework SmmCis specifi...
authorxli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 20 Aug 2010 17:32:04 +0000 (17:32 +0000)
committerxli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 20 Aug 2010 17:32:04 +0000 (17:32 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10813 6f19259b-4bc3-4df7-8a09-765794883524

IntelFrameworkPkg/FrameworkSpecConformance.txt
IntelFrameworkPkg/Include/Guid/SmramMemoryReserve.h

index f70386b..22f940d 100644 (file)
 ##\r
   1. Include/Guid/SmramMemoryReserve.h\r
     typedef struct {\r
+      UINT32                NumberOfSmmReservedRegions;\r
       ...\r
     } EFI_SMRAM_HOB_DESCRIPTOR_BLOCK;\r
 \r
-    The name of the definition is *NOT* consistent with Framework SmmCis specification 0.91, in which it's \r
+    1) The name of the definition is *NOT* consistent with Framework SmmCis specification 0.91, in which it's \r
     defined as "EFI_HOB_SMRAM_DESCRIPTOR_BLOCK" rather than "EFI_SMRAM_HOB_DESCRIPTOR_BLOCK". \r
     Keeping this inconsistency for backward compatibility.\r
 \r
+    2) The definition of NumberOfSmmReservedRegions is *NOT* consistent with Framework SmmCis specification 0.91,\r
+    in which the type of this field is defined as UINTN. However, HOBs are supposed to be CPU neutral, so UINTN\r
+    is incorrect and UINT32 should be used.\r
+\r
   2. Include/Guid/SmramMemoryReserve.h\r
     typedef enum {\r
       ...\r
index 9edec42..04589cf 100644 (file)
@@ -42,7 +42,11 @@ typedef struct {
   /// Designates the number of possible regions in the system\r
   /// that can be usable for SMRAM. \r
   ///\r
-  UINTN                 NumberOfSmmReservedRegions;\r
+  /// Inconsistent with specification here:  \r
+  /// In Framework SMM CIS 0.91 specification, it defines the field type as UINTN.\r
+  /// However, HOBs are supposed to be CPU neutral, so UINT32 should be used instead.\r
+  ///\r
+  UINT32                NumberOfSmmReservedRegions;\r
   ///\r
   /// Used throughout this protocol to describe the candidate\r
   /// regions for SMRAM that are supported by this platform. \r