summaryrefslogtreecommitdiff
path: root/config/arch/arm.in
diff options
context:
space:
mode:
Diffstat (limited to 'config/arch/arm.in')
-rw-r--r--config/arch/arm.in42
1 files changed, 41 insertions, 1 deletions
diff --git a/config/arch/arm.in b/config/arch/arm.in
index f1b0c8f..6daa603 100644
--- a/config/arch/arm.in
+++ b/config/arch/arm.in
@@ -1,7 +1,8 @@
# ARM specific configuration file
config ARCH_arm
- select ARCH_USE_MMU
+ select ARCH_SUPPORTS_BOTH_MMU
+ select ARCH_DEFAULT_HAS_MMU
select ARCH_SUPPORTS_BOTH_ENDIAN
select ARCH_DEFAULT_LE
select ARCH_SUPPORT_ARCH
@@ -12,6 +13,45 @@ config ARCH_arm
The ARM architecture, as defined by:
http://www.arm.com/
+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"