config/target.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun May 18 20:50:13 2008 +0000 (2008-05-18)
changeset 520 9c6df3bf0c7a
parent 447 db8bd468b0c0
child 531 77df8ff1f383
permissions -rw-r--r--
PowerPC support by Daniel Dittmann.

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