GCC bulletproofing: __mips64 is only defined when compiling for 64-bit
[GitHub/mt8127/android_kernel_alcatel_ttab.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
a08b6b79
AV
7# shouldn't it be per-subarchitecture?
8config ARCH_MAY_HAVE_PC_FDC
9 bool
10 default y
11
875d43e7
RB
12mainmenu "Linux/MIPS Kernel Configuration"
13
14source "init/Kconfig"
15
e01402b1
RB
16config CPU_MIPS32
17 bool
18 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
19
20config CPU_MIPS64
21 bool
22 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
23
24config CPU_MIPSR1
25 bool
26 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
27
28config CPU_MIPSR2
29 bool
30 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
31
ed5ba2fb
YY
32config SYS_SUPPORTS_32BIT_KERNEL
33 bool
34config SYS_SUPPORTS_64BIT_KERNEL
35 bool
36config CPU_SUPPORTS_32BIT_KERNEL
37 bool
38config CPU_SUPPORTS_64BIT_KERNEL
39 bool
40
875d43e7
RB
41menu "Kernel type"
42
43choice
44
45 prompt "Kernel code model"
1da177e4 46 help
875d43e7
RB
47 You should only select this option if you have a workload that
48 actually benefits from 64-bit processing or if your machine has
49 large memory. You will only be presented a single option in this
50 menu if your system does not support both 32-bit and 64-bit kernels.
1da177e4 51
875d43e7
RB
52config 32BIT
53 bool "32-bit kernel"
54 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
55 select TRAD_SIGNALS
56 help
57 Select this option if you want to build a 32-bit kernel.
1da177e4 58
875d43e7
RB
59config 64BIT
60 bool "64-bit kernel"
61 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
62 help
63 Select this option if you want to build a 64-bit kernel.
1da177e4 64
875d43e7 65endchoice
1da177e4 66
875d43e7 67endmenu
1da177e4
LT
68
69menu "Machine selection"
70
71config MACH_JAZZ
72 bool "Support for the Jazz family of machines"
73 select ARC
74 select ARC32
75 select GENERIC_ISA_DMA
76 select I8259
77 select ISA
ed5ba2fb
YY
78 select SYS_SUPPORTS_32BIT_KERNEL
79 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
1da177e4
LT
80 help
81 This a family of machines based on the MIPS R4030 chipset which was
82 used by several vendors to build RISC/os and Windows NT workstations.
83 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
84 Olivetti M700-10 workstations.
85
86config ACER_PICA_61
87 bool "Support for Acer PICA 1 chipset (EXPERIMENTAL)"
88 depends on MACH_JAZZ && EXPERIMENTAL
89 select DMA_NONCOHERENT
90 help
91 This is a machine with a R4400 133/150 MHz CPU. To compile a Linux
92 kernel that runs on these, say Y here. For details about Linux on
93 the MIPS architecture, check out the Linux/MIPS FAQ on the WWW at
94 <http://www.linux-mips.org/>.
95
96config MIPS_MAGNUM_4000
97 bool "Support for MIPS Magnum 4000"
98 depends on MACH_JAZZ
99 select DMA_NONCOHERENT
100 help
101 This is a machine with a R4000 100 MHz CPU. To compile a Linux
102 kernel that runs on these, say Y here. For details about Linux on
103 the MIPS architecture, check out the Linux/MIPS FAQ on the WWW at
104 <http://www.linux-mips.org/>.
105
106config OLIVETTI_M700
107 bool "Support for Olivetti M700-10"
108 depends on MACH_JAZZ
109 select DMA_NONCOHERENT
110 help
111 This is a machine with a R4000 100 MHz CPU. To compile a Linux
112 kernel that runs on these, say Y here. For details about Linux on
113 the MIPS architecture, check out the Linux/MIPS FAQ on the WWW at
114 <http://www.linux-mips.org/>.
115
116config MACH_VR41XX
63fb6fd1 117 bool "Support for NEC VR4100 series based machines"
ed5ba2fb
YY
118 select SYS_SUPPORTS_32BIT_KERNEL
119 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
1da177e4
LT
120
121config NEC_CMBVR4133
122 bool "Support for NEC CMB-VR4133"
123 depends on MACH_VR41XX
124 select CPU_VR41XX
125 select DMA_NONCOHERENT
126 select IRQ_CPU
127 select HW_HAS_PCI
1da177e4
LT
128
129config ROCKHOPPER
130 bool "Support for Rockhopper baseboard"
131 depends on NEC_CMBVR4133
132 select I8259
133 select HAVE_STD_PC_SERIAL_PORT
134
135config CASIO_E55
136 bool "Support for CASIO CASSIOPEIA E-10/15/55/65"
137 depends on MACH_VR41XX
8dd4aebe 138 select CPU_LITTLE_ENDIAN
1da177e4
LT
139 select DMA_NONCOHERENT
140 select IRQ_CPU
141 select ISA
142
143config IBM_WORKPAD
144 bool "Support for IBM WorkPad z50"
145 depends on MACH_VR41XX
8dd4aebe 146 select CPU_LITTLE_ENDIAN
1da177e4
LT
147 select DMA_NONCOHERENT
148 select IRQ_CPU
149 select ISA
150
63b799f9
YY
151config TANBAC_TB022X
152 bool "Support for TANBAC VR4131 multichip module and TANBAC VR4131DIMM"
1da177e4 153 depends on MACH_VR41XX
63b799f9 154 select CPU_LITTLE_ENDIAN
1da177e4 155 select DMA_NONCOHERENT
1da177e4 156 select IRQ_CPU
63b799f9 157 select HW_HAS_PCI
1da177e4 158 help
63b799f9
YY
159 The TANBAC VR4131 multichip module(TB0225) and
160 the TANBAC VR4131DIMM(TB0229) are MIPS-based platforms
161 manufactured by TANBAC.
162 Please refer to <http://www.tanbac.co.jp/>
163 about VR4131 multichip module and VR4131DIMM.
1da177e4 164
63b799f9
YY
165config TANBAC_TB0226
166 bool "Support for TANBAC Mbase(TB0226)"
167 depends on TANBAC_TB022X
63b799f9 168 select GPIO_VR41XX
1da177e4 169 help
63b799f9
YY
170 The TANBAC Mbase(TB0226) is a MIPS-based platform manufactured by TANBAC.
171 Please refer to <http://www.tanbac.co.jp/> about Mbase.
1da177e4 172
4d666d7a
YY
173config TANBAC_TB0287
174 bool "Support for TANBAC Mini-ITX DIMM base(TB0287)"
175 depends on TANBAC_TB022X
176 help
177 The TANBAC Mini-ITX DIMM base(TB0287) is a MIPS-based platform manufactured by TANBAC.
178 Please refer to <http://www.tanbac.co.jp/> about Mini-ITX DIMM base.
179
1da177e4
LT
180config VICTOR_MPC30X
181 bool "Support for Victor MP-C303/304"
8dd4aebe
YY
182 depends on MACH_VR41XX
183 select CPU_LITTLE_ENDIAN
1da177e4 184 select DMA_NONCOHERENT
1da177e4 185 select IRQ_CPU
8dd4aebe 186 select HW_HAS_PCI
1da177e4
LT
187
188config ZAO_CAPCELLA
189 bool "Support for ZAO Networks Capcella"
190 depends on MACH_VR41XX
8dd4aebe 191 select CPU_LITTLE_ENDIAN
1da177e4 192 select DMA_NONCOHERENT
1da177e4 193 select IRQ_CPU
8dd4aebe 194 select HW_HAS_PCI
1da177e4
LT
195
196config PCI_VR41XX
197 bool "Add PCI control unit support of NEC VR4100 series"
466adc66
YY
198 depends on MACH_VR41XX && HW_HAS_PCI
199 default y
200 select PCI
1da177e4 201
1da177e4
LT
202config VRC4173
203 tristate "Add NEC VRC4173 companion chip support"
204 depends on MACH_VR41XX && PCI_VR41XX
205 ---help---
206 The NEC VRC4173 is a companion chip for NEC VR4122/VR4131.
207
208config TOSHIBA_JMR3927
209 bool "Support for Toshiba JMR-TX3927 board"
1da177e4
LT
210 select DMA_NONCOHERENT
211 select HW_HAS_PCI
212 select SWAP_IO_SPACE
ed5ba2fb 213 select SYS_SUPPORTS_32BIT_KERNEL
1da177e4
LT
214
215config MIPS_COBALT
ed5ba2fb 216 bool "Support for Cobalt Server"
1da177e4
LT
217 depends on EXPERIMENTAL
218 select DMA_NONCOHERENT
219 select HW_HAS_PCI
220 select I8259
221 select IRQ_CPU
ed5ba2fb
YY
222 select SYS_SUPPORTS_32BIT_KERNEL
223 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
1da177e4
LT
224
225config MACH_DECSTATION
226 bool "Support for DECstations"
227 select BOOT_ELF32
228 select DMA_NONCOHERENT
b6d468ec 229 select EARLY_PRINTK
1da177e4 230 select IRQ_CPU
ed5ba2fb
YY
231 select SYS_SUPPORTS_32BIT_KERNEL
232 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
1da177e4
LT
233 ---help---
234 This enables support for DEC's MIPS based workstations. For details
235 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
236 DECstation porting pages on <http://decstation.unix-ag.org/>.
237
238 If you have one of the following DECstation Models you definitely
239 want to choose R4xx0 for the CPU Type:
240
241 DECstation 5000/50
242 DECstation 5000/150
243 DECstation 5000/260
244 DECsystem 5900/260
245
246 otherwise choose R3000.
247
248config MIPS_EV64120
249 bool "Support for Galileo EV64120 Evaluation board (EXPERIMENTAL)"
250 depends on EXPERIMENTAL
251 select DMA_NONCOHERENT
e01402b1 252 select IRQ_CPU
1da177e4
LT
253 select HW_HAS_PCI
254 select MIPS_GT64120
ed5ba2fb
YY
255 select SYS_SUPPORTS_32BIT_KERNEL
256 select SYS_SUPPORTS_64BIT_KERNEL
1da177e4
LT
257 help
258 This is an evaluation board based on the Galileo GT-64120
259 single-chip system controller that contains a MIPS R5000 compatible
260 core running at 75/100MHz. Their website is located at
261 <http://www.marvell.com/>. Say Y here if you wish to build a
262 kernel for this platform.
263
264config EVB_PCI1
265 bool "Enable Second PCI (PCI1)"
266 depends on MIPS_EV64120
267
268config MIPS_EV96100
269 bool "Support for Galileo EV96100 Evaluation board (EXPERIMENTAL)"
270 depends on EXPERIMENTAL
271 select DMA_NONCOHERENT
272 select HW_HAS_PCI
273 select IRQ_CPU
274 select MIPS_GT96100
275 select RM7000_CPU_SCACHE
276 select SWAP_IO_SPACE
ed5ba2fb
YY
277 select SYS_SUPPORTS_32BIT_KERNEL
278 select SYS_SUPPORTS_64BIT_KERNEL
1da177e4
LT
279 help
280 This is an evaluation board based on the Galileo GT-96100 LAN/WAN
281 communications controllers containing a MIPS R5000 compatible core
282 running at 83MHz. Their website is <http://www.marvell.com/>. Say Y
283 here if you wish to build a kernel for this platform.
284
285config MIPS_IVR
286 bool "Support for Globespan IVR board"
287 select DMA_NONCOHERENT
288 select HW_HAS_PCI
ed5ba2fb
YY
289 select SYS_SUPPORTS_32BIT_KERNEL
290 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
1da177e4
LT
291 help
292 This is an evaluation board built by Globespan to showcase thir
293 iVR (Internet Video Recorder) design. It utilizes a QED RM5231
294 R5000 MIPS core. More information can be found out their website
295 located at <http://www.globespan.net/>. Say Y here if you wish to
296 build a kernel for this platform.
297
298config LASAT
299 bool "Support for LASAT Networks platforms"
300 select DMA_NONCOHERENT
301 select HW_HAS_PCI
302 select MIPS_GT64120
303 select R5000_CPU_SCACHE
ed5ba2fb
YY
304 select SYS_SUPPORTS_32BIT_KERNEL
305 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
1da177e4
LT
306
307config PICVUE
308 tristate "PICVUE LCD display driver"
309 depends on LASAT
310
311config PICVUE_PROC
312 tristate "PICVUE LCD display driver /proc interface"
313 depends on PICVUE
314
315config DS1603
316 bool "DS1603 RTC driver"
317 depends on LASAT
318
319config LASAT_SYSCTL
320 bool "LASAT sysctl interface"
321 depends on LASAT
322
323config MIPS_ITE8172
324 bool "Support for ITE 8172G board"
325 select DMA_NONCOHERENT
326 select HW_HAS_PCI
ed5ba2fb
YY
327 select SYS_SUPPORTS_32BIT_KERNEL
328 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
1da177e4
LT
329 help
330 Ths is an evaluation board made by ITE <http://www.ite.com.tw/>
331 with ATX form factor that utilizes a MIPS R5000 to work with its
332 ITE8172G companion internet appliance chip. The MIPS core can be
333 either a NEC Vr5432 or QED RM5231. Say Y here if you wish to build
334 a kernel for this platform.
335
336config IT8172_REVC
337 bool "Support for older IT8172 (Rev C)"
338 depends on MIPS_ITE8172
339 help
340 Say Y here to support the older, Revision C version of the Integrated
341 Technology Express, Inc. ITE8172 SBC. Vendor page at
342 <http://www.ite.com.tw/ia/brief_it8172bsp.htm>; picture of the
343 board at <http://www.mvista.com/partners/semiconductor/ite.html>.
344
345config MIPS_ATLAS
346 bool "Support for MIPS Atlas board"
347 select BOOT_ELF32
348 select DMA_NONCOHERENT
349 select HW_HAS_PCI
350 select MIPS_GT64120
f4b7cdb4 351 select RM7000_CPU_SCACHE
1da177e4 352 select SWAP_IO_SPACE
ed5ba2fb
YY
353 select SYS_SUPPORTS_32BIT_KERNEL
354 select SYS_SUPPORTS_64BIT_KERNEL
1da177e4 355 help
f638d197 356 This enables support for the MIPS Technologies Atlas evaluation
1da177e4
LT
357 board.
358
359config MIPS_MALTA
360 bool "Support for MIPS Malta board"
361 select BOOT_ELF32
362 select HAVE_STD_PC_SERIAL_PORT
363 select DMA_NONCOHERENT
e01402b1 364 select IRQ_CPU
1da177e4
LT
365 select GENERIC_ISA_DMA
366 select HW_HAS_PCI
367 select I8259
368 select MIPS_GT64120
369 select SWAP_IO_SPACE
ed5ba2fb
YY
370 select SYS_SUPPORTS_32BIT_KERNEL
371 select SYS_SUPPORTS_64BIT_KERNEL
1da177e4 372 help
f638d197 373 This enables support for the MIPS Technologies Malta evaluation
1da177e4
LT
374 board.
375
376config MIPS_SEAD
377 bool "Support for MIPS SEAD board (EXPERIMENTAL)"
378 depends on EXPERIMENTAL
379 select IRQ_CPU
380 select DMA_NONCOHERENT
ed5ba2fb
YY
381 select SYS_SUPPORTS_32BIT_KERNEL
382 select SYS_SUPPORTS_64BIT_KERNEL
f638d197
MR
383 help
384 This enables support for the MIPS Technologies SEAD evaluation
385 board.
1da177e4
LT
386
387config MOMENCO_OCELOT
388 bool "Support for Momentum Ocelot board"
389 select DMA_NONCOHERENT
390 select HW_HAS_PCI
391 select IRQ_CPU
392 select IRQ_CPU_RM7K
393 select MIPS_GT64120
394 select RM7000_CPU_SCACHE
395 select SWAP_IO_SPACE
ed5ba2fb
YY
396 select SYS_SUPPORTS_32BIT_KERNEL
397 select SYS_SUPPORTS_64BIT_KERNEL
1da177e4
LT
398 help
399 The Ocelot is a MIPS-based Single Board Computer (SBC) made by
400 Momentum Computer <http://www.momenco.com/>.
401
402config MOMENCO_OCELOT_G
403 bool "Support for Momentum Ocelot-G board"
404 select DMA_NONCOHERENT
405 select HW_HAS_PCI
406 select IRQ_CPU
407 select IRQ_CPU_RM7K
408 select PCI_MARVELL
409 select RM7000_CPU_SCACHE
410 select SWAP_IO_SPACE
ed5ba2fb
YY
411 select SYS_SUPPORTS_32BIT_KERNEL
412 select SYS_SUPPORTS_64BIT_KERNEL
1da177e4
LT
413 help
414 The Ocelot is a MIPS-based Single Board Computer (SBC) made by
415 Momentum Computer <http://www.momenco.com/>.
416
417config MOMENCO_OCELOT_C
418 bool "Support for Momentum Ocelot-C board"
419 select DMA_NONCOHERENT
420 select HW_HAS_PCI
421 select IRQ_CPU
422 select IRQ_MV64340
423 select PCI_MARVELL
424 select RM7000_CPU_SCACHE
425 select SWAP_IO_SPACE
ed5ba2fb
YY
426 select SYS_SUPPORTS_32BIT_KERNEL
427 select SYS_SUPPORTS_64BIT_KERNEL
1da177e4
LT
428 help
429 The Ocelot is a MIPS-based Single Board Computer (SBC) made by
430 Momentum Computer <http://www.momenco.com/>.
431
432config MOMENCO_OCELOT_3
433 bool "Support for Momentum Ocelot-3 board"
434 select BOOT_ELF32
435 select DMA_NONCOHERENT
436 select HW_HAS_PCI
437 select IRQ_CPU
438 select IRQ_CPU_RM7K
439 select IRQ_MV64340
440 select PCI_MARVELL
441 select RM7000_CPU_SCACHE
442 select SWAP_IO_SPACE
ed5ba2fb
YY
443 select SYS_SUPPORTS_32BIT_KERNEL
444 select SYS_SUPPORTS_64BIT_KERNEL
1da177e4
LT
445 help
446 The Ocelot-3 is based off Discovery III System Controller and
447 PMC-Sierra Rm79000 core.
448
449config MOMENCO_JAGUAR_ATX
450 bool "Support for Momentum Jaguar board"
451 select BOOT_ELF32
452 select DMA_NONCOHERENT
453 select HW_HAS_PCI
454 select IRQ_CPU
455 select IRQ_CPU_RM7K
456 select IRQ_MV64340
457 select LIMITED_DMA
458 select PCI_MARVELL
459 select RM7000_CPU_SCACHE
460 select SWAP_IO_SPACE
ed5ba2fb
YY
461 select SYS_SUPPORTS_32BIT_KERNEL
462 select SYS_SUPPORTS_64BIT_KERNEL
1da177e4
LT
463 help
464 The Jaguar ATX is a MIPS-based Single Board Computer (SBC) made by
465 Momentum Computer <http://www.momenco.com/>.
466
467config JAGUAR_DMALOW
468 bool "Low DMA Mode"
469 depends on MOMENCO_JAGUAR_ATX
470 help
471 Select to Y if jump JP5 is set on your board, N otherwise. Normally
472 the jumper is set, so if you feel unsafe, just say Y.
473
474config PMC_YOSEMITE
475 bool "Support for PMC-Sierra Yosemite eval board"
476 select DMA_COHERENT
477 select HW_HAS_PCI
478 select IRQ_CPU
479 select IRQ_CPU_RM7K
480 select IRQ_CPU_RM9K
481 select SWAP_IO_SPACE
ed5ba2fb
YY
482 select SYS_SUPPORTS_32BIT_KERNEL
483 select SYS_SUPPORTS_64BIT_KERNEL
1da177e4
LT
484 help
485 Yosemite is an evaluation board for the RM9000x2 processor
486 manufactured by PMC-Sierra
487
488config HYPERTRANSPORT
489 bool "Hypertransport Support for PMC-Sierra Yosemite"
490 depends on PMC_YOSEMITE
491
bdf21b18
PP
492config PNX8550_V2PCI
493 bool "Support for Philips PNX8550 based Viper2-PCI board"
494 select PNX8550
495 select SYS_SUPPORTS_LITTLE_ENDIAN
496
497config PNX8550_JBS
498 bool "Support for Philips PNX8550 based JBS board"
499 select PNX8550
500 select SYS_SUPPORTS_LITTLE_ENDIAN
501
1da177e4
LT
502config DDB5074
503 bool "Support for NEC DDB Vrc-5074 (EXPERIMENTAL)"
504 depends on EXPERIMENTAL
505 select DMA_NONCOHERENT
506 select HAVE_STD_PC_SERIAL_PORT
507 select HW_HAS_PCI
508 select IRQ_CPU
509 select I8259
510 select ISA
ed5ba2fb
YY
511 select SYS_SUPPORTS_32BIT_KERNEL
512 select SYS_SUPPORTS_64BIT_KERNEL
1da177e4
LT
513 help
514 This enables support for the VR5000-based NEC DDB Vrc-5074
515 evaluation board.
516
517config DDB5476
518 bool "Support for NEC DDB Vrc-5476"
519 select DMA_NONCOHERENT
520 select HAVE_STD_PC_SERIAL_PORT
521 select HW_HAS_PCI
522 select IRQ_CPU
523 select I8259
524 select ISA
ed5ba2fb
YY
525 select SYS_SUPPORTS_32BIT_KERNEL
526 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
1da177e4
LT
527 help
528 This enables support for the R5432-based NEC DDB Vrc-5476
529 evaluation board.
530
531 Features : kernel debugging, serial terminal, NFS root fs, on-board
532 ether port USB, AC97, PCI, PCI VGA card & framebuffer console,
533 IDE controller, PS2 keyboard, PS2 mouse, etc.
534
535config DDB5477
536 bool "Support for NEC DDB Vrc-5477"
537 select DMA_NONCOHERENT
538 select HW_HAS_PCI
539 select I8259
540 select IRQ_CPU
ed5ba2fb
YY
541 select SYS_SUPPORTS_32BIT_KERNEL
542 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
1da177e4
LT
543 help
544 This enables support for the R5432-based NEC DDB Vrc-5477,
545 or Rockhopper/SolutionGear boards with R5432/R5500 CPUs.
546
547 Features : kernel debugging, serial terminal, NFS root fs, on-board
548 ether port USB, AC97, PCI, etc.
549
550config DDB5477_BUS_FREQUENCY
551 int "bus frequency (in kHZ, 0 for auto-detect)"
552 depends on DDB5477
553 default 0
554
07119621
RB
555config QEMU
556 bool "Support for Qemu"
557 select DMA_COHERENT
558 select GENERIC_ISA_DMA
559 select HAVE_STD_PC_SERIAL_PORT
560 select I8259
561 select ISA
562 select SWAP_IO_SPACE
563 select SYS_SUPPORTS_32BIT_KERNEL
564 select SYS_SUPPORTS_BIG_ENDIAN
797798c1 565 select SYS_SUPPORTS_HIGHMEM
07119621
RB
566 help
567 Qemu is a software emulator which among other architectures also
568 can simulate a MIPS32 4Kc system. This patch adds support for the
569 system architecture that currently is being simulated by Qemu. It
570 will eventually be removed again when Qemu has the capability to
571 simulate actual MIPS hardware platforms. More information on Qemu
572 can be found at http://www.linux-mips.org/wiki/Qemu.
573
1da177e4
LT
574config SGI_IP22
575 bool "Support for SGI IP22 (Indy/Indigo2)"
576 select ARC
577 select ARC32
578 select BOOT_ELF32
579 select DMA_NONCOHERENT
580 select IP22_CPU_SCACHE
581 select IRQ_CPU
582 select SWAP_IO_SPACE
ed5ba2fb
YY
583 select SYS_SUPPORTS_32BIT_KERNEL
584 select SYS_SUPPORTS_64BIT_KERNEL
1da177e4
LT
585 help
586 This are the SGI Indy, Challenge S and Indigo2, as well as certain
587 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
588 that runs on these, say Y here.
589
590config SGI_IP27
591 bool "Support for SGI IP27 (Origin200/2000)"
1da177e4
LT
592 select ARC
593 select ARC64
594 select DMA_IP27
595 select HW_HAS_PCI
596 select PCI_DOMAINS
ed5ba2fb 597 select SYS_SUPPORTS_64BIT_KERNEL
1da177e4
LT
598 help
599 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
600 workstations. To compile a Linux kernel that runs on these, say Y
601 here.
602
603#config SGI_SN0_XXL
604# bool "IP27 XXL"
605# depends on SGI_IP27
606# This options adds support for userspace processes upto 16TB size.
607# Normally the limit is just .5TB.
608
609config SGI_SN0_N_MODE
610 bool "IP27 N-Mode"
611 depends on SGI_IP27
612 help
613 The nodes of Origin 200, Origin 2000 and Onyx 2 systems can be
614 configured in either N-Modes which allows for more nodes or M-Mode
615 which allows for more memory. Your system is most probably
616 running in M-Mode, so you should say N here.
617
3f22ab27 618config ARCH_DISCONTIGMEM_ENABLE
1da177e4
LT
619 bool
620 default y if SGI_IP27
621 help
622 Say Y to upport efficient handling of discontiguous physical memory,
623 for architectures which are either NUMA (Non-Uniform Memory Access)
624 or have huge holes in the physical address space for other reasons.
625 See <file:Documentation/vm/numa> for more.
626
627config NUMA
628 bool "NUMA Support"
629 depends on SGI_IP27
630 help
631 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
632 Access). This option is for configuring high-end multiprocessor
633 server machines. If in doubt, say N.
634
635config MAPPED_KERNEL
636 bool "Mapped kernel support"
637 depends on SGI_IP27
638 help
639 Change the way a Linux kernel is loaded into memory on a MIPS64
640 machine. This is required in order to support text replication and
641 NUMA. If you need to understand it, read the source code.
642
643config REPLICATE_KTEXT
644 bool "Kernel text replication support"
645 depends on SGI_IP27
646 help
647 Say Y here to enable replicating the kernel text across multiple
648 nodes in a NUMA cluster. This trades memory for speed.
649
650config REPLICATE_EXHANDLERS
651 bool "Exception handler replication support"
652 depends on SGI_IP27
653 help
654 Say Y here to enable replicating the kernel exception handlers
655 across multiple nodes in a NUMA cluster. This trades memory for
656 speed.
657
658config SGI_IP32
659 bool "Support for SGI IP32 (O2) (EXPERIMENTAL)"
ed5ba2fb 660 depends on EXPERIMENTAL
1da177e4
LT
661 select ARC
662 select ARC32
663 select BOOT_ELF32
664 select OWN_DMA
665 select DMA_IP32
666 select DMA_NONCOHERENT
5eaf7a21 667 select HAS_TXX9_SERIAL
1da177e4
LT
668 select HW_HAS_PCI
669 select R5000_CPU_SCACHE
670 select RM7000_CPU_SCACHE
ed5ba2fb 671 select SYS_SUPPORTS_64BIT_KERNEL
1da177e4
LT
672 help
673 If you want this kernel to run on SGI O2 workstation, say Y here.
674
e3ad1c23
PP
675config SOC_AU1200
676 bool
677 select SOC_AU1X00
678
1da177e4 679config SOC_AU1X00
1da177e4 680 bool "Support for AMD/Alchemy Au1X00 SOCs"
ed5ba2fb 681 select SYS_SUPPORTS_32BIT_KERNEL
1da177e4
LT
682
683choice
684 prompt "Au1X00 SOC Type"
685 depends on SOC_AU1X00
686 help
687 Say Y here to enable support for one of three AMD/Alchemy
688 SOCs. For additional documentation see www.amd.com.
689
690config SOC_AU1000
691 bool "SOC_AU1000"
692config SOC_AU1100
693 bool "SOC_AU1100"
694config SOC_AU1500
695 bool "SOC_AU1500"
696config SOC_AU1550
697 bool "SOC_AU1550"
698
23fbee9d
RB
699config TOSHIBA_RBTX4938
700 bool "Support for Toshiba RBTX4938 board"
701 select HAVE_STD_PC_SERIAL_PORT
702 select DMA_NONCOHERENT
703 select GENERIC_ISA_DMA
704 select HAS_TXX9_SERIAL
705 select HW_HAS_PCI
706 select I8259
707 select ISA
708 select SWAP_IO_SPACE
709 select SYS_SUPPORTS_32BIT_KERNEL
710 select SYS_SUPPORTS_LITTLE_ENDIAN
711 select SYS_SUPPORTS_BIG_ENDIAN
712 select TOSHIBA_BOARDS
713 help
714 This Toshiba board is based on the TX4938 processor. Say Y here to
715 support this machine type
716
1da177e4
LT
717endchoice
718
719choice
720 prompt "AMD/Alchemy Au1x00 board support"
721 depends on SOC_AU1X00
722 help
723 These are evaluation boards built by AMD/Alchemy to
724 showcase their Au1X00 Internet Edge Processors. The SOC design
725 is based on the MIPS32 architecture running at 266/400/500MHz
726 with many integrated peripherals. Further information can be
727 found at their website, <http://www.amd.com/>. Say Y here if you
728 wish to build a kernel for this platform.
729
730config MIPS_PB1000
731 bool "PB1000 board"
732 depends on SOC_AU1000
733 select DMA_NONCOHERENT
734 select HW_HAS_PCI
735 select SWAP_IO_SPACE
736
737config MIPS_PB1100
738 bool "PB1100 board"
739 depends on SOC_AU1100
740 select DMA_NONCOHERENT
741 select HW_HAS_PCI
742 select SWAP_IO_SPACE
743
744config MIPS_PB1500
745 bool "PB1500 board"
746 depends on SOC_AU1500
d8f5d861 747 select DMA_NONCOHERENT
1da177e4
LT
748 select HW_HAS_PCI
749
750config MIPS_PB1550
751 bool "PB1550 board"
752 depends on SOC_AU1550
753 select DMA_COHERENT
754 select HW_HAS_PCI
755 select MIPS_DISABLE_OBSOLETE_IDE
756
e3ad1c23
PP
757config MIPS_PB1200
758 bool "AMD Alchemy PB1200 board"
759 select SOC_AU1200
760 select DMA_NONCOHERENT
761 select MIPS_DISABLE_OBSOLETE_IDE
81731f79 762 select SYS_SUPPORTS_BIG_ENDIAN
797798c1
RB
763 select SYS_SUPPORTS_HIGHMEM
764 select SYS_SUPPORTS_HIGHMEM
765 select SYS_SUPPORTS_HIGHMEM
766 select SYS_SUPPORTS_HIGHMEM
e3ad1c23
PP
767 select SYS_SUPPORTS_LITTLE_ENDIAN
768
1da177e4
LT
769config MIPS_DB1000
770 bool "DB1000 board"
771 depends on SOC_AU1000
772 select DMA_NONCOHERENT
773 select HW_HAS_PCI
774
775config MIPS_DB1100
776 bool "DB1100 board"
777 depends on SOC_AU1100
778 select DMA_NONCOHERENT
779
780config MIPS_DB1500
781 bool "DB1500 board"
782 depends on SOC_AU1500
d8f5d861 783 select DMA_NONCOHERENT
1da177e4
LT
784 select HW_HAS_PCI
785 select MIPS_DISABLE_OBSOLETE_IDE
786
787config MIPS_DB1550
788 bool "DB1550 board"
789 depends on SOC_AU1550
790 select HW_HAS_PCI
d8f5d861 791 select DMA_NONCOHERENT
1da177e4
LT
792 select MIPS_DISABLE_OBSOLETE_IDE
793
794config MIPS_BOSPORUS
795 bool "Bosporus board"
796 depends on SOC_AU1500
797 select DMA_NONCOHERENT
798
e3ad1c23
PP
799config MIPS_DB1200
800 bool "AMD Alchemy DB1200 board"
801 select SOC_AU1200
26a940e2 802 select DMA_COHERENT
e3ad1c23
PP
803 select MIPS_DISABLE_OBSOLETE_IDE
804 select SYS_SUPPORTS_LITTLE_ENDIAN
805
1da177e4
LT
806config MIPS_MIRAGE
807 bool "Mirage board"
808 depends on SOC_AU1500
809 select DMA_NONCOHERENT
810
811config MIPS_XXS1500
812 bool "MyCable XXS1500 board"
813 depends on SOC_AU1500
814 select DMA_NONCOHERENT
815
816config MIPS_MTX1
817 bool "4G Systems MTX-1 board"
818 depends on SOC_AU1500
819 select HW_HAS_PCI
820 select DMA_NONCOHERENT
821
822endchoice
823
1da177e4
LT
824config SNI_RM200_PCI
825 bool "Support for SNI RM200 PCI"
826 select ARC
827 select ARC32
828 select BOOT_ELF32
829 select DMA_NONCOHERENT
830 select GENERIC_ISA_DMA
831 select HAVE_STD_PC_SERIAL_PORT
832 select HW_HAS_PCI
833 select I8259
834 select ISA
ed5ba2fb
YY
835 select SYS_SUPPORTS_32BIT_KERNEL
836 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
797798c1 837 select SYS_SUPPORTS_HIGHMEM
1da177e4
LT
838 help
839 The SNI RM200 PCI was a MIPS-based platform manufactured by Siemens
840 Nixdorf Informationssysteme (SNI), parent company of Pyramid
841 Technology and now in turn merged with Fujitsu. Say Y here to
842 support this machine type.
843
844config TOSHIBA_RBTX4927
845 bool "Support for Toshiba TBTX49[23]7 board"
1da177e4
LT
846 select DMA_NONCOHERENT
847 select HAS_TXX9_SERIAL
848 select HW_HAS_PCI
849 select I8259
850 select ISA
851 select SWAP_IO_SPACE
ed5ba2fb
YY
852 select SYS_SUPPORTS_32BIT_KERNEL
853 select SYS_SUPPORTS_64BIT_KERNEL
1da177e4
LT
854 help
855 This Toshiba board is based on the TX4927 processor. Say Y here to
856 support this machine type
857
858config TOSHIBA_FPCIB0
859 bool "FPCIB0 Backplane Support"
860 depends on TOSHIBA_RBTX4927
861
29c48699 862source "arch/mips/sgi-ip27/Kconfig"
38b18f72 863source "arch/mips/sibyte/Kconfig"
23fbee9d 864source "arch/mips/tx4938/Kconfig"
bdf21b18 865source "arch/mips/philips/pnx8550/common/Kconfig"
38b18f72 866
1da177e4
LT
867config RWSEM_GENERIC_SPINLOCK
868 bool
869 default y
870
871config RWSEM_XCHGADD_ALGORITHM
872 bool
5eaf7a21 873 select HAS_TXX9_SERIAL
1da177e4
LT
874
875config GENERIC_CALIBRATE_DELAY
876 bool
877 default y
878
1da177e4
LT
879#
880# Select some configuration options automatically based on user selections.
881#
882config ARC
883 bool
884 depends on SNI_RM200_PCI || SGI_IP32 || SGI_IP27 || SGI_IP22 || MIPS_MAGNUM_4000 || OLIVETTI_M700 || ACER_PICA_61
885 default y
886
4ce588cd 887config DMA_COHERENT
1da177e4
LT
888 bool
889
4ce588cd 890config DMA_IP27
1da177e4
LT
891 bool
892
4ce588cd
RB
893config DMA_IP32
894 bool
895 select DMA_NEED_PCI_MAP_STATE
896
897config DMA_NONCOHERENT
898 bool
899 select DMA_NEED_PCI_MAP_STATE
900
901config DMA_NEED_PCI_MAP_STATE
1da177e4
LT
902 bool
903
904config EARLY_PRINTK
905 bool
906 depends on MACH_DECSTATION
907 default y
908
909config GENERIC_ISA_DMA
910 bool
911 depends on SNI_RM200_PCI || MIPS_MAGNUM_4000 || OLIVETTI_M700 || ACER_PICA_61 || MIPS_MALTA
912 default y
913
914config I8259
915 bool
916 depends on SNI_RM200_PCI || DDB5477 || DDB5476 || DDB5074 || MACH_JAZZ || MIPS_MALTA || MIPS_COBALT
917 default y
918
919config LIMITED_DMA
920 bool
921 select HIGHMEM
797798c1 922 select SYS_SUPPORTS_HIGHMEM
1da177e4
LT
923
924config MIPS_BONITO64
925 bool
926 depends on MIPS_ATLAS || MIPS_MALTA
927 default y
928
929config MIPS_MSC
930 bool
931 depends on MIPS_ATLAS || MIPS_MALTA
932 default y
933
934config MIPS_NILE4
935 bool
936 depends on LASAT
937 default y
938
939config MIPS_DISABLE_OBSOLETE_IDE
940 bool
941
942config CPU_LITTLE_ENDIAN
943 bool "Generate little endian code"
ab1418a3 944 default y if ACER_PICA_61 || CASIO_E55 || DDB5074 || DDB5476 || DDB5477 || MACH_DECSTATION || IBM_WORKPAD || LASAT || MIPS_COBALT || MIPS_ITE8172 || MIPS_IVR || SOC_AU1X00 || OLIVETTI_M700 || SNI_RM200_PCI || VICTOR_MPC30X || ZAO_CAPCELLA
1da177e4
LT
945 default n if MIPS_EV64120 || MIPS_EV96100 || MOMENCO_OCELOT || MOMENCO_OCELOT_G || SGI_IP22 || SGI_IP27 || SGI_IP32 || TOSHIBA_JMR3927
946 help
947 Some MIPS machines can be configured for either little or big endian
948 byte order. These modes require different kernels. Say Y if your
949 machine is little endian, N if it's a big endian machine.
950
951config IRQ_CPU
952 bool
953
954config IRQ_CPU_RM7K
955 bool
956
957config IRQ_MV64340
958 bool
959
960config DDB5XXX_COMMON
961 bool
962 depends on DDB5074 || DDB5476 || DDB5477
963 default y
964
965config MIPS_BOARDS_GEN
966 bool
967 depends on MIPS_ATLAS || MIPS_MALTA || MIPS_SEAD
968 default y
969
970config MIPS_GT64111
971 bool
972 depends on MIPS_COBALT
973 default y
974
975config MIPS_GT64120
976 bool
977 depends on MIPS_EV64120 || MIPS_EV96100 || LASAT || MIPS_ATLAS || MIPS_MALTA || MOMENCO_OCELOT
978 default y
979
980config MIPS_TX3927
981 bool
982 depends on TOSHIBA_JMR3927
983 select HAS_TXX9_SERIAL
984 default y
985
986config PCI_MARVELL
987 bool
988
989config ITE_BOARD_GEN
990 bool
991 depends on MIPS_IVR || MIPS_ITE8172
992 default y
993
bdf21b18
PP
994config PNX8550
995 bool
996 select SOC_PNX8550
997
998config SOC_PNX8550
999 bool
1000 select SYS_SUPPORTS_32BIT_KERNEL
1001 select DMA_NONCOHERENT
1002 select HW_HAS_PCI
1003
1da177e4
LT
1004config SWAP_IO_SPACE
1005 bool
1006
1007#
1008# Unfortunately not all GT64120 systems run the chip at the same clock.
1009# As the user for the clock rate and try to minimize the available options.
1010#
1011choice
1012 prompt "Galileo Chip Clock"
1013 #default SYSCLK_83 if MIPS_EV64120
1014 depends on MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
1015 default SYSCLK_83 if MIPS_EV64120
1016 default SYSCLK_100 if MOMENCO_OCELOT || MOMENCO_OCELOT_G
1017
1018config SYSCLK_75
1019 bool "75" if MIPS_EV64120
1020
1021config SYSCLK_83
1022 bool "83.3" if MIPS_EV64120
1023
1024config SYSCLK_100
1025 bool "100" if MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
1026
1027endchoice
1028
1029config AU1X00_USB_DEVICE
1030 bool
1031 depends on MIPS_PB1500 || MIPS_PB1100 || MIPS_PB1000
1032 default n
1033
1034config MIPS_GT96100
1035 bool
1036 depends on MIPS_EV96100
1037 default y
1038 help
1039 Say Y here to support the Galileo Technology GT96100 communications
1040 controller card. There is a web page at <http://www.galileot.com/>.
1041
1042config IT8172_CIR
1043 bool
1044 depends on MIPS_ITE8172 || MIPS_IVR
1045 default y
1046
1047config IT8712
1048 bool
1049 depends on MIPS_ITE8172
1050 default y
1051
1052config BOOT_ELF32
1053 bool
1054 depends on MACH_DECSTATION || MIPS_ATLAS || MIPS_MALTA || MOMENCO_JAGUAR_ATX || MOMENCO_OCELOT_3 || SIBYTE_SB1xxx_SOC || SGI_IP32 || SGI_IP22 || SNI_RM200_PCI
1055 default y
1056
1057config MIPS_L1_CACHE_SHIFT
1058 int
1059 default "4" if MACH_DECSTATION
1060 default "7" if SGI_IP27
1061 default "5"
1062
1063config ARC32
1064 bool
1065 depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP22 || SGI_IP32
1066 default y
1067
1da177e4
LT
1068config HAVE_STD_PC_SERIAL_PORT
1069 bool
1070
1da177e4
LT
1071config ARC_CONSOLE
1072 bool "ARC console support"
1073 depends on SGI_IP22 || SNI_RM200_PCI
1074
1075config ARC_MEMORY
1076 bool
1077 depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP32
1078 default y
1079
1080config ARC_PROMLIB
1081 bool
1082 depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP22 || SGI_IP32
1083 default y
1084
1085config ARC64
1086 bool
1087 depends on SGI_IP27
1088 default y
1089
1090config BOOT_ELF64
1091 bool
1092 depends on SGI_IP27
1093 default y
1094
1095#config MAPPED_PCI_IO y
1096# bool
1097# depends on SGI_IP27
1098# default y
1099
1da177e4
LT
1100config TOSHIBA_BOARDS
1101 bool
1102 depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927
1103 default y
1104
1105endmenu
1106
1107menu "CPU selection"
1108
1109choice
1110 prompt "CPU type"
1111 default CPU_R4X00
1112
6e760c8d
RB
1113config CPU_MIPS32_R1
1114 bool "MIPS32 Release 1"
6e760c8d 1115 select CPU_HAS_PREFETCH
797798c1 1116 select CPU_SUPPORTS_32BIT_KERNEL
1e5f1caa
RB
1117 help
1118 Choose this option to build a kernel for release 2 or later of the
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 Release 2 of the MIPS32 architecture is available since several
1124 years so chances are you even have a MIPS32 Release 2 processor
1125 in which case you should choose CPU_MIPS32_R2 instead for better
1126 performance.
1127
1128config CPU_MIPS32_R2
1129 bool "MIPS32 Release 2"
1e5f1caa 1130 select CPU_HAS_PREFETCH
797798c1 1131 select CPU_SUPPORTS_32BIT_KERNEL
6e760c8d
RB
1132 help
1133 Choose this option to build a kernel for release 1 or later of the
1134 MIPS32 architecture. Most modern embedded systems with a 32-bit
1135 MIPS processor are based on a MIPS32 processor. If you know the
1136 specific type of processor in your system, choose those that one
1137 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1138
1139config CPU_MIPS64_R1
1140 bool "MIPS64 Release 1"
797798c1 1141 select CPU_HAS_PREFETCH
ed5ba2fb
YY
1142 select CPU_SUPPORTS_32BIT_KERNEL
1143 select CPU_SUPPORTS_64BIT_KERNEL
6e760c8d
RB
1144 help
1145 Choose this option to build a kernel for release 1 or later of the
1146 MIPS64 architecture. Many modern embedded systems with a 64-bit
1147 MIPS processor are based on a MIPS64 processor. If you know the
1148 specific type of processor in your system, choose those that one
1149 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1e5f1caa
RB
1150 Release 2 of the MIPS64 architecture is available since several
1151 years so chances are you even have a MIPS64 Release 2 processor
1152 in which case you should choose CPU_MIPS64_R2 instead for better
1153 performance.
1154
1155config CPU_MIPS64_R2
1156 bool "MIPS64 Release 2"
797798c1 1157 select CPU_HAS_PREFETCH
1e5f1caa
RB
1158 select CPU_SUPPORTS_32BIT_KERNEL
1159 select CPU_SUPPORTS_64BIT_KERNEL
1e5f1caa
RB
1160 help
1161 Choose this option to build a kernel for release 2 or later of the
1162 MIPS64 architecture. Many modern embedded systems with a 64-bit
1163 MIPS processor are based on a MIPS64 processor. If you know the
1164 specific type of processor in your system, choose those that one
1165 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1da177e4
LT
1166
1167config CPU_R3000
1168 bool "R3000"
ed5ba2fb 1169 select CPU_SUPPORTS_32BIT_KERNEL
797798c1 1170 select CPU_SUPPORTS_HIGHMEM
1da177e4
LT
1171 help
1172 Please make sure to pick the right CPU type. Linux/MIPS is not
1173 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1174 *not* work on R4000 machines and vice versa. However, since most
1175 of the supported machines have an R4000 (or similar) CPU, R4x00
1176 might be a safe bet. If the resulting kernel does not work,
1177 try to recompile with R3000.
1178
1179config CPU_TX39XX
1180 bool "R39XX"
ed5ba2fb 1181 select CPU_SUPPORTS_32BIT_KERNEL
1da177e4
LT
1182
1183config CPU_VR41XX
1184 bool "R41xx"
ed5ba2fb
YY
1185 select CPU_SUPPORTS_32BIT_KERNEL
1186 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1187 help
1188 The options selects support for the NEC VR41xx series of processors.
1189 Only choose this option if you have one of these processors as a
1190 kernel built with this option will not run on any other type of
1191 processor or vice versa.
1192
1193config CPU_R4300
1194 bool "R4300"
ed5ba2fb
YY
1195 select CPU_SUPPORTS_32BIT_KERNEL
1196 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1197 help
1198 MIPS Technologies R4300-series processors.
1199
1200config CPU_R4X00
1201 bool "R4x00"
ed5ba2fb
YY
1202 select CPU_SUPPORTS_32BIT_KERNEL
1203 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1204 help
1205 MIPS Technologies R4000-series processors other than 4300, including
1206 the R4000, R4400, R4600, and 4700.
1207
1208config CPU_TX49XX
1209 bool "R49XX"
ed5ba2fb
YY
1210 select CPU_SUPPORTS_32BIT_KERNEL
1211 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1212
1213config CPU_R5000
1214 bool "R5000"
ed5ba2fb
YY
1215 select CPU_SUPPORTS_32BIT_KERNEL
1216 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1217 help
1218 MIPS Technologies R5000-series processors other than the Nevada.
1219
1220config CPU_R5432
1221 bool "R5432"
1222
1223config CPU_R6000
1224 bool "R6000"
ed5ba2fb
YY
1225 depends on EXPERIMENTAL
1226 select CPU_SUPPORTS_32BIT_KERNEL
1da177e4
LT
1227 help
1228 MIPS Technologies R6000 and R6000A series processors. Note these
1229 processors are extremly rare and the support for them is incomplete.
1230
1231config CPU_NEVADA
1232 bool "RM52xx"
ed5ba2fb
YY
1233 select CPU_SUPPORTS_32BIT_KERNEL
1234 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1235 help
1236 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1237
1238config CPU_R8000
1239 bool "R8000"
ed5ba2fb
YY
1240 depends on EXPERIMENTAL
1241 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1242 help
1243 MIPS Technologies R8000 processors. Note these processors are
1244 uncommon and the support for them is incomplete.
1245
1246config CPU_R10000
1247 bool "R10000"
ed5ba2fb
YY
1248 select CPU_SUPPORTS_32BIT_KERNEL
1249 select CPU_SUPPORTS_64BIT_KERNEL
797798c1 1250 select CPU_SUPPORTS_HIGHMEM
1da177e4
LT
1251 help
1252 MIPS Technologies R10000-series processors.
1253
1254config CPU_RM7000
1255 bool "RM7000"
ed5ba2fb
YY
1256 select CPU_SUPPORTS_32BIT_KERNEL
1257 select CPU_SUPPORTS_64BIT_KERNEL
797798c1 1258 select CPU_SUPPORTS_HIGHMEM
1da177e4
LT
1259
1260config CPU_RM9000
1261 bool "RM9000"
ed5ba2fb
YY
1262 select CPU_SUPPORTS_32BIT_KERNEL
1263 select CPU_SUPPORTS_64BIT_KERNEL
797798c1 1264 select CPU_SUPPORTS_HIGHMEM
1da177e4
LT
1265
1266config CPU_SB1
1267 bool "SB1"
ed5ba2fb
YY
1268 select CPU_SUPPORTS_32BIT_KERNEL
1269 select CPU_SUPPORTS_64BIT_KERNEL
797798c1 1270 select CPU_SUPPORTS_HIGHMEM
1da177e4
LT
1271
1272endchoice
1273
1274choice
1275 prompt "Kernel page size"
1276 default PAGE_SIZE_4KB
1277
1278config PAGE_SIZE_4KB
1279 bool "4kB"
1280 help
1281 This option select the standard 4kB Linux page size. On some
1282 R3000-family processors this is the only available page size. Using
1283 4kB page size will minimize memory consumption and is therefore
1284 recommended for low memory systems.
1285
1286config PAGE_SIZE_8KB
1287 bool "8kB"
1288 depends on EXPERIMENTAL && CPU_R8000
1289 help
1290 Using 8kB page size will result in higher performance kernel at
1291 the price of higher memory consumption. This option is available
1292 only on the R8000 processor. Not that at the time of this writing
1293 this option is still high experimental; there are also issues with
1294 compatibility of user applications.
1295
1296config PAGE_SIZE_16KB
1297 bool "16kB"
1298 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1299 help
1300 Using 16kB page size will result in higher performance kernel at
1301 the price of higher memory consumption. This option is available on
1302 all non-R3000 family processor. Not that at the time of this
1303 writing this option is still high experimental; there are also
1304 issues with compatibility of user applications.
1305
1306config PAGE_SIZE_64KB
1307 bool "64kB"
1308 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1309 help
1310 Using 64kB page size will result in higher performance kernel at
1311 the price of higher memory consumption. This option is available on
1312 all non-R3000 family processor. Not that at the time of this
1313 writing this option is still high experimental; there are also
1314 issues with compatibility of user applications.
1315
1316endchoice
1317
1318config BOARD_SCACHE
1319 bool
1320
1321config IP22_CPU_SCACHE
1322 bool
1323 select BOARD_SCACHE
1324
1325config R5000_CPU_SCACHE
1326 bool
1327 select BOARD_SCACHE
1328
1329config RM7000_CPU_SCACHE
1330 bool
1331 select BOARD_SCACHE
1332
1333config SIBYTE_DMA_PAGEOPS
1334 bool "Use DMA to clear/copy pages"
1335 depends on CPU_SB1
1336 help
1337 Instead of using the CPU to zero and copy pages, use a Data Mover
1338 channel. These DMA channels are otherwise unused by the standard
1339 SiByte Linux port. Seems to give a small performance benefit.
1340
1341config CPU_HAS_PREFETCH
c8094b53 1342 bool
1da177e4 1343
e01402b1
RB
1344config MIPS_MT
1345 bool "Enable MIPS MT"
1346
340ee4b9
RB
1347choice
1348 prompt "MIPS MT options"
1349 depends on MIPS_MT
1350
1351config MIPS_MT_SMP
1352 bool "Use 1 TC on each available VPE for SMP"
1353 select SMP
1354
e01402b1
RB
1355config MIPS_VPE_LOADER
1356 bool "VPE loader support."
1357 depends on MIPS_MT
1358 help
1359 Includes a loader for loading an elf relocatable object
1360 onto another VPE and running it.
1361
340ee4b9
RB
1362endchoice
1363
e01402b1
RB
1364config MIPS_VPE_LOADER_TOM
1365 bool "Load VPE program into memory hidden from linux"
1366 depends on MIPS_VPE_LOADER
1367 default y
1368 help
1369 The loader can use memory that is present but has been hidden from
1370 Linux using the kernel command line option "mem=xxMB". It's up to
1371 you to ensure the amount you put in the option and the space your
1372 program requires is less or equal to the amount physically present.
1373
1374# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1375config MIPS_VPE_APSP_API
1376 bool "Enable support for AP/SP API (RTLX)"
1377 depends on MIPS_VPE_LOADER
1378
1da177e4
LT
1379config SB1_PASS_1_WORKAROUNDS
1380 bool
1381 depends on CPU_SB1_PASS_1
1382 default y
1383
1384config SB1_PASS_2_WORKAROUNDS
1385 bool
1386 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1387 default y
1388
1389config SB1_PASS_2_1_WORKAROUNDS
1390 bool
1391 depends on CPU_SB1 && CPU_SB1_PASS_2
1392 default y
1393
1394config 64BIT_PHYS_ADDR
1395 bool "Support for 64-bit physical address space"
6e760c8d 1396 depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32_R1 || CPU_MIPS64_R1) && 32BIT
1da177e4
LT
1397
1398config CPU_ADVANCED
1399 bool "Override CPU Options"
875d43e7 1400 depends on 32BIT
1da177e4
LT
1401 help
1402 Saying yes here allows you to select support for various features
1403 your CPU may or may not have. Most people should say N here.
1404
1405config CPU_HAS_LLSC
1406 bool "ll/sc Instructions available" if CPU_ADVANCED
1407 default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX
1408 help
1409 MIPS R4000 series and later provide the Load Linked (ll)
1410 and Store Conditional (sc) instructions. More information is
1411 available at <http://www.go-ecs.com/mips/miptek1.htm>.
1412
1413 Say Y here if your CPU has the ll and sc instructions. Say Y here
1414 for better performance, N if you don't know. You must say Y here
1415 for multiprocessor machines.
1416
1417config CPU_HAS_LLDSCD
1418 bool "lld/scd Instructions available" if CPU_ADVANCED
6e760c8d 1419 default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX && !CPU_MIPS32_R1
1da177e4
LT
1420 help
1421 Say Y here if your CPU has the lld and scd instructions, the 64-bit
1422 equivalents of ll and sc. Say Y here for better performance, N if
1423 you don't know. You must say Y here for multiprocessor machines.
1424
1425config CPU_HAS_WB
1426 bool "Writeback Buffer available" if CPU_ADVANCED
1427 default y if !CPU_ADVANCED && CPU_R3000 && MACH_DECSTATION
1428 help
1429 Say N here for slightly better performance. You must say Y here for
1430 machines which require flushing of write buffers in software. Saying
1431 Y is the safe option; N may result in kernel malfunction and crashes.
1432
e01402b1
RB
1433menu "MIPSR2 Interrupt handling"
1434 depends on CPU_MIPSR2 && CPU_ADVANCED
1435
1436config CPU_MIPSR2_IRQ_VI
1437 bool "Vectored interrupt mode"
1438 help
1439 Vectored interrupt mode allowing faster dispatching of interrupts.
1440 The board support code needs to be written to take advantage of this
1441 mode. Compatibility code is included to allow the kernel to run on
1442 a CPU that does not support vectored interrupts. It's safe to
1443 say Y here.
1444
1445config CPU_MIPSR2_IRQ_EI
1446 bool "External interrupt controller mode"
1447 help
1448 Extended interrupt mode takes advantage of an external interrupt
1449 controller to allow fast dispatching from many possible interrupt
1450 sources. Say N unless you know that external interrupt support is
1451 required.
1452
1453config CPU_MIPSR2_SRS
1454 bool "Make shadow set registers available for interrupt handlers"
1455 depends on CPU_MIPSR2_IRQ_VI || CPU_MIPSR2_IRQ_EI
1456 help
1457 Allow the kernel to use shadow register sets for fast interrupts.
1458 Interrupt handlers must be specially written to use shadow sets.
1459 Say N unless you know that shadow register set upport is needed.
1460endmenu
1461
1da177e4
LT
1462config CPU_HAS_SYNC
1463 bool
1464 depends on !CPU_R3000
1465 default y
1466
797798c1
RB
1467#
1468# Use the generic interrupt handling code in kernel/irq/:
1469#
1470config GENERIC_HARDIRQS
1471 bool
1472 default y
1473
1474config GENERIC_IRQ_PROBE
1475 bool
1476 default y
1477
1da177e4
LT
1478#
1479# - Highmem only makes sense for the 32-bit kernel.
1480# - The current highmem code will only work properly on physically indexed
1481# caches such as R3000, SB1, R7000 or those that look like they're virtually
1482# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1483# moment we protect the user and offer the highmem option only on machines
1484# where it's known to be safe. This will not offer highmem on a few systems
1485# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1486# indexed CPUs but we're playing safe.
797798c1
RB
1487# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1488# know they might have memory configurations that could make use of highmem
1489# support.
1da177e4
LT
1490#
1491config HIGHMEM
1492 bool "High Memory Support"
797798c1
RB
1493 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1494
1495config CPU_SUPPORTS_HIGHMEM
1496 bool
1497
1498config SYS_SUPPORTS_HIGHMEM
1499 bool
1da177e4 1500
b4819b59
YY
1501config ARCH_FLATMEM_ENABLE
1502 def_bool y
1503 depends on !NUMA
1504
1505source "mm/Kconfig"
1506
1da177e4
LT
1507config SMP
1508 bool "Multi-Processing support"
340ee4b9 1509 depends on CPU_RM9000 || (SIBYTE_SB1250 && !SIBYTE_STANDALONE) || SGI_IP27 || MIPS_MT_SMP
1da177e4
LT
1510 ---help---
1511 This enables support for systems with more than one CPU. If you have
1512 a system with only one CPU, like most personal computers, say N. If
1513 you have a system with more than one CPU, say Y.
1514
1515 If you say N here, the kernel will run on single and multiprocessor
1516 machines, but will use only one CPU of a multiprocessor machine. If
1517 you say Y here, the kernel will run on many, but not all,
1518 singleprocessor machines. On a singleprocessor machine, the kernel
1519 will run faster if you say N here.
1520
1521 People using multiprocessor machines who say Y here should also say
1522 Y to "Enhanced Real Time Clock Support", below.
1523
1524 See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1525 available at <http://www.tldp.org/docs.html#howto>.
1526
1527 If you don't know what to do here, say N.
1528
1529config NR_CPUS
1530 int "Maximum number of CPUs (2-64)"
1531 range 2 64
1532 depends on SMP
1533 default "64" if SGI_IP27
1534 default "2"
1535 help
1536 This allows you to specify the maximum number of CPUs which this
1537 kernel will support. The maximum supported value is 32 for 32-bit
1538 kernel and 64 for 64-bit kernels; the minimum value which makes
1539 sense is 2.
1540
1541 This is purely to save memory - each supported CPU adds
1542 approximately eight kilobytes to the kernel image.
1543
e80de850 1544source "kernel/Kconfig.preempt"
1da177e4
LT
1545
1546config RTC_DS1742
1547 bool "DS1742 BRAM/RTC support"
1548 depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927
1549
1550config MIPS_INSANE_LARGE
1551 bool "Support for large 64-bit configurations"
875d43e7 1552 depends on CPU_R10000 && 64BIT
1da177e4
LT
1553 help
1554 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1555 previous 64-bit processors which only supported 40 bit / 1TB. If you
1556 need processes of more than 1TB virtual address space, say Y here.
1557 This will result in additional memory usage, so it is not
1558 recommended for normal users.
1559
1560config RWSEM_GENERIC_SPINLOCK
1561 bool
1562 default y
1563
1564endmenu
1565
1566menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1567
1568config HW_HAS_PCI
1569 bool
1570
1571config PCI
1572 bool "Support for PCI controller"
1573 depends on HW_HAS_PCI
1574 help
1575 Find out whether you have a PCI motherboard. PCI is the name of a
1576 bus system, i.e. the way the CPU talks to the other stuff inside
1577 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1578 say Y, otherwise N.
1579
1580 The PCI-HOWTO, available from
1581 <http://www.tldp.org/docs.html#howto>, contains valuable
1582 information about which PCI hardware does work under Linux and which
1583 doesn't.
1584
1585config PCI_DOMAINS
1586 bool
1587 depends on PCI
1588
1589source "drivers/pci/Kconfig"
1590
1591#
1592# ISA support is now enabled via select. Too many systems still have the one
1593# or other ISA chip on the board that users don't know about so don't expect
1594# users to choose the right thing ...
1595#
1596config ISA
1597 bool
1598
1599config EISA
1600 bool "EISA support"
1601 depends on SGI_IP22 || SNI_RM200_PCI
1602 select ISA
1603 ---help---
1604 The Extended Industry Standard Architecture (EISA) bus was
1605 developed as an open alternative to the IBM MicroChannel bus.
1606
1607 The EISA bus provided some of the features of the IBM MicroChannel
1608 bus while maintaining backward compatibility with cards made for
1609 the older ISA bus. The EISA bus saw limited use between 1988 and
1610 1995 when it was made obsolete by the PCI bus.
1611
1612 Say Y here if you are building a kernel for an EISA-based machine.
1613
1614 Otherwise, say N.
1615
1616source "drivers/eisa/Kconfig"
1617
1618config TC
1619 bool "TURBOchannel support"
1620 depends on MACH_DECSTATION
1621 help
1622 TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1623 processors. Documentation on writing device drivers for TurboChannel
1624 is available at:
1625 <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1626
1627#config ACCESSBUS
1628# bool "Access.Bus support"
1629# depends on TC
1630
1631config MMU
1632 bool
1633 default y
1634
1635config MCA
1636 bool
1637
1638config SBUS
1639 bool
1640
1641source "drivers/pcmcia/Kconfig"
1642
1643source "drivers/pci/hotplug/Kconfig"
1644
1645endmenu
1646
1647menu "Executable file formats"
1648
1649source "fs/Kconfig.binfmt"
1650
1651config TRAD_SIGNALS
1652 bool
875d43e7 1653 default y if 32BIT
1da177e4
LT
1654
1655config BUILD_ELF64
1656 bool "Use 64-bit ELF format for building"
875d43e7 1657 depends on 64BIT
1da177e4
LT
1658 help
1659 A 64-bit kernel is usually built using the 64-bit ELF binary object
1660 format as it's one that allows arbitrary 64-bit constructs. For
1661 kernels that are loaded within the KSEG compatibility segments the
1662 32-bit ELF format can optionally be used resulting in a somewhat
1663 smaller binary, but this option is not explicitly supported by the
1664 toolchain and since binutils 2.14 it does not even work at all.
1665
1666 Say Y to use the 64-bit format or N to use the 32-bit one.
1667
1668 If unsure say Y.
1669
1670config BINFMT_IRIX
1671 bool "Include IRIX binary compatibility"
875d43e7 1672 depends on !CPU_LITTLE_ENDIAN && 32BIT && BROKEN
1da177e4
LT
1673
1674config MIPS32_COMPAT
1675 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
875d43e7 1676 depends on 64BIT
1da177e4
LT
1677 help
1678 Select this option if you want Linux/MIPS 32-bit binary
1679 compatibility. Since all software available for Linux/MIPS is
1680 currently 32-bit you should say Y here.
1681
1682config COMPAT
1683 bool
1684 depends on MIPS32_COMPAT
1685 default y
1686
1687config MIPS32_O32
1688 bool "Kernel support for o32 binaries"
1689 depends on MIPS32_COMPAT
1690 help
1691 Select this option if you want to run o32 binaries. These are pure
1692 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
1693 existing binaries are in this format.
1694
1695 If unsure, say Y.
1696
1697config MIPS32_N32
1698 bool "Kernel support for n32 binaries"
1699 depends on MIPS32_COMPAT
1700 help
1701 Select this option if you want to run n32 binaries. These are
1702 64-bit binaries using 32-bit quantities for addressing and certain
1703 data that would normally be 64-bit. They are used in special
1704 cases.
1705
1706 If unsure, say N.
1707
1708config BINFMT_ELF32
1709 bool
1710 default y if MIPS32_O32 || MIPS32_N32
1711
127c6f66
RB
1712config SECCOMP
1713 bool "Enable seccomp to safely compute untrusted bytecode"
1714 depends on PROC_FS && BROKEN
1715 default y
1716 help
1717 This kernel feature is useful for number crunching applications
1718 that may need to compute untrusted bytecode during their
1719 execution. By using pipes or other transports made available to
1720 the process as file descriptors supporting the read/write
1721 syscalls, it's possible to isolate those applications in
1722 their own address space using seccomp. Once seccomp is
1723 enabled via /proc/<pid>/seccomp, it cannot be disabled
1724 and the task is only allowed to execute a few safe syscalls
1725 defined by each seccomp mode.
1726
1727 If unsure, say Y. Only embedded should say N here.
1728
1da177e4
LT
1729config PM
1730 bool "Power Management support (EXPERIMENTAL)"
1731 depends on EXPERIMENTAL && MACH_AU1X00
1732
1733endmenu
1734
d5950b43
SR
1735source "net/Kconfig"
1736
1da177e4
LT
1737source "drivers/Kconfig"
1738
1739source "fs/Kconfig"
1740
1741source "arch/mips/Kconfig.debug"
1742
1743source "security/Kconfig"
1744
1745source "crypto/Kconfig"
1746
1747source "lib/Kconfig"
1748
5cae841b
AV
1749config ISA_DMA_API
1750 bool
1751 default y