# 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
