summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--UefiCpuPkg/Include/Guid/MmUnblockRegion.h42
-rw-r--r--UefiCpuPkg/UefiCpuPkg.dec3
2 files changed, 45 insertions, 0 deletions
diff --git a/UefiCpuPkg/Include/Guid/MmUnblockRegion.h b/UefiCpuPkg/Include/Guid/MmUnblockRegion.h
new file mode 100644
index 0000000..f6a33c3
--- /dev/null
+++ b/UefiCpuPkg/Include/Guid/MmUnblockRegion.h
@@ -0,0 +1,42 @@
+/** @file
+ Defines the GUIDed HOB that describes the memory region to be unblocked in MM environment.
+
+ Copyright (c) 2024, Intel Corporation. All rights reserved.<BR>
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#ifndef MM_UNBLOCK_REGION_H_
+#define MM_UNBLOCK_REGION_H_
+
+///
+/// The GUID of the UnblockRegion GUIDed HOB.
+///
+#define MM_UNBLOCK_REGION_HOB_GUID \
+ { \
+ 0x7c316fb3, 0x849e, 0x4ee7, {0x87, 0xfc, 0x16, 0x2d, 0x0b, 0x03, 0x42, 0xbf } \
+ }
+
+///
+/// The structure defines the data layout of the UnblockRegion GUIDed HOB.
+///
+typedef struct {
+ ///
+ /// Physical address of the first byte in the memory region. PhysicalStart must be
+ /// aligned on a 4 KiB boundary.
+ ///
+ EFI_PHYSICAL_ADDRESS PhysicalStart;
+
+ ///
+ /// Number of 4 KiB pages in the memory region.
+ ///
+ UINT64 NumberOfPages;
+
+ ///
+ /// GUID to identify the memory region.
+ ///
+ EFI_GUID IdentifierGuid;
+} MM_UNBLOCK_REGION;
+
+extern EFI_GUID gMmUnblockRegionHobGuid;
+
+#endif
diff --git a/UefiCpuPkg/UefiCpuPkg.dec b/UefiCpuPkg/UefiCpuPkg.dec
index c026cf5..5ee4efc 100644
--- a/UefiCpuPkg/UefiCpuPkg.dec
+++ b/UefiCpuPkg/UefiCpuPkg.dec
@@ -108,6 +108,9 @@
## Include/Guid/GhcbApicIds.h
gGhcbApicIdsGuid = { 0xbc964338, 0xee39, 0x4fc8, { 0xa2, 0x24, 0x10, 0x10, 0x8b, 0x17, 0x80, 0x1b }}
+ ## Include/Guid/MmUnblockRegion.h
+ gMmUnblockRegionHobGuid = { 0x7c316fb3, 0x849e, 0x4ee7, { 0x87, 0xfc, 0x16, 0x2d, 0x0b, 0x03, 0x42, 0xbf }}
+
[Protocols]
## Include/Protocol/SmmCpuService.h
gEfiSmmCpuServiceProtocolGuid = { 0x1d202cab, 0xc8ab, 0x4d5c, { 0x94, 0xf7, 0x3c, 0xfc, 0xc0, 0xd3, 0xd3, 0x35 }}