diff --git a/Common/MU_TIANO b/Common/MU_TIANO index ddba63131..a11e1b054 160000 --- a/Common/MU_TIANO +++ b/Common/MU_TIANO @@ -1 +1 @@ -Subproject commit ddba63131cd20ca9422dca3f11a15b46b982f620 +Subproject commit a11e1b0548bc8cb68214c6df8918d1bfa9ed32c5 diff --git a/Features/MM_SUPV b/Features/MM_SUPV index ec90ee9a4..e0c16a869 160000 --- a/Features/MM_SUPV +++ b/Features/MM_SUPV @@ -1 +1 @@ -Subproject commit ec90ee9a408948c5051995777fdc340fa4e33b68 +Subproject commit e0c16a86900a7a467067354b966c503e19bb034a diff --git a/MU_BASECORE b/MU_BASECORE index cc6cf6f10..d77131a0e 160000 --- a/MU_BASECORE +++ b/MU_BASECORE @@ -1 +1 @@ -Subproject commit cc6cf6f10c3a6bc38354b44030704a9a0717d8b4 +Subproject commit d77131a0e26de78d9847a7a0bdfeca8d0993de87 diff --git a/Platforms/QemuQ35Pkg/Binaries/VariableRuntimeDxe.efi b/Platforms/QemuQ35Pkg/Binaries/VariableRuntimeDxe.efi new file mode 100644 index 000000000..cc0f9b575 Binary files /dev/null and b/Platforms/QemuQ35Pkg/Binaries/VariableRuntimeDxe.efi differ diff --git a/Platforms/QemuQ35Pkg/QemuQ35Pkg.dsc b/Platforms/QemuQ35Pkg/QemuQ35Pkg.dsc index 82fba0d04..4ba57310d 100644 --- a/Platforms/QemuQ35Pkg/QemuQ35Pkg.dsc +++ b/Platforms/QemuQ35Pkg/QemuQ35Pkg.dsc @@ -43,20 +43,14 @@ DEFINE NETWORK_HTTP_ENABLE = TRUE DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS = TRUE - # Configure Shared Crypto - !ifndef ENABLE_SHARED_CRYPTO # by default true - ENABLE_SHARED_CRYPTO = TRUE - !endif - !if $(ENABLE_SHARED_CRYPTO) == TRUE - 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 + + PEI_CRYPTO_SERVICES = TINY_SHA + DXE_CRYPTO_SERVICES = STANDARD + SMM_CRYPTO_SERVICES = NONE + STANDALONEMM_CRYPTO_SERVICES = STANDARD + PEI_CRYPTO_ARCH = IA32 + DXE_CRYPTO_ARCH = X64 + STANDALONEMM_CRYPTO_ARCH = X64 ################################################################################ # @@ -308,69 +302,6 @@ PlatformSmmProtectionsTestLib|UefiTestingPkg/Library/PlatformSmmProtectionsTestLibNull/PlatformSmmProtectionsTestLibNull.inf FmpDependencyLib|FmpDevicePkg/Library/FmpDependencyLib/FmpDependencyLib.inf -#SHARED_CRYPTO -!if $(ENABLE_SHARED_CRYPTO) == FALSE - [LibraryClasses.IA32] - BaseCryptLib|CryptoPkg/Library/BaseCryptLibOnProtocolPpi/PeiCryptLib.inf - TlsLib|CryptoPkg/Library/BaseCryptLibOnProtocolPpi/PeiCryptLib.inf - - [LibraryClasses.X64] - BaseCryptLib|CryptoPkg/Library/BaseCryptLibOnProtocolPpi/DxeCryptLib.inf - TlsLib|CryptoPkg/Library/BaseCryptLibOnProtocolPpi/DxeCryptLib.inf - - [LibraryClasses.X64.DXE_SMM_DRIVER] - BaseCryptLib|CryptoPkg/Library/BaseCryptLibOnProtocolPpi/SmmCryptLib.inf - TlsLib|CryptoPkg/Library/BaseCryptLibOnProtocolPpi/SmmCryptLib.inf - - [LibraryClasses.X64.MM_STANDALONE] - BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf - - [Components.IA32] - CryptoPkg/Driver/CryptoPei.inf { - - BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf - TlsLib|CryptoPkg/Library/TlsLibNull/TlsLibNull.inf - !if "MSFT" IN $(FAMILY) - NULL|MdePkg/Library/VsIntrinsicLib/VsIntrinsicLib.inf - !endif - IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf - OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf # Contains openSSL library used by BaseCryptoLib - - !include CryptoPkg/Driver/Bin/Crypto.pcd.TINY_SHA.inc.dsc - } - - [Components.X64] - CryptoPkg/Driver/CryptoDxe.inf { - - BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf - TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf - IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf - OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf # Contains openSSL library used by BaseCryptoLib - - !include CryptoPkg/Driver/Bin/Crypto.pcd.STANDARD.inc.dsc - } - CryptoPkg/Driver/CryptoSmm.inf { - - BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf - TlsLib|CryptoPkg/Library/TlsLibNull/TlsLibNull.inf - IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf - OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf # Contains openSSL library used by BaseCryptoLib - - !include CryptoPkg/Driver/Bin/Crypto.pcd.STANDARD.inc.dsc - } - CryptoPkg/Driver/CryptoStandaloneMm.inf { - - 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 - - !include CryptoPkg/Driver/Bin/Crypto.pcd.STANDARD.inc.dsc - } -!endif - [LibraryClasses] # Platform Runtime Mechanism (PRM) libraries PrmContextBufferLib|PrmPkg/Library/DxePrmContextBufferLib/DxePrmContextBufferLib.inf @@ -589,9 +520,6 @@ ReportStatusCodeLib|MdeModulePkg/Library/SmmReportStatusCodeLib/StandaloneMmReportStatusCodeLib.inf HwResetSystemLib|QemuQ35Pkg/Library/ResetSystemLib/StandaloneMmResetSystemLib.inf StandaloneMmDriverEntryPoint|MmSupervisorPkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.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 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibStandaloneMm.inf RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf @@ -924,10 +852,7 @@ # ################################################################################ [Components] -# Shared Crypto Include -!if $(ENABLE_SHARED_CRYPTO) == TRUE !include CryptoPkg/Driver/Bin/CryptoDriver.inc.dsc -!endif QemuQ35Pkg/Library/PeiFvMeasurementExclusionLib/PeiFvMeasurementExclusionLib.inf @@ -1387,18 +1312,6 @@ QemuQ35Pkg/Library/ResetSystemLib/StandaloneMmResetSystemLib.inf !if $(BUILD_UNIT_TESTS) == TRUE AdvLoggerPkg/UnitTests/LineParser/LineParserTestApp.inf - CryptoPkg/Test/UnitTest/Library/BaseCryptLib/BaseCryptLibUnitTestApp.inf { - - BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf - OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf # Contains openSSL library used by BaseCryptoLib - IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf - - #Turn off Halt on Assert and Print Assert so that libraries can - #be tested in more of a release mode environment - gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0E - - !include CryptoPkg/Test/Crypto.pcd.ALL.inc.dsc - } DfciPkg/UnitTests/DeviceIdTest/DeviceIdTestApp.inf # DfciPkg/UnitTests/DfciVarLockAudit/UEFI/DfciVarLockAuditTestApp.inf # DOESN'T PRODUCE OUTPUT FmpDevicePkg/Test/UnitTest/Library/FmpDependencyLib/FmpDependencyLibUnitTestApp.inf @@ -1504,10 +1417,10 @@ QemuQ35Pkg/Library/ResetSystemLib/StandaloneMmResetSystemLib.inf MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf { - BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf - TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf - IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf - OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf # Contains openSSL library used by BaseCryptoLib + # TODO: Replace with DxeRuntimeCryptLib. + # In the meantime, a pre-built VariableRuntimeDxe driver is used. + # Kept in the DSC to verify build during this time. + BaseCryptLib|CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf } # diff --git a/Platforms/QemuQ35Pkg/QemuQ35Pkg.fdf b/Platforms/QemuQ35Pkg/QemuQ35Pkg.fdf index 24e58ea3b..c820f865a 100644 --- a/Platforms/QemuQ35Pkg/QemuQ35Pkg.fdf +++ b/Platforms/QemuQ35Pkg/QemuQ35Pkg.fdf @@ -274,12 +274,7 @@ INF PolicyServicePkg/PolicyService/Pei/PolicyPei.inf INF QemuQ35Pkg/ConfigKnobs/ConfigKnobs.inf INF OemPkg/OemConfigPolicyCreatorPei/OemConfigPolicyCreatorPei.inf -# Shared Crypto -!if $(ENABLE_SHARED_CRYPTO) == TRUE - !include CryptoPkg/Driver/Bin/CryptoDriver.PEI.inc.fdf -!else - INF CryptoPkg/Driver/CryptoPei.inf -!endif +!include CryptoPkg/Driver/Bin/CryptoDriver.PEI.inc.fdf ################################################################################ @@ -474,7 +469,14 @@ INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableStandaloneMm.inf INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf !else INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf -INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf +# TODO: Remove pre-built VariableRuntimeDxe when DxeRuntimeCryptLib is integrated +# The pre-built driver has crypto statically linked. +# INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf +FILE DRIVER = CBD2E4D5-7068-4FF5-B462-9822B4AD8D60 { + SECTION PE32 = QemuQ35Pkg/Binaries/VariableRuntimeDxe.efi + SECTION DXE_DEPEX_EXP = {gEfiPcdProtocolGuid AND gEfiDevicePathUtilitiesProtocolGuid} + SECTION UI = "VariableRuntimeDxe" +} !endif # @@ -522,15 +524,8 @@ INF SecurityPkg/Hash2DxeCrypto/Hash2DxeCrypto.inf INF MsCorePkg/HelloWorldRustDxe/HelloWorldRustDxe.inf 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 +!include CryptoPkg/Driver/Bin/CryptoDriver.DXE.inc.fdf +!include CryptoPkg/Driver/Bin/CryptoDriver.STANDALONEMM.inc.fdf !if $(BUILD_UNIT_TESTS) == TRUE # INF UefiTestingPkg/FunctionalSystemTests/SmmPagingProtectionsTest/Smm/SmmPagingProtectionsTestStandaloneMm.inf # NOT YET SUPPORTED diff --git a/Platforms/QemuQ35Pkg/Test/QemuQ35PkgHostTest.dsc b/Platforms/QemuQ35Pkg/Test/QemuQ35PkgHostTest.dsc index fa97d7f54..3d769b744 100644 --- a/Platforms/QemuQ35Pkg/Test/QemuQ35PkgHostTest.dsc +++ b/Platforms/QemuQ35Pkg/Test/QemuQ35PkgHostTest.dsc @@ -66,8 +66,6 @@ ConfigVariableListLib|SetupDataPkg/Library/ConfigVariableListLib/ConfigVariableListLib.inf ConfigSystemModeLib|SetupDataPkg/Test/MockLibrary/MockConfigSystemModeLib/MockConfigSystemModeLib.inf ConfigKnobShimLib|SetupDataPkg/Library/ConfigKnobShimLib/ConfigKnobShimDxeLib/ConfigKnobShimDxeLib.inf - OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf - BaseCryptLib|CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf MmServicesTableLib|MdePkg/Library/MmServicesTableLib/MmServicesTableLib.inf SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf diff --git a/Platforms/QemuSbsaPkg/QemuSbsaPkg.ci.yaml b/Platforms/QemuSbsaPkg/QemuSbsaPkg.ci.yaml index 1e7cd89ff..ec1c95c01 100644 --- a/Platforms/QemuSbsaPkg/QemuSbsaPkg.ci.yaml +++ b/Platforms/QemuSbsaPkg/QemuSbsaPkg.ci.yaml @@ -143,7 +143,8 @@ "noclearmem", "unblank", "dmaivrs", - "nxcompat" + "nxcompat", + "standalonemm" ], # words to extend to the dictionary for this package "IgnoreStandardPaths": [], # Standard Plugin defined paths that should be ignore "AdditionalIncludePaths": [] # Additional paths to spell check (wildcards supported) diff --git a/Platforms/QemuSbsaPkg/QemuSbsaPkg.dsc b/Platforms/QemuSbsaPkg/QemuSbsaPkg.dsc index dcc70dc50..01d15a21d 100644 --- a/Platforms/QemuSbsaPkg/QemuSbsaPkg.dsc +++ b/Platforms/QemuSbsaPkg/QemuSbsaPkg.dsc @@ -46,21 +46,6 @@ # DEBUG_ERROR 0x80000000 // Error DEFINE DEBUG_PRINT_ERROR_LEVEL = 0x80080246 -!if $(TARGET) != NOOPT - DEFINE FD_SIZE_IN_MB = 2 -!else - DEFINE FD_SIZE_IN_MB = 3 -!endif - -!if $(FD_SIZE_IN_MB) == 2 - DEFINE FD_SIZE = 0x200000 - DEFINE FD_NUM_BLOCKS = 0x200 -!endif -!if $(FD_SIZE_IN_MB) == 3 - DEFINE FD_SIZE = 0x300000 - DEFINE FD_NUM_BLOCKS = 0x300 -!endif - # # Defines for default states. These can be changed on the command line. # -D FLAG=VALUE @@ -80,6 +65,14 @@ DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS = TRUE DEFINE NETWORK_ISCSI_ENABLE = FALSE + PEI_CRYPTO_SERVICES = TINY_SHA + DXE_CRYPTO_SERVICES = STANDARD + STANDALONEMM_CRYPTO_SERVICES = STANDARD + SMM_CRYPTO_SERVICES = NONE + PEI_CRYPTO_ARCH = AARCH64 + DXE_CRYPTO_ARCH = AARCH64 + STANDALONEMM_CRYPTO_ARCH = AARCH64 + !if $(NETWORK_SNP_ENABLE) == TRUE !error "NETWORK_SNP_ENABLE is IA32/X64/EBC only" !endif @@ -89,6 +82,7 @@ !include MdePkg/MdeLibs.dsc.inc [LibraryClasses.common] + BaseCryptLib|CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf BaseLib|MdePkg/Library/BaseLib/BaseLib.inf @@ -137,9 +131,6 @@ # Networking Requirements !include NetworkPkg/NetworkLibs.dsc.inc -!if $(NETWORK_TLS_ENABLE) == TRUE - TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf -!endif NonDiscoverableDeviceRegistrationLib|MdeModulePkg/Library/NonDiscoverableDeviceRegistrationLib/NonDiscoverableDeviceRegistrationLib.inf @@ -201,17 +192,7 @@ # USB Libraries UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf - # - # CryptoPkg libraries needed by multiple firmware features - # - IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf -!if $(NETWORK_TLS_ENABLE) == TRUE - OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFull.inf -!else - OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf -!endif - BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf - RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf + RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf ArmMonitorLib|ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.inf ArmTrngLib|ArmPkg/Library/ArmTrngLib/ArmTrngLib.inf Hash2CryptoLib|SecurityPkg/Library/BaseHash2CryptoLibNull/BaseHash2CryptoLibNull.inf @@ -437,7 +418,6 @@ PolicyLib |PolicyServicePkg/Library/PeiPolicyLib/PeiPolicyLib.inf !if $(TPM2_ENABLE) == TRUE - BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf !endif @@ -472,10 +452,6 @@ VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf ResetSystemLib|MdeModulePkg/Library/RuntimeResetSystemLib/RuntimeResetSystemLib.inf -!if $(SECURE_BOOT_ENABLE) == TRUE - BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf -!endif - [LibraryClasses.common.MM_CORE_STANDALONE] BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf @@ -495,9 +471,6 @@ HobLib|StandaloneMmPkg/Library/StandaloneMmHobLib/StandaloneMmHobLib.inf MmServicesTableLib|MdePkg/Library/StandaloneMmServicesTableLib/StandaloneMmServicesTableLib.inf MemoryAllocationLib|StandaloneMmPkg/Library/StandaloneMmMemoryAllocationLib/StandaloneMmMemoryAllocationLib.inf - BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf - IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf - OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFull.inf RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf @@ -904,6 +877,8 @@ # ################################################################################ [Components.common] + !include CryptoPkg/Driver/Bin/CryptoDriver.inc.dsc + # # PEI Phase modules # @@ -1223,16 +1198,6 @@ !if $(BUILD_UNIT_TESTS) == TRUE AdvLoggerPkg/UnitTests/LineParser/LineParserTestApp.inf - CryptoPkg/Test/UnitTest/Library/BaseCryptLib/BaseCryptLibUnitTestApp.inf { - - BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf - OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibFull.inf # Contains openSSL library used by BaseCryptoLib - IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf - - #Turn off Halt on Assert and Print Assert so that libraries can - #be tested in more of a release mode environment - gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0E - } DfciPkg/UnitTests/DeviceIdTest/DeviceIdTestApp.inf # DfciPkg/UnitTests/DfciVarLockAudit/UEFI/DfciVarLockAuditTestApp.inf # DOESN'T PRODUCE OUTPUT FmpDevicePkg/Test/UnitTest/Library/FmpDependencyLib/FmpDependencyLibUnitTestApp.inf diff --git a/Platforms/QemuSbsaPkg/QemuSbsaPkg.fdf b/Platforms/QemuSbsaPkg/QemuSbsaPkg.fdf index fb03d2c6c..6f18a5235 100644 --- a/Platforms/QemuSbsaPkg/QemuSbsaPkg.fdf +++ b/Platforms/QemuSbsaPkg/QemuSbsaPkg.fdf @@ -22,12 +22,7 @@ ################################################################################ [Defines] -!if $(FD_SIZE_IN_MB) == 2 - DEFINE FVMAIN_COMPACT_SIZE = 0x1ff000 -!endif -!if $(FD_SIZE_IN_MB) == 3 - DEFINE FVMAIN_COMPACT_SIZE = 0x2ff000 -!endif +DEFINE FVMAIN_COMPACT_SIZE = 0x2ff000 #=================================================================================== # SECURE_FLASH0 Layout @@ -160,16 +155,16 @@ FV = FV_STANDALONE_MM_COMPACT [FD.QEMU_EFI] BaseAddress = 0x10000000|gArmTokenSpaceGuid.PcdFdBaseAddress -Size = 0x002C0000|gArmTokenSpaceGuid.PcdFdSize +Size = 0x00300000|gArmTokenSpaceGuid.PcdFdSize ErasePolarity = 1 # This one is tricky, it must be: BlockSize * NumBlocks = Size BlockSize = 0x00001000 -NumBlocks = 0x2C0 +NumBlocks = 0x300 ## Place for EFI (BL33) # This offset (if any as it is 0x0 currently) + BaseAddress (0x10000000) must be set in PRELOADED_BL33_BASE at ATF -0x00000000|0x00200000 +0x00000000|$(FVMAIN_COMPACT_SIZE) gArmTokenSpaceGuid.PcdFvBaseAddress|gArmTokenSpaceGuid.PcdFvSize FV = FVMAIN_COMPACT @@ -223,6 +218,8 @@ READ_LOCK_STATUS = TRUE INF EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf + !include CryptoPkg/Driver/Bin/CryptoDriver.DXE.inc.fdf + # # Multiple Console IO support # @@ -491,6 +488,9 @@ READ_LOCK_STATUS = TRUE INF MsCorePkg/Core/GuidedSectionExtractPeim/GuidedSectionExtract.inf INF MsWheaPkg/MsWheaReport/Pei/MsWheaReportPei.inf INF OemPkg/DeviceStatePei/DeviceStatePei.inf + + !include CryptoPkg/Driver/Bin/CryptoDriver.PEI.inc.fdf + INF MfciPkg/MfciPei/MfciPei.inf INF PolicyServicePkg/PolicyService/Pei/PolicyPei.inf @@ -529,6 +529,7 @@ READ_LOCK_CAP = TRUE READ_LOCK_STATUS = TRUE INF StandaloneMmPkg/Core/StandaloneMmCore.inf + !include CryptoPkg/Driver/Bin/CryptoDriver.STANDALONEMM.inc.fdf INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteStandaloneMm.inf INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableStandaloneMm.inf INF QemuSbsaPkg/VirtNorFlashStandaloneMm/VirtNorFlashStandaloneMm.inf @@ -569,6 +570,22 @@ READ_LOCK_STATUS = TRUE PE32 PE32 Align = Auto $(INF_OUTPUT)/$(MODULE_NAME).efi } +[Rule.Common.PEIM.BINARY] + FILE PEIM = $(NAMED_GUID) { + PEI_DEPEX PEI_DEPEX Optional |.depex + PE32 PE32 Align = Auto |.efi + UI STRING="$(MODULE_NAME)" Optional + VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) + } + +[Rule.Common.DXE_DRIVER.BINARY] + FILE DRIVER = $(NAMED_GUID) { + DXE_DEPEX DXE_DEPEX Optional |.depex + PE32 PE32 |.efi + UI STRING="$(MODULE_NAME)" Optional + VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) + } + [Rule.Common.MM_STANDALONE] FILE MM_STANDALONE = $(NAMED_GUID) { SMM_DEPEX SMM_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex @@ -576,3 +593,11 @@ READ_LOCK_STATUS = TRUE UI STRING="$(MODULE_NAME)" Optional 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) + } diff --git a/Platforms/QemuSbsaPkg/Test/QemuSbsaPkgHostTest.dsc b/Platforms/QemuSbsaPkg/Test/QemuSbsaPkgHostTest.dsc index d9c7d454c..68ddb01e0 100644 --- a/Platforms/QemuSbsaPkg/Test/QemuSbsaPkgHostTest.dsc +++ b/Platforms/QemuSbsaPkg/Test/QemuSbsaPkgHostTest.dsc @@ -66,8 +66,6 @@ ConfigVariableListLib|SetupDataPkg/Library/ConfigVariableListLib/ConfigVariableListLib.inf ConfigSystemModeLib|SetupDataPkg/Test/MockLibrary/MockConfigSystemModeLib/MockConfigSystemModeLib.inf ConfigKnobShimLib|SetupDataPkg/Library/ConfigKnobShimLib/ConfigKnobShimDxeLib/ConfigKnobShimDxeLib.inf - OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf - BaseCryptLib|CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf MmServicesTableLib|MdePkg/Library/MmServicesTableLib/MmServicesTableLib.inf SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf