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