QemuQ35Pkg: Use the Standalone MM shared crypto driver

Updates Standalone MM modules to use the `BaseCryptLibOnProtocolPpi/StandaloneMmCryptLib.inf`
instance of `BaseCryptLib`. This will allow those modules to use the `gEdkiiSmmCryptoProtocolGuid`
protocol instance published by the Standalone MM crypto binary.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
This commit is contained in:
Michael Kubacki 2024-01-17 20:55:55 -05:00
Родитель d5815a1c12
Коммит 4d3c861e04
3 изменённых файлов: 25 добавлений и 4 удалений

1
Cargo.lock сгенерированный
Просмотреть файл

@ -33,7 +33,6 @@ name = "RustAdvancedLoggerDxe"
version = "0.1.0"
dependencies = [
"r-efi",
"spin",
]
[[package]]

Просмотреть файл

@ -51,9 +51,11 @@
PEI_CRYPTO_SERVICES = TINY_SHA
DXE_CRYPTO_SERVICES = STANDARD
SMM_CRYPTO_SERVICES = STANDARD
STANDALONEMM_CRYPTO_SERVICES = STANDARD
PEI_CRYPTO_ARCH = IA32
DXE_CRYPTO_ARCH = X64
SMM_CRYPTO_ARCH = X64
STANDALONEMM_CRYPTO_ARCH = X64
!endif
################################################################################
@ -356,6 +358,17 @@
<PcdsFixedAtBuild>
!include CryptoPkg/Driver/Bin/Crypto.pcd.STANDARD.inc.dsc
}
CryptoPkg/Driver/CryptoStandaloneMm.inf {
<LibraryClasses>
BaseCryptLib |CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
TlsLib |CryptoPkg/Library/TlsLibNull/TlsLibNull.inf
OpensslLib |CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf
IntrinsicLib |CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
FltUsedLib |MdePkg/Library/FltUsedLib/FltUsedLib.inf
SafeIntLib |MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
<PcdsFixedAtBuild>
!include CryptoPkg/Driver/Bin/Crypto.pcd.STANDARD.inc.dsc
}
!endif
[LibraryClasses]
@ -576,8 +589,7 @@
ReportStatusCodeLib|MdeModulePkg/Library/SmmReportStatusCodeLib/StandaloneMmReportStatusCodeLib.inf
HwResetSystemLib|QemuQ35Pkg/Library/ResetSystemLib/StandaloneMmResetSystemLib.inf
StandaloneMmDriverEntryPoint|MmSupervisorPkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.inf
# TODO: ShareCrypto support
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
BaseCryptLib|CryptoPkg/Library/BaseCryptLibOnProtocolPpi/StandaloneMmCryptLib.inf
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf
IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
AdvLoggerAccessLib|AdvLoggerPkg/Library/AdvLoggerMmAccessLib/AdvLoggerMmAccessLib.inf

Просмотреть файл

@ -276,7 +276,7 @@ INF OemPkg/OemConfigPolicyCreatorPei/OemConfigPolicyCreatorPei.inf
# Shared Crypto
!if $(ENABLE_SHARED_CRYPTO) == TRUE
!include CryptoPkg/Driver/Bin/CryptoDriver.BOOTBLOCK.inc.fdf
!include CryptoPkg/Driver/Bin/CryptoDriver.PEI.inc.fdf
!else
INF CryptoPkg/Driver/CryptoPei.inf
!endif
@ -525,9 +525,11 @@ INF MsCorePkg/AcpiRGRT/AcpiRgrt.inf
#SHARED_CRYPTO Crypto Bin Modules
!if $(ENABLE_SHARED_CRYPTO) == TRUE
!include CryptoPkg/Driver/Bin/CryptoDriver.DXE.inc.fdf
!include CryptoPkg/Driver/Bin/CryptoDriver.STANDALONEMM.inc.fdf
!else
INF CryptoPkg/Driver/CryptoDxe.inf
INF CryptoPkg/Driver/CryptoSmm.inf
INF CryptoPkg/Driver/CryptoStandaloneMm.inf
!endif
!if $(BUILD_UNIT_TESTS) == TRUE
@ -738,6 +740,14 @@ FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
}
[Rule.Common.MM_STANDALONE.BINARY]
FILE MM_STANDALONE = $(NAMED_GUID) {
SMM_DEPEX SMM_DEPEX Optional |.depex
PE32 PE32 |.efi
UI STRING="$(MODULE_NAME)" Optional
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
}
[Rule.Common.UEFI_APPLICATION]
FILE APPLICATION = $(NAMED_GUID) {
PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi