config/target.in
changeset 2739 f320e22f2cba
parent 2737 b5179235b925
child 2772 d4ac8609878e
     1.1 --- a/config/target.in	Wed Oct 19 15:27:32 2011 +1300
     1.2 +++ b/config/target.in	Wed Oct 19 15:27:32 2011 +1300
     1.3 @@ -15,6 +15,7 @@
     1.4  config ARCH_SUPPORT_CPU
     1.5  config ARCH_SUPPORT_TUNE
     1.6  config ARCH_SUPPORT_FPU
     1.7 +config ARCH_SUPPORT_SOFTFP
     1.8  
     1.9  config ARCH_DEFAULT_HAS_MMU
    1.10  config ARCH_DEFAULT_BE
    1.11 @@ -144,6 +145,9 @@
    1.12  config ARCH_SUPPORT_FPU
    1.13      bool
    1.14  
    1.15 +config ARCH_SUPPORT_SOFTFP
    1.16 +    bool
    1.17 +
    1.18  config ARCH_ARCH
    1.19      string
    1.20      prompt "Architecture level"
    1.21 @@ -271,6 +275,22 @@
    1.22        If your processor has no FPU, then you most probably want this, as it
    1.23        is faster than emulating the FPU in the kernel.
    1.24  
    1.25 +config ARCH_FLOAT_SOFTFP
    1.26 +    bool
    1.27 +    prompt "softfp"
    1.28 +    depends on ARCH_SUPPORT_SOFTFP
    1.29 +    help
    1.30 +      Emit hardware floating point opcodes but use the software
    1.31 +      floating point calling convention.
    1.32 +
    1.33 +      Architectures such as ARM use different registers for passing
    1.34 +      floating point values depending on if they're in software mode
    1.35 +      or hardware mode.  softfp emits FPU instructions but uses the
    1.36 +      software FP calling convention allowing softfp code to
    1.37 +      interoperate with legacy software only code.
    1.38 +
    1.39 +      If in doubt, use 'software' or 'hardware' mode instead.
    1.40 +
    1.41  endchoice
    1.42  
    1.43  config TARGET_CFLAGS
    1.44 @@ -300,6 +320,7 @@
    1.45      string
    1.46      default "hard"   if ARCH_FLOAT_HW
    1.47      default "soft"   if ARCH_FLOAT_SW
    1.48 +    default "softfp" if ARCH_FLOAT_SOFTFP
    1.49  
    1.50  source "config.gen/arch.in.2"
    1.51