summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--IntelFrameworkPkg/FrameworkSpecConformance.txt7
-rw-r--r--IntelFrameworkPkg/Include/Guid/SmramMemoryReserve.h6
2 files changed, 11 insertions, 2 deletions
diff --git a/IntelFrameworkPkg/FrameworkSpecConformance.txt b/IntelFrameworkPkg/FrameworkSpecConformance.txt
index f70386b728..22f940dfc6 100644
--- a/IntelFrameworkPkg/FrameworkSpecConformance.txt
+++ b/IntelFrameworkPkg/FrameworkSpecConformance.txt
@@ -1119,13 +1119,18 @@
##
1. Include/Guid/SmramMemoryReserve.h
typedef struct {
+ UINT32 NumberOfSmmReservedRegions;
...
} EFI_SMRAM_HOB_DESCRIPTOR_BLOCK;
- The name of the definition is *NOT* consistent with Framework SmmCis specification 0.91, in which it's
+ 1) The name of the definition is *NOT* consistent with Framework SmmCis specification 0.91, in which it's
defined as "EFI_HOB_SMRAM_DESCRIPTOR_BLOCK" rather than "EFI_SMRAM_HOB_DESCRIPTOR_BLOCK".
Keeping this inconsistency for backward compatibility.
+ 2) The definition of NumberOfSmmReservedRegions is *NOT* consistent with Framework SmmCis specification 0.91,
+ in which the type of this field is defined as UINTN. However, HOBs are supposed to be CPU neutral, so UINTN
+ is incorrect and UINT32 should be used.
+
2. Include/Guid/SmramMemoryReserve.h
typedef enum {
...
diff --git a/IntelFrameworkPkg/Include/Guid/SmramMemoryReserve.h b/IntelFrameworkPkg/Include/Guid/SmramMemoryReserve.h
index 9edec42b9e..04589cf040 100644
--- a/IntelFrameworkPkg/Include/Guid/SmramMemoryReserve.h
+++ b/IntelFrameworkPkg/Include/Guid/SmramMemoryReserve.h
@@ -42,7 +42,11 @@ typedef struct {
/// Designates the number of possible regions in the system
/// that can be usable for SMRAM.
///
- UINTN NumberOfSmmReservedRegions;
+ /// 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.