summaryrefslogtreecommitdiffstats
path: root/platforms/architecture.in
blob: e875f019879f35182325365a1e7d2f411acbeb55 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
menu "architecture                  "

choice
	prompt "cpu architecture"
	help
	  Specify which processor architecture you want to compile for.

	config ARCH_ALPHA
		bool "alpha      "
		select HAS_MMU
		select ARCH_SUPPORTS_ENDIAN_LITTLE
		help
		  This is support for the Alpha processor architecture.

	config ARCH_ARM
		bool "arm        "
		select HAS_MMU
		help
		  This is support for the ARM processor architecture.

	config ARCH_BLACKFIN
		bool "blackfin   "
		select ARCH_SUPPORTS_ENDIAN_LITTLE
		help
		  This is support for the blackfin processor.

	config ARCH_X86
		bool "x86        "
		select HAS_MMU
		select HAS_PCI
		select ARCH_SUPPORTS_ENDIAN_LITTLE
		help
		  This is support for the Intel x86 architecture.

	config ARCH_MINGW
		bool "mingw      "
		select HAS_MMU
		select ARCH_SUPPORTS_ENDIAN_LITTLE
		help
		  This is support for the Intel x86 architecture.

	config ARCH_PPC
		bool "ppc        "
		select HAS_MMU
		select ARCH_SUPPORTS_ENDIAN_BIG
		help
		  This is support for the PowerPC architecture.

	config ARCH_M68K
		bool "m68k       "
		select HAS_MMU
		select ARCH_SUPPORTS_ENDIAN_BIG
		help
		  This is support for the Motorola/Freescale M68k architecture.

	config ARCH_SPARC
		bool "sparc      "
		select HAS_MMU
		select ARCH_SUPPORTS_ENDIAN_BIG
		help
		  This is support for the SPARC architecture.

	config ARCH_MIPS
		bool "mips       "
		select HAS_MMU
		select ARCH_SUPPORTS_ENDIAN_LITTLE
		select ARCH_SUPPORTS_ENDIAN_BIG
		help
		  This is support for the MIPS architecture.

	config ARCH_CRIS
		bool "cris       "
		select HAS_MMU
		select ARCH_SUPPORTS_ENDIAN_LITTLE
		help
		  This is support for the cris architecture.

	config ARCH_PARISC
		bool "parisc     "
		select HAS_MMU
		select ARCH_SUPPORTS_ENDIAN_BIG
		help
		  This is support for the parisc architecture.

	config ARCH_SH
		bool "superh     "
		select HAS_MMU
		select ARCH_SUPPORTS_ENDIAN_LITTLE
		select ARCH_SUPPORTS_ENDIAN_BIG
		help
		  This is support for the SuperH architecture.
endchoice


#
# arm
#
choice
	prompt "arm SoC variant "
	depends on ARCH_ARM
	help
	  The ARM processor architecture has a variety of flavours.
	  Please chose one.

	config ARCH_ARM_ATMEL
		bool "atmel      "
		select ARCH_SUPPORTS_ENDIAN_LITTLE

	config ARCH_ARM_AT91RM9200
		bool "at91rm9200 "
		select ARCH_SUPPORTS_ENDIAN_LITTLE
		
	config ARCH_ARM_AT91SAM926X
		bool "at91sam926x"
		select ARCH_SUPPORTS_ENDIAN_LITTLE

	config ARCH_ARM_EPXA
		bool "excalibur  "
		select ARCH_SUPPORTS_ENDIAN_LITTLE

	config ARCH_ARM_IMX
		bool "i.mx       "
		select ARCH_SUPPORTS_ENDIAN_LITTLE

	config ARCH_ARM_IXP
		bool "ixp        "
		select HAS_PCI
		select ARCH_SUPPORTS_ENDIAN_BIG
		select ARCH_SUPPORTS_ENDIAN_LITTLE

	config ARCH_ARM_NETX
		bool "netx       "
		select ARCH_SUPPORTS_ENDIAN_LITTLE

	config ARCH_ARM_OMAP
		bool "omap       "
		select ARCH_SUPPORTS_ENDIAN_LITTLE

	config ARCH_ARM_PXA
		bool "pxa        "
		select ARCH_SUPPORTS_ENDIAN_LITTLE
endchoice


#
# superh
#
choice
	prompt "superh family   "
	depends on ARCH_SH

	config ARCH_SH_SH3
		bool "sh3        "

	config ARCH_SH_SH4
		bool "sh4        "
endchoice


#
# x86
#
choice
	prompt "x86 optimization "
	depends on ARCH_X86

	config ARCH_X86_I386
		bool "386       "
		help
		  The compiler will generate code for i386 CPUs as default. This code will
		  run on almost all x86_32 processors.

	config ARCH_X86_I486
		bool "486       "
		help
		  The compiler will generate code for i486 CPUs as default. This code will run
		  on almost all x86/ia32 processors, but not on i386!

	config ARCH_X86_I586
		bool "586       "
		help
		  The compiler will generate code for i586 class CPUs as default (Pentium).
		  This code will run on almost all x86/ia32 processors, but not on i386 and i486!

	config ARCH_X86_I686
		bool "686       "
		help
		  The compiler will generate code for i686 class CPUs as default (Pentium Pro).
		  This code will run on almost all x86/ia32 processors, but not on i386, i486 and pentium!

	config ARCH_X86_P2
		bool "PII       "
		help
		  The compiler will generate code for Pentium II CPUs as default.
		  This code will run on Pentium II and above CPUs.

  	config ARCH_X86_P3M
		bool "PIII/M    "
		help
		  The compiler will generate code for Pentium III and Pentium M CPUs as default.
		  This code will run on Pentium III and above CPUs. Note: A Pentium M is a successor
		  of Pentium III (Pentium 4 is a dead end)

endchoice


#
# endianess
#
config ARCH_SUPPORTS_ENDIAN_BIG
       bool

config ARCH_SUPPORTS_ENDIAN_LITTLE
       bool

choice
	prompt "endianess       "

	config ENDIAN_BIG
		bool "big        "
		depends on ARCH_SUPPORTS_ENDIAN_BIG

	config ENDIAN_LITTLE
		bool "little     "
		depends on ARCH_SUPPORTS_ENDIAN_LITTLE
endchoice


#
# PCI bus
#
config HAS_PCI
	bool

#
# memory management unit
#
config HAS_MMU
	bool

#
# arch string
#
config ARCH_STRING
	string
	default "arm"			if ARCH_ARM
	default "alpha"			if ARCH_ALPHA
	default "blackfin"		if ARCH_BLACKFIN
	default "i386"			if ARCH_X86
	default "i386"			if ARCH_MINGW
	default "m68k"			if ARCH_M68K
	default "ppc"			if ARCH_PPC
	default "sparc"			if ARCH_SPARC
	default "mips"			if ARCH_MIPS
	default "cris"			if ARCH_CRIS
	default "parisc"		if ARCH_PARISC
	default "sh"			if ARCH_SH

# ----------------------------------------------------------------------------

source "platforms/toolchain.in"
source "platforms/toolchain_options.in"
source "platforms/paths.in"

endmenu