]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdePkg: The prototype definition of EdkiiMemoryAcceptProtocol
authorJiaqi Gao <jiaqi.gao@intel.com>
Tue, 1 Nov 2022 05:13:47 +0000 (13:13 +0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Tue, 1 Nov 2022 10:08:10 +0000 (10:08 +0000)
RFC: https://bugzilla.tianocore.org/show_bug.cgi?id=3937

EdkiiMemoryAcceptProtocol is defined in MdePkg, the method AcceptMemory()
can be called when memory needs to be accepted.

EdkiiMemoryAcceptProtocol can be installed by architecture-specific
drivers such as TdxDxe. This allows different isolation architectures
to realize their own low-level methods to accept memory.

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Cc: Erdem Aktas <erdemaktas@google.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: James Bottomley <jejb@linux.ibm.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
Signed-off-by: Jiaqi Gao <jiaqi.gao@intel.com>
Signed-off-by: Min Xu <min.m.xu@intel.com>
MdePkg/Include/Protocol/MemoryAccept.h [new file with mode: 0644]
MdePkg/MdePkg.dec

diff --git a/MdePkg/Include/Protocol/MemoryAccept.h b/MdePkg/Include/Protocol/MemoryAccept.h
new file mode 100644 (file)
index 0000000..f7646e0
--- /dev/null
@@ -0,0 +1,37 @@
+/** @file\r
+  The file provides the protocol to provide interface to accept memory.\r
+\r
+  Copyright (c) 2021 - 2022, Intel Corporation. All rights reserved.<BR>\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
+**/\r
+\r
+#ifndef MEMORY_ACCEPT_H_\r
+#define MEMORY_ACCEPT_H_\r
+\r
+#define EDKII_MEMORY_ACCEPT_PROTOCOL_GUID \\r
+  { 0x38c74800, 0x5590, 0x4db4, { 0xa0, 0xf3, 0x67, 0x5d, 0x9b, 0x8e, 0x80, 0x26 } };\r
+\r
+typedef struct _EDKII_MEMORY_ACCEPT_PROTOCOL EDKII_MEMORY_ACCEPT_PROTOCOL;\r
+\r
+/**\r
+  @param This                   A pointer to a EDKII_MEMORY_ACCEPT_PROTOCOL.\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EDKII_ACCEPT_MEMORY)(\r
+  IN  EDKII_MEMORY_ACCEPT_PROTOCOL  *This,\r
+  IN  EFI_PHYSICAL_ADDRESS          StartAddress,\r
+  IN  UINTN                         Size\r
+  );\r
+\r
+///\r
+/// The EDKII_MEMORY_ACCEPT_PROTOCOL provides the ability for memory services\r
+/// to accept memory.\r
+///\r
+struct _EDKII_MEMORY_ACCEPT_PROTOCOL {\r
+  EDKII_ACCEPT_MEMORY    AcceptMemory;\r
+};\r
+\r
+extern EFI_GUID  gEdkiiMemoryAcceptProtocolGuid;\r
+\r
+#endif\r
index 4c81cbd75ab2b1ac6fe27c954ebcf20f4355845a..ba287d9b3cfcf158eee4c36db9dd62d46c5f8dd4 100644 (file)
   gEfiPeiDelayedDispatchPpiGuid  = { 0x869c711d, 0x649c, 0x44fe, { 0x8b, 0x9e, 0x2c, 0xbb, 0x29, 0x11, 0xc3, 0xe6 }}\r
 \r
 [Protocols]\r
+  ## Include/Protocol/MemoryAccept.h\r
+  gEdkiiMemoryAcceptProtocolGuid = { 0x38c74800, 0x5590, 0x4db4, { 0xa0, 0xf3, 0x67, 0x5d, 0x9b, 0x8e, 0x80, 0x26 }}\r
+\r
   ## Include/Protocol/Pcd.h\r
   gPcdProtocolGuid               = { 0x11B34006, 0xD85B, 0x4D0A, { 0xA2, 0x90, 0xD5, 0xA5, 0x71, 0x31, 0x0E, 0xF7 }}\r
 \r