--- /dev/null
+/** @file\r
+ Definition of GUIDed HOB for reserving MMRAM regions.\r
+\r
+ This file defines:\r
+ * the GUID used to identify the GUID HOB for reserving MMRAM regions.\r
+ * the data structure of MMRAM descriptor to describe MMRAM candidate regions\r
+ * values of state of MMRAM candidate regions\r
+ * the GUID specific data structure of HOB for reserving MMRAM regions.\r
+ This GUIDed HOB can be used to convey the existence of the T-SEG reservation and H-SEG usage\r
+\r
+Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.<BR>\r
+\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
+ @par Revision Reference:\r
+ GUIDs defined in MmCis spec version 0.9.\r
+\r
+**/\r
+\r
+#ifndef _EFI_MM_PEI_MMRAM_MEMORY_RESERVE_H_\r
+#define _EFI_MM_PEI_MMRAM_MEMORY_RESERVE_H_\r
+\r
+#define EFI_MM_PEI_MMRAM_MEMORY_RESERVE \\r
+ { \\r
+ 0x0703f912, 0xbf8d, 0x4e2a, {0xbe, 0x07, 0xab, 0x27, 0x25, 0x25, 0xc5, 0x92 } \\r
+ }\r
+\r
+/**\r
+* GUID specific data structure of HOB for reserving MMRAM regions.\r
+*\r
+* Inconsistent with specification here:\r
+* EFI_HOB_MMRAM_DESCRIPTOR_BLOCK has been changed to EFI_MMRAM_HOB_DESCRIPTOR_BLOCK.\r
+* This inconsistency is kept in code in order for backward compatibility.\r
+**/\r
+typedef struct {\r
+ ///\r
+ /// Designates the number of possible regions in the system\r
+ /// that can be usable for MMRAM.\r
+ ///\r
+ /// Inconsistent with specification here:\r
+ /// In Framework MM 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 NumberOfMmReservedRegions;\r
+ ///\r
+ /// Used throughout this protocol to describe the candidate\r
+ /// regions for MMRAM that are supported by this platform.\r
+ ///\r
+ EFI_MMRAM_DESCRIPTOR Descriptor[1];\r
+} EFI_MMRAM_HOB_DESCRIPTOR_BLOCK;\r
+\r
+extern EFI_GUID gEfiMmPeiSmramMemoryReserveGuid;\r
+\r
+#endif\r
+\r