summaryrefslogtreecommitdiff
path: root/IntelFrameworkPkg
diff options
context:
space:
mode:
authorxli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524>2010-08-20 17:32:04 +0000
committerxli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524>2010-08-20 17:32:04 +0000
commit7ae58ec2eaaad7a4a22092266c407d76c12ed69a (patch)
tree161cd5dc22cd650e951858e75e27eb12fe92ddad /IntelFrameworkPkg
parent9e375eb11f5ad03f8d13357be232077879971cab (diff)
downloadedk2-platforms-7ae58ec2eaaad7a4a22092266c407d76c12ed69a.tar.xz
The definition of NumberOfSmmReservedRegions is incorrect in 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 UINT32 should be used. Here the code is updated and comments in FrameworkSpecConformance.txt is added.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10813 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'IntelFrameworkPkg')
-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.