config/target.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Jun 14 20:57:57 2008 +0000 (2008-06-14)
changeset 557 595b2ff3fbf4
parent 531 77df8ff1f383
child 628 87802cb25a0f
permissions -rw-r--r--
Preliminary Alpha support, courtesy Ioannis E. Venetis <venetis@capsl.udel.edu>.

/trunk/docs/CREDITS | 3 3 0 0 +
/trunk/samples/alphaev56-unknown-linux-gnu/crosstool.config | 282 282 0 0 +++++++++++++++++++
/trunk/config/target.in | 9 9 0 0 +
/trunk/arch/alpha/functions | 9 9 0 0 +
/trunk/arch/alpha/config.in | 58 58 0 0 ++++
5 files changed, 361 insertions(+)
     1 # Target definition: architecture, optimisations, etc...
     2 
     3 menu "Target options"
     4 
     5 comment "General target options"
     6 
     7 config ARCH
     8     string
     9     default "alpha"   if ARCH_ALPHA
    10     default "arm"     if ARCH_ARM
    11     default "ia64"    if ARCH_IA64
    12     default "mips"    if ARCH_MIPS
    13     default "powerpc" if ARCH_PPC
    14     default "sh"      if ARCH_SH
    15     default "x86"     if ARCH_x86
    16     default "x86_64"  if ARCH_x86_64
    17 
    18 choice
    19     bool
    20     prompt "Target architecture:"
    21     default ARCH_x86
    22 
    23 config ARCH_ALPHA
    24     bool
    25     prompt "alpha (EXPERIMENTAL)"
    26     depends on EXPERIMENTAL
    27 
    28 config ARCH_ARM
    29     bool
    30     prompt "arm"
    31     select ARCH_SUPPORTS_BOTH_ENDIAN
    32     select ARCH_DEFAULT_LE
    33 
    34 config ARCH_IA64
    35     bool
    36     prompt "ia64 (EXPERIMENTAL)"
    37     depends on EXPERIMENTAL
    38     select ARCH_SUPPORTS_BOTH_ENDIAN
    39 
    40 config ARCH_MIPS
    41     bool
    42     prompt "mips"
    43     select ARCH_SUPPORTS_BOTH_ENDIAN
    44     select ARCH_DEFAULT_BE
    45 
    46 config ARCH_PPC
    47     bool
    48     prompt "powerpc"
    49 
    50 config ARCH_SH
    51     bool
    52     prompt "sh (EXPERIMENTAL)"
    53     depends on EXPERIMENTAL
    54     select ARCH_SUPPORTS_BOTH_ENDIAN
    55     select ARCH_DEFAULT_LE
    56 
    57 config ARCH_x86
    58     bool
    59     prompt "x86"
    60 
    61 config ARCH_x86_64
    62     bool
    63     prompt "x86_64"
    64 
    65 endchoice
    66 
    67 config ARCH_SUPPORTS_BOTH_ENDIAN
    68     bool
    69     default n
    70 
    71 config ARCH_DEFAULT_BE
    72     bool
    73     default n
    74 
    75 config ARCH_DEFAULT_LE
    76     bool
    77     default n
    78 
    79 choice
    80     bool
    81     prompt "Endianness:"
    82     depends on ARCH_SUPPORTS_BOTH_ENDIAN
    83     default ARCH_BE if ARCH_DEFAULT_BE
    84     default ARCH_LE if ARCH_DEFAULT_LE
    85 
    86 config ARCH_BE
    87     bool
    88     prompt "Big endian"
    89 
    90 config ARCH_LE
    91     bool
    92     prompt "Little endian"
    93 
    94 endchoice
    95 
    96 # Include architecture-specific configuration
    97 if ARCH_ALPHA
    98 source config/arch/alpha/config.in
    99 endif
   100 if ARCH_ARM
   101 source config/arch/arm/config.in
   102 endif
   103 if ARCH_IA64
   104 source config/arch/ia64/config.in
   105 endif
   106 if ARCH_MIPS
   107 source config/arch/mips/config.in
   108 endif
   109 if ARCH_PPC
   110 source config/arch/powerpc/config.in
   111 endif
   112 if ARCH_SH
   113 source config/arch/sh/config.in
   114 endif
   115 if ARCH_x86
   116 source config/arch/x86/config.in
   117 endif
   118 if ARCH_x86_64
   119 source config/arch/x86_64/config.in
   120 endif
   121 
   122 comment "Target optimisations"
   123 
   124 config ARCH_ARCH
   125     string
   126     prompt "Architecture level"
   127     default ""
   128     help
   129       GCC uses this name to determine what kind of instructions it can emit
   130       when generating assembly code. This option can be used in conjunction
   131       with or instead of the ARCH_CPU option (above), or a (command-line)
   132       -mcpu= option.
   133       
   134       This is the configuration flag --with-arch=XXXX, and the runtime flag
   135       -march=XXX.
   136       
   137       Pick a value from the gcc manual for your choosen gcc version and your
   138       target CPU.
   139       
   140       Leave blank if you don't know, or if your target architecture does not
   141       offer this option.
   142 
   143 config ARCH_ABI
   144     string
   145     prompt "Generate code for the specific ABI"
   146     default ""
   147     help
   148       Generate code for the given ABI.
   149 
   150       This is the configuration flag --with-abi=XXXX, and the runtime flag
   151       -mabi=XXX.
   152 
   153       Pick a value from the gcc manual for your choosen gcc version and your
   154       target CPU.
   155 
   156       Leave blank if you don't know, or if your target architecutre does not
   157       offer this option.
   158 
   159 config ARCH_CPU
   160     string
   161     prompt "Emit assembly for CPU"
   162     default ""
   163     help
   164       This specifies the name of the target processor. GCC uses this name
   165       to determine what kind of instructions it can emit when generating
   166       assembly code.
   167       
   168       This is the configuration flag --with-cpu=XXXX, and the runtime flag
   169       -mcpu=XXX.
   170 
   171       Pick a value from the gcc manual for your choosen gcc version and your
   172       target CPU.
   173       
   174       Leave blank if you don't know, or if your target architecture does not
   175       offer this option.
   176 
   177 config ARCH_TUNE
   178     string
   179     prompt "Tune for CPU"
   180     default ""
   181     help
   182       This option is very similar to the ARCH_CPU option (above), except
   183       that instead of specifying the actual target processor type, and hence
   184       restricting which instructions can be used, it specifies that GCC should
   185       tune the performance of the code as if the target were of the type
   186       specified in this option, but still choosing the instructions that it
   187       will generate based on the cpu specified by the ARCH_CPU option
   188       (above), or a (command-line) -mcpu= option.
   189       
   190       This is the configuration flag --with-tune=XXXX, and the runtime flag
   191       -mtune=XXX.
   192       
   193       Pick a value from the gcc manual for your choosen gcc version and your
   194       target CPU.
   195       
   196       Leave blank if you don't know, or if your target architecture does not
   197       offer this option.
   198 
   199 config ARCH_FPU
   200     string
   201     prompt "Use specific FPU"
   202     default ""
   203     help
   204       On some targets (eg. ARM), you can specify the kind of FPU to emit
   205       code for.
   206 
   207       This is the configuration flag --with-fpu=XXX, and the runtime flag
   208       -mfpu=XXX.
   209       
   210       See below wether to actually emit FP opcodes, or to emulate them.
   211       
   212       Pick a value from the gcc manual for your choosen gcc version and your
   213       target CPU.
   214       
   215       Leave blank if you don't know, or if your target architecture does not
   216       offer this option.
   217 
   218 choice
   219     bool
   220     prompt "Floating point:"
   221 
   222 config ARCH_FLOAT_HW
   223     bool
   224     prompt "hardware (FPU)"
   225     help
   226       Emit hardware floating point opcodes.
   227       
   228       If you've got a processor with a FPU, then you want that.
   229       If your hardware has no FPU, you still can use HW floating point, but
   230       need to compile support for FPU emulation in your kernel. Needless to
   231       say that emulating the FPU is /slooowwwww/...
   232       
   233       One situation you'd want HW floating point without a FPU is if you get
   234       binary blobs from different vendors that are compiling this way and
   235       can't (don't wan't to) change.
   236 
   237 config ARCH_FLOAT_SW
   238     bool
   239     prompt "software"
   240     help
   241       Do not emit any hardware floating point opcode.
   242       
   243       If your processor has no FPU, then you most probably want this, as it
   244       is faster than emulating the FPU in the kernel.
   245 
   246 endchoice
   247 
   248 config TARGET_CFLAGS
   249     string
   250     prompt "Target CFLAGS"
   251     default ""
   252     help
   253       Used to add specific options when compiling libraries of the toolchain,
   254       that will run on the target (eg. libc.so).
   255       
   256       Note that the options above for ARCH, ABI, CPU, TUNE and FPU will be
   257       automaticaly used. You don't need to specify them here.
   258       
   259       Leave blank if you don't know better.
   260 
   261 endmenu