#include <Guid/ConfidentialComputingSevSnpBlob.h>\r
#include <Library/PcdLib.h>\r
#include <Pi/PrePiDxeCis.h>\r
+#include <Protocol/SevMemoryAcceptance.h>\r
#include <Protocol/MemoryAccept.h>\r
\r
STATIC CONFIDENTIAL_COMPUTING_SNP_BLOB_LOCATION mSnpBootDxeTable = {\r
ASSERT_EFI_ERROR (Status);\r
}\r
\r
+STATIC\r
+EFI_STATUS\r
+EFIAPI\r
+AllowUnacceptedMemory (\r
+ IN OVMF_SEV_MEMORY_ACCEPTANCE_PROTOCOL *This\r
+ )\r
+{\r
+ mAcceptAllMemoryAtEBS = FALSE;\r
+ return EFI_SUCCESS;\r
+}\r
+\r
+STATIC\r
+OVMF_SEV_MEMORY_ACCEPTANCE_PROTOCOL\r
+ mMemoryAcceptanceProtocol = { AllowUnacceptedMemory };\r
+\r
STATIC EDKII_MEMORY_ACCEPT_PROTOCOL mMemoryAcceptProtocol = {\r
AmdSevMemoryAccept\r
};\r
// Memory acceptance began being required in SEV-SNP, so install the\r
// memory accept protocol implementation for a SEV-SNP active guest.\r
//\r
- Status = gBS->InstallProtocolInterface (\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
&mAmdSevDxeHandle,\r
&gEdkiiMemoryAcceptProtocolGuid,\r
- EFI_NATIVE_INTERFACE,\r
- &mMemoryAcceptProtocol\r
+ &mMemoryAcceptProtocol,\r
+ &gOvmfSevMemoryAcceptanceProtocolGuid,\r
+ &mMemoryAcceptanceProtocol,\r
+ NULL\r
);\r
ASSERT_EFI_ERROR (Status);\r
\r