summaryrefslogtreecommitdiff
path: root/config/arch/arm.in.2
diff options
context:
space:
mode:
Diffstat (limited to 'config/arch/arm.in.2')
-rw-r--r--config/arch/arm.in.253
1 files changed, 53 insertions, 0 deletions
diff --git a/config/arch/arm.in.2 b/config/arch/arm.in.2
new file mode 100644
index 0000000..945b221
--- /dev/null
+++ b/config/arch/arm.in.2
@@ -0,0 +1,53 @@
+# ARM specific configuration file
+
+config ARCH_ARM_MODE
+ string
+ default "arm" if ARCH_ARM_MODE_ARM
+ default "thumb" if ARCH_ARM_MODE_THUMB
+
+choice
+ bool
+ prompt "Default instruction set mode"
+ default ARCH_ARM_MODE_ARM
+
+config ARCH_ARM_MODE_ARM
+ bool
+ prompt "arm"
+ help
+ Defaults to emitting instructions in the ARM mode.
+
+config ARCH_ARM_MODE_THUMB
+ bool
+ prompt "thumb (EXPERIMENTAL)"
+ depends on EXPERIMENTAL
+ help
+ Defaults to emitting instructions in the THUMB mode.
+
+endchoice
+
+config ARCH_ARM_INTERWORKING
+ bool
+ prompt "Use Thumb-interworking (READ HELP)"
+ default n
+ depends on EXPERIMENTAL
+ help
+ Excerpt from the gcc manual:
+
+ > Generate code which supports calling between the ARM and Thumb
+ > instruction sets. Without this option the two instruction sets
+ > cannot be reliably used inside one program. The default is
+ > [not to use interwork], since slightly larger code is generated
+ > when [interwork] is specified.
+
+config ARCH_ARM_EABI
+ bool
+ prompt "Use EABI"
+ default y
+ help
+ Set up the toolchain so that it generates EABI-compliant binaries.
+
+config ARCH_ARM_ABI_OK
+ bool
+ default y
+ depends on ! ARCH_ARM_EABI
+ select ARCH_SUPPORT_ABI