]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blame - arch/mips/Kconfig
[MIPS] Fix build error in atomic64_cmpxchg
[mirror_ubuntu-artful-kernel.git] / arch / mips / Kconfig
CommitLineData
1da177e4
LT
1config MIPS
2 bool
3 default y
4 # Horrible source of confusion. Die, die, die ...
5 select EMBEDDED
6
875d43e7
RB
7mainmenu "Linux/MIPS Kernel Configuration"
8
1da177e4
LT
9menu "Machine selection"
10
5ac6da66
CL
11config ZONE_DMA
12 bool
5ac6da66 13
5e83d430
RB
14choice
15 prompt "System type"
16 default SGI_IP22
1da177e4 17
5e83d430 18config MIPS_MTX1
3fa986fa 19 bool "4G Systems MTX-1 board"
1da177e4 20 select DMA_NONCOHERENT
5e83d430 21 select HW_HAS_PCI
08f57f7f 22 select RESOURCES_64BIT if PCI
5e83d430 23 select SOC_AU1500
7cf8053b 24 select SYS_HAS_CPU_MIPS32_R1
5e83d430 25 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 26
5e83d430
RB
27config MIPS_BOSPORUS
28 bool "AMD Alchemy Bosporus board"
29 select SOC_AU1500
1da177e4 30 select DMA_NONCOHERENT
7cf8053b 31 select SYS_HAS_CPU_MIPS32_R1
5e83d430 32 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 33
5e83d430
RB
34config MIPS_PB1000
35 bool "AMD Alchemy PB1000 board"
36 select SOC_AU1000
1da177e4 37 select DMA_NONCOHERENT
5e83d430 38 select HW_HAS_PCI
08f57f7f 39 select RESOURCES_64BIT if PCI
5e83d430 40 select SWAP_IO_SPACE
7cf8053b 41 select SYS_HAS_CPU_MIPS32_R1
5e83d430 42 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 43
5e83d430
RB
44config MIPS_PB1100
45 bool "AMD Alchemy PB1100 board"
46 select SOC_AU1100
1da177e4 47 select DMA_NONCOHERENT
1da177e4 48 select HW_HAS_PCI
08f57f7f 49 select RESOURCES_64BIT if PCI
5e83d430 50 select SWAP_IO_SPACE
7cf8053b 51 select SYS_HAS_CPU_MIPS32_R1
5e83d430 52 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 53
5e83d430
RB
54config MIPS_PB1500
55 bool "AMD Alchemy PB1500 board"
56 select SOC_AU1500
57 select DMA_NONCOHERENT
58 select HW_HAS_PCI
08f57f7f 59 select RESOURCES_64BIT if PCI
7cf8053b 60 select SYS_HAS_CPU_MIPS32_R1
5e83d430 61 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 62
5e83d430
RB
63config MIPS_PB1550
64 bool "AMD Alchemy PB1550 board"
65 select SOC_AU1550
1da177e4 66 select DMA_NONCOHERENT
5e83d430
RB
67 select HW_HAS_PCI
68 select MIPS_DISABLE_OBSOLETE_IDE
08f57f7f 69 select RESOURCES_64BIT if PCI
7cf8053b 70 select SYS_HAS_CPU_MIPS32_R1
5e83d430 71 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 72
5e83d430
RB
73config MIPS_PB1200
74 bool "AMD Alchemy PB1200 board"
75 select SOC_AU1200
1da177e4 76 select DMA_NONCOHERENT
5e83d430 77 select MIPS_DISABLE_OBSOLETE_IDE
08f57f7f 78 select RESOURCES_64BIT if PCI
7cf8053b 79 select SYS_HAS_CPU_MIPS32_R1
5e83d430 80 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 81
5e83d430
RB
82config MIPS_DB1000
83 bool "AMD Alchemy DB1000 board"
84 select SOC_AU1000
1da177e4 85 select DMA_NONCOHERENT
63b799f9 86 select HW_HAS_PCI
08f57f7f 87 select RESOURCES_64BIT if PCI
7cf8053b 88 select SYS_HAS_CPU_MIPS32_R1
5e83d430 89 select SYS_SUPPORTS_LITTLE_ENDIAN
4d666d7a 90
5e83d430
RB
91config MIPS_DB1100
92 bool "AMD Alchemy DB1100 board"
93 select SOC_AU1100
1da177e4 94 select DMA_NONCOHERENT
7cf8053b 95 select SYS_HAS_CPU_MIPS32_R1
5e83d430 96 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 97
5e83d430
RB
98config MIPS_DB1500
99 bool "AMD Alchemy DB1500 board"
100 select SOC_AU1500
1da177e4 101 select DMA_NONCOHERENT
8dd4aebe 102 select HW_HAS_PCI
5e83d430 103 select MIPS_DISABLE_OBSOLETE_IDE
08f57f7f 104 select RESOURCES_64BIT if PCI
7cf8053b 105 select SYS_HAS_CPU_MIPS32_R1
5e83d430
RB
106 select SYS_SUPPORTS_BIG_ENDIAN
107 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 108
5e83d430
RB
109config MIPS_DB1550
110 bool "AMD Alchemy DB1550 board"
111 select SOC_AU1550
112 select HW_HAS_PCI
113 select DMA_NONCOHERENT
114 select MIPS_DISABLE_OBSOLETE_IDE
08f57f7f 115 select RESOURCES_64BIT if PCI
7cf8053b 116 select SYS_HAS_CPU_MIPS32_R1
5e83d430 117 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 118
5e83d430
RB
119config MIPS_DB1200
120 bool "AMD Alchemy DB1200 board"
121 select SOC_AU1200
122 select DMA_COHERENT
123 select MIPS_DISABLE_OBSOLETE_IDE
7cf8053b 124 select SYS_HAS_CPU_MIPS32_R1
5e83d430 125 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 126
5e83d430
RB
127config MIPS_MIRAGE
128 bool "AMD Alchemy Mirage board"
1da177e4 129 select DMA_NONCOHERENT
5e83d430 130 select SOC_AU1500
7cf8053b 131 select SYS_HAS_CPU_MIPS32_R1
5e83d430 132 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 133
35189fad 134config BASLER_EXCITE
be91589e 135 bool "Basler eXcite smart camera"
35189fad
RB
136 select DMA_COHERENT
137 select HW_HAS_PCI
138 select IRQ_CPU
139 select IRQ_CPU_RM7K
140 select IRQ_CPU_RM9K
663c3d90 141 select MIPS_RM9122
35189fad
RB
142 select SYS_HAS_CPU_RM9000
143 select SYS_SUPPORTS_32BIT_KERNEL
144 select SYS_SUPPORTS_64BIT_KERNEL
145 select SYS_SUPPORTS_BIG_ENDIAN
cc801077 146 select SYS_SUPPORTS_KGDB
35189fad
RB
147 help
148 The eXcite is a smart camera platform manufactured by
be91589e 149 Basler Vision Technologies AG.
35189fad
RB
150
151config BASLER_EXCITE_PROTOTYPE
152 bool "Support for pre-release units"
153 depends on BASLER_EXCITE
154 default n
155 help
156 Pre-series (prototype) units are different from later ones in
157 some ways. Select this option if you have one of these. Please
158 note that a kernel built with this option selected will not be
159 able to run on normal units.
160
1da177e4 161config MIPS_COBALT
3fa986fa 162 bool "Cobalt Server"
1da177e4
LT
163 select DMA_NONCOHERENT
164 select HW_HAS_PCI
165 select I8259
166 select IRQ_CPU
252161ec 167 select PCI_GT64XXX_PCI0
7cf8053b 168 select SYS_HAS_CPU_NEVADA
0a22e0d4 169 select SYS_HAS_EARLY_PRINTK
ed5ba2fb
YY
170 select SYS_SUPPORTS_32BIT_KERNEL
171 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
5e83d430 172 select SYS_SUPPORTS_LITTLE_ENDIAN
9fd32cfb 173 select GENERIC_HARDIRQS_NO__DO_IRQ
1da177e4
LT
174
175config MACH_DECSTATION
3fa986fa 176 bool "DECstations"
1da177e4
LT
177 select BOOT_ELF32
178 select DMA_NONCOHERENT
36a88530 179 select SYS_HAS_EARLY_PRINTK
1da177e4 180 select IRQ_CPU
7cf8053b
RB
181 select SYS_HAS_CPU_R3000
182 select SYS_HAS_CPU_R4X00
ed5ba2fb
YY
183 select SYS_SUPPORTS_32BIT_KERNEL
184 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
5e83d430 185 select SYS_SUPPORTS_LITTLE_ENDIAN
1723b4a3
AN
186 select SYS_SUPPORTS_128HZ
187 select SYS_SUPPORTS_256HZ
188 select SYS_SUPPORTS_1024HZ
5e83d430 189 help
1da177e4
LT
190 This enables support for DEC's MIPS based workstations. For details
191 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
192 DECstation porting pages on <http://decstation.unix-ag.org/>.
193
194 If you have one of the following DECstation Models you definitely
195 want to choose R4xx0 for the CPU Type:
196
197 DECstation 5000/50
198 DECstation 5000/150
199 DECstation 5000/260
200 DECsystem 5900/260
201
202 otherwise choose R3000.
203
204config MIPS_EV64120
3fa986fa 205 bool "Galileo EV64120 Evaluation board (EXPERIMENTAL)"
1da177e4
LT
206 depends on EXPERIMENTAL
207 select DMA_NONCOHERENT
208 select HW_HAS_PCI
252161ec 209 select PCI_GT64XXX_PCI0
7cf8053b 210 select SYS_HAS_CPU_R5000
ed5ba2fb
YY
211 select SYS_SUPPORTS_32BIT_KERNEL
212 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 213 select SYS_SUPPORTS_BIG_ENDIAN
cc801077 214 select SYS_SUPPORTS_KGDB
1da177e4
LT
215 help
216 This is an evaluation board based on the Galileo GT-64120
217 single-chip system controller that contains a MIPS R5000 compatible
218 core running at 75/100MHz. Their website is located at
219 <http://www.marvell.com/>. Say Y here if you wish to build a
220 kernel for this platform.
221
5e83d430 222config MACH_JAZZ
3fa986fa 223 bool "Jazz family of machines"
5e83d430
RB
224 select ARC
225 select ARC32
226 select ARCH_MAY_HAVE_PC_FDC
227 select GENERIC_ISA_DMA
e5c6c8e4 228 select I8253
5e83d430
RB
229 select I8259
230 select ISA
7cf8053b 231 select SYS_HAS_CPU_R4X00
5e83d430
RB
232 select SYS_SUPPORTS_32BIT_KERNEL
233 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
1723b4a3 234 select SYS_SUPPORTS_100HZ
9fd32cfb 235 select GENERIC_HARDIRQS_NO__DO_IRQ
1da177e4 236 help
5e83d430
RB
237 This a family of machines based on the MIPS R4030 chipset which was
238 used by several vendors to build RISC/os and Windows NT workstations.
239 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
240 Olivetti M700-10 workstations.
241
242config LASAT
3fa986fa 243 bool "LASAT Networks platforms"
5e83d430 244 select DMA_NONCOHERENT
36a88530 245 select SYS_HAS_EARLY_PRINTK
5e83d430 246 select HW_HAS_PCI
252161ec 247 select PCI_GT64XXX_PCI0
5e83d430
RB
248 select MIPS_NILE4
249 select R5000_CPU_SCACHE
7cf8053b 250 select SYS_HAS_CPU_R5000
5e83d430 251 select SYS_SUPPORTS_32BIT_KERNEL
080e948c 252 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
5e83d430 253 select SYS_SUPPORTS_LITTLE_ENDIAN
e77c232c 254 select GENERIC_HARDIRQS_NO__DO_IRQ
1da177e4
LT
255
256config MIPS_ATLAS
3fa986fa 257 bool "MIPS Atlas board"
1da177e4
LT
258 select BOOT_ELF32
259 select DMA_NONCOHERENT
36a88530 260 select SYS_HAS_EARLY_PRINTK
5e83d430 261 select IRQ_CPU
1da177e4 262 select HW_HAS_PCI
5e83d430
RB
263 select MIPS_BOARDS_GEN
264 select MIPS_BONITO64
252161ec 265 select PCI_GT64XXX_PCI0
5e83d430 266 select MIPS_MSC
f4b7cdb4 267 select RM7000_CPU_SCACHE
1da177e4 268 select SWAP_IO_SPACE
7cf8053b
RB
269 select SYS_HAS_CPU_MIPS32_R1
270 select SYS_HAS_CPU_MIPS32_R2
271 select SYS_HAS_CPU_MIPS64_R1
272 select SYS_HAS_CPU_NEVADA
273 select SYS_HAS_CPU_RM7000
ed5ba2fb
YY
274 select SYS_SUPPORTS_32BIT_KERNEL
275 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430
RB
276 select SYS_SUPPORTS_BIG_ENDIAN
277 select SYS_SUPPORTS_LITTLE_ENDIAN
f41ae0b2 278 select SYS_SUPPORTS_MULTITHREADING if EXPERIMENTAL
9693a853 279 select SYS_SUPPORTS_SMARTMIPS
e77c232c 280 select GENERIC_HARDIRQS_NO__DO_IRQ
1da177e4 281 help
f638d197 282 This enables support for the MIPS Technologies Atlas evaluation
1da177e4
LT
283 board.
284
285config MIPS_MALTA
3fa986fa 286 bool "MIPS Malta board"
61ed242d 287 select ARCH_MAY_HAVE_PC_FDC
1da177e4
LT
288 select BOOT_ELF32
289 select HAVE_STD_PC_SERIAL_PORT
290 select DMA_NONCOHERENT
291 select GENERIC_ISA_DMA
aa414dff 292 select IRQ_CPU
1da177e4
LT
293 select HW_HAS_PCI
294 select I8259
5e83d430
RB
295 select MIPS_BOARDS_GEN
296 select MIPS_BONITO64
9318c51a 297 select MIPS_CPU_SCACHE
252161ec 298 select PCI_GT64XXX_PCI0
5e83d430 299 select MIPS_MSC
1da177e4 300 select SWAP_IO_SPACE
7cf8053b
RB
301 select SYS_HAS_CPU_MIPS32_R1
302 select SYS_HAS_CPU_MIPS32_R2
303 select SYS_HAS_CPU_MIPS64_R1
304 select SYS_HAS_CPU_NEVADA
305 select SYS_HAS_CPU_RM7000
36a88530 306 select SYS_HAS_EARLY_PRINTK
ed5ba2fb
YY
307 select SYS_SUPPORTS_32BIT_KERNEL
308 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430
RB
309 select SYS_SUPPORTS_BIG_ENDIAN
310 select SYS_SUPPORTS_LITTLE_ENDIAN
f41ae0b2 311 select SYS_SUPPORTS_MULTITHREADING
9693a853 312 select SYS_SUPPORTS_SMARTMIPS
1da177e4 313 help
f638d197 314 This enables support for the MIPS Technologies Malta evaluation
1da177e4
LT
315 board.
316
317config MIPS_SEAD
3fa986fa 318 bool "MIPS SEAD board (EXPERIMENTAL)"
1da177e4
LT
319 depends on EXPERIMENTAL
320 select IRQ_CPU
321 select DMA_NONCOHERENT
36a88530 322 select SYS_HAS_EARLY_PRINTK
5e83d430 323 select MIPS_BOARDS_GEN
7cf8053b
RB
324 select SYS_HAS_CPU_MIPS32_R1
325 select SYS_HAS_CPU_MIPS32_R2
326 select SYS_HAS_CPU_MIPS64_R1
ed5ba2fb 327 select SYS_SUPPORTS_32BIT_KERNEL
5e83d430
RB
328 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
329 select SYS_SUPPORTS_BIG_ENDIAN
330 select SYS_SUPPORTS_LITTLE_ENDIAN
9693a853 331 select SYS_SUPPORTS_SMARTMIPS
f638d197
MR
332 help
333 This enables support for the MIPS Technologies SEAD evaluation
334 board.
1da177e4 335
a240a469 336config WR_PPMC
9247857f 337 bool "Wind River PPMC board"
a240a469
MZ
338 select IRQ_CPU
339 select BOOT_ELF32
340 select DMA_NONCOHERENT
341 select HW_HAS_PCI
252161ec 342 select PCI_GT64XXX_PCI0
a240a469
MZ
343 select SWAP_IO_SPACE
344 select SYS_HAS_CPU_MIPS32_R1
345 select SYS_HAS_CPU_MIPS32_R2
346 select SYS_HAS_CPU_MIPS64_R1
347 select SYS_HAS_CPU_NEVADA
348 select SYS_HAS_CPU_RM7000
349 select SYS_SUPPORTS_32BIT_KERNEL
350 select SYS_SUPPORTS_64BIT_KERNEL
351 select SYS_SUPPORTS_BIG_ENDIAN
352 select SYS_SUPPORTS_LITTLE_ENDIAN
353 help
354 This enables support for the Wind River MIPS32 4KC PPMC evaluation
355 board, which is based on GT64120 bridge chip.
356
5e83d430 357config MIPS_SIM
3fa986fa 358 bool 'MIPS simulator (MIPSsim)'
1da177e4 359 select DMA_NONCOHERENT
36a88530 360 select SYS_HAS_EARLY_PRINTK
1da177e4 361 select IRQ_CPU
7cf8053b
RB
362 select SYS_HAS_CPU_MIPS32_R1
363 select SYS_HAS_CPU_MIPS32_R2
36a88530 364 select SYS_HAS_EARLY_PRINTK
ed5ba2fb 365 select SYS_SUPPORTS_32BIT_KERNEL
5e83d430
RB
366 select SYS_SUPPORTS_BIG_ENDIAN
367 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 368 help
5e83d430
RB
369 This option enables support for MIPS Technologies MIPSsim software
370 emulator.
1da177e4 371
5e83d430 372config MOMENCO_OCELOT
3fa986fa 373 bool "Momentum Ocelot board"
1da177e4
LT
374 select DMA_NONCOHERENT
375 select HW_HAS_PCI
376 select IRQ_CPU
5e83d430 377 select IRQ_CPU_RM7K
252161ec 378 select PCI_GT64XXX_PCI0
1da177e4
LT
379 select RM7000_CPU_SCACHE
380 select SWAP_IO_SPACE
7cf8053b 381 select SYS_HAS_CPU_RM7000
ed5ba2fb
YY
382 select SYS_SUPPORTS_32BIT_KERNEL
383 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 384 select SYS_SUPPORTS_BIG_ENDIAN
cc801077 385 select SYS_SUPPORTS_KGDB
1da177e4
LT
386 help
387 The Ocelot is a MIPS-based Single Board Computer (SBC) made by
388 Momentum Computer <http://www.momenco.com/>.
389
390config MOMENCO_OCELOT_3
3fa986fa 391 bool "Momentum Ocelot-3 board"
1da177e4
LT
392 select BOOT_ELF32
393 select DMA_NONCOHERENT
394 select HW_HAS_PCI
395 select IRQ_CPU
396 select IRQ_CPU_RM7K
397 select IRQ_MV64340
398 select PCI_MARVELL
399 select RM7000_CPU_SCACHE
400 select SWAP_IO_SPACE
7cf8053b 401 select SYS_HAS_CPU_RM9000
ed5ba2fb
YY
402 select SYS_SUPPORTS_32BIT_KERNEL
403 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 404 select SYS_SUPPORTS_BIG_ENDIAN
1da177e4
LT
405 help
406 The Ocelot-3 is based off Discovery III System Controller and
407 PMC-Sierra Rm79000 core.
408
5e83d430 409config MOMENCO_OCELOT_C
3fa986fa 410 bool "Momentum Ocelot-C board"
1da177e4
LT
411 select DMA_NONCOHERENT
412 select HW_HAS_PCI
413 select IRQ_CPU
1da177e4 414 select IRQ_MV64340
1da177e4
LT
415 select PCI_MARVELL
416 select RM7000_CPU_SCACHE
417 select SWAP_IO_SPACE
7cf8053b 418 select SYS_HAS_CPU_RM7000
ed5ba2fb 419 select SYS_SUPPORTS_32BIT_KERNEL
8a88ca8f 420 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 421 select SYS_SUPPORTS_BIG_ENDIAN
e77c232c 422 select GENERIC_HARDIRQS_NO__DO_IRQ
1da177e4 423 help
5e83d430 424 The Ocelot is a MIPS-based Single Board Computer (SBC) made by
1da177e4
LT
425 Momentum Computer <http://www.momenco.com/>.
426
5e83d430 427config MIPS_XXS1500
3fa986fa 428 bool "MyCable XXS1500 board"
5e83d430
RB
429 select DMA_NONCOHERENT
430 select SOC_AU1500
431 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 432
bdf21b18 433config PNX8550_JBS
3fa986fa 434 bool "Philips PNX8550 based JBS board"
bdf21b18
PP
435 select PNX8550
436 select SYS_SUPPORTS_LITTLE_ENDIAN
f0647a52
VW
437
438config PNX8550_STB810
439 bool "Support for Philips PNX8550 based STB810 board"
440 select PNX8550
441 select SYS_SUPPORTS_LITTLE_ENDIAN
bdf21b18 442
1da177e4 443config DDB5477
3fa986fa 444 bool "NEC DDB Vrc-5477"
5e83d430 445 select DDB5XXX_COMMON
1da177e4
LT
446 select DMA_NONCOHERENT
447 select HW_HAS_PCI
448 select I8259
449 select IRQ_CPU
7cf8053b 450 select SYS_HAS_CPU_R5432
ed5ba2fb
YY
451 select SYS_SUPPORTS_32BIT_KERNEL
452 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
cc801077
RB
453 select SYS_SUPPORTS_KGDB
454 select SYS_SUPPORTS_KGDB
5e83d430 455 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4
LT
456 help
457 This enables support for the R5432-based NEC DDB Vrc-5477,
458 or Rockhopper/SolutionGear boards with R5432/R5500 CPUs.
459
460 Features : kernel debugging, serial terminal, NFS root fs, on-board
461 ether port USB, AC97, PCI, etc.
462
5e83d430 463config MACH_VR41XX
74142d65 464 bool "NEC VR4100 series based machines"
7cf8053b 465 select SYS_HAS_CPU_VR41XX
9fd32cfb 466 select GENERIC_HARDIRQS_NO__DO_IRQ
5e83d430
RB
467
468config PMC_YOSEMITE
3fa986fa 469 bool "PMC-Sierra Yosemite eval board"
5e83d430
RB
470 select DMA_COHERENT
471 select HW_HAS_PCI
472 select IRQ_CPU
473 select IRQ_CPU_RM7K
474 select IRQ_CPU_RM9K
475 select SWAP_IO_SPACE
7cf8053b 476 select SYS_HAS_CPU_RM9000
36a88530 477 select SYS_HAS_EARLY_PRINTK
5e83d430
RB
478 select SYS_SUPPORTS_32BIT_KERNEL
479 select SYS_SUPPORTS_64BIT_KERNEL
480 select SYS_SUPPORTS_BIG_ENDIAN
481 select SYS_SUPPORTS_HIGHMEM
cc801077 482 select SYS_SUPPORTS_KGDB
e73ea273 483 select SYS_SUPPORTS_SMP
5e83d430
RB
484 help
485 Yosemite is an evaluation board for the RM9000x2 processor
486 manufactured by PMC-Sierra.
1da177e4 487
07119621 488config QEMU
3fa986fa 489 bool "Qemu"
07119621
RB
490 select DMA_COHERENT
491 select GENERIC_ISA_DMA
492 select HAVE_STD_PC_SERIAL_PORT
e5c6c8e4 493 select I8253
07119621
RB
494 select I8259
495 select ISA
496 select SWAP_IO_SPACE
7cf8053b 497 select SYS_HAS_CPU_MIPS32_R1
07119621
RB
498 select SYS_SUPPORTS_32BIT_KERNEL
499 select SYS_SUPPORTS_BIG_ENDIAN
c8cc9618 500 select SYS_SUPPORTS_LITTLE_ENDIAN
b1c6cd42 501 select ARCH_SPARSEMEM_ENABLE
9fd32cfb 502 select GENERIC_HARDIRQS_NO__DO_IRQ
72ede9b1
AN
503 select NR_CPUS_DEFAULT_1
504 select SYS_SUPPORTS_SMP
07119621 505 help
5e83d430
RB
506 Qemu is a software emulator which among other architectures also
507 can simulate a MIPS32 4Kc system. This patch adds support for the
508 system architecture that currently is being simulated by Qemu. It
509 will eventually be removed again when Qemu has the capability to
510 simulate actual MIPS hardware platforms. More information on Qemu
511 can be found at http://www.linux-mips.org/wiki/Qemu.
07119621 512
355c471f 513config MARKEINS
514 bool "Support for NEC EMMA2RH Mark-eins"
515 select DMA_NONCOHERENT
516 select HW_HAS_PCI
517 select IRQ_CPU
518 select SWAP_IO_SPACE
519 select SYS_SUPPORTS_32BIT_KERNEL
520 select SYS_SUPPORTS_BIG_ENDIAN
521 select SYS_SUPPORTS_LITTLE_ENDIAN
522 select SYS_HAS_CPU_R5000
523 help
524 This enables support for the R5432-based NEC Mark-eins
525 boards with R5500 CPU.
526
1da177e4 527config SGI_IP22
3fa986fa 528 bool "SGI IP22 (Indy/Indigo2)"
1da177e4
LT
529 select ARC
530 select ARC32
531 select BOOT_ELF32
532 select DMA_NONCOHERENT
5e83d430 533 select HW_HAS_EISA
1da177e4
LT
534 select IP22_CPU_SCACHE
535 select IRQ_CPU
aa414dff 536 select GENERIC_ISA_DMA_SUPPORT_BROKEN
1da177e4 537 select SWAP_IO_SPACE
7cf8053b
RB
538 select SYS_HAS_CPU_R4X00
539 select SYS_HAS_CPU_R5000
36a88530 540 select SYS_HAS_EARLY_PRINTK
ed5ba2fb
YY
541 select SYS_SUPPORTS_32BIT_KERNEL
542 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 543 select SYS_SUPPORTS_BIG_ENDIAN
1da177e4
LT
544 help
545 This are the SGI Indy, Challenge S and Indigo2, as well as certain
546 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
547 that runs on these, say Y here.
548
549config SGI_IP27
3fa986fa 550 bool "SGI IP27 (Origin200/2000)"
1da177e4
LT
551 select ARC
552 select ARC64
5e83d430 553 select BOOT_ELF64
1da177e4 554 select DMA_IP27
36a88530 555 select SYS_HAS_EARLY_PRINTK
1da177e4 556 select HW_HAS_PCI
130e2fb7 557 select NR_CPUS_DEFAULT_64
1da177e4 558 select PCI_DOMAINS
7cf8053b 559 select SYS_HAS_CPU_R10000
ed5ba2fb 560 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 561 select SYS_SUPPORTS_BIG_ENDIAN
cc801077 562 select SYS_SUPPORTS_KGDB
d8cb4e11 563 select SYS_SUPPORTS_NUMA
1a5c5de1 564 select SYS_SUPPORTS_SMP
e77c232c 565 select GENERIC_HARDIRQS_NO__DO_IRQ
1da177e4
LT
566 help
567 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
568 workstations. To compile a Linux kernel that runs on these, say Y
569 here.
570
1da177e4 571config SGI_IP32
3fa986fa 572 bool "SGI IP32 (O2) (EXPERIMENTAL)"
ed5ba2fb 573 depends on EXPERIMENTAL
1da177e4
LT
574 select ARC
575 select ARC32
576 select BOOT_ELF32
1da177e4
LT
577 select DMA_NONCOHERENT
578 select HW_HAS_PCI
579 select R5000_CPU_SCACHE
580 select RM7000_CPU_SCACHE
7cf8053b
RB
581 select SYS_HAS_CPU_R5000
582 select SYS_HAS_CPU_R10000 if BROKEN
583 select SYS_HAS_CPU_RM7000
dd2f18fe 584 select SYS_HAS_CPU_NEVADA
ed5ba2fb 585 select SYS_SUPPORTS_64BIT_KERNEL
23fbee9d 586 select SYS_SUPPORTS_BIG_ENDIAN
23fbee9d 587 help
5e83d430 588 If you want this kernel to run on SGI O2 workstation, say Y here.
1da177e4 589
9a6dcea1 590config SIBYTE_BIGSUR
3fa986fa 591 bool "Sibyte BCM91480B-BigSur"
9a6dcea1
AI
592 select BOOT_ELF32
593 select DMA_COHERENT
130e2fb7 594 select NR_CPUS_DEFAULT_4
7cf8053b 595 select PCI_DOMAINS
9a6dcea1
AI
596 select SIBYTE_BCM1x80
597 select SWAP_IO_SPACE
7cf8053b 598 select SYS_HAS_CPU_SB1
9a6dcea1
AI
599 select SYS_SUPPORTS_BIG_ENDIAN
600 select SYS_SUPPORTS_LITTLE_ENDIAN
601
5e83d430 602config SIBYTE_SWARM
3fa986fa 603 bool "Sibyte BCM91250A-SWARM"
5e83d430 604 select BOOT_ELF32
1da177e4 605 select DMA_COHERENT
130e2fb7 606 select NR_CPUS_DEFAULT_2
5e83d430
RB
607 select SIBYTE_SB1250
608 select SWAP_IO_SPACE
7cf8053b 609 select SYS_HAS_CPU_SB1
81731f79 610 select SYS_SUPPORTS_BIG_ENDIAN
5e83d430 611 select SYS_SUPPORTS_HIGHMEM
cc801077 612 select SYS_SUPPORTS_KGDB
5e83d430 613 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 614
5e83d430 615config SIBYTE_SENTOSA
3fa986fa 616 bool "Sibyte BCM91250E-Sentosa"
5e83d430
RB
617 depends on EXPERIMENTAL
618 select BOOT_ELF32
619 select DMA_COHERENT
130e2fb7 620 select NR_CPUS_DEFAULT_2
5e83d430
RB
621 select SIBYTE_SB1250
622 select SWAP_IO_SPACE
7cf8053b 623 select SYS_HAS_CPU_SB1
5e83d430
RB
624 select SYS_SUPPORTS_BIG_ENDIAN
625 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 626
5e83d430 627config SIBYTE_RHONE
3fa986fa 628 bool "Sibyte BCM91125E-Rhone"
5e83d430
RB
629 depends on EXPERIMENTAL
630 select BOOT_ELF32
631 select DMA_COHERENT
632 select SIBYTE_BCM1125H
633 select SWAP_IO_SPACE
7cf8053b 634 select SYS_HAS_CPU_SB1
5e83d430
RB
635 select SYS_SUPPORTS_BIG_ENDIAN
636 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 637
5e83d430 638config SIBYTE_CARMEL
3fa986fa 639 bool "Sibyte BCM91120x-Carmel"
5e83d430
RB
640 depends on EXPERIMENTAL
641 select BOOT_ELF32
26a940e2 642 select DMA_COHERENT
5e83d430
RB
643 select SIBYTE_BCM1120
644 select SWAP_IO_SPACE
7cf8053b 645 select SYS_HAS_CPU_SB1
5e83d430 646 select SYS_SUPPORTS_BIG_ENDIAN
e3ad1c23
PP
647 select SYS_SUPPORTS_LITTLE_ENDIAN
648
5e83d430 649config SIBYTE_PTSWARM
3fa986fa 650 bool "Sibyte BCM91250PT-PTSWARM"
5e83d430
RB
651 depends on EXPERIMENTAL
652 select BOOT_ELF32
653 select DMA_COHERENT
130e2fb7 654 select NR_CPUS_DEFAULT_2
5e83d430
RB
655 select SIBYTE_SB1250
656 select SWAP_IO_SPACE
7cf8053b 657 select SYS_HAS_CPU_SB1
5e83d430
RB
658 select SYS_SUPPORTS_BIG_ENDIAN
659 select SYS_SUPPORTS_HIGHMEM
660 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 661
5e83d430 662config SIBYTE_LITTLESUR
3fa986fa 663 bool "Sibyte BCM91250C2-LittleSur"
5e83d430
RB
664 depends on EXPERIMENTAL
665 select BOOT_ELF32
666 select DMA_COHERENT
130e2fb7 667 select NR_CPUS_DEFAULT_2
5e83d430
RB
668 select SIBYTE_SB1250
669 select SWAP_IO_SPACE
7cf8053b 670 select SYS_HAS_CPU_SB1
5e83d430
RB
671 select SYS_SUPPORTS_BIG_ENDIAN
672 select SYS_SUPPORTS_HIGHMEM
673 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 674
5e83d430 675config SIBYTE_CRHINE
3fa986fa 676 bool "Sibyte BCM91120C-CRhine"
5e83d430
RB
677 depends on EXPERIMENTAL
678 select BOOT_ELF32
679 select DMA_COHERENT
680 select SIBYTE_BCM1120
681 select SWAP_IO_SPACE
7cf8053b 682 select SYS_HAS_CPU_SB1
5e83d430
RB
683 select SYS_SUPPORTS_BIG_ENDIAN
684 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 685
5e83d430 686config SIBYTE_CRHONE
3fa986fa 687 bool "Sibyte BCM91125C-CRhone"
5e83d430
RB
688 depends on EXPERIMENTAL
689 select BOOT_ELF32
690 select DMA_COHERENT
691 select SIBYTE_BCM1125
692 select SWAP_IO_SPACE
7cf8053b 693 select SYS_HAS_CPU_SB1
5e83d430
RB
694 select SYS_SUPPORTS_BIG_ENDIAN
695 select SYS_SUPPORTS_HIGHMEM
696 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 697
14b36af4
TB
698config SNI_RM
699 bool "SNI RM200/300/400"
4a0312fc
TB
700 select ARC if CPU_LITTLE_ENDIAN
701 select ARC32 if CPU_LITTLE_ENDIAN
61ed242d 702 select ARCH_MAY_HAVE_PC_FDC
1da177e4
LT
703 select BOOT_ELF32
704 select DMA_NONCOHERENT
705 select GENERIC_ISA_DMA
5e83d430 706 select HW_HAS_EISA
1da177e4 707 select HW_HAS_PCI
c066a32a 708 select IRQ_CPU
e5c6c8e4 709 select I8253
1da177e4
LT
710 select I8259
711 select ISA
4a0312fc 712 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
7cf8053b 713 select SYS_HAS_CPU_R4X00
4a0312fc 714 select SYS_HAS_CPU_R5000
c066a32a 715 select SYS_HAS_CPU_R10000
4a0312fc 716 select R5000_CPU_SCACHE
36a88530 717 select SYS_HAS_EARLY_PRINTK
ed5ba2fb
YY
718 select SYS_SUPPORTS_32BIT_KERNEL
719 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
4a0312fc 720 select SYS_SUPPORTS_BIG_ENDIAN
797798c1 721 select SYS_SUPPORTS_HIGHMEM
5e83d430 722 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 723 help
14b36af4
TB
724 The SNI RM200/300/400 are MIPS-based machines manufactured by
725 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
1da177e4
LT
726 Technology and now in turn merged with Fujitsu. Say Y here to
727 support this machine type.
728
5e83d430 729config TOSHIBA_JMR3927
3fa986fa 730 bool "Toshiba JMR-TX3927 board"
5e83d430
RB
731 select DMA_NONCOHERENT
732 select HW_HAS_PCI
733 select MIPS_TX3927
734 select SWAP_IO_SPACE
7cf8053b 735 select SYS_HAS_CPU_TX39XX
5e83d430 736 select SYS_SUPPORTS_32BIT_KERNEL
6a2603a2 737 select SYS_SUPPORTS_LITTLE_ENDIAN
5e83d430 738 select SYS_SUPPORTS_BIG_ENDIAN
2127435e 739 select GENERIC_HARDIRQS_NO__DO_IRQ
5e83d430 740
1da177e4 741config TOSHIBA_RBTX4927
3fa986fa 742 bool "Toshiba TBTX49[23]7 board"
1da177e4
LT
743 select DMA_NONCOHERENT
744 select HAS_TXX9_SERIAL
745 select HW_HAS_PCI
746 select I8259
1da177e4 747 select SWAP_IO_SPACE
7cf8053b 748 select SYS_HAS_CPU_TX49XX
ed5ba2fb
YY
749 select SYS_SUPPORTS_32BIT_KERNEL
750 select SYS_SUPPORTS_64BIT_KERNEL
6a2603a2 751 select SYS_SUPPORTS_LITTLE_ENDIAN
5e83d430 752 select SYS_SUPPORTS_BIG_ENDIAN
cc801077 753 select SYS_SUPPORTS_KGDB
9fd32cfb 754 select GENERIC_HARDIRQS_NO__DO_IRQ
1da177e4
LT
755 help
756 This Toshiba board is based on the TX4927 processor. Say Y here to
757 support this machine type
758
5e83d430 759config TOSHIBA_RBTX4938
3fa986fa 760 bool "Toshiba RBTX4938 board"
5e83d430
RB
761 select HAVE_STD_PC_SERIAL_PORT
762 select DMA_NONCOHERENT
763 select GENERIC_ISA_DMA
764 select HAS_TXX9_SERIAL
765 select HW_HAS_PCI
766 select I8259
5e83d430 767 select SWAP_IO_SPACE
7cf8053b 768 select SYS_HAS_CPU_TX49XX
5e83d430
RB
769 select SYS_SUPPORTS_32BIT_KERNEL
770 select SYS_SUPPORTS_LITTLE_ENDIAN
771 select SYS_SUPPORTS_BIG_ENDIAN
cc801077 772 select SYS_SUPPORTS_KGDB
9fd32cfb 773 select GENERIC_HARDIRQS_NO__DO_IRQ
5e83d430
RB
774 help
775 This Toshiba board is based on the TX4938 processor. Say Y here to
776 support this machine type
777
778endchoice
1da177e4 779
5e83d430
RB
780source "arch/mips/ddb5xxx/Kconfig"
781source "arch/mips/gt64120/ev64120/Kconfig"
782source "arch/mips/jazz/Kconfig"
5e83d430 783source "arch/mips/lasat/Kconfig"
5e83d430 784source "arch/mips/pmc-sierra/Kconfig"
29c48699 785source "arch/mips/sgi-ip27/Kconfig"
38b18f72 786source "arch/mips/sibyte/Kconfig"
5e83d430 787source "arch/mips/tx4927/Kconfig"
23fbee9d 788source "arch/mips/tx4938/Kconfig"
5e83d430 789source "arch/mips/vr41xx/Kconfig"
bdf21b18 790source "arch/mips/philips/pnx8550/common/Kconfig"
38b18f72 791
5e83d430
RB
792endmenu
793
1da177e4
LT
794config RWSEM_GENERIC_SPINLOCK
795 bool
796 default y
797
798config RWSEM_XCHGADD_ALGORITHM
799 bool
800
f0d1b0b3
DH
801config ARCH_HAS_ILOG2_U32
802 bool
803 default n
804
805config ARCH_HAS_ILOG2_U64
806 bool
807 default n
808
3c9ee7ef
AM
809config GENERIC_FIND_NEXT_BIT
810 bool
811 default y
812
813config GENERIC_HWEIGHT
814 bool
815 default y
816
1da177e4
LT
817config GENERIC_CALIBRATE_DELAY
818 bool
819 default y
820
8db02010
RB
821config GENERIC_TIME
822 bool
823 default y
824
1cc89038
AN
825config SCHED_NO_NO_OMIT_FRAME_POINTER
826 bool
827 default y
828
e77c232c
FBH
829config GENERIC_HARDIRQS_NO__DO_IRQ
830 bool
831 default n
832
1da177e4
LT
833#
834# Select some configuration options automatically based on user selections.
835#
836config ARC
837 bool
1da177e4 838
61ed242d
RB
839config ARCH_MAY_HAVE_PC_FDC
840 bool
841
4ce588cd 842config DMA_COHERENT
1da177e4
LT
843 bool
844
4ce588cd 845config DMA_IP27
1da177e4
LT
846 bool
847
4ce588cd
RB
848config DMA_IP32
849 bool
850 select DMA_NEED_PCI_MAP_STATE
851
852config DMA_NONCOHERENT
853 bool
854 select DMA_NEED_PCI_MAP_STATE
855
856config DMA_NEED_PCI_MAP_STATE
1da177e4
LT
857 bool
858
859config EARLY_PRINTK
36a88530
RB
860 bool "Early printk" if EMBEDDED && DEBUG_KERNEL
861 depends on SYS_HAS_EARLY_PRINTK
862 default y
863 help
864 This option enables special console drivers which allow the kernel
865 to print messages very early in the bootup process.
866
867 This is useful for kernel debugging when your machine crashes very
868 early before the console code is initialized. For normal operation
869 it is not recommended because it looks on some machines ugly and
870 oesn't cooperate with an X server. You should normally N here,
871 unless you want to debug such a crash.
872
873config SYS_HAS_EARLY_PRINTK
1da177e4 874 bool
1da177e4
LT
875
876config GENERIC_ISA_DMA
877 bool
05502339 878 select ZONE_DMA
1da177e4
LT
879
880config I8259
881 bool
1da177e4 882
1da177e4
LT
883config MIPS_BONITO64
884 bool
1da177e4
LT
885
886config MIPS_MSC
887 bool
1da177e4
LT
888
889config MIPS_NILE4
890 bool
1da177e4
LT
891
892config MIPS_DISABLE_OBSOLETE_IDE
893 bool
894
aa414dff
RB
895config GENERIC_ISA_DMA_SUPPORT_BROKEN
896 bool
05502339 897 select ZONE_DMA
aa414dff 898
5e83d430 899#
3cb2fccc 900# Endianess selection. Sufficiently obscure so many users don't know what to
5e83d430
RB
901# answer,so we try hard to limit the available choices. Also the use of a
902# choice statement should be more obvious to the user.
903#
904choice
905 prompt "Endianess selection"
1da177e4
LT
906 help
907 Some MIPS machines can be configured for either little or big endian
5e83d430 908 byte order. These modes require different kernels and a different
3cb2fccc 909 Linux distribution. In general there is one preferred byteorder for a
5e83d430 910 particular system but some systems are just as commonly used in the
3dde6ad8 911 one or the other endianness.
5e83d430
RB
912
913config CPU_BIG_ENDIAN
914 bool "Big endian"
915 depends on SYS_SUPPORTS_BIG_ENDIAN
916
917config CPU_LITTLE_ENDIAN
918 bool "Little endian"
919 depends on SYS_SUPPORTS_LITTLE_ENDIAN
920 help
921
922endchoice
923
2116245e
RB
924config SYS_SUPPORTS_APM_EMULATION
925 bool
926
5e83d430
RB
927config SYS_SUPPORTS_BIG_ENDIAN
928 bool
929
930config SYS_SUPPORTS_LITTLE_ENDIAN
931 bool
1da177e4
LT
932
933config IRQ_CPU
934 bool
935
936config IRQ_CPU_RM7K
937 bool
938
5e83d430
RB
939config IRQ_CPU_RM9K
940 bool
941
1da177e4
LT
942config IRQ_MV64340
943 bool
944
945config DDB5XXX_COMMON
946 bool
cc801077 947 select SYS_SUPPORTS_KGDB
1da177e4
LT
948
949config MIPS_BOARDS_GEN
950 bool
1da177e4 951
252161ec 952config PCI_GT64XXX_PCI0
1da177e4 953 bool
1da177e4
LT
954
955config MIPS_TX3927
956 bool
1da177e4 957 select HAS_TXX9_SERIAL
1da177e4 958
663c3d90 959config MIPS_RM9122
960 bool
961 select SERIAL_RM9000
962 select GPI_RM9000
963 select WDT_RM9000
964
1da177e4
LT
965config PCI_MARVELL
966 bool
967
5e83d430
RB
968config SOC_AU1000
969 bool
970 select SOC_AU1X00
971
972config SOC_AU1100
973 bool
974 select SOC_AU1X00
975
976config SOC_AU1500
977 bool
978 select SOC_AU1X00
979
980config SOC_AU1550
981 bool
982 select SOC_AU1X00
983
984config SOC_AU1200
985 bool
986 select SOC_AU1X00
987
988config SOC_AU1X00
989 bool
7cf8053b 990 select SYS_HAS_CPU_MIPS32_R1
5e83d430 991 select SYS_SUPPORTS_32BIT_KERNEL
2116245e 992 select SYS_SUPPORTS_APM_EMULATION
cc801077 993 select SYS_SUPPORTS_KGDB
1da177e4 994
bd71c182
TK
995config SERIAL_RM9000
996 bool
997
bdf21b18
PP
998config PNX8550
999 bool
1000 select SOC_PNX8550
1001
1002config SOC_PNX8550
1003 bool
bdf21b18
PP
1004 select DMA_NONCOHERENT
1005 select HW_HAS_PCI
b8c2a77c 1006 select SYS_HAS_CPU_MIPS32_R1
36a88530 1007 select SYS_HAS_EARLY_PRINTK
7cf8053b 1008 select SYS_SUPPORTS_32BIT_KERNEL
e77c232c 1009 select GENERIC_HARDIRQS_NO__DO_IRQ
cc801077 1010 select SYS_SUPPORTS_KGDB
bdf21b18 1011
1da177e4
LT
1012config SWAP_IO_SPACE
1013 bool
1014
355c471f 1015config EMMA2RH
1016 bool
1017 depends on MARKEINS
1018 default y
1019
663c3d90 1020config SERIAL_RM9000
1021 bool
1022
1023config GPI_RM9000
1024 bool
1025
1026config WDT_RM9000
1027 bool
1028
1da177e4
LT
1029#
1030# Unfortunately not all GT64120 systems run the chip at the same clock.
1031# As the user for the clock rate and try to minimize the available options.
1032#
1033choice
1034 prompt "Galileo Chip Clock"
1035 #default SYSCLK_83 if MIPS_EV64120
1e54f778 1036 depends on MIPS_EV64120 || MOMENCO_OCELOT
1da177e4 1037 default SYSCLK_83 if MIPS_EV64120
1e54f778 1038 default SYSCLK_100 if MOMENCO_OCELOT
1da177e4
LT
1039
1040config SYSCLK_75
1041 bool "75" if MIPS_EV64120
1042
1043config SYSCLK_83
1044 bool "83.3" if MIPS_EV64120
1045
1046config SYSCLK_100
1e54f778 1047 bool "100" if MIPS_EV64120 || MOMENCO_OCELOT
1da177e4
LT
1048
1049endchoice
1050
5e83d430
RB
1051config ARC32
1052 bool
1053
1da177e4
LT
1054config BOOT_ELF32
1055 bool
1da177e4
LT
1056
1057config MIPS_L1_CACHE_SHIFT
1058 int
c066a32a 1059 default "4" if MACH_DECSTATION || SNI_RM
1da177e4
LT
1060 default "7" if SGI_IP27
1061 default "5"
1062
1da177e4
LT
1063config HAVE_STD_PC_SERIAL_PORT
1064 bool
1065
1da177e4
LT
1066config ARC_CONSOLE
1067 bool "ARC console support"
36a88530 1068 depends on SGI_IP22 || (SNI_RM && CPU_LITTLE_ENDIAN)
1da177e4
LT
1069
1070config ARC_MEMORY
1071 bool
14b36af4 1072 depends on MACH_JAZZ || SNI_RM || SGI_IP32
1da177e4
LT
1073 default y
1074
1075config ARC_PROMLIB
1076 bool
14b36af4 1077 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP32
1da177e4
LT
1078 default y
1079
1080config ARC64
1081 bool
1da177e4
LT
1082
1083config BOOT_ELF64
1084 bool
1da177e4 1085
1da177e4
LT
1086menu "CPU selection"
1087
1088choice
1089 prompt "CPU type"
1090 default CPU_R4X00
1091
6e760c8d
RB
1092config CPU_MIPS32_R1
1093 bool "MIPS32 Release 1"
7cf8053b 1094 depends on SYS_HAS_CPU_MIPS32_R1
f7062ddb 1095 select CPU_HAS_LLSC
6e760c8d 1096 select CPU_HAS_PREFETCH
797798c1 1097 select CPU_SUPPORTS_32BIT_KERNEL
ec28f306 1098 select CPU_SUPPORTS_HIGHMEM
1e5f1caa 1099 help
5e83d430 1100 Choose this option to build a kernel for release 1 or later of the
1e5f1caa
RB
1101 MIPS32 architecture. Most modern embedded systems with a 32-bit
1102 MIPS processor are based on a MIPS32 processor. If you know the
1103 specific type of processor in your system, choose those that one
1104 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1105 Release 2 of the MIPS32 architecture is available since several
1106 years so chances are you even have a MIPS32 Release 2 processor
1107 in which case you should choose CPU_MIPS32_R2 instead for better
1108 performance.
1109
1110config CPU_MIPS32_R2
1111 bool "MIPS32 Release 2"
7cf8053b 1112 depends on SYS_HAS_CPU_MIPS32_R2
f7062ddb 1113 select CPU_HAS_LLSC
1e5f1caa 1114 select CPU_HAS_PREFETCH
797798c1 1115 select CPU_SUPPORTS_32BIT_KERNEL
ec28f306 1116 select CPU_SUPPORTS_HIGHMEM
6e760c8d 1117 help
5e83d430 1118 Choose this option to build a kernel for release 2 or later of the
6e760c8d
RB
1119 MIPS32 architecture. Most modern embedded systems with a 32-bit
1120 MIPS processor are based on a MIPS32 processor. If you know the
1121 specific type of processor in your system, choose those that one
1122 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1123
1124config CPU_MIPS64_R1
1125 bool "MIPS64 Release 1"
7cf8053b 1126 depends on SYS_HAS_CPU_MIPS64_R1
f7062ddb 1127 select CPU_HAS_LLSC
797798c1 1128 select CPU_HAS_PREFETCH
ed5ba2fb
YY
1129 select CPU_SUPPORTS_32BIT_KERNEL
1130 select CPU_SUPPORTS_64BIT_KERNEL
ec28f306 1131 select CPU_SUPPORTS_HIGHMEM
6e760c8d
RB
1132 help
1133 Choose this option to build a kernel for release 1 or later of the
1134 MIPS64 architecture. Many modern embedded systems with a 64-bit
1135 MIPS processor are based on a MIPS64 processor. If you know the
1136 specific type of processor in your system, choose those that one
1137 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1e5f1caa
RB
1138 Release 2 of the MIPS64 architecture is available since several
1139 years so chances are you even have a MIPS64 Release 2 processor
1140 in which case you should choose CPU_MIPS64_R2 instead for better
1141 performance.
1142
1143config CPU_MIPS64_R2
1144 bool "MIPS64 Release 2"
7cf8053b 1145 depends on SYS_HAS_CPU_MIPS64_R2
f7062ddb 1146 select CPU_HAS_LLSC
797798c1 1147 select CPU_HAS_PREFETCH
1e5f1caa
RB
1148 select CPU_SUPPORTS_32BIT_KERNEL
1149 select CPU_SUPPORTS_64BIT_KERNEL
ec28f306 1150 select CPU_SUPPORTS_HIGHMEM
1e5f1caa
RB
1151 help
1152 Choose this option to build a kernel for release 2 or later of the
1153 MIPS64 architecture. Many modern embedded systems with a 64-bit
1154 MIPS processor are based on a MIPS64 processor. If you know the
1155 specific type of processor in your system, choose those that one
1156 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1da177e4
LT
1157
1158config CPU_R3000
1159 bool "R3000"
7cf8053b 1160 depends on SYS_HAS_CPU_R3000
f7062ddb 1161 select CPU_HAS_WB
ed5ba2fb 1162 select CPU_SUPPORTS_32BIT_KERNEL
797798c1 1163 select CPU_SUPPORTS_HIGHMEM
1da177e4
LT
1164 help
1165 Please make sure to pick the right CPU type. Linux/MIPS is not
1166 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1167 *not* work on R4000 machines and vice versa. However, since most
1168 of the supported machines have an R4000 (or similar) CPU, R4x00
1169 might be a safe bet. If the resulting kernel does not work,
1170 try to recompile with R3000.
1171
1172config CPU_TX39XX
1173 bool "R39XX"
7cf8053b 1174 depends on SYS_HAS_CPU_TX39XX
ed5ba2fb 1175 select CPU_SUPPORTS_32BIT_KERNEL
1da177e4
LT
1176
1177config CPU_VR41XX
1178 bool "R41xx"
7cf8053b 1179 depends on SYS_HAS_CPU_VR41XX
ed5ba2fb
YY
1180 select CPU_SUPPORTS_32BIT_KERNEL
1181 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4 1182 help
5e83d430 1183 The options selects support for the NEC VR4100 series of processors.
1da177e4
LT
1184 Only choose this option if you have one of these processors as a
1185 kernel built with this option will not run on any other type of
1186 processor or vice versa.
1187
1188config CPU_R4300
1189 bool "R4300"
7cf8053b 1190 depends on SYS_HAS_CPU_R4300
f7062ddb 1191 select CPU_HAS_LLSC
ed5ba2fb
YY
1192 select CPU_SUPPORTS_32BIT_KERNEL
1193 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1194 help
1195 MIPS Technologies R4300-series processors.
1196
1197config CPU_R4X00
1198 bool "R4x00"
7cf8053b 1199 depends on SYS_HAS_CPU_R4X00
f7062ddb 1200 select CPU_HAS_LLSC
ed5ba2fb
YY
1201 select CPU_SUPPORTS_32BIT_KERNEL
1202 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1203 help
1204 MIPS Technologies R4000-series processors other than 4300, including
1205 the R4000, R4400, R4600, and 4700.
1206
1207config CPU_TX49XX
1208 bool "R49XX"
7cf8053b 1209 depends on SYS_HAS_CPU_TX49XX
f7062ddb 1210 select CPU_HAS_LLSC
de862b48 1211 select CPU_HAS_PREFETCH
ed5ba2fb
YY
1212 select CPU_SUPPORTS_32BIT_KERNEL
1213 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1214
1215config CPU_R5000
1216 bool "R5000"
7cf8053b 1217 depends on SYS_HAS_CPU_R5000
f7062ddb 1218 select CPU_HAS_LLSC
ed5ba2fb
YY
1219 select CPU_SUPPORTS_32BIT_KERNEL
1220 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1221 help
1222 MIPS Technologies R5000-series processors other than the Nevada.
1223
1224config CPU_R5432
1225 bool "R5432"
7cf8053b 1226 depends on SYS_HAS_CPU_R5432
f7062ddb 1227 select CPU_HAS_LLSC
5e83d430
RB
1228 select CPU_SUPPORTS_32BIT_KERNEL
1229 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1230
1231config CPU_R6000
1232 bool "R6000"
ed5ba2fb 1233 depends on EXPERIMENTAL
f7062ddb 1234 select CPU_HAS_LLSC
7cf8053b 1235 depends on SYS_HAS_CPU_R6000
ed5ba2fb 1236 select CPU_SUPPORTS_32BIT_KERNEL
1da177e4
LT
1237 help
1238 MIPS Technologies R6000 and R6000A series processors. Note these
c09b47d8 1239 processors are extremely rare and the support for them is incomplete.
1da177e4
LT
1240
1241config CPU_NEVADA
1242 bool "RM52xx"
7cf8053b 1243 depends on SYS_HAS_CPU_NEVADA
f7062ddb 1244 select CPU_HAS_LLSC
ed5ba2fb
YY
1245 select CPU_SUPPORTS_32BIT_KERNEL
1246 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1247 help
1248 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1249
1250config CPU_R8000
1251 bool "R8000"
ed5ba2fb 1252 depends on EXPERIMENTAL
7cf8053b 1253 depends on SYS_HAS_CPU_R8000
f7062ddb 1254 select CPU_HAS_LLSC
5e83d430 1255 select CPU_HAS_PREFETCH
ed5ba2fb 1256 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1257 help
1258 MIPS Technologies R8000 processors. Note these processors are
1259 uncommon and the support for them is incomplete.
1260
1261config CPU_R10000
1262 bool "R10000"
7cf8053b 1263 depends on SYS_HAS_CPU_R10000
f7062ddb 1264 select CPU_HAS_LLSC
5e83d430 1265 select CPU_HAS_PREFETCH
ed5ba2fb
YY
1266 select CPU_SUPPORTS_32BIT_KERNEL
1267 select CPU_SUPPORTS_64BIT_KERNEL
797798c1 1268 select CPU_SUPPORTS_HIGHMEM
1da177e4
LT
1269 help
1270 MIPS Technologies R10000-series processors.
1271
1272config CPU_RM7000
1273 bool "RM7000"
7cf8053b 1274 depends on SYS_HAS_CPU_RM7000
f7062ddb 1275 select CPU_HAS_LLSC
5e83d430 1276 select CPU_HAS_PREFETCH
ed5ba2fb
YY
1277 select CPU_SUPPORTS_32BIT_KERNEL
1278 select CPU_SUPPORTS_64BIT_KERNEL
797798c1 1279 select CPU_SUPPORTS_HIGHMEM
1da177e4
LT
1280
1281config CPU_RM9000
1282 bool "RM9000"
7cf8053b 1283 depends on SYS_HAS_CPU_RM9000
f7062ddb 1284 select CPU_HAS_LLSC
5e83d430 1285 select CPU_HAS_PREFETCH
ed5ba2fb
YY
1286 select CPU_SUPPORTS_32BIT_KERNEL
1287 select CPU_SUPPORTS_64BIT_KERNEL
797798c1 1288 select CPU_SUPPORTS_HIGHMEM
0004a9df 1289 select WEAK_ORDERING
1da177e4
LT
1290
1291config CPU_SB1
1292 bool "SB1"
7cf8053b 1293 depends on SYS_HAS_CPU_SB1
f7062ddb 1294 select CPU_HAS_LLSC
ed5ba2fb
YY
1295 select CPU_SUPPORTS_32BIT_KERNEL
1296 select CPU_SUPPORTS_64BIT_KERNEL
797798c1 1297 select CPU_SUPPORTS_HIGHMEM
0004a9df 1298 select WEAK_ORDERING
1da177e4
LT
1299
1300endchoice
1301
7cf8053b
RB
1302config SYS_HAS_CPU_MIPS32_R1
1303 bool
1304
1305config SYS_HAS_CPU_MIPS32_R2
1306 bool
1307
1308config SYS_HAS_CPU_MIPS64_R1
1309 bool
1310
1311config SYS_HAS_CPU_MIPS64_R2
1312 bool
1313
1314config SYS_HAS_CPU_R3000
1315 bool
1316
1317config SYS_HAS_CPU_TX39XX
1318 bool
1319
1320config SYS_HAS_CPU_VR41XX
1321 bool
1322
1323config SYS_HAS_CPU_R4300
1324 bool
1325
1326config SYS_HAS_CPU_R4X00
1327 bool
1328
1329config SYS_HAS_CPU_TX49XX
1330 bool
1331
1332config SYS_HAS_CPU_R5000
1333 bool
1334
1335config SYS_HAS_CPU_R5432
1336 bool
1337
1338config SYS_HAS_CPU_R6000
1339 bool
1340
1341config SYS_HAS_CPU_NEVADA
1342 bool
1343
1344config SYS_HAS_CPU_R8000
1345 bool
1346
1347config SYS_HAS_CPU_R10000
1348 bool
1349
1350config SYS_HAS_CPU_RM7000
1351 bool
1352
1353config SYS_HAS_CPU_RM9000
1354 bool
1355
1356config SYS_HAS_CPU_SB1
1357 bool
1358
0004a9df
RB
1359config WEAK_ORDERING
1360 bool
5e83d430
RB
1361endmenu
1362
1363#
c09b47d8 1364# These two indicate any level of the MIPS32 and MIPS64 architecture
5e83d430
RB
1365#
1366config CPU_MIPS32
1367 bool
1368 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1369
1370config CPU_MIPS64
1371 bool
1372 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1373
1374#
c09b47d8 1375# These two indicate the revision of the architecture, either Release 1 or Release 2
5e83d430
RB
1376#
1377config CPU_MIPSR1
1378 bool
1379 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1380
1381config CPU_MIPSR2
1382 bool
1383 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1384
1385config SYS_SUPPORTS_32BIT_KERNEL
1386 bool
1387config SYS_SUPPORTS_64BIT_KERNEL
1388 bool
1389config CPU_SUPPORTS_32BIT_KERNEL
1390 bool
1391config CPU_SUPPORTS_64BIT_KERNEL
1392 bool
1393
1394menu "Kernel type"
1395
1396choice
1397
1398 prompt "Kernel code model"
1399 help
1400 You should only select this option if you have a workload that
1401 actually benefits from 64-bit processing or if your machine has
1402 large memory. You will only be presented a single option in this
1403 menu if your system does not support both 32-bit and 64-bit kernels.
1404
1405config 32BIT
1406 bool "32-bit kernel"
1407 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1408 select TRAD_SIGNALS
1409 help
1410 Select this option if you want to build a 32-bit kernel.
1411config 64BIT
1412 bool "64-bit kernel"
1413 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1414 help
1415 Select this option if you want to build a 64-bit kernel.
1416
1417endchoice
1418
1da177e4
LT
1419choice
1420 prompt "Kernel page size"
1421 default PAGE_SIZE_4KB
1422
1423config PAGE_SIZE_4KB
1424 bool "4kB"
1425 help
1426 This option select the standard 4kB Linux page size. On some
1427 R3000-family processors this is the only available page size. Using
1428 4kB page size will minimize memory consumption and is therefore
1429 recommended for low memory systems.
1430
1431config PAGE_SIZE_8KB
1432 bool "8kB"
1433 depends on EXPERIMENTAL && CPU_R8000
1434 help
1435 Using 8kB page size will result in higher performance kernel at
1436 the price of higher memory consumption. This option is available
1437 only on the R8000 processor. Not that at the time of this writing
1438 this option is still high experimental; there are also issues with
1439 compatibility of user applications.
1440
1441config PAGE_SIZE_16KB
1442 bool "16kB"
714bfad6 1443 depends on !CPU_R3000 && !CPU_TX39XX
1da177e4
LT
1444 help
1445 Using 16kB page size will result in higher performance kernel at
1446 the price of higher memory consumption. This option is available on
714bfad6
RB
1447 all non-R3000 family processors. Note that you will need a suitable
1448 Linux distribution to support this.
1da177e4
LT
1449
1450config PAGE_SIZE_64KB
1451 bool "64kB"
1452 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1453 help
1454 Using 64kB page size will result in higher performance kernel at
1455 the price of higher memory consumption. This option is available on
1456 all non-R3000 family processor. Not that at the time of this
714bfad6 1457 writing this option is still high experimental.
1da177e4
LT
1458
1459endchoice
1460
1461config BOARD_SCACHE
1462 bool
1463
1464config IP22_CPU_SCACHE
1465 bool
1466 select BOARD_SCACHE
1467
9318c51a
CD
1468#
1469# Support for a MIPS32 / MIPS64 style S-caches
1470#
1471config MIPS_CPU_SCACHE
1472 bool
1473 select BOARD_SCACHE
1474
1da177e4
LT
1475config R5000_CPU_SCACHE
1476 bool
1477 select BOARD_SCACHE
1478
1479config RM7000_CPU_SCACHE
1480 bool
1481 select BOARD_SCACHE
1482
1483config SIBYTE_DMA_PAGEOPS
1484 bool "Use DMA to clear/copy pages"
1485 depends on CPU_SB1
1486 help
1487 Instead of using the CPU to zero and copy pages, use a Data Mover
1488 channel. These DMA channels are otherwise unused by the standard
1489 SiByte Linux port. Seems to give a small performance benefit.
1490
1491config CPU_HAS_PREFETCH
c8094b53 1492 bool
1da177e4 1493
340ee4b9
RB
1494choice
1495 prompt "MIPS MT options"
f41ae0b2
RB
1496
1497config MIPS_MT_DISABLED
1498 bool "Disable multithreading support."
1499 help
1500 Use this option if your workload can't take advantage of
1501 MIPS hardware multithreading support. On systems that don't have
1502 the option of an MT-enabled processor this option will be the only
1503 option in this menu.
340ee4b9 1504
59d6ab86
RB
1505config MIPS_MT_SMP
1506 bool "Use 1 TC on each available VPE for SMP"
f41ae0b2 1507 depends on SYS_SUPPORTS_MULTITHREADING
f7062ddb 1508 select CPU_MIPSR2_IRQ_VI
d725cf38 1509 select CPU_MIPSR2_IRQ_EI
f7062ddb 1510 select CPU_MIPSR2_SRS
f41ae0b2 1511 select MIPS_MT
f510aa3b 1512 select NR_CPUS_DEFAULT_2
41c594ab 1513 select SMP
73b76c78 1514 select SYS_SUPPORTS_SMP
f41ae0b2 1515 help
59d6ab86
RB
1516 This is a kernel model which is also known a VSMP or lately
1517 has been marketesed into SMVP.
41c594ab 1518
59d6ab86
RB
1519config MIPS_MT_SMTC
1520 bool "SMTC: Use all TCs on all VPEs for SMP"
1521 depends on CPU_MIPS32_R2
1522 #depends on CPU_MIPS64_R2 # once there is hardware ...
f41ae0b2
RB
1523 depends on SYS_SUPPORTS_MULTITHREADING
1524 select CPU_MIPSR2_IRQ_VI
d725cf38 1525 select CPU_MIPSR2_IRQ_EI
f41ae0b2
RB
1526 select CPU_MIPSR2_SRS
1527 select MIPS_MT
130e2fb7 1528 select NR_CPUS_DEFAULT_8
340ee4b9 1529 select SMP
73b76c78 1530 select SYS_SUPPORTS_SMP
f41ae0b2 1531 help
59d6ab86
RB
1532 This is a kernel model which is known a SMTC or lately has been
1533 marketesed into SMVP.
340ee4b9 1534
e01402b1
RB
1535config MIPS_VPE_LOADER
1536 bool "VPE loader support."
f41ae0b2 1537 depends on SYS_SUPPORTS_MULTITHREADING
d725cf38
CD
1538 select CPU_MIPSR2_IRQ_VI
1539 select CPU_MIPSR2_IRQ_EI
f41ae0b2 1540 select MIPS_MT
e01402b1
RB
1541 help
1542 Includes a loader for loading an elf relocatable object
1543 onto another VPE and running it.
1544
340ee4b9
RB
1545endchoice
1546
f41ae0b2
RB
1547config MIPS_MT
1548 bool
1549
1550config SYS_SUPPORTS_MULTITHREADING
1551 bool
1552
f088fc84
RB
1553config MIPS_MT_FPAFF
1554 bool "Dynamic FPU affinity for FP-intensive threads"
1555 depends on MIPS_MT
1556 default y
1557
ac8be955
RB
1558config MIPS_MT_SMTC_INSTANT_REPLAY
1559 bool "Low-latency Dispatch of Deferred SMTC IPIs"
619af723 1560 depends on MIPS_MT_SMTC && !PREEMPT
ac8be955
RB
1561 default y
1562 help
1563 SMTC pseudo-interrupts between TCs are deferred and queued
1564 if the target TC is interrupt-inhibited (IXMT). In the first
1565 SMTC prototypes, these queued IPIs were serviced on return
1566 to user mode, or on entry into the kernel idle loop. The
1567 INSTANT_REPLAY option dispatches them as part of local_irq_restore()
1568 processing, which adds runtime overhead (hence the option to turn
1569 it off), but ensures that IPIs are handled promptly even under
1570 heavy I/O interrupt load.
1571
e01402b1
RB
1572config MIPS_VPE_LOADER_TOM
1573 bool "Load VPE program into memory hidden from linux"
1574 depends on MIPS_VPE_LOADER
1575 default y
1576 help
1577 The loader can use memory that is present but has been hidden from
1578 Linux using the kernel command line option "mem=xxMB". It's up to
1579 you to ensure the amount you put in the option and the space your
1580 program requires is less or equal to the amount physically present.
1581
1582# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1583config MIPS_VPE_APSP_API
5e83d430
RB
1584 bool "Enable support for AP/SP API (RTLX)"
1585 depends on MIPS_VPE_LOADER
1586 help
e01402b1 1587
2600990e
RB
1588config MIPS_APSP_KSPD
1589 bool "Enable KSPD"
1590 depends on MIPS_VPE_APSP_API
1591 default y
1592 help
1593 KSPD is a kernel daemon that accepts syscall requests from the SP
1594 side, actions them and returns the results. It also handles the
1595 "exit" syscall notifying other kernel modules the SP program is
1596 exiting. You probably want to say yes here.
1597
1da177e4
LT
1598config SB1_PASS_1_WORKAROUNDS
1599 bool
1600 depends on CPU_SB1_PASS_1
1601 default y
1602
1603config SB1_PASS_2_WORKAROUNDS
1604 bool
1605 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1606 default y
1607
1608config SB1_PASS_2_1_WORKAROUNDS
1609 bool
1610 depends on CPU_SB1 && CPU_SB1_PASS_2
1611 default y
1612
1613config 64BIT_PHYS_ADDR
1614 bool "Support for 64-bit physical address space"
948928ad 1615 depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT
1da177e4 1616
1da177e4 1617config CPU_HAS_LLSC
f7062ddb 1618 bool
1da177e4 1619
9693a853
FBH
1620config CPU_HAS_SMARTMIPS
1621 depends on SYS_SUPPORTS_SMARTMIPS
1622 bool "Support for the SmartMIPS ASE"
1623 help
1624 SmartMIPS is a extension of the MIPS32 architecture aimed at
1625 increased security at both hardware and software level for
1626 smartcards. Enabling this option will allow proper use of the
1627 SmartMIPS instructions by Linux applications. However a kernel with
1628 this option will not work on a MIPS core without SmartMIPS core. If
1629 you don't know you probably don't have SmartMIPS and should say N
1630 here.
1631
1da177e4 1632config CPU_HAS_WB
f7062ddb 1633 bool
e01402b1 1634
f41ae0b2
RB
1635#
1636# Vectored interrupt mode is an R2 feature
1637#
e01402b1 1638config CPU_MIPSR2_IRQ_VI
f41ae0b2 1639 bool
e01402b1 1640
f41ae0b2
RB
1641#
1642# Extended interrupt mode is an R2 feature
1643#
e01402b1 1644config CPU_MIPSR2_IRQ_EI
f41ae0b2 1645 bool
e01402b1 1646
f41ae0b2
RB
1647#
1648# Shadow registers are an R2 feature
1649#
e01402b1 1650config CPU_MIPSR2_SRS
f41ae0b2 1651 bool
e01402b1 1652
1da177e4
LT
1653config CPU_HAS_SYNC
1654 bool
1655 depends on !CPU_R3000
1656 default y
1657
797798c1
RB
1658#
1659# Use the generic interrupt handling code in kernel/irq/:
1660#
1661config GENERIC_HARDIRQS
1662 bool
1663 default y
1664
1665config GENERIC_IRQ_PROBE
1666 bool
1667 default y
1668
0d7012a9 1669config IRQ_PER_CPU
0d7012a9 1670 bool
0d7012a9 1671
1da177e4
LT
1672#
1673# - Highmem only makes sense for the 32-bit kernel.
1674# - The current highmem code will only work properly on physically indexed
1675# caches such as R3000, SB1, R7000 or those that look like they're virtually
1676# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1677# moment we protect the user and offer the highmem option only on machines
1678# where it's known to be safe. This will not offer highmem on a few systems
1679# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1680# indexed CPUs but we're playing safe.
797798c1
RB
1681# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1682# know they might have memory configurations that could make use of highmem
1683# support.
1da177e4
LT
1684#
1685config HIGHMEM
1686 bool "High Memory Support"
797798c1
RB
1687 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1688
1689config CPU_SUPPORTS_HIGHMEM
1690 bool
1691
1692config SYS_SUPPORTS_HIGHMEM
1693 bool
1da177e4 1694
9693a853
FBH
1695config SYS_SUPPORTS_SMARTMIPS
1696 bool
1697
b4819b59
YY
1698config ARCH_FLATMEM_ENABLE
1699 def_bool y
1700 depends on !NUMA
1701
d8cb4e11
RB
1702config ARCH_DISCONTIGMEM_ENABLE
1703 bool
1704 default y if SGI_IP27
1705 help
3dde6ad8 1706 Say Y to support efficient handling of discontiguous physical memory,
d8cb4e11
RB
1707 for architectures which are either NUMA (Non-Uniform Memory Access)
1708 or have huge holes in the physical address space for other reasons.
1709 See <file:Documentation/vm/numa> for more.
1710
31473747
AN
1711config ARCH_SPARSEMEM_ENABLE
1712 bool
7de58fab 1713 select SPARSEMEM_STATIC
31473747 1714
d8cb4e11
RB
1715config NUMA
1716 bool "NUMA Support"
1717 depends on SYS_SUPPORTS_NUMA
1718 help
1719 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1720 Access). This option improves performance on systems with more
1721 than two nodes; on two node systems it is generally better to
1722 leave it disabled; on single node systems disable this option
1723 disabled.
1724
1725config SYS_SUPPORTS_NUMA
1726 bool
1727
c80d79d7
YG
1728config NODES_SHIFT
1729 int
1730 default "6"
1731 depends on NEED_MULTIPLE_NODES
1732
b4819b59
YY
1733source "mm/Kconfig"
1734
1da177e4
LT
1735config SMP
1736 bool "Multi-Processing support"
e73ea273 1737 depends on SYS_SUPPORTS_SMP
b4b30a5a 1738 select IRQ_PER_CPU
e73ea273 1739 help
1da177e4
LT
1740 This enables support for systems with more than one CPU. If you have
1741 a system with only one CPU, like most personal computers, say N. If
1742 you have a system with more than one CPU, say Y.
1743
1744 If you say N here, the kernel will run on single and multiprocessor
1745 machines, but will use only one CPU of a multiprocessor machine. If
1746 you say Y here, the kernel will run on many, but not all,
1747 singleprocessor machines. On a singleprocessor machine, the kernel
1748 will run faster if you say N here.
1749
1750 People using multiprocessor machines who say Y here should also say
1751 Y to "Enhanced Real Time Clock Support", below.
1752
1753 See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1754 available at <http://www.tldp.org/docs.html#howto>.
1755
1756 If you don't know what to do here, say N.
1757
e73ea273
RB
1758config SYS_SUPPORTS_SMP
1759 bool
1760
72ede9b1
AN
1761config NR_CPUS_DEFAULT_1
1762 bool
1763
130e2fb7
RB
1764config NR_CPUS_DEFAULT_2
1765 bool
1766
1767config NR_CPUS_DEFAULT_4
1768 bool
1769
1770config NR_CPUS_DEFAULT_8
1771 bool
1772
1773config NR_CPUS_DEFAULT_16
1774 bool
1775
1776config NR_CPUS_DEFAULT_32
1777 bool
1778
1779config NR_CPUS_DEFAULT_64
1780 bool
1781
1da177e4
LT
1782config NR_CPUS
1783 int "Maximum number of CPUs (2-64)"
72ede9b1 1784 range 1 64 if NR_CPUS_DEFAULT_1
1da177e4 1785 depends on SMP
72ede9b1 1786 default "1" if NR_CPUS_DEFAULT_1
130e2fb7
RB
1787 default "2" if NR_CPUS_DEFAULT_2
1788 default "4" if NR_CPUS_DEFAULT_4
1789 default "8" if NR_CPUS_DEFAULT_8
1790 default "16" if NR_CPUS_DEFAULT_16
1791 default "32" if NR_CPUS_DEFAULT_32
1792 default "64" if NR_CPUS_DEFAULT_64
1da177e4
LT
1793 help
1794 This allows you to specify the maximum number of CPUs which this
1795 kernel will support. The maximum supported value is 32 for 32-bit
1796 kernel and 64 for 64-bit kernels; the minimum value which makes
72ede9b1
AN
1797 sense is 1 for Qemu (useful only for kernel debugging purposes)
1798 and 2 for all others.
1da177e4
LT
1799
1800 This is purely to save memory - each supported CPU adds
72ede9b1
AN
1801 approximately eight kilobytes to the kernel image. For best
1802 performance should round up your number of processors to the next
1803 power of two.
1da177e4 1804
1723b4a3
AN
1805#
1806# Timer Interrupt Frequency Configuration
1807#
1808
1809choice
1810 prompt "Timer frequency"
1811 default HZ_250
1812 help
1813 Allows the configuration of the timer frequency.
1814
1815 config HZ_48
1816 bool "48 HZ" if SYS_SUPPORTS_48HZ
1817
1818 config HZ_100
1819 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1820
1821 config HZ_128
1822 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1823
1824 config HZ_250
1825 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1826
1827 config HZ_256
1828 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1829
1830 config HZ_1000
1831 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1832
1833 config HZ_1024
1834 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1835
1836endchoice
1837
1838config SYS_SUPPORTS_48HZ
1839 bool
1840
1841config SYS_SUPPORTS_100HZ
1842 bool
1843
1844config SYS_SUPPORTS_128HZ
1845 bool
1846
1847config SYS_SUPPORTS_250HZ
1848 bool
1849
1850config SYS_SUPPORTS_256HZ
1851 bool
1852
1853config SYS_SUPPORTS_1000HZ
1854 bool
1855
1856config SYS_SUPPORTS_1024HZ
1857 bool
1858
1859config SYS_SUPPORTS_ARBIT_HZ
1860 bool
1861 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1862 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1863 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1864 !SYS_SUPPORTS_1024HZ
1865
1866config HZ
1867 int
1868 default 48 if HZ_48
1869 default 100 if HZ_100
1870 default 128 if HZ_128
1871 default 250 if HZ_250
1872 default 256 if HZ_256
1873 default 1000 if HZ_1000
1874 default 1024 if HZ_1024
1875
e80de850 1876source "kernel/Kconfig.preempt"
1da177e4 1877
1da177e4
LT
1878config MIPS_INSANE_LARGE
1879 bool "Support for large 64-bit configurations"
875d43e7 1880 depends on CPU_R10000 && 64BIT
1da177e4
LT
1881 help
1882 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1883 previous 64-bit processors which only supported 40 bit / 1TB. If you
1884 need processes of more than 1TB virtual address space, say Y here.
1885 This will result in additional memory usage, so it is not
1886 recommended for normal users.
1887
ea6e942b
AN
1888config KEXEC
1889 bool "Kexec system call (EXPERIMENTAL)"
1890 depends on EXPERIMENTAL
1891 help
1892 kexec is a system call that implements the ability to shutdown your
1893 current kernel, and to start another kernel. It is like a reboot
3dde6ad8 1894 but it is independent of the system firmware. And like a reboot
ea6e942b
AN
1895 you can start any kernel with it, not just Linux.
1896
1897 The name comes from the similiarity to the exec system call.
1898
1899 It is an ongoing process to be certain the hardware in a machine
1900 is properly shutdown, so do not be surprised if this code does not
1901 initially work for you. It may help to enable device hotplugging
1902 support. As of this writing the exact hardware interface is
1903 strongly in flux, so no good recommendation can be made.
1904
1905config SECCOMP
1906 bool "Enable seccomp to safely compute untrusted bytecode"
1907 depends on PROC_FS && BROKEN
1908 default y
1909 help
1910 This kernel feature is useful for number crunching applications
1911 that may need to compute untrusted bytecode during their
1912 execution. By using pipes or other transports made available to
1913 the process as file descriptors supporting the read/write
1914 syscalls, it's possible to isolate those applications in
1915 their own address space using seccomp. Once seccomp is
1916 enabled via /proc/<pid>/seccomp, it cannot be disabled
1917 and the task is only allowed to execute a few safe syscalls
1918 defined by each seccomp mode.
1919
1920 If unsure, say Y. Only embedded should say N here.
1921
5e83d430
RB
1922endmenu
1923
1da177e4
LT
1924config RWSEM_GENERIC_SPINLOCK
1925 bool
1926 default y
1927
1df0f0ff
AN
1928config LOCKDEP_SUPPORT
1929 bool
1930 default y
1931
1932config STACKTRACE_SUPPORT
1933 bool
1934 default y
1935
b6c3539b
RB
1936source "init/Kconfig"
1937
1da177e4
LT
1938menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1939
5e83d430
RB
1940config HW_HAS_EISA
1941 bool
1da177e4
LT
1942config HW_HAS_PCI
1943 bool
1944
1945config PCI
1946 bool "Support for PCI controller"
1947 depends on HW_HAS_PCI
1948 help
1949 Find out whether you have a PCI motherboard. PCI is the name of a
1950 bus system, i.e. the way the CPU talks to the other stuff inside
1951 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1952 say Y, otherwise N.
1953
1954 The PCI-HOWTO, available from
1955 <http://www.tldp.org/docs.html#howto>, contains valuable
1956 information about which PCI hardware does work under Linux and which
1957 doesn't.
1958
1959config PCI_DOMAINS
1960 bool
1961 depends on PCI
1962
1963source "drivers/pci/Kconfig"
1964
1965#
1966# ISA support is now enabled via select. Too many systems still have the one
1967# or other ISA chip on the board that users don't know about so don't expect
1968# users to choose the right thing ...
1969#
1970config ISA
1971 bool
1972
1973config EISA
1974 bool "EISA support"
5e83d430 1975 depends on HW_HAS_EISA
1da177e4 1976 select ISA
aa414dff 1977 select GENERIC_ISA_DMA
1da177e4
LT
1978 ---help---
1979 The Extended Industry Standard Architecture (EISA) bus was
1980 developed as an open alternative to the IBM MicroChannel bus.
1981
1982 The EISA bus provided some of the features of the IBM MicroChannel
1983 bus while maintaining backward compatibility with cards made for
1984 the older ISA bus. The EISA bus saw limited use between 1988 and
1985 1995 when it was made obsolete by the PCI bus.
1986
1987 Say Y here if you are building a kernel for an EISA-based machine.
1988
1989 Otherwise, say N.
1990
1991source "drivers/eisa/Kconfig"
1992
1993config TC
1994 bool "TURBOchannel support"
1995 depends on MACH_DECSTATION
1996 help
1997 TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1998 processors. Documentation on writing device drivers for TurboChannel
1999 is available at:
2000 <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
2001
2002#config ACCESSBUS
2003# bool "Access.Bus support"
2004# depends on TC
2005
2006config MMU
2007 bool
2008 default y
2009
e5c6c8e4
MN
2010config I8253
2011 bool
2012
1da177e4
LT
2013source "drivers/pcmcia/Kconfig"
2014
2015source "drivers/pci/hotplug/Kconfig"
2016
2017endmenu
2018
2019menu "Executable file formats"
2020
2021source "fs/Kconfig.binfmt"
2022
2023config TRAD_SIGNALS
2024 bool
1da177e4
LT
2025
2026config BUILD_ELF64
2027 bool "Use 64-bit ELF format for building"
875d43e7 2028 depends on 64BIT
1da177e4
LT
2029 help
2030 A 64-bit kernel is usually built using the 64-bit ELF binary object
2031 format as it's one that allows arbitrary 64-bit constructs. For
2032 kernels that are loaded within the KSEG compatibility segments the
2033 32-bit ELF format can optionally be used resulting in a somewhat
2034 smaller binary, but this option is not explicitly supported by the
2035 toolchain and since binutils 2.14 it does not even work at all.
2036
2037 Say Y to use the 64-bit format or N to use the 32-bit one.
2038
2039 If unsure say Y.
2040
2041config BINFMT_IRIX
2042 bool "Include IRIX binary compatibility"
5e83d430 2043 depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
1da177e4
LT
2044
2045config MIPS32_COMPAT
2046 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
875d43e7 2047 depends on 64BIT
1da177e4
LT
2048 help
2049 Select this option if you want Linux/MIPS 32-bit binary
2050 compatibility. Since all software available for Linux/MIPS is
2051 currently 32-bit you should say Y here.
2052
2053config COMPAT
2054 bool
2055 depends on MIPS32_COMPAT
2056 default y
2057
05e43966
AN
2058config SYSVIPC_COMPAT
2059 bool
2060 depends on COMPAT && SYSVIPC
2061 default y
2062
1da177e4
LT
2063config MIPS32_O32
2064 bool "Kernel support for o32 binaries"
2065 depends on MIPS32_COMPAT
2066 help
2067 Select this option if you want to run o32 binaries. These are pure
2068 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2069 existing binaries are in this format.
2070
2071 If unsure, say Y.
2072
2073config MIPS32_N32
2074 bool "Kernel support for n32 binaries"
2075 depends on MIPS32_COMPAT
2076 help
2077 Select this option if you want to run n32 binaries. These are
2078 64-bit binaries using 32-bit quantities for addressing and certain
2079 data that would normally be 64-bit. They are used in special
2080 cases.
2081
2082 If unsure, say N.
2083
2084config BINFMT_ELF32
2085 bool
2086 default y if MIPS32_O32 || MIPS32_N32
2087
2116245e
RB
2088endmenu
2089
2090menu "Power management options"
2091
2092source "kernel/power/Kconfig"
952fa954 2093
1da177e4
LT
2094endmenu
2095
d5950b43
SR
2096source "net/Kconfig"
2097
1da177e4
LT
2098source "drivers/Kconfig"
2099
2100source "fs/Kconfig"
2101
5e83d430
RB
2102source "arch/mips/oprofile/Kconfig"
2103
1da177e4
LT
2104source "arch/mips/Kconfig.debug"
2105
2106source "security/Kconfig"
2107
2108source "crypto/Kconfig"
2109
2110source "lib/Kconfig"