summaryrefslogtreecommitdiff
path: root/config/arch/arm.in
blob: 4883d22577b67d0dfc28c7674e26a10f1920db10 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# ARM specific configuration file

config ARCH_arm
    select ARCH_SUPPORTS_32
    select ARCH_DEFAULT_32
    select ARCH_SUPPORTS_BOTH_MMU
    select ARCH_DEFAULT_HAS_MMU
    select ARCH_SUPPORTS_BOTH_ENDIAN
    select ARCH_DEFAULT_LE
    select ARCH_SUPPORT_ARCH
    select ARCH_SUPPORT_CPU
    select ARCH_SUPPORT_TUNE
    select ARCH_SUPPORT_FPU
    help
      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"
    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