1 # Target definition: architecture, optimisations, etc...
12 # Pre-declare target optimisation variables
13 config ARCH_SUPPORTS_BOTH_MMU
14 config ARCH_SUPPORTS_BOTH_ENDIAN
15 config ARCH_SUPPORT_ARCH
16 config ARCH_SUPPORT_ABI
17 config ARCH_SUPPORT_CPU
18 config ARCH_SUPPORT_TUNE
19 config ARCH_SUPPORT_FPU
21 config ARCH_DEFAULT_HAS_MMU
22 config ARCH_DEFAULT_BE
23 config ARCH_DEFAULT_LE
37 comment "General target options"
39 source config.gen/arch.in
41 #--------------------------------------
42 config ARCH_SUPPORTS_BOTH_MMU
46 config ARCH_DEFAULT_HAS_MMU
52 prompt "Use the MMU" if ARCH_SUPPORTS_BOTH_MMU
53 default n if ! ARCH_DEFAULT_HAS_MMU
54 default y if ARCH_DEFAULT_HAS_MMU
56 #--------------------------------------
57 config ARCH_SUPPORTS_BOTH_ENDIAN
61 config ARCH_DEFAULT_BE
65 config ARCH_DEFAULT_LE
72 depends on ARCH_SUPPORTS_BOTH_ENDIAN
73 default ARCH_BE if ARCH_DEFAULT_BE
74 default ARCH_LE if ARCH_DEFAULT_LE
82 prompt "Little endian"
86 #--------------------------------------
87 comment "Target optimisations"
89 config ARCH_SUPPORT_ARCH
93 config ARCH_SUPPORT_ABI
97 config ARCH_SUPPORT_CPU
101 config ARCH_SUPPORT_TUNE
105 config ARCH_SUPPORT_FPU
111 prompt "Architecture level"
112 depends on ARCH_SUPPORT_ARCH
115 GCC uses this name to determine what kind of instructions it can emit
116 when generating assembly code. This option can be used in conjunction
117 with or instead of the ARCH_CPU option (above), or a (command-line)
120 This is the configuration flag --with-arch=XXXX, and the runtime flag
123 Pick a value from the gcc manual for your choosen gcc version and your
126 Leave blank if you don't know, or if your target architecture does not
131 prompt "Generate code for the specific ABI"
132 depends on ARCH_SUPPORT_ABI
135 Generate code for the given ABI.
137 This is the configuration flag --with-abi=XXXX, and the runtime flag
140 Pick a value from the gcc manual for your choosen gcc version and your
143 Leave blank if you don't know, or if your target architecutre does not
148 prompt "Emit assembly for CPU"
149 depends on ARCH_SUPPORT_CPU
152 This specifies the name of the target processor. GCC uses this name
153 to determine what kind of instructions it can emit when generating
156 This is the configuration flag --with-cpu=XXXX, and the runtime flag
159 Pick a value from the gcc manual for your choosen gcc version and your
162 Leave blank if you don't know, or if your target architecture does not
167 prompt "Tune for CPU"
168 depends on ARCH_SUPPORT_TUNE
171 This option is very similar to the ARCH_CPU option (above), except
172 that instead of specifying the actual target processor type, and hence
173 restricting which instructions can be used, it specifies that GCC should
174 tune the performance of the code as if the target were of the type
175 specified in this option, but still choosing the instructions that it
176 will generate based on the cpu specified by the ARCH_CPU option
177 (above), or a (command-line) -mcpu= option.
179 This is the configuration flag --with-tune=XXXX, and the runtime flag
182 Pick a value from the gcc manual for your choosen gcc version and your
185 Leave blank if you don't know, or if your target architecture does not
190 prompt "Use specific FPU"
191 depends on ARCH_SUPPORT_FPU
194 On some targets (eg. ARM), you can specify the kind of FPU to emit
197 This is the configuration flag --with-fpu=XXX, and the runtime flag
200 See below wether to actually emit FP opcodes, or to emulate them.
202 Pick a value from the gcc manual for your choosen gcc version and your
205 Leave blank if you don't know, or if your target architecture does not
210 prompt "Floating point:"
214 prompt "hardware (FPU)"
216 Emit hardware floating point opcodes.
218 If you've got a processor with a FPU, then you want that.
219 If your hardware has no FPU, you still can use HW floating point, but
220 need to compile support for FPU emulation in your kernel. Needless to
221 say that emulating the FPU is /slooowwwww/...
223 One situation you'd want HW floating point without a FPU is if you get
224 binary blobs from different vendors that are compiling this way and
225 can't (don't wan't to) change.
231 Do not emit any hardware floating point opcode.
233 If your processor has no FPU, then you most probably want this, as it
234 is faster than emulating the FPU in the kernel.
240 prompt "Target CFLAGS"
243 Used to add specific options when compiling libraries of the toolchain,
244 that will run on the target (eg. libc.so).
246 Note that the options above for ARCH, ABI, CPU, TUNE and FPU will be
247 automaticaly used. You don't need to specify them here.
249 Leave blank if you don't know better.
251 config TARGET_LDFLAGS
253 prompt "Target LDFLAGS"
256 Used to add specific options when linking libraries of the toolchain,
257 that will run on your target.
259 Leave blank if you don't know better.