From f73f7b23184da815503b5e870faeb476b56096a2 Mon Sep 17 00:00:00 2001 From: Ard Biesheuvel Date: Thu, 29 Aug 2024 20:00:24 +0200 Subject: CryptoPkg/OpensslLib: Drop dependency on ArmSoftFloatLib Drop the ArmSoftFloatLib dependency from the OpensslLib implementations, so that we can retire this git submodule and associated dependencies in other components. The upshot of this is that OpenSSL can no longer be used on 32-bit ARM by components that rely on the random number generation routines (which is where the floating point usage resides). In practice, this means that ARM platforms should use MbedTLs instead for things like signed capsules, authenticated variables and TPM2 support. HTTPS boot is no longer supported, as TlsDxe depends on OpensslLib directly. Note that MbedTLS itself -surprisingly- depends on OpensslLib as well, but only for the SM3 routines, and incorporating those does not require softfloat support. Signed-off-by: Ard Biesheuvel --- CryptoPkg/CryptoPkg.dsc | 5 +---- CryptoPkg/CryptoPkgMbedTls.dsc | 3 --- CryptoPkg/Library/OpensslLib/OpensslLib.inf | 3 --- CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf | 3 --- CryptoPkg/Library/OpensslLib/OpensslLibFull.inf | 3 --- 5 files changed, 1 insertion(+), 16 deletions(-) diff --git a/CryptoPkg/CryptoPkg.dsc b/CryptoPkg/CryptoPkg.dsc index d082043cd3..2fe50d121c 100644 --- a/CryptoPkg/CryptoPkg.dsc +++ b/CryptoPkg/CryptoPkg.dsc @@ -21,7 +21,7 @@ PLATFORM_GUID = E1063286-6C8C-4c25-AEF0-67A9A5B6E6B6 PLATFORM_VERSION = 0.98 DSC_SPECIFICATION = 0x00010005 - SUPPORTED_ARCHITECTURES = IA32|X64|ARM|AARCH64|RISCV64|LOONGARCH64 + SUPPORTED_ARCHITECTURES = IA32|X64|AARCH64|RISCV64|LOONGARCH64 BUILD_TARGETS = DEBUG|RELEASE|NOOPT SKUID_IDENTIFIER = DEFAULT @@ -125,9 +125,6 @@ [LibraryClasses.ARM, LibraryClasses.AARCH64] ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf -[LibraryClasses.ARM] - ArmSoftFloatLib|ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf - [LibraryClasses.common.SEC] BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SecCryptLib.inf TlsLib|CryptoPkg/Library/TlsLibNull/TlsLibNull.inf diff --git a/CryptoPkg/CryptoPkgMbedTls.dsc b/CryptoPkg/CryptoPkgMbedTls.dsc index 17f41c4f36..1700aea7e4 100644 --- a/CryptoPkg/CryptoPkgMbedTls.dsc +++ b/CryptoPkg/CryptoPkgMbedTls.dsc @@ -80,9 +80,6 @@ IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf -[LibraryClasses.ARM] - ArmSoftFloatLib|ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf - [LibraryClasses.common.PEIM] PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Library/OpensslLib/OpensslLib.inf index ebdeae18c7..2427fba958 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf @@ -665,9 +665,6 @@ DebugLib RngLib -[LibraryClasses.ARM] - ArmSoftFloatLib - [BuildOptions] # # Disables the following Visual Studio compiler warnings brought by openssl source, diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf index 77ce80f2b8..bff3859e80 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf @@ -621,9 +621,6 @@ DebugLib RngLib -[LibraryClasses.ARM] - ArmSoftFloatLib - [BuildOptions] # # Disables the following Visual Studio compiler warnings brought by openssl source, diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibFull.inf b/CryptoPkg/Library/OpensslLib/OpensslLibFull.inf index 32c79c39bb..ef99f84d46 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLibFull.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLibFull.inf @@ -719,9 +719,6 @@ DebugLib RngLib -[LibraryClasses.ARM] - ArmSoftFloatLib - [BuildOptions] # # Disables the following Visual Studio compiler warnings brought by openssl source, -- cgit