summaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2015-02-14 07:22:52 -0600
committerWaldemar Brodkorb <wbx@openadk.org>2015-02-14 07:23:03 -0600
commit5a0886ba5ee99669bd4d4dc2a17b6f4d751ae03d (patch)
tree81a78cc88d8b2d28979fe988dedc66b6c9513a34 /target
parent2f8e592c6bc4f221c0f4c58d9764c13de0756c6b (diff)
rework float support for ARM
Diffstat (limited to 'target')
-rw-r--r--target/arm/systems/raspberry-pi1
-rw-r--r--target/arm/systems/raspberry-pi21
-rw-r--r--target/arm/systems/sharp-zaurus1
-rw-r--r--target/arm/systems/solidrun-imx61
-rw-r--r--target/config/Config.in.abi.choice16
-rw-r--r--target/config/Config.in.abi.default22
-rw-r--r--target/config/Config.in.float.choice3
-rw-r--r--target/config/Config.in.libc.default8
-rw-r--r--target/config/Config.in.qemu23
9 files changed, 20 insertions, 56 deletions
diff --git a/target/arm/systems/raspberry-pi b/target/arm/systems/raspberry-pi
index 27dac652c..0ba641663 100644
--- a/target/arm/systems/raspberry-pi
+++ b/target/arm/systems/raspberry-pi
@@ -2,7 +2,6 @@ config ADK_TARGET_SYSTEM_RASPBERRY_PI
bool "Raspberry PI"
select ADK_arm
select ADK_little
- select ADK_eabihf
select ADK_fpu_vfp
select ADK_raspberry_pi
select ADK_CPU_ARM1176JZF_S
diff --git a/target/arm/systems/raspberry-pi2 b/target/arm/systems/raspberry-pi2
index 77071f828..a546aef6e 100644
--- a/target/arm/systems/raspberry-pi2
+++ b/target/arm/systems/raspberry-pi2
@@ -2,7 +2,6 @@ config ADK_TARGET_SYSTEM_RASPBERRY_PI2
bool "Raspberry PI 2"
select ADK_arm
select ADK_little
- select ADK_eabihf
select ADK_fpu_vfp
select ADK_raspberry_pi2
select ADK_CPU_CORTEX_A7
diff --git a/target/arm/systems/sharp-zaurus b/target/arm/systems/sharp-zaurus
index fa93110a0..a5f76f308 100644
--- a/target/arm/systems/sharp-zaurus
+++ b/target/arm/systems/sharp-zaurus
@@ -3,7 +3,6 @@ config ADK_TARGET_SYSTEM_SHARP_ZAURUS
select ADK_arm
select ADK_sharp_zaurus
select ADK_little
- select ADK_eabi
select ADK_CPU_XSCALE
select ADK_TARGET_CPU_WITH_IWMMXT
select ADK_TARGET_WITH_VGA
diff --git a/target/arm/systems/solidrun-imx6 b/target/arm/systems/solidrun-imx6
index d602c905b..7c6ecccdf 100644
--- a/target/arm/systems/solidrun-imx6
+++ b/target/arm/systems/solidrun-imx6
@@ -2,7 +2,6 @@ config ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
bool "Solidrun IMX6 Embedded Systems"
select ADK_arm
select ADK_little
- select ADK_eabihf
select ADK_fpu_neon
select ADK_solidrun_imx6
select ADK_CPU_CORTEX_A9
diff --git a/target/config/Config.in.abi.choice b/target/config/Config.in.abi.choice
index 24f83dddb..742e04025 100644
--- a/target/config/Config.in.abi.choice
+++ b/target/config/Config.in.abi.choice
@@ -32,19 +32,3 @@ config ADK_TARGET_ABI_X32
select ADK_x32
endchoice
-
-choice
-prompt "ABI"
-depends on ADK_TARGET_ARCH_ARM
-depends on ADK_TARGET_CPU_WITH_FPU || ADK_TARGET_SYSTEM_QEMU_ARM || ADK_TARGET_TOOLCHAIN
-
-config ADK_TARGET_ABI_EABIHF
- bool "EABIhf"
- select ADK_eabihf
- depends on ADK_CPU_CORTEX_A7 || ADK_CPU_CORTEX_A9 || ADK_CPU_ARM1176JZF_S
-
-config ADK_TARGET_ABI_EABI
- bool "EABI"
- select ADK_eabi
-
-endchoice
diff --git a/target/config/Config.in.abi.default b/target/config/Config.in.abi.default
index 80de3eaf8..6a7afc513 100644
--- a/target/config/Config.in.abi.default
+++ b/target/config/Config.in.abi.default
@@ -2,28 +2,22 @@
# material, please see the LICENCE file in the top-level directory.
config ADK_o32
- boolean
+ bool
config ADK_n32
- boolean
+ bool
config ADK_n64
- boolean
+ bool
config ADK_32
- boolean
+ bool
config ADK_64
- boolean
+ bool
config ADK_x32
- boolean
-
-config ADK_eabi
- boolean
-
-config ADK_eabihf
- boolean
+ bool
config ADK_TARGET_ABI
string
@@ -31,8 +25,8 @@ config ADK_TARGET_ABI
default "n64" if ADK_n64
default "32" if ADK_32
default "x32" if ADK_x32
- default "eabi" if ADK_eabi
- default "eabihf" if ADK_eabihf
+ default "eabi" if ADK_arm && ADK_soft_float
+ default "eabihf" if ADK_arm && ADK_hard_float
config ADK_TARGET_MIPS_ABI
depends on ADK_TARGET_ARCH_MIPS64
diff --git a/target/config/Config.in.float.choice b/target/config/Config.in.float.choice
index c071e1744..eb075e610 100644
--- a/target/config/Config.in.float.choice
+++ b/target/config/Config.in.float.choice
@@ -5,7 +5,8 @@ choice ADK_TARGET_FLOAT
prompt "Float configuration"
depends on ADK_TARGET_ARCH_ARM || \
ADK_TARGET_ARCH_MIPS || \
- ADK_TARGET_ARCH_PPC
+ ADK_TARGET_ARCH_PPC && \
+ ADK_TARGET_CPU_WITH_FPU
config ADK_TARGET_HARD_FLOAT
bool "hard-float"
diff --git a/target/config/Config.in.libc.default b/target/config/Config.in.libc.default
index 446144c3d..67ef70ecc 100644
--- a/target/config/Config.in.libc.default
+++ b/target/config/Config.in.libc.default
@@ -50,16 +50,16 @@ config ADK_TARGET_WITH_NPTL
config ADK_TARGET_SUFFIX
string
- default "gnueabihf" if ADK_TARGET_LIB_GLIBC && ADK_eabihf
- default "gnueabi" if ADK_TARGET_LIB_GLIBC && ADK_eabi
+ default "gnueabihf" if ADK_TARGET_LIB_GLIBC && ADK_arm && ADK_hard_float
+ default "gnueabi" if ADK_TARGET_LIB_GLIBC && ADK_arm && ADK_soft_float
default "gnuabi64" if ADK_TARGET_LIB_GLIBC && ADK_n64
default "gnuabin32" if ADK_TARGET_LIB_GLIBC && ADK_n32
default "gnuabi32" if ADK_TARGET_LIB_GLIBC && ADK_o32
default "gnu32" if ADK_TARGET_LIB_GLIBC && ADK_32 && ADK_LINUX_64
default "gnux32" if ADK_TARGET_LIB_GLIBC && ADK_x32 && ADK_LINUX_64
default "gnu" if ADK_TARGET_LIB_GLIBC
- default "uclibceabihf" if (ADK_TARGET_LIB_UCLIBC || ADK_TARGET_LIB_UCLIBC_NG) && ADK_eabihf
- default "uclibceabi" if (ADK_TARGET_LIB_UCLIBC || ADK_TARGET_LIB_UCLIBC_NG) && ADK_eabi
+ default "uclibceabihf" if (ADK_TARGET_LIB_UCLIBC || ADK_TARGET_LIB_UCLIBC_NG) && ADK_arm && ADK_hard_float
+ default "uclibceabi" if (ADK_TARGET_LIB_UCLIBC || ADK_TARGET_LIB_UCLIBC_NG) && ADK_arm && ADK_soft_float
default "uclibcabi64" if (ADK_TARGET_LIB_UCLIBC || ADK_TARGET_LIB_UCLIBC_NG) && ADK_n64
default "uclibcabin32" if (ADK_TARGET_LIB_UCLIBC || ADK_TARGET_LIB_UCLIBC_NG) && ADK_n32
default "uclibcabi32" if (ADK_TARGET_LIB_UCLIBC || ADK_TARGET_LIB_UCLIBC_NG) && ADK_o32
diff --git a/target/config/Config.in.qemu b/target/config/Config.in.qemu
index 8e5d1fa1a..7a6600386 100644
--- a/target/config/Config.in.qemu
+++ b/target/config/Config.in.qemu
@@ -53,39 +53,28 @@ prompt "Qemu ARM Emulation"
depends on ADK_TARGET_SYSTEM_QEMU_ARM
config ADK_TARGET_QEMU_ARM_MODEL_VEXPRESS_A9
- bool "ARM Ltd. Versatile Express for Cortex-A9"
+ bool "ARM Ltd. Versatile Express with Cortex-A9"
select ADK_CPU_CORTEX_A9
+ select ADK_TARGET_CPU_WITH_FPU
config ADK_TARGET_QEMU_ARM_MODEL_STELLARIS_M3
- bool "Stellaris LM3S6965EVB"
- select ADK_soft_float
- select ADK_eabi
+ bool "Stellaris LM3S6965EVB with Cortex-M3"
select ADK_CPU_CORTEX_M3
- select ADK_TARGET_ARM_SOFT_FLOAT
select ADK_TARGET_ARCH_ARM_WITH_THUMB
select ADK_TARGET_UCLINUX
config ADK_TARGET_QEMU_ARM_MODEL_VERSATILEPB
- bool "ARM Ltd. Versatile/PB"
- select ADK_soft_float
- select ADK_eabi
+ bool "ARM Ltd. Versatile/PB with ARM926EJ-S"
select ADK_CPU_ARM926EJ_S
- select ADK_TARGET_ARM_SOFT_FLOAT
config ADK_TARGET_QEMU_ARM_MODEL_TERRIER
- bool "Xscale PXA270 Terrier PDA"
- select ADK_soft_float
- select ADK_eabi
+ bool "Xscale PXA270 Terrier PDA with XSCALE"
select ADK_CPU_XSCALE
select ADK_TARGET_QEMU_WITH_GRAPHIC_ONLY
- select ADK_TARGET_ARM_SOFT_FLOAT
config ADK_TARGET_QEMU_ARM_MODEL_SPITZ
- bool "Xscale PXA270 Spitz PDA"
- select ADK_soft_float
- select ADK_eabi
+ bool "Xscale PXA270 Spitz PDA with XSCALE"
select ADK_CPU_XSCALE
select ADK_TARGET_QEMU_WITH_GRAPHIC_ONLY
- select ADK_TARGET_ARM_SOFT_FLOAT
endchoice