Since UEFI on 32-bit ARM does not allow floating point arithmetic in hardware, running OpenSslLib unmodified requires a softfloat library.
This series factors out the minimally required bits of StdLib/LibC/Softfloat, and copies them into a new library ArmPkg/Library/ArmSoftFloatLib. This library dependency is wired into OpenSslLib, and its resolution added to ArmVirt.dsc.inc Ard Biesheuvel (3): ArmPkg: factor out softfloat support from StdLib/LibC/SoftFloat CryptoPkg: add softfloat dependency for ARM ArmVirtPkg: add secure boot support to 32-bit ARM targets {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/Arm/__aeabi_dcmpeq.c | 0 {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/Arm/__aeabi_dcmpge.c | 0 {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/Arm/__aeabi_dcmpgt.c | 0 {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/Arm/__aeabi_dcmple.c | 0 {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/Arm/__aeabi_dcmplt.c | 0 {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/Arm/__aeabi_dcmpun.c | 0 {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/Arm/__aeabi_fcmpeq.c | 0 {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/Arm/__aeabi_fcmpge.c | 0 {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/Arm/__aeabi_fcmpgt.c | 0 {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/Arm/__aeabi_fcmple.c | 0 {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/Arm/__aeabi_fcmplt.c | 0 {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/Arm/__aeabi_fcmpun.c | 0 {StdLib/Include => ArmPkg/Library/ArmSoftFloatLib}/Arm/softfloat.h | 33 +++++++++++++- ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf | 48 ++++++++++++++++++++ {StdLib/Include/Arm => ArmPkg/Library/ArmSoftFloatLib}/arm-gcc.h | 0 {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/bits32/softfloat-macros | 0 {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/bits32/softfloat.c | 0 {StdLib/Include/Arm => ArmPkg/Library/ArmSoftFloatLib}/milieu.h | 0 {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/softfloat-for-gcc.h | 0 {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/softfloat-specialize | 0 ArmVirtPkg/ArmVirt.dsc.inc | 3 ++ CryptoPkg/Library/OpensslLib/OpensslLib.inf | 3 ++ 22 files changed, 85 insertions(+), 2 deletions(-) copy {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/Arm/__aeabi_dcmpeq.c (100%) copy {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/Arm/__aeabi_dcmpge.c (100%) copy {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/Arm/__aeabi_dcmpgt.c (100%) copy {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/Arm/__aeabi_dcmple.c (100%) copy {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/Arm/__aeabi_dcmplt.c (100%) copy {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/Arm/__aeabi_dcmpun.c (100%) copy {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/Arm/__aeabi_fcmpeq.c (100%) copy {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/Arm/__aeabi_fcmpge.c (100%) copy {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/Arm/__aeabi_fcmpgt.c (100%) copy {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/Arm/__aeabi_fcmple.c (100%) copy {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/Arm/__aeabi_fcmplt.c (100%) copy {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/Arm/__aeabi_fcmpun.c (100%) copy {StdLib/Include => ArmPkg/Library/ArmSoftFloatLib}/Arm/softfloat.h (87%) create mode 100644 ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf copy {StdLib/Include/Arm => ArmPkg/Library/ArmSoftFloatLib}/arm-gcc.h (100%) copy {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/bits32/softfloat-macros (100%) copy {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/bits32/softfloat.c (100%) copy {StdLib/Include/Arm => ArmPkg/Library/ArmSoftFloatLib}/milieu.h (100%) copy {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/softfloat-for-gcc.h (100%) copy {StdLib/LibC/Softfloat => ArmPkg/Library/ArmSoftFloatLib}/softfloat-specialize (100%) -- 1.9.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel