Merge first shot from the MIPS branch.
1 # Target definition: architecture, optimisations, etc...
5 comment "General target options"
9 prompt "Target architecture:"
15 select ARCH_SUPPORTS_BE
16 select ARCH_SUPPORTS_LE
21 select ARCH_SUPPORTS_BE
22 select ARCH_SUPPORTS_LE
27 select ARCH_SUPPORTS_LE
32 select ARCH_SUPPORTS_LE
36 config ARCH_SUPPORTS_BE
40 config ARCH_SUPPORTS_LE
51 depends on ARCH_SUPPORTS_BE
55 prompt "Little endian"
56 depends on ARCH_SUPPORTS_LE
60 comment "Target optimisations"
64 prompt "Generate code for the specific ABI"
67 Generate code for the given ABI.
69 Pick a value from the gcc manual for your choosen gcc version and your
72 Leave blank if you don't know, or if your target architecutre does not
77 prompt "Emit assembly for CPU"
80 This specifies the name of the target ARM processor. GCC uses this name
81 to determine what kind of instructions it can emit when generating
84 Pick a value from the gcc manual for your choosen gcc version and your
87 Leave blank if you don't know, or if your target architecture does not
95 This option is very similar to the ARCH_CPU option (above), except
96 that instead of specifying the actual target processor type, and hence
97 restricting which instructions can be used, it specifies that GCC should
98 tune the performance of the code as if the target were of the type
99 specified in this option, but still choosing the instructions that it
100 will generate based on the cpu specified by the ARCH_CPU option
101 (above), or a (command-line) -mcpu= option.
103 Pick a value from the gcc manual for your choosen gcc version and your
106 Leave blank if you don't know, or if your target architecture does not
111 prompt "Achitecture level"
114 GCC uses this name to determine what kind of instructions it can emit
115 when generating assembly code. This option can be used in conjunction
116 with or instead of the ARCH_CPU option (above), or a (command-line)
119 Pick a value from the gcc manual for your choosen gcc version and your
122 Leave blank if you don't know, or if your target architecture does not
130 On some targets (eg. ARM), you can specify the kind of FPU to emit
133 See below wether to actually emit FP opcodes, or to emulate them.
135 Pick a value from the gcc manual for your choosen gcc version and your
138 Leave blank if you don't know, or if your target architecture does not
143 prompt "Floating point:"
147 prompt "hardware (FPU)"
149 Emit hardware floating point opcodes.
151 If you've got a processor with a FPU, then you want that.
152 If your hardware has no FPU, you still can use HW floating point, but
153 need to compile support for FPU emulation in your kernel. Needless to
154 say that emulating the FPU is /slooowwwww/...
156 One situation you'd want HW floating point without a FPU is if you get
157 binary blobs from different vendors that are compiling this way and
158 can't (don't wan't to) change.
164 Do not emit any hardware floating point opcode.
166 If your processor has no FPU, then you most probably want this, as it
167 is faster than emulating the FPU in the kernel.
171 config ARCH_FLOAT_SW_LIBFLOAT
173 prompt "Use libfloat"
175 depends on ARCH_FLOAT_SW
177 For those targets upporting it, you can use libfloat for the software
178 floating point emulation.
180 Note that some versions of gcc have support code that supersedes libfloat,
181 while others don't. Known version of gcc that don't have support code are
182 versions prior to 3.0, and version above 4.0.
184 You should check gcc before deciding to use libfloat.
188 prompt "Target CFLAGS"
191 Used to add specific options when compiling libraries of the toolchain,
192 that will run on the target (eg. libc.so).
194 Note that the options above for CPU, tune, arch and FPU will be
195 automaticaly used. You don't need to specify them here.
197 Leave blank if you don't know better.