MdePkg: The prototype definition of EdkiiMemoryAcceptProtocol
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>
This commit is contained in:
		
							
								
								
									
										37
									
								
								MdePkg/Include/Protocol/MemoryAccept.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								MdePkg/Include/Protocol/MemoryAccept.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
				
			|||||||
 | 
					/** @file
 | 
				
			||||||
 | 
					  The file provides the protocol to provide interface to accept memory.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  Copyright (c) 2021 - 2022, Intel Corporation. All rights reserved.<BR>
 | 
				
			||||||
 | 
					  SPDX-License-Identifier: BSD-2-Clause-Patent
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef MEMORY_ACCEPT_H_
 | 
				
			||||||
 | 
					#define MEMORY_ACCEPT_H_
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define EDKII_MEMORY_ACCEPT_PROTOCOL_GUID \
 | 
				
			||||||
 | 
					  { 0x38c74800, 0x5590, 0x4db4, { 0xa0, 0xf3, 0x67, 0x5d, 0x9b, 0x8e, 0x80, 0x26 } };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct _EDKII_MEMORY_ACCEPT_PROTOCOL EDKII_MEMORY_ACCEPT_PROTOCOL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  @param This                   A pointer to a EDKII_MEMORY_ACCEPT_PROTOCOL.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
 | 
					typedef
 | 
				
			||||||
 | 
					EFI_STATUS
 | 
				
			||||||
 | 
					(EFIAPI *EDKII_ACCEPT_MEMORY)(
 | 
				
			||||||
 | 
					  IN  EDKII_MEMORY_ACCEPT_PROTOCOL  *This,
 | 
				
			||||||
 | 
					  IN  EFI_PHYSICAL_ADDRESS          StartAddress,
 | 
				
			||||||
 | 
					  IN  UINTN                         Size
 | 
				
			||||||
 | 
					  );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					///
 | 
				
			||||||
 | 
					/// The EDKII_MEMORY_ACCEPT_PROTOCOL provides the ability for memory services
 | 
				
			||||||
 | 
					/// to accept memory.
 | 
				
			||||||
 | 
					///
 | 
				
			||||||
 | 
					struct _EDKII_MEMORY_ACCEPT_PROTOCOL {
 | 
				
			||||||
 | 
					  EDKII_ACCEPT_MEMORY    AcceptMemory;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					extern EFI_GUID  gEdkiiMemoryAcceptProtocolGuid;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
@@ -1023,6 +1023,9 @@
 | 
				
			|||||||
  gEfiPeiDelayedDispatchPpiGuid  = { 0x869c711d, 0x649c, 0x44fe, { 0x8b, 0x9e, 0x2c, 0xbb, 0x29, 0x11, 0xc3, 0xe6 }}
 | 
					  gEfiPeiDelayedDispatchPpiGuid  = { 0x869c711d, 0x649c, 0x44fe, { 0x8b, 0x9e, 0x2c, 0xbb, 0x29, 0x11, 0xc3, 0xe6 }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Protocols]
 | 
					[Protocols]
 | 
				
			||||||
 | 
					  ## Include/Protocol/MemoryAccept.h
 | 
				
			||||||
 | 
					  gEdkiiMemoryAcceptProtocolGuid = { 0x38c74800, 0x5590, 0x4db4, { 0xa0, 0xf3, 0x67, 0x5d, 0x9b, 0x8e, 0x80, 0x26 }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ## Include/Protocol/Pcd.h
 | 
					  ## Include/Protocol/Pcd.h
 | 
				
			||||||
  gPcdProtocolGuid               = { 0x11B34006, 0xD85B, 0x4D0A, { 0xA2, 0x90, 0xD5, 0xA5, 0x71, 0x31, 0x0E, 0xF7 }}
 | 
					  gPcdProtocolGuid               = { 0x11B34006, 0xD85B, 0x4D0A, { 0xA2, 0x90, 0xD5, 0xA5, 0x71, 0x31, 0x0E, 0xF7 }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user