QemuFwCfgSimpleParserLib|OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf\r
VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf\r
LoadLinuxLib|OvmfPkg/Library/LoadLinuxLib/LoadLinuxLib.inf\r
- MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/BaseMemEncryptSevLib.inf\r
+ MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/DxeMemEncryptSevLib.inf\r
LockBoxLib|OvmfPkg/Library/LockBoxLib/LockBoxBaseLib.inf\r
CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf\r
FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf\r
Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf\r
!endif\r
\r
+ MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/PeiMemEncryptSevLib.inf\r
+\r
[LibraryClasses.common.DXE_CORE]\r
HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf\r
DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf\r
QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/BaseQemuFwCfgS3LibNull.inf\r
BhyveFwCtlLib|OvmfPkg/Library/BhyveFwCtlLib/BhyveFwCtlLib.inf\r
VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf\r
- MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/BaseMemEncryptSevLib.inf\r
+ MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/DxeMemEncryptSevLib.inf\r
LockBoxLib|OvmfPkg/Library/LockBoxLib/LockBoxBaseLib.inf\r
\r
CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf\r
Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf\r
!endif\r
\r
+ MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/PeiMemEncryptSevLib.inf\r
+\r
[LibraryClasses.common.DXE_CORE]\r
HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf\r
DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf\r
OUT UINTN *BaseAddress,\r
OUT UINTN *NumberOfPages\r
);\r
+\r
+/**\r
+ Returns the SEV encryption mask.\r
+\r
+ @return The SEV pagetable encryption mask\r
+**/\r
+UINT64\r
+EFIAPI\r
+MemEncryptSevGetEncryptionMask (\r
+ VOID\r
+ );\r
+\r
#endif // _MEM_ENCRYPT_SEV_LIB_H_\r
+++ /dev/null
-## @file\r
-# Library provides the helper functions for SEV guest\r
-#\r
-# Copyright (c) 2017 Advanced Micro Devices. All rights reserved.<BR>\r
-#\r
-# SPDX-License-Identifier: BSD-2-Clause-Patent\r
-#\r
-#\r
-##\r
-\r
-[Defines]\r
- INF_VERSION = 1.25\r
- BASE_NAME = MemEncryptSevLib\r
- FILE_GUID = c1594631-3888-4be4-949f-9c630dbc842b\r
- MODULE_TYPE = BASE\r
- VERSION_STRING = 1.0\r
- LIBRARY_CLASS = MemEncryptSevLib|PEIM DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_DRIVER\r
-\r
-#\r
-# The following information is for reference only and not required by the build\r
-# tools.\r
-#\r
-# VALID_ARCHITECTURES = IA32 X64\r
-#\r
-\r
-[Packages]\r
- MdeModulePkg/MdeModulePkg.dec\r
- MdePkg/MdePkg.dec\r
- OvmfPkg/OvmfPkg.dec\r
- UefiCpuPkg/UefiCpuPkg.dec\r
-\r
-[Sources.X64]\r
- MemEncryptSevLibInternal.c\r
- X64/MemEncryptSevLib.c\r
- X64/VirtualMemory.c\r
- X64/VirtualMemory.h\r
-\r
-[Sources.IA32]\r
- Ia32/MemEncryptSevLib.c\r
- MemEncryptSevLibInternal.c\r
-\r
-[LibraryClasses]\r
- BaseLib\r
- CacheMaintenanceLib\r
- CpuLib\r
- DebugLib\r
- MemoryAllocationLib\r
- PcdLib\r
-\r
-[FeaturePcd]\r
- gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire\r
--- /dev/null
+## @file\r
+# Library provides the helper functions for SEV guest\r
+#\r
+# Copyright (c) 2017 - 2020, Advanced Micro Devices. All rights reserved.<BR>\r
+#\r
+# SPDX-License-Identifier: BSD-2-Clause-Patent\r
+#\r
+#\r
+##\r
+\r
+[Defines]\r
+ INF_VERSION = 1.25\r
+ BASE_NAME = DxeMemEncryptSevLib\r
+ FILE_GUID = c1594631-3888-4be4-949f-9c630dbc842b\r
+ MODULE_TYPE = BASE\r
+ VERSION_STRING = 1.0\r
+ LIBRARY_CLASS = MemEncryptSevLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_DRIVER\r
+\r
+#\r
+# The following information is for reference only and not required by the build\r
+# tools.\r
+#\r
+# VALID_ARCHITECTURES = IA32 X64\r
+#\r
+\r
+[Packages]\r
+ MdeModulePkg/MdeModulePkg.dec\r
+ MdePkg/MdePkg.dec\r
+ OvmfPkg/OvmfPkg.dec\r
+ UefiCpuPkg/UefiCpuPkg.dec\r
+\r
+[Sources]\r
+ DxeMemEncryptSevLibInternal.c\r
+ MemEncryptSevLibInternal.c\r
+\r
+[Sources.X64]\r
+ X64/MemEncryptSevLib.c\r
+ X64/VirtualMemory.c\r
+ X64/VirtualMemory.h\r
+\r
+[Sources.IA32]\r
+ Ia32/MemEncryptSevLib.c\r
+\r
+[LibraryClasses]\r
+ BaseLib\r
+ CacheMaintenanceLib\r
+ CpuLib\r
+ DebugLib\r
+ MemoryAllocationLib\r
+ PcdLib\r
+\r
+[FeaturePcd]\r
+ gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire\r
+\r
+[Pcd]\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask\r
--- /dev/null
+/** @file\r
+\r
+ Secure Encrypted Virtualization (SEV) library helper function\r
+\r
+ Copyright (c) 2017 - 2020, AMD Incorporated. All rights reserved.<BR>\r
+\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+**/\r
+\r
+#include <Library/BaseLib.h>\r
+#include <Library/DebugLib.h>\r
+#include <Library/MemEncryptSevLib.h>\r
+#include <Library/PcdLib.h>\r
+#include <Register/Amd/Cpuid.h>\r
+#include <Register/Amd/Msr.h>\r
+#include <Register/Cpuid.h>\r
+#include <Uefi/UefiBaseType.h>\r
+\r
+STATIC BOOLEAN mSevStatus = FALSE;\r
+STATIC BOOLEAN mSevEsStatus = FALSE;\r
+STATIC BOOLEAN mSevStatusChecked = FALSE;\r
+\r
+STATIC UINT64 mSevEncryptionMask = 0;\r
+STATIC BOOLEAN mSevEncryptionMaskSaved = FALSE;\r
+\r
+/**\r
+ Reads and sets the status of SEV features.\r
+\r
+ **/\r
+STATIC\r
+VOID\r
+EFIAPI\r
+InternalMemEncryptSevStatus (\r
+ VOID\r
+ )\r
+{\r
+ UINT32 RegEax;\r
+ MSR_SEV_STATUS_REGISTER Msr;\r
+ CPUID_MEMORY_ENCRYPTION_INFO_EAX Eax;\r
+ BOOLEAN ReadSevMsr;\r
+ UINT64 EncryptionMask;\r
+\r
+ ReadSevMsr = FALSE;\r
+\r
+ EncryptionMask = PcdGet64 (PcdPteMemoryEncryptionAddressOrMask);\r
+ if (EncryptionMask != 0) {\r
+ //\r
+ // The MSR has been read before, so it is safe to read it again and avoid\r
+ // having to validate the CPUID information.\r
+ //\r
+ ReadSevMsr = TRUE;\r
+ } else {\r
+ //\r
+ // Check if memory encryption leaf exist\r
+ //\r
+ AsmCpuid (CPUID_EXTENDED_FUNCTION, &RegEax, NULL, NULL, NULL);\r
+ if (RegEax >= CPUID_MEMORY_ENCRYPTION_INFO) {\r
+ //\r
+ // CPUID Fn8000_001F[EAX] Bit 1 (Sev supported)\r
+ //\r
+ AsmCpuid (CPUID_MEMORY_ENCRYPTION_INFO, &Eax.Uint32, NULL, NULL, NULL);\r
+\r
+ if (Eax.Bits.SevBit) {\r
+ ReadSevMsr = TRUE;\r
+ }\r
+ }\r
+ }\r
+\r
+ if (ReadSevMsr) {\r
+ //\r
+ // Check MSR_0xC0010131 Bit 0 (Sev Enabled)\r
+ //\r
+ Msr.Uint32 = AsmReadMsr32 (MSR_SEV_STATUS);\r
+ if (Msr.Bits.SevBit) {\r
+ mSevStatus = TRUE;\r
+ }\r
+\r
+ //\r
+ // Check MSR_0xC0010131 Bit 1 (Sev-Es Enabled)\r
+ //\r
+ if (Msr.Bits.SevEsBit) {\r
+ mSevEsStatus = TRUE;\r
+ }\r
+ }\r
+\r
+ mSevStatusChecked = TRUE;\r
+}\r
+\r
+/**\r
+ Returns a boolean to indicate whether SEV-ES is enabled.\r
+\r
+ @retval TRUE SEV-ES is enabled\r
+ @retval FALSE SEV-ES is not enabled\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+MemEncryptSevEsIsEnabled (\r
+ VOID\r
+ )\r
+{\r
+ if (!mSevStatusChecked) {\r
+ InternalMemEncryptSevStatus ();\r
+ }\r
+\r
+ return mSevEsStatus;\r
+}\r
+\r
+/**\r
+ Returns a boolean to indicate whether SEV is enabled.\r
+\r
+ @retval TRUE SEV is enabled\r
+ @retval FALSE SEV is not enabled\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+MemEncryptSevIsEnabled (\r
+ VOID\r
+ )\r
+{\r
+ if (!mSevStatusChecked) {\r
+ InternalMemEncryptSevStatus ();\r
+ }\r
+\r
+ return mSevStatus;\r
+}\r
+\r
+/**\r
+ Returns the SEV encryption mask.\r
+\r
+ @return The SEV pagtable encryption mask\r
+**/\r
+UINT64\r
+EFIAPI\r
+MemEncryptSevGetEncryptionMask (\r
+ VOID\r
+ )\r
+{\r
+ if (!mSevEncryptionMaskSaved) {\r
+ mSevEncryptionMask = PcdGet64 (PcdPteMemoryEncryptionAddressOrMask);\r
+ mSevEncryptionMaskSaved = TRUE;\r
+ }\r
+\r
+ return mSevEncryptionMask;\r
+}\r
\r
Secure Encrypted Virtualization (SEV) library helper function\r
\r
- Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>\r
+ Copyright (c) 2017 - 2020, AMD Incorporated. All rights reserved.<BR>\r
\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
#include <Library/DebugLib.h>\r
#include <Library/MemEncryptSevLib.h>\r
#include <Library/PcdLib.h>\r
-#include <Register/Amd/Cpuid.h>\r
-#include <Register/Amd/Msr.h>\r
-#include <Register/Cpuid.h>\r
#include <Register/QemuSmramSaveStateMap.h>\r
#include <Register/SmramSaveStateMap.h>\r
#include <Uefi/UefiBaseType.h>\r
\r
-STATIC BOOLEAN mSevStatus = FALSE;\r
-STATIC BOOLEAN mSevEsStatus = FALSE;\r
-STATIC BOOLEAN mSevStatusChecked = FALSE;\r
-\r
-/**\r
- Reads and sets the status of SEV features.\r
-\r
- **/\r
-STATIC\r
-VOID\r
-EFIAPI\r
-InternalMemEncryptSevStatus (\r
- VOID\r
- )\r
-{\r
- UINT32 RegEax;\r
- MSR_SEV_STATUS_REGISTER Msr;\r
- CPUID_MEMORY_ENCRYPTION_INFO_EAX Eax;\r
-\r
- //\r
- // Check if memory encryption leaf exist\r
- //\r
- AsmCpuid (CPUID_EXTENDED_FUNCTION, &RegEax, NULL, NULL, NULL);\r
- if (RegEax >= CPUID_MEMORY_ENCRYPTION_INFO) {\r
- //\r
- // CPUID Fn8000_001F[EAX] Bit 1 (Sev supported)\r
- //\r
- AsmCpuid (CPUID_MEMORY_ENCRYPTION_INFO, &Eax.Uint32, NULL, NULL, NULL);\r
-\r
- if (Eax.Bits.SevBit) {\r
- //\r
- // Check MSR_0xC0010131 Bit 0 (Sev Enabled)\r
- //\r
- Msr.Uint32 = AsmReadMsr32 (MSR_SEV_STATUS);\r
- if (Msr.Bits.SevBit) {\r
- mSevStatus = TRUE;\r
- }\r
-\r
- //\r
- // Check MSR_0xC0010131 Bit 1 (Sev-Es Enabled)\r
- //\r
- if (Msr.Bits.SevEsBit) {\r
- mSevEsStatus = TRUE;\r
- }\r
- }\r
- }\r
-\r
- mSevStatusChecked = TRUE;\r
-}\r
-\r
-/**\r
- Returns a boolean to indicate whether SEV-ES is enabled.\r
-\r
- @retval TRUE SEV-ES is enabled\r
- @retval FALSE SEV-ES is not enabled\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-MemEncryptSevEsIsEnabled (\r
- VOID\r
- )\r
-{\r
- if (!mSevStatusChecked) {\r
- InternalMemEncryptSevStatus ();\r
- }\r
-\r
- return mSevEsStatus;\r
-}\r
-\r
-/**\r
- Returns a boolean to indicate whether SEV is enabled.\r
-\r
- @retval TRUE SEV is enabled\r
- @retval FALSE SEV is not enabled\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-MemEncryptSevIsEnabled (\r
- VOID\r
- )\r
-{\r
- if (!mSevStatusChecked) {\r
- InternalMemEncryptSevStatus ();\r
- }\r
-\r
- return mSevStatus;\r
-}\r
-\r
-\r
/**\r
Locate the page range that covers the initial (pre-SMBASE-relocation) SMRAM\r
Save State Map.\r
--- /dev/null
+## @file\r
+# Library provides the helper functions for SEV guest\r
+#\r
+# Copyright (c) 2020 Advanced Micro Devices. All rights reserved.<BR>\r
+#\r
+# SPDX-License-Identifier: BSD-2-Clause-Patent\r
+#\r
+#\r
+##\r
+\r
+[Defines]\r
+ INF_VERSION = 1.25\r
+ BASE_NAME = PeiMemEncryptSevLib\r
+ FILE_GUID = 15d9a694-3d2a-4184-9672-ba55c3070e07\r
+ MODULE_TYPE = BASE\r
+ VERSION_STRING = 1.0\r
+ LIBRARY_CLASS = MemEncryptSevLib|PEIM\r
+\r
+#\r
+# The following information is for reference only and not required by the build\r
+# tools.\r
+#\r
+# VALID_ARCHITECTURES = IA32 X64\r
+#\r
+\r
+[Packages]\r
+ MdeModulePkg/MdeModulePkg.dec\r
+ MdePkg/MdePkg.dec\r
+ OvmfPkg/OvmfPkg.dec\r
+ UefiCpuPkg/UefiCpuPkg.dec\r
+\r
+[Sources]\r
+ MemEncryptSevLibInternal.c\r
+ PeiMemEncryptSevLibInternal.c\r
+\r
+[Sources.X64]\r
+ X64/MemEncryptSevLib.c\r
+ X64/VirtualMemory.c\r
+ X64/VirtualMemory.h\r
+\r
+[Sources.IA32]\r
+ Ia32/MemEncryptSevLib.c\r
+\r
+[LibraryClasses]\r
+ BaseLib\r
+ CacheMaintenanceLib\r
+ CpuLib\r
+ DebugLib\r
+ MemoryAllocationLib\r
+ PcdLib\r
+\r
+[FeaturePcd]\r
+ gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire\r
+\r
+[FixedPcd]\r
+ gUefiCpuPkgTokenSpaceGuid.PcdSevEsWorkAreaBase\r
--- /dev/null
+/** @file\r
+\r
+ Secure Encrypted Virtualization (SEV) library helper function\r
+\r
+ Copyright (c) 2020, AMD Incorporated. All rights reserved.<BR>\r
+\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+**/\r
+\r
+#include <Library/BaseLib.h>\r
+#include <Library/DebugLib.h>\r
+#include <Library/MemEncryptSevLib.h>\r
+#include <Library/PcdLib.h>\r
+#include <Register/Amd/Cpuid.h>\r
+#include <Register/Amd/Msr.h>\r
+#include <Register/Cpuid.h>\r
+#include <Uefi/UefiBaseType.h>\r
+\r
+STATIC BOOLEAN mSevStatus = FALSE;\r
+STATIC BOOLEAN mSevEsStatus = FALSE;\r
+STATIC BOOLEAN mSevStatusChecked = FALSE;\r
+\r
+STATIC UINT64 mSevEncryptionMask = 0;\r
+STATIC BOOLEAN mSevEncryptionMaskSaved = FALSE;\r
+\r
+/**\r
+ Reads and sets the status of SEV features.\r
+\r
+ **/\r
+STATIC\r
+VOID\r
+EFIAPI\r
+InternalMemEncryptSevStatus (\r
+ VOID\r
+ )\r
+{\r
+ UINT32 RegEax;\r
+ MSR_SEV_STATUS_REGISTER Msr;\r
+ CPUID_MEMORY_ENCRYPTION_INFO_EAX Eax;\r
+ BOOLEAN ReadSevMsr;\r
+ SEC_SEV_ES_WORK_AREA *SevEsWorkArea;\r
+\r
+ ReadSevMsr = FALSE;\r
+\r
+ SevEsWorkArea = (SEC_SEV_ES_WORK_AREA *) FixedPcdGet32 (PcdSevEsWorkAreaBase);\r
+ if (SevEsWorkArea != NULL && SevEsWorkArea->EncryptionMask != 0) {\r
+ //\r
+ // The MSR has been read before, so it is safe to read it again and avoid\r
+ // having to validate the CPUID information.\r
+ //\r
+ ReadSevMsr = TRUE;\r
+ } else {\r
+ //\r
+ // Check if memory encryption leaf exist\r
+ //\r
+ AsmCpuid (CPUID_EXTENDED_FUNCTION, &RegEax, NULL, NULL, NULL);\r
+ if (RegEax >= CPUID_MEMORY_ENCRYPTION_INFO) {\r
+ //\r
+ // CPUID Fn8000_001F[EAX] Bit 1 (Sev supported)\r
+ //\r
+ AsmCpuid (CPUID_MEMORY_ENCRYPTION_INFO, &Eax.Uint32, NULL, NULL, NULL);\r
+\r
+ if (Eax.Bits.SevBit) {\r
+ ReadSevMsr = TRUE;\r
+ }\r
+ }\r
+ }\r
+\r
+ if (ReadSevMsr) {\r
+ //\r
+ // Check MSR_0xC0010131 Bit 0 (Sev Enabled)\r
+ //\r
+ Msr.Uint32 = AsmReadMsr32 (MSR_SEV_STATUS);\r
+ if (Msr.Bits.SevBit) {\r
+ mSevStatus = TRUE;\r
+ }\r
+\r
+ //\r
+ // Check MSR_0xC0010131 Bit 1 (Sev-Es Enabled)\r
+ //\r
+ if (Msr.Bits.SevEsBit) {\r
+ mSevEsStatus = TRUE;\r
+ }\r
+ }\r
+\r
+ mSevStatusChecked = TRUE;\r
+}\r
+\r
+/**\r
+ Returns a boolean to indicate whether SEV-ES is enabled.\r
+\r
+ @retval TRUE SEV-ES is enabled\r
+ @retval FALSE SEV-ES is not enabled\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+MemEncryptSevEsIsEnabled (\r
+ VOID\r
+ )\r
+{\r
+ if (!mSevStatusChecked) {\r
+ InternalMemEncryptSevStatus ();\r
+ }\r
+\r
+ return mSevEsStatus;\r
+}\r
+\r
+/**\r
+ Returns a boolean to indicate whether SEV is enabled.\r
+\r
+ @retval TRUE SEV is enabled\r
+ @retval FALSE SEV is not enabled\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+MemEncryptSevIsEnabled (\r
+ VOID\r
+ )\r
+{\r
+ if (!mSevStatusChecked) {\r
+ InternalMemEncryptSevStatus ();\r
+ }\r
+\r
+ return mSevStatus;\r
+}\r
+\r
+/**\r
+ Returns the SEV encryption mask.\r
+\r
+ @return The SEV pagtable encryption mask\r
+**/\r
+UINT64\r
+EFIAPI\r
+MemEncryptSevGetEncryptionMask (\r
+ VOID\r
+ )\r
+{\r
+ if (!mSevEncryptionMaskSaved) {\r
+ SEC_SEV_ES_WORK_AREA *SevEsWorkArea;\r
+\r
+ SevEsWorkArea = (SEC_SEV_ES_WORK_AREA *) FixedPcdGet32 (PcdSevEsWorkAreaBase);\r
+ if (SevEsWorkArea != NULL) {\r
+ mSevEncryptionMask = SevEsWorkArea->EncryptionMask;\r
+ } else {\r
+ CPUID_MEMORY_ENCRYPTION_INFO_EBX Ebx;\r
+\r
+ //\r
+ // CPUID Fn8000_001F[EBX] Bit 0:5 (memory encryption bit position)\r
+ //\r
+ AsmCpuid (CPUID_MEMORY_ENCRYPTION_INFO, NULL, &Ebx.Uint32, NULL, NULL);\r
+ mSevEncryptionMask = LShiftU64 (1, Ebx.Bits.PtePosBits);\r
+ }\r
+\r
+ mSevEncryptionMaskSaved = TRUE;\r
+ }\r
+\r
+ return mSevEncryptionMask;\r
+}\r
QemuFwCfgSimpleParserLib|OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf\r
VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf\r
LoadLinuxLib|OvmfPkg/Library/LoadLinuxLib/LoadLinuxLib.inf\r
- MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/BaseMemEncryptSevLib.inf\r
+ MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/DxeMemEncryptSevLib.inf\r
!if $(SMM_REQUIRE) == FALSE\r
LockBoxLib|OvmfPkg/Library/LockBoxLib/LockBoxBaseLib.inf\r
!endif\r
Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf\r
!endif\r
\r
+ MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/PeiMemEncryptSevLib.inf\r
+\r
[LibraryClasses.common.DXE_CORE]\r
HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf\r
DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf\r
QemuFwCfgSimpleParserLib|OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf\r
VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf\r
LoadLinuxLib|OvmfPkg/Library/LoadLinuxLib/LoadLinuxLib.inf\r
- MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/BaseMemEncryptSevLib.inf\r
+ MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/DxeMemEncryptSevLib.inf\r
!if $(SMM_REQUIRE) == FALSE\r
LockBoxLib|OvmfPkg/Library/LockBoxLib/LockBoxBaseLib.inf\r
!endif\r
Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf\r
!endif\r
\r
+ MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/PeiMemEncryptSevLib.inf\r
+\r
[LibraryClasses.common.DXE_CORE]\r
HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf\r
DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf\r
QemuFwCfgSimpleParserLib|OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf\r
VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf\r
LoadLinuxLib|OvmfPkg/Library/LoadLinuxLib/LoadLinuxLib.inf\r
- MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/BaseMemEncryptSevLib.inf\r
+ MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/DxeMemEncryptSevLib.inf\r
!if $(SMM_REQUIRE) == FALSE\r
LockBoxLib|OvmfPkg/Library/LockBoxLib/LockBoxBaseLib.inf\r
!endif\r
Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf\r
!endif\r
\r
+ MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/PeiMemEncryptSevLib.inf\r
+\r
[LibraryClasses.common.DXE_CORE]\r
HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf\r
DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf\r
SerializeVariablesLib|OvmfPkg/Library/SerializeVariablesLib/SerializeVariablesLib.inf\r
QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgDxeLib.inf\r
QemuLoadImageLib|OvmfPkg/Library/GenericQemuLoadImageLib/GenericQemuLoadImageLib.inf\r
- MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/BaseMemEncryptSevLib.inf\r
+ MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/DxeMemEncryptSevLib.inf\r
LockBoxLib|OvmfPkg/Library/LockBoxLib/LockBoxBaseLib.inf\r
CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf\r
FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf\r
QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/PeiQemuFwCfgS3LibFwCfg.inf\r
PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf\r
QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgPeiLib.inf\r
+ MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/PeiMemEncryptSevLib.inf\r
\r
[LibraryClasses.common.DXE_CORE]\r
HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf\r