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

Reply via email to