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 If your architecture has an MMU and you want to use it,
59 OTOH, if you don't want to use the MMU, or your arch
60 lacks an MMU, say 'N' here.
62 Note that some architectures (eg. ARM) has variants that
63 lacks an MMU (eg. ARM Cortex-M3), while other variants
64 have one (eg. ARM Cortex-A8).
66 #--------------------------------------
67 config ARCH_SUPPORTS_BOTH_ENDIAN
71 config ARCH_DEFAULT_BE
75 config ARCH_DEFAULT_LE
82 depends on ARCH_SUPPORTS_BOTH_ENDIAN
83 default ARCH_BE if ARCH_DEFAULT_BE
84 default ARCH_LE if ARCH_DEFAULT_LE
92 prompt "Little endian"
96 #--------------------------------------
97 comment "Target optimisations"
99 config ARCH_SUPPORT_ARCH
103 config ARCH_SUPPORT_ABI
107 config ARCH_SUPPORT_CPU
111 config ARCH_SUPPORT_TUNE
115 config ARCH_SUPPORT_FPU
121 prompt "Architecture level"
122 depends on ARCH_SUPPORT_ARCH
125 GCC uses this name to determine what kind of instructions it can emit
126 when generating assembly code. This option can be used in conjunction
127 with or instead of the ARCH_CPU option (above), or a (command-line)
130 This is the configuration flag --with-arch=XXXX, and the runtime flag
133 Pick a value from the gcc manual for your choosen gcc version and your
136 Leave blank if you don't know, or if your target architecture does not
141 prompt "Generate code for the specific ABI"
142 depends on ARCH_SUPPORT_ABI
145 Generate code for the given ABI.
147 This is the configuration flag --with-abi=XXXX, and the runtime flag
150 Pick a value from the gcc manual for your choosen gcc version and your
153 Leave blank if you don't know, or if your target architecutre does not
158 prompt "Emit assembly for CPU"
159 depends on ARCH_SUPPORT_CPU
162 This specifies the name of the target processor. GCC uses this name
163 to determine what kind of instructions it can emit when generating
166 This is the configuration flag --with-cpu=XXXX, and the runtime flag
169 Pick a value from the gcc manual for your choosen gcc version and your
172 Leave blank if you don't know, or if your target architecture does not
177 prompt "Tune for CPU"
178 depends on ARCH_SUPPORT_TUNE
181 This option is very similar to the ARCH_CPU option (above), except
182 that instead of specifying the actual target processor type, and hence
183 restricting which instructions can be used, it specifies that GCC should
184 tune the performance of the code as if the target were of the type
185 specified in this option, but still choosing the instructions that it
186 will generate based on the cpu specified by the ARCH_CPU option
187 (above), or a (command-line) -mcpu= option.
189 This is the configuration flag --with-tune=XXXX, and the runtime flag
192 Pick a value from the gcc manual for your choosen gcc version and your
195 Leave blank if you don't know, or if your target architecture does not
200 prompt "Use specific FPU"
201 depends on ARCH_SUPPORT_FPU
204 On some targets (eg. ARM), you can specify the kind of FPU to emit
207 This is the configuration flag --with-fpu=XXX, and the runtime flag
210 See below wether to actually emit FP opcodes, or to emulate them.
212 Pick a value from the gcc manual for your choosen gcc version and your
215 Leave blank if you don't know, or if your target architecture does not
220 prompt "Floating point:"
224 prompt "hardware (FPU)"
226 Emit hardware floating point opcodes.
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/...
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.
241 Do not emit any hardware floating point opcode.
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.
250 prompt "Target CFLAGS"
253 Used to add specific options when compiling libraries of the toolchain,
254 that will run on the target (eg. libc.so).
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.
259 Leave blank if you don't know better.
261 config TARGET_LDFLAGS
263 prompt "Target LDFLAGS"
266 Used to add specific options when linking libraries of the toolchain,
267 that will run on your target.
269 Leave blank if you don't know better.