arm: Add support for both floating point ABIs
Add a Kconfig option to select between the Hard and Soft Float ABIs. We also default to the Hard Float ABI as this is what older SDK versions supported. JIRA: ZEP-555 Change-Id: I2180c98cd7556ab49f5ca9b46b31add2c11bd07b Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
This commit is contained in:
parent
966118ee18
commit
79606bccf0
2 changed files with 27 additions and 0 deletions
|
@ -16,8 +16,13 @@ cflags-cortex-m4 = $(call cc-option,-mabi=aapcs -mthumb -mcpu=cortex-m4) \
|
||||||
$(call cc-option,-mthumb -march=armv7e-m)
|
$(call cc-option,-mthumb -march=armv7e-m)
|
||||||
|
|
||||||
ifeq ($(CONFIG_FLOAT), y)
|
ifeq ($(CONFIG_FLOAT), y)
|
||||||
|
ifeq ($(CONFIG_FP_SOFTABI), y)
|
||||||
cflags-cortex-m4 += $(call cc-option,-mfloat-abi=softfp -mfpu=fpv4-sp-d16)
|
cflags-cortex-m4 += $(call cc-option,-mfloat-abi=softfp -mfpu=fpv4-sp-d16)
|
||||||
endif
|
endif
|
||||||
|
ifeq ($(CONFIG_FP_HARDABI), y)
|
||||||
|
cflags-cortex-m4 += $(call cc-option,-mfloat-abi=hard -mfpu=fpv4-sp-d16)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
cflags-cortex-m7 = $(call cc-option,-mabi=aapcs -mthumb -mcpu=cortex-m7) \
|
cflags-cortex-m7 = $(call cc-option,-mabi=aapcs -mthumb -mcpu=cortex-m7) \
|
||||||
$(call cc-option,-mthumb -march=armv7e-m)
|
$(call cc-option,-mthumb -march=armv7e-m)
|
||||||
|
|
|
@ -62,6 +62,28 @@ config FP_SHARING
|
||||||
This option allows multiple tasks and fibers to use the floating point
|
This option allows multiple tasks and fibers to use the floating point
|
||||||
registers.
|
registers.
|
||||||
|
|
||||||
|
choice
|
||||||
|
prompt "Floating point ABI"
|
||||||
|
default FP_HARDABI
|
||||||
|
depends on FLOAT
|
||||||
|
|
||||||
|
config FP_HARDABI
|
||||||
|
bool "Floating point Hard ABI"
|
||||||
|
depends on FLOAT
|
||||||
|
help
|
||||||
|
This option selects the Floating point ABI in which hardware floating
|
||||||
|
point instructions are generated and uses FPU-specific calling
|
||||||
|
conventions
|
||||||
|
|
||||||
|
config FP_SOFTABI
|
||||||
|
bool "Floating point Soft ABI"
|
||||||
|
depends on FLOAT
|
||||||
|
help
|
||||||
|
This option selects the Floating point ABI in which hardware floating
|
||||||
|
point instructions are generated but soft-float calling conventions.
|
||||||
|
|
||||||
|
endchoice
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
if CPU_CORTEX_M
|
if CPU_CORTEX_M
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue