]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdeModulePkg/Include: Add PiSmmMemoryAttributesTable.h
authorJiewen Yao <jiewen.yao@intel.com>
Sun, 23 Oct 2016 15:09:16 +0000 (23:09 +0800)
committerLaszlo Ersek <lersek@redhat.com>
Thu, 17 Nov 2016 09:43:38 +0000 (10:43 +0100)
This table describes the SMM memory attributes.

The new GUID gEdkiiPiSmmMemoryAttributesTableGuid and its associated
structure are based on the EFI_MEMORY_ATTRIBUTES_TABLE and GUID from the
UEFI Specification.

Cc: Jeff Fan <jeff.fan@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>
[lersek@redhat.com: update commit message as requested by Michael Kinney]
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
MdeModulePkg/Include/Guid/PiSmmMemoryAttributesTable.h [new file with mode: 0644]

diff --git a/MdeModulePkg/Include/Guid/PiSmmMemoryAttributesTable.h b/MdeModulePkg/Include/Guid/PiSmmMemoryAttributesTable.h
new file mode 100644 (file)
index 0000000..317eae1
--- /dev/null
@@ -0,0 +1,51 @@
+/** @file\r
+  Define the GUID of the EDKII PI SMM memory attribute table, which\r
+  is published by PI SMM Core.\r
+\r
+Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials are licensed and made available under\r
+the terms and conditions of the BSD License that accompanies this distribution.\r
+The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php.\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+**/\r
+\r
+#ifndef _PI_SMM_MEMORY_ATTRIBUTES_TABLE_H_\r
+#define _PI_SMM_MEMORY_ATTRIBUTES_TABLE_H_\r
+\r
+#define EDKII_PI_SMM_MEMORY_ATTRIBUTES_TABLE_GUID {\\r
+  0x6b9fd3f7, 0x16df, 0x45e8, {0xbd, 0x39, 0xb9, 0x4a, 0x66, 0x54, 0x1a, 0x5d} \\r
+}\r
+\r
+//\r
+// The PI SMM memory attribute table contains the SMM memory map for SMM image.\r
+//\r
+// This table is installed to SMST as SMM configuration table.\r
+//\r
+// This table is published at gEfiSmmEndOfDxeProtocolGuid notification, because\r
+// there should be no more SMM driver loaded after that. The EfiRuntimeServicesCode\r
+// region should not be changed any more.\r
+//\r
+// This table is published, if and only if all SMM PE/COFF have aligned section\r
+// as specified in UEFI specification Section 2.3. For example, IA32/X64 alignment is 4KiB.\r
+//\r
+// If this table is published, the EfiRuntimeServicesCode contains code only\r
+// and it is EFI_MEMORY_RO; the EfiRuntimeServicesData contains data only\r
+// and it is EFI_MEMORY_XP.\r
+//\r
+typedef struct {\r
+  UINT32                Version;\r
+  UINT32                NumberOfEntries;\r
+  UINT32                DescriptorSize;\r
+  UINT32                Reserved;\r
+//EFI_MEMORY_DESCRIPTOR Entry[1];\r
+} EDKII_PI_SMM_MEMORY_ATTRIBUTES_TABLE;\r
+\r
+#define EDKII_PI_SMM_MEMORY_ATTRIBUTES_TABLE_VERSION  0x00000001\r
+\r
+extern EFI_GUID gEdkiiPiSmmMemoryAttributesTableGuid;\r
+\r
+#endif\r