ArmPkg: only attempt buildin MmCommunicationDxe for AArch64
[mirror_edk2.git] / StandaloneMmPkg / Include / Guid / MmramMemoryReserve.h
1 /** @file
2 Definition of GUIDed HOB for reserving MMRAM regions.
3
4 This file defines:
5 * the GUID used to identify the GUID HOB for reserving MMRAM regions.
6 * the data structure of MMRAM descriptor to describe MMRAM candidate regions
7 * values of state of MMRAM candidate regions
8 * the GUID specific data structure of HOB for reserving MMRAM regions.
9 This GUIDed HOB can be used to convey the existence of the T-SEG reservation and H-SEG usage
10
11 Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
12 Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.<BR>
13
14 SPDX-License-Identifier: BSD-2-Clause-Patent
15
16 @par Revision Reference:
17 GUIDs defined in MmCis spec version 0.9.
18
19 **/
20
21 #ifndef _EFI_MM_PEI_MMRAM_MEMORY_RESERVE_H_
22 #define _EFI_MM_PEI_MMRAM_MEMORY_RESERVE_H_
23
24 #define EFI_MM_PEI_MMRAM_MEMORY_RESERVE \
25 { \
26 0x0703f912, 0xbf8d, 0x4e2a, {0xbe, 0x07, 0xab, 0x27, 0x25, 0x25, 0xc5, 0x92 } \
27 }
28
29 /**
30 * GUID specific data structure of HOB for reserving MMRAM regions.
31 *
32 * Inconsistent with specification here:
33 * EFI_HOB_MMRAM_DESCRIPTOR_BLOCK has been changed to EFI_MMRAM_HOB_DESCRIPTOR_BLOCK.
34 * This inconsistency is kept in code in order for backward compatibility.
35 **/
36 typedef struct {
37 ///
38 /// Designates the number of possible regions in the system
39 /// that can be usable for MMRAM.
40 ///
41 /// Inconsistent with specification here:
42 /// In Framework MM CIS 0.91 specification, it defines the field type as UINTN.
43 /// However, HOBs are supposed to be CPU neutral, so UINT32 should be used instead.
44 ///
45 UINT32 NumberOfMmReservedRegions;
46 ///
47 /// Used throughout this protocol to describe the candidate
48 /// regions for MMRAM that are supported by this platform.
49 ///
50 EFI_MMRAM_DESCRIPTOR Descriptor[1];
51 } EFI_MMRAM_HOB_DESCRIPTOR_BLOCK;
52
53 extern EFI_GUID gEfiMmPeiSmramMemoryReserveGuid;
54
55 #endif
56