Void functions shouldn't return values
[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
565 help
566 Qemu is a software emulator which among other architectures also
567 can simulate a MIPS32 4Kc system. This patch adds support for the
568 system architecture that currently is being simulated by Qemu. It
569 will eventually be removed again when Qemu has the capability to
570 simulate actual MIPS hardware platforms. More information on Qemu
571 can be found at http://www.linux-mips.org/wiki/Qemu.
572
1da177e4
LT
573config SGI_IP22
574 bool "Support for SGI IP22 (Indy/Indigo2)"
575 select ARC
576 select ARC32
577 select BOOT_ELF32
578 select DMA_NONCOHERENT
579 select IP22_CPU_SCACHE
580 select IRQ_CPU
581 select SWAP_IO_SPACE
ed5ba2fb
YY
582 select SYS_SUPPORTS_32BIT_KERNEL
583 select SYS_SUPPORTS_64BIT_KERNEL
1da177e4
LT
584 help
585 This are the SGI Indy, Challenge S and Indigo2, as well as certain
586 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
587 that runs on these, say Y here.
588
589config SGI_IP27
590 bool "Support for SGI IP27 (Origin200/2000)"
1da177e4
LT
591 select ARC
592 select ARC64
593 select DMA_IP27
594 select HW_HAS_PCI
595 select PCI_DOMAINS
ed5ba2fb 596 select SYS_SUPPORTS_64BIT_KERNEL
1da177e4
LT
597 help
598 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
599 workstations. To compile a Linux kernel that runs on these, say Y
600 here.
601
602#config SGI_SN0_XXL
603# bool "IP27 XXL"
604# depends on SGI_IP27
605# This options adds support for userspace processes upto 16TB size.
606# Normally the limit is just .5TB.
607
608config SGI_SN0_N_MODE
609 bool "IP27 N-Mode"
610 depends on SGI_IP27
611 help
612 The nodes of Origin 200, Origin 2000 and Onyx 2 systems can be
613 configured in either N-Modes which allows for more nodes or M-Mode
614 which allows for more memory. Your system is most probably
615 running in M-Mode, so you should say N here.
616
3f22ab27 617config ARCH_DISCONTIGMEM_ENABLE
1da177e4
LT
618 bool
619 default y if SGI_IP27
620 help
621 Say Y to upport efficient handling of discontiguous physical memory,
622 for architectures which are either NUMA (Non-Uniform Memory Access)
623 or have huge holes in the physical address space for other reasons.
624 See <file:Documentation/vm/numa> for more.
625
626config NUMA
627 bool "NUMA Support"
628 depends on SGI_IP27
629 help
630 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
631 Access). This option is for configuring high-end multiprocessor
632 server machines. If in doubt, say N.
633
634config MAPPED_KERNEL
635 bool "Mapped kernel support"
636 depends on SGI_IP27
637 help
638 Change the way a Linux kernel is loaded into memory on a MIPS64
639 machine. This is required in order to support text replication and
640 NUMA. If you need to understand it, read the source code.
641
642config REPLICATE_KTEXT
643 bool "Kernel text replication support"
644 depends on SGI_IP27
645 help
646 Say Y here to enable replicating the kernel text across multiple
647 nodes in a NUMA cluster. This trades memory for speed.
648
649config REPLICATE_EXHANDLERS
650 bool "Exception handler replication support"
651 depends on SGI_IP27
652 help
653 Say Y here to enable replicating the kernel exception handlers
654 across multiple nodes in a NUMA cluster. This trades memory for
655 speed.
656
657config SGI_IP32
658 bool "Support for SGI IP32 (O2) (EXPERIMENTAL)"
ed5ba2fb 659 depends on EXPERIMENTAL
1da177e4
LT
660 select ARC
661 select ARC32
662 select BOOT_ELF32
663 select OWN_DMA
664 select DMA_IP32
665 select DMA_NONCOHERENT
5eaf7a21 666 select HAS_TXX9_SERIAL
1da177e4
LT
667 select HW_HAS_PCI
668 select R5000_CPU_SCACHE
669 select RM7000_CPU_SCACHE
ed5ba2fb 670 select SYS_SUPPORTS_64BIT_KERNEL
1da177e4
LT
671 help
672 If you want this kernel to run on SGI O2 workstation, say Y here.
673
e3ad1c23
PP
674config SOC_AU1200
675 bool
676 select SOC_AU1X00
677
1da177e4 678config SOC_AU1X00
1da177e4 679 bool "Support for AMD/Alchemy Au1X00 SOCs"
ed5ba2fb 680 select SYS_SUPPORTS_32BIT_KERNEL
1da177e4
LT
681
682choice
683 prompt "Au1X00 SOC Type"
684 depends on SOC_AU1X00
685 help
686 Say Y here to enable support for one of three AMD/Alchemy
687 SOCs. For additional documentation see www.amd.com.
688
689config SOC_AU1000
690 bool "SOC_AU1000"
691config SOC_AU1100
692 bool "SOC_AU1100"
693config SOC_AU1500
694 bool "SOC_AU1500"
695config SOC_AU1550
696 bool "SOC_AU1550"
697
698endchoice
699
700choice
701 prompt "AMD/Alchemy Au1x00 board support"
702 depends on SOC_AU1X00
703 help
704 These are evaluation boards built by AMD/Alchemy to
705 showcase their Au1X00 Internet Edge Processors. The SOC design
706 is based on the MIPS32 architecture running at 266/400/500MHz
707 with many integrated peripherals. Further information can be
708 found at their website, <http://www.amd.com/>. Say Y here if you
709 wish to build a kernel for this platform.
710
711config MIPS_PB1000
712 bool "PB1000 board"
713 depends on SOC_AU1000
714 select DMA_NONCOHERENT
715 select HW_HAS_PCI
716 select SWAP_IO_SPACE
717
718config MIPS_PB1100
719 bool "PB1100 board"
720 depends on SOC_AU1100
721 select DMA_NONCOHERENT
722 select HW_HAS_PCI
723 select SWAP_IO_SPACE
724
725config MIPS_PB1500
726 bool "PB1500 board"
727 depends on SOC_AU1500
d8f5d861 728 select DMA_NONCOHERENT
1da177e4
LT
729 select HW_HAS_PCI
730
731config MIPS_PB1550
732 bool "PB1550 board"
733 depends on SOC_AU1550
734 select DMA_COHERENT
735 select HW_HAS_PCI
736 select MIPS_DISABLE_OBSOLETE_IDE
737
e3ad1c23
PP
738config MIPS_PB1200
739 bool "AMD Alchemy PB1200 board"
740 select SOC_AU1200
741 select DMA_NONCOHERENT
742 select MIPS_DISABLE_OBSOLETE_IDE
81731f79 743 select SYS_SUPPORTS_BIG_ENDIAN
e3ad1c23
PP
744 select SYS_SUPPORTS_LITTLE_ENDIAN
745
1da177e4
LT
746config MIPS_DB1000
747 bool "DB1000 board"
748 depends on SOC_AU1000
749 select DMA_NONCOHERENT
750 select HW_HAS_PCI
751
752config MIPS_DB1100
753 bool "DB1100 board"
754 depends on SOC_AU1100
755 select DMA_NONCOHERENT
756
757config MIPS_DB1500
758 bool "DB1500 board"
759 depends on SOC_AU1500
d8f5d861 760 select DMA_NONCOHERENT
1da177e4
LT
761 select HW_HAS_PCI
762 select MIPS_DISABLE_OBSOLETE_IDE
763
764config MIPS_DB1550
765 bool "DB1550 board"
766 depends on SOC_AU1550
767 select HW_HAS_PCI
d8f5d861 768 select DMA_NONCOHERENT
1da177e4
LT
769 select MIPS_DISABLE_OBSOLETE_IDE
770
771config MIPS_BOSPORUS
772 bool "Bosporus board"
773 depends on SOC_AU1500
774 select DMA_NONCOHERENT
775
e3ad1c23
PP
776config MIPS_DB1200
777 bool "AMD Alchemy DB1200 board"
778 select SOC_AU1200
779 select DMA_NONCOHERENT
780 select MIPS_DISABLE_OBSOLETE_IDE
781 select SYS_SUPPORTS_LITTLE_ENDIAN
782
1da177e4
LT
783config MIPS_MIRAGE
784 bool "Mirage board"
785 depends on SOC_AU1500
786 select DMA_NONCOHERENT
787
788config MIPS_XXS1500
789 bool "MyCable XXS1500 board"
790 depends on SOC_AU1500
791 select DMA_NONCOHERENT
792
793config MIPS_MTX1
794 bool "4G Systems MTX-1 board"
795 depends on SOC_AU1500
796 select HW_HAS_PCI
797 select DMA_NONCOHERENT
798
799endchoice
800
1da177e4
LT
801config SNI_RM200_PCI
802 bool "Support for SNI RM200 PCI"
803 select ARC
804 select ARC32
805 select BOOT_ELF32
806 select DMA_NONCOHERENT
807 select GENERIC_ISA_DMA
808 select HAVE_STD_PC_SERIAL_PORT
809 select HW_HAS_PCI
810 select I8259
811 select ISA
ed5ba2fb
YY
812 select SYS_SUPPORTS_32BIT_KERNEL
813 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
1da177e4
LT
814 help
815 The SNI RM200 PCI was a MIPS-based platform manufactured by Siemens
816 Nixdorf Informationssysteme (SNI), parent company of Pyramid
817 Technology and now in turn merged with Fujitsu. Say Y here to
818 support this machine type.
819
820config TOSHIBA_RBTX4927
821 bool "Support for Toshiba TBTX49[23]7 board"
1da177e4
LT
822 select DMA_NONCOHERENT
823 select HAS_TXX9_SERIAL
824 select HW_HAS_PCI
825 select I8259
826 select ISA
827 select SWAP_IO_SPACE
ed5ba2fb
YY
828 select SYS_SUPPORTS_32BIT_KERNEL
829 select SYS_SUPPORTS_64BIT_KERNEL
1da177e4
LT
830 help
831 This Toshiba board is based on the TX4927 processor. Say Y here to
832 support this machine type
833
834config TOSHIBA_FPCIB0
835 bool "FPCIB0 Backplane Support"
836 depends on TOSHIBA_RBTX4927
837
29c48699 838source "arch/mips/sgi-ip27/Kconfig"
38b18f72 839source "arch/mips/sibyte/Kconfig"
bdf21b18 840source "arch/mips/philips/pnx8550/common/Kconfig"
38b18f72 841
1da177e4
LT
842config RWSEM_GENERIC_SPINLOCK
843 bool
844 default y
845
846config RWSEM_XCHGADD_ALGORITHM
847 bool
5eaf7a21 848 select HAS_TXX9_SERIAL
1da177e4
LT
849
850config GENERIC_CALIBRATE_DELAY
851 bool
852 default y
853
1da177e4
LT
854#
855# Select some configuration options automatically based on user selections.
856#
857config ARC
858 bool
859 depends on SNI_RM200_PCI || SGI_IP32 || SGI_IP27 || SGI_IP22 || MIPS_MAGNUM_4000 || OLIVETTI_M700 || ACER_PICA_61
860 default y
861
4ce588cd 862config DMA_COHERENT
1da177e4
LT
863 bool
864
4ce588cd 865config DMA_IP27
1da177e4
LT
866 bool
867
4ce588cd
RB
868config DMA_IP32
869 bool
870 select DMA_NEED_PCI_MAP_STATE
871
872config DMA_NONCOHERENT
873 bool
874 select DMA_NEED_PCI_MAP_STATE
875
876config DMA_NEED_PCI_MAP_STATE
1da177e4
LT
877 bool
878
879config EARLY_PRINTK
880 bool
881 depends on MACH_DECSTATION
882 default y
883
884config GENERIC_ISA_DMA
885 bool
886 depends on SNI_RM200_PCI || MIPS_MAGNUM_4000 || OLIVETTI_M700 || ACER_PICA_61 || MIPS_MALTA
887 default y
888
889config I8259
890 bool
891 depends on SNI_RM200_PCI || DDB5477 || DDB5476 || DDB5074 || MACH_JAZZ || MIPS_MALTA || MIPS_COBALT
892 default y
893
894config LIMITED_DMA
895 bool
896 select HIGHMEM
897
898config MIPS_BONITO64
899 bool
900 depends on MIPS_ATLAS || MIPS_MALTA
901 default y
902
903config MIPS_MSC
904 bool
905 depends on MIPS_ATLAS || MIPS_MALTA
906 default y
907
908config MIPS_NILE4
909 bool
910 depends on LASAT
911 default y
912
913config MIPS_DISABLE_OBSOLETE_IDE
914 bool
915
916config CPU_LITTLE_ENDIAN
917 bool "Generate little endian code"
ab1418a3 918 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
919 default n if MIPS_EV64120 || MIPS_EV96100 || MOMENCO_OCELOT || MOMENCO_OCELOT_G || SGI_IP22 || SGI_IP27 || SGI_IP32 || TOSHIBA_JMR3927
920 help
921 Some MIPS machines can be configured for either little or big endian
922 byte order. These modes require different kernels. Say Y if your
923 machine is little endian, N if it's a big endian machine.
924
925config IRQ_CPU
926 bool
927
928config IRQ_CPU_RM7K
929 bool
930
931config IRQ_MV64340
932 bool
933
934config DDB5XXX_COMMON
935 bool
936 depends on DDB5074 || DDB5476 || DDB5477
937 default y
938
939config MIPS_BOARDS_GEN
940 bool
941 depends on MIPS_ATLAS || MIPS_MALTA || MIPS_SEAD
942 default y
943
944config MIPS_GT64111
945 bool
946 depends on MIPS_COBALT
947 default y
948
949config MIPS_GT64120
950 bool
951 depends on MIPS_EV64120 || MIPS_EV96100 || LASAT || MIPS_ATLAS || MIPS_MALTA || MOMENCO_OCELOT
952 default y
953
954config MIPS_TX3927
955 bool
956 depends on TOSHIBA_JMR3927
957 select HAS_TXX9_SERIAL
958 default y
959
960config PCI_MARVELL
961 bool
962
963config ITE_BOARD_GEN
964 bool
965 depends on MIPS_IVR || MIPS_ITE8172
966 default y
967
bdf21b18
PP
968config PNX8550
969 bool
970 select SOC_PNX8550
971
972config SOC_PNX8550
973 bool
974 select SYS_SUPPORTS_32BIT_KERNEL
975 select DMA_NONCOHERENT
976 select HW_HAS_PCI
977
1da177e4
LT
978config SWAP_IO_SPACE
979 bool
980
981#
982# Unfortunately not all GT64120 systems run the chip at the same clock.
983# As the user for the clock rate and try to minimize the available options.
984#
985choice
986 prompt "Galileo Chip Clock"
987 #default SYSCLK_83 if MIPS_EV64120
988 depends on MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
989 default SYSCLK_83 if MIPS_EV64120
990 default SYSCLK_100 if MOMENCO_OCELOT || MOMENCO_OCELOT_G
991
992config SYSCLK_75
993 bool "75" if MIPS_EV64120
994
995config SYSCLK_83
996 bool "83.3" if MIPS_EV64120
997
998config SYSCLK_100
999 bool "100" if MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
1000
1001endchoice
1002
1003config AU1X00_USB_DEVICE
1004 bool
1005 depends on MIPS_PB1500 || MIPS_PB1100 || MIPS_PB1000
1006 default n
1007
1008config MIPS_GT96100
1009 bool
1010 depends on MIPS_EV96100
1011 default y
1012 help
1013 Say Y here to support the Galileo Technology GT96100 communications
1014 controller card. There is a web page at <http://www.galileot.com/>.
1015
1016config IT8172_CIR
1017 bool
1018 depends on MIPS_ITE8172 || MIPS_IVR
1019 default y
1020
1021config IT8712
1022 bool
1023 depends on MIPS_ITE8172
1024 default y
1025
1026config BOOT_ELF32
1027 bool
1028 depends on MACH_DECSTATION || MIPS_ATLAS || MIPS_MALTA || MOMENCO_JAGUAR_ATX || MOMENCO_OCELOT_3 || SIBYTE_SB1xxx_SOC || SGI_IP32 || SGI_IP22 || SNI_RM200_PCI
1029 default y
1030
1031config MIPS_L1_CACHE_SHIFT
1032 int
1033 default "4" if MACH_DECSTATION
1034 default "7" if SGI_IP27
1035 default "5"
1036
1037config ARC32
1038 bool
1039 depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP22 || SGI_IP32
1040 default y
1041
1da177e4
LT
1042config HAVE_STD_PC_SERIAL_PORT
1043 bool
1044
1da177e4
LT
1045config ARC_CONSOLE
1046 bool "ARC console support"
1047 depends on SGI_IP22 || SNI_RM200_PCI
1048
1049config ARC_MEMORY
1050 bool
1051 depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP32
1052 default y
1053
1054config ARC_PROMLIB
1055 bool
1056 depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP22 || SGI_IP32
1057 default y
1058
1059config ARC64
1060 bool
1061 depends on SGI_IP27
1062 default y
1063
1064config BOOT_ELF64
1065 bool
1066 depends on SGI_IP27
1067 default y
1068
1069#config MAPPED_PCI_IO y
1070# bool
1071# depends on SGI_IP27
1072# default y
1073
1da177e4
LT
1074config TOSHIBA_BOARDS
1075 bool
1076 depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927
1077 default y
1078
1079endmenu
1080
1081menu "CPU selection"
1082
1083choice
1084 prompt "CPU type"
1085 default CPU_R4X00
1086
6e760c8d
RB
1087config CPU_MIPS32_R1
1088 bool "MIPS32 Release 1"
ed5ba2fb 1089 select CPU_SUPPORTS_32BIT_KERNEL
6e760c8d 1090 select CPU_HAS_PREFETCH
1e5f1caa
RB
1091 help
1092 Choose this option to build a kernel for release 2 or later of the
1093 MIPS32 architecture. Most modern embedded systems with a 32-bit
1094 MIPS processor are based on a MIPS32 processor. If you know the
1095 specific type of processor in your system, choose those that one
1096 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1097 Release 2 of the MIPS32 architecture is available since several
1098 years so chances are you even have a MIPS32 Release 2 processor
1099 in which case you should choose CPU_MIPS32_R2 instead for better
1100 performance.
1101
1102config CPU_MIPS32_R2
1103 bool "MIPS32 Release 2"
1104 select CPU_SUPPORTS_32BIT_KERNEL
1105 select CPU_HAS_PREFETCH
6e760c8d
RB
1106 help
1107 Choose this option to build a kernel for release 1 or later of the
1108 MIPS32 architecture. Most modern embedded systems with a 32-bit
1109 MIPS processor are based on a MIPS32 processor. If you know the
1110 specific type of processor in your system, choose those that one
1111 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1112
1113config CPU_MIPS64_R1
1114 bool "MIPS64 Release 1"
ed5ba2fb
YY
1115 select CPU_SUPPORTS_32BIT_KERNEL
1116 select CPU_SUPPORTS_64BIT_KERNEL
6e760c8d
RB
1117 select CPU_HAS_PREFETCH
1118 help
1119 Choose this option to build a kernel for release 1 or later of the
1120 MIPS64 architecture. Many modern embedded systems with a 64-bit
1121 MIPS processor are based on a MIPS64 processor. If you know the
1122 specific type of processor in your system, choose those that one
1123 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1e5f1caa
RB
1124 Release 2 of the MIPS64 architecture is available since several
1125 years so chances are you even have a MIPS64 Release 2 processor
1126 in which case you should choose CPU_MIPS64_R2 instead for better
1127 performance.
1128
1129config CPU_MIPS64_R2
1130 bool "MIPS64 Release 2"
1131 select CPU_SUPPORTS_32BIT_KERNEL
1132 select CPU_SUPPORTS_64BIT_KERNEL
1133 select CPU_HAS_PREFETCH
1134 help
1135 Choose this option to build a kernel for release 2 or later of the
1136 MIPS64 architecture. Many modern embedded systems with a 64-bit
1137 MIPS processor are based on a MIPS64 processor. If you know the
1138 specific type of processor in your system, choose those that one
1139 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1da177e4
LT
1140
1141config CPU_R3000
1142 bool "R3000"
ed5ba2fb 1143 select CPU_SUPPORTS_32BIT_KERNEL
1da177e4
LT
1144 help
1145 Please make sure to pick the right CPU type. Linux/MIPS is not
1146 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1147 *not* work on R4000 machines and vice versa. However, since most
1148 of the supported machines have an R4000 (or similar) CPU, R4x00
1149 might be a safe bet. If the resulting kernel does not work,
1150 try to recompile with R3000.
1151
1152config CPU_TX39XX
1153 bool "R39XX"
ed5ba2fb 1154 select CPU_SUPPORTS_32BIT_KERNEL
1da177e4
LT
1155
1156config CPU_VR41XX
1157 bool "R41xx"
ed5ba2fb
YY
1158 select CPU_SUPPORTS_32BIT_KERNEL
1159 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1160 help
1161 The options selects support for the NEC VR41xx series of processors.
1162 Only choose this option if you have one of these processors as a
1163 kernel built with this option will not run on any other type of
1164 processor or vice versa.
1165
1166config CPU_R4300
1167 bool "R4300"
ed5ba2fb
YY
1168 select CPU_SUPPORTS_32BIT_KERNEL
1169 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1170 help
1171 MIPS Technologies R4300-series processors.
1172
1173config CPU_R4X00
1174 bool "R4x00"
ed5ba2fb
YY
1175 select CPU_SUPPORTS_32BIT_KERNEL
1176 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1177 help
1178 MIPS Technologies R4000-series processors other than 4300, including
1179 the R4000, R4400, R4600, and 4700.
1180
1181config CPU_TX49XX
1182 bool "R49XX"
ed5ba2fb
YY
1183 select CPU_SUPPORTS_32BIT_KERNEL
1184 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1185
1186config CPU_R5000
1187 bool "R5000"
ed5ba2fb
YY
1188 select CPU_SUPPORTS_32BIT_KERNEL
1189 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1190 help
1191 MIPS Technologies R5000-series processors other than the Nevada.
1192
1193config CPU_R5432
1194 bool "R5432"
1195
1196config CPU_R6000
1197 bool "R6000"
ed5ba2fb
YY
1198 depends on EXPERIMENTAL
1199 select CPU_SUPPORTS_32BIT_KERNEL
1da177e4
LT
1200 help
1201 MIPS Technologies R6000 and R6000A series processors. Note these
1202 processors are extremly rare and the support for them is incomplete.
1203
1204config CPU_NEVADA
1205 bool "RM52xx"
ed5ba2fb
YY
1206 select CPU_SUPPORTS_32BIT_KERNEL
1207 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1208 help
1209 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1210
1211config CPU_R8000
1212 bool "R8000"
ed5ba2fb
YY
1213 depends on EXPERIMENTAL
1214 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1215 help
1216 MIPS Technologies R8000 processors. Note these processors are
1217 uncommon and the support for them is incomplete.
1218
1219config CPU_R10000
1220 bool "R10000"
ed5ba2fb
YY
1221 select CPU_SUPPORTS_32BIT_KERNEL
1222 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1223 help
1224 MIPS Technologies R10000-series processors.
1225
1226config CPU_RM7000
1227 bool "RM7000"
ed5ba2fb
YY
1228 select CPU_SUPPORTS_32BIT_KERNEL
1229 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1230
1231config CPU_RM9000
1232 bool "RM9000"
ed5ba2fb
YY
1233 select CPU_SUPPORTS_32BIT_KERNEL
1234 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1235
1236config CPU_SB1
1237 bool "SB1"
ed5ba2fb
YY
1238 select CPU_SUPPORTS_32BIT_KERNEL
1239 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1240
1241endchoice
1242
1243choice
1244 prompt "Kernel page size"
1245 default PAGE_SIZE_4KB
1246
1247config PAGE_SIZE_4KB
1248 bool "4kB"
1249 help
1250 This option select the standard 4kB Linux page size. On some
1251 R3000-family processors this is the only available page size. Using
1252 4kB page size will minimize memory consumption and is therefore
1253 recommended for low memory systems.
1254
1255config PAGE_SIZE_8KB
1256 bool "8kB"
1257 depends on EXPERIMENTAL && CPU_R8000
1258 help
1259 Using 8kB page size will result in higher performance kernel at
1260 the price of higher memory consumption. This option is available
1261 only on the R8000 processor. Not that at the time of this writing
1262 this option is still high experimental; there are also issues with
1263 compatibility of user applications.
1264
1265config PAGE_SIZE_16KB
1266 bool "16kB"
1267 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1268 help
1269 Using 16kB page size will result in higher performance kernel at
1270 the price of higher memory consumption. This option is available on
1271 all non-R3000 family processor. Not that at the time of this
1272 writing this option is still high experimental; there are also
1273 issues with compatibility of user applications.
1274
1275config PAGE_SIZE_64KB
1276 bool "64kB"
1277 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1278 help
1279 Using 64kB page size will result in higher performance kernel at
1280 the price of higher memory consumption. This option is available on
1281 all non-R3000 family processor. Not that at the time of this
1282 writing this option is still high experimental; there are also
1283 issues with compatibility of user applications.
1284
1285endchoice
1286
1287config BOARD_SCACHE
1288 bool
1289
1290config IP22_CPU_SCACHE
1291 bool
1292 select BOARD_SCACHE
1293
1294config R5000_CPU_SCACHE
1295 bool
1296 select BOARD_SCACHE
1297
1298config RM7000_CPU_SCACHE
1299 bool
1300 select BOARD_SCACHE
1301
1302config SIBYTE_DMA_PAGEOPS
1303 bool "Use DMA to clear/copy pages"
1304 depends on CPU_SB1
1305 help
1306 Instead of using the CPU to zero and copy pages, use a Data Mover
1307 channel. These DMA channels are otherwise unused by the standard
1308 SiByte Linux port. Seems to give a small performance benefit.
1309
1310config CPU_HAS_PREFETCH
1311 bool "Enable prefetches" if CPU_SB1 && !CPU_SB1_PASS_2
1312 default y if CPU_MIPS32 || CPU_MIPS64 || CPU_RM7000 || CPU_RM9000 || CPU_R10000
1313
e01402b1
RB
1314config MIPS_MT
1315 bool "Enable MIPS MT"
1316
1317config MIPS_VPE_LOADER
1318 bool "VPE loader support."
1319 depends on MIPS_MT
1320 help
1321 Includes a loader for loading an elf relocatable object
1322 onto another VPE and running it.
1323
1324config MIPS_VPE_LOADER_TOM
1325 bool "Load VPE program into memory hidden from linux"
1326 depends on MIPS_VPE_LOADER
1327 default y
1328 help
1329 The loader can use memory that is present but has been hidden from
1330 Linux using the kernel command line option "mem=xxMB". It's up to
1331 you to ensure the amount you put in the option and the space your
1332 program requires is less or equal to the amount physically present.
1333
1334# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1335config MIPS_VPE_APSP_API
1336 bool "Enable support for AP/SP API (RTLX)"
1337 depends on MIPS_VPE_LOADER
1338
1da177e4
LT
1339config VTAG_ICACHE
1340 bool "Support for Virtual Tagged I-cache" if CPU_MIPS64 || CPU_MIPS32
1341 default y if CPU_SB1
1342
1343config SB1_PASS_1_WORKAROUNDS
1344 bool
1345 depends on CPU_SB1_PASS_1
1346 default y
1347
1348config SB1_PASS_2_WORKAROUNDS
1349 bool
1350 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1351 default y
1352
1353config SB1_PASS_2_1_WORKAROUNDS
1354 bool
1355 depends on CPU_SB1 && CPU_SB1_PASS_2
1356 default y
1357
1358config 64BIT_PHYS_ADDR
1359 bool "Support for 64-bit physical address space"
6e760c8d 1360 depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32_R1 || CPU_MIPS64_R1) && 32BIT
1da177e4
LT
1361
1362config CPU_ADVANCED
1363 bool "Override CPU Options"
875d43e7 1364 depends on 32BIT
1da177e4
LT
1365 help
1366 Saying yes here allows you to select support for various features
1367 your CPU may or may not have. Most people should say N here.
1368
1369config CPU_HAS_LLSC
1370 bool "ll/sc Instructions available" if CPU_ADVANCED
1371 default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX
1372 help
1373 MIPS R4000 series and later provide the Load Linked (ll)
1374 and Store Conditional (sc) instructions. More information is
1375 available at <http://www.go-ecs.com/mips/miptek1.htm>.
1376
1377 Say Y here if your CPU has the ll and sc instructions. Say Y here
1378 for better performance, N if you don't know. You must say Y here
1379 for multiprocessor machines.
1380
1381config CPU_HAS_LLDSCD
1382 bool "lld/scd Instructions available" if CPU_ADVANCED
6e760c8d 1383 default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX && !CPU_MIPS32_R1
1da177e4
LT
1384 help
1385 Say Y here if your CPU has the lld and scd instructions, the 64-bit
1386 equivalents of ll and sc. Say Y here for better performance, N if
1387 you don't know. You must say Y here for multiprocessor machines.
1388
1389config CPU_HAS_WB
1390 bool "Writeback Buffer available" if CPU_ADVANCED
1391 default y if !CPU_ADVANCED && CPU_R3000 && MACH_DECSTATION
1392 help
1393 Say N here for slightly better performance. You must say Y here for
1394 machines which require flushing of write buffers in software. Saying
1395 Y is the safe option; N may result in kernel malfunction and crashes.
1396
e01402b1
RB
1397menu "MIPSR2 Interrupt handling"
1398 depends on CPU_MIPSR2 && CPU_ADVANCED
1399
1400config CPU_MIPSR2_IRQ_VI
1401 bool "Vectored interrupt mode"
1402 help
1403 Vectored interrupt mode allowing faster dispatching of interrupts.
1404 The board support code needs to be written to take advantage of this
1405 mode. Compatibility code is included to allow the kernel to run on
1406 a CPU that does not support vectored interrupts. It's safe to
1407 say Y here.
1408
1409config CPU_MIPSR2_IRQ_EI
1410 bool "External interrupt controller mode"
1411 help
1412 Extended interrupt mode takes advantage of an external interrupt
1413 controller to allow fast dispatching from many possible interrupt
1414 sources. Say N unless you know that external interrupt support is
1415 required.
1416
1417config CPU_MIPSR2_SRS
1418 bool "Make shadow set registers available for interrupt handlers"
1419 depends on CPU_MIPSR2_IRQ_VI || CPU_MIPSR2_IRQ_EI
1420 help
1421 Allow the kernel to use shadow register sets for fast interrupts.
1422 Interrupt handlers must be specially written to use shadow sets.
1423 Say N unless you know that shadow register set upport is needed.
1424endmenu
1425
1da177e4
LT
1426config CPU_HAS_SYNC
1427 bool
1428 depends on !CPU_R3000
1429 default y
1430
1431#
1432# - Highmem only makes sense for the 32-bit kernel.
1433# - The current highmem code will only work properly on physically indexed
1434# caches such as R3000, SB1, R7000 or those that look like they're virtually
1435# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1436# moment we protect the user and offer the highmem option only on machines
1437# where it's known to be safe. This will not offer highmem on a few systems
1438# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1439# indexed CPUs but we're playing safe.
1440# - We should not offer highmem for system of which we already know that they
1441# don't have memory configurations that could gain from highmem support in
1442# the kernel because they don't support configurations with RAM at physical
1443# addresses > 0x20000000.
1444#
1445config HIGHMEM
1446 bool "High Memory Support"
875d43e7 1447 depends on 32BIT && (CPU_R3000 || CPU_SB1 || CPU_R7000 || CPU_RM9000 || CPU_R10000) && !(MACH_DECSTATION || MOMENCO_JAGUAR_ATX)
1da177e4 1448
b4819b59
YY
1449config ARCH_FLATMEM_ENABLE
1450 def_bool y
1451 depends on !NUMA
1452
1453source "mm/Kconfig"
1454
1da177e4
LT
1455config SMP
1456 bool "Multi-Processing support"
1457 depends on CPU_RM9000 || (SIBYTE_SB1250 && !SIBYTE_STANDALONE) || SGI_IP27
1458 ---help---
1459 This enables support for systems with more than one CPU. If you have
1460 a system with only one CPU, like most personal computers, say N. If
1461 you have a system with more than one CPU, say Y.
1462
1463 If you say N here, the kernel will run on single and multiprocessor
1464 machines, but will use only one CPU of a multiprocessor machine. If
1465 you say Y here, the kernel will run on many, but not all,
1466 singleprocessor machines. On a singleprocessor machine, the kernel
1467 will run faster if you say N here.
1468
1469 People using multiprocessor machines who say Y here should also say
1470 Y to "Enhanced Real Time Clock Support", below.
1471
1472 See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1473 available at <http://www.tldp.org/docs.html#howto>.
1474
1475 If you don't know what to do here, say N.
1476
1477config NR_CPUS
1478 int "Maximum number of CPUs (2-64)"
1479 range 2 64
1480 depends on SMP
1481 default "64" if SGI_IP27
1482 default "2"
1483 help
1484 This allows you to specify the maximum number of CPUs which this
1485 kernel will support. The maximum supported value is 32 for 32-bit
1486 kernel and 64 for 64-bit kernels; the minimum value which makes
1487 sense is 2.
1488
1489 This is purely to save memory - each supported CPU adds
1490 approximately eight kilobytes to the kernel image.
1491
e80de850 1492source "kernel/Kconfig.preempt"
1da177e4
LT
1493
1494config RTC_DS1742
1495 bool "DS1742 BRAM/RTC support"
1496 depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927
1497
1498config MIPS_INSANE_LARGE
1499 bool "Support for large 64-bit configurations"
875d43e7 1500 depends on CPU_R10000 && 64BIT
1da177e4
LT
1501 help
1502 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1503 previous 64-bit processors which only supported 40 bit / 1TB. If you
1504 need processes of more than 1TB virtual address space, say Y here.
1505 This will result in additional memory usage, so it is not
1506 recommended for normal users.
1507
1508config RWSEM_GENERIC_SPINLOCK
1509 bool
1510 default y
1511
1512endmenu
1513
1514menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1515
1516config HW_HAS_PCI
1517 bool
1518
1519config PCI
1520 bool "Support for PCI controller"
1521 depends on HW_HAS_PCI
1522 help
1523 Find out whether you have a PCI motherboard. PCI is the name of a
1524 bus system, i.e. the way the CPU talks to the other stuff inside
1525 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1526 say Y, otherwise N.
1527
1528 The PCI-HOWTO, available from
1529 <http://www.tldp.org/docs.html#howto>, contains valuable
1530 information about which PCI hardware does work under Linux and which
1531 doesn't.
1532
1533config PCI_DOMAINS
1534 bool
1535 depends on PCI
1536
1537source "drivers/pci/Kconfig"
1538
1539#
1540# ISA support is now enabled via select. Too many systems still have the one
1541# or other ISA chip on the board that users don't know about so don't expect
1542# users to choose the right thing ...
1543#
1544config ISA
1545 bool
1546
1547config EISA
1548 bool "EISA support"
1549 depends on SGI_IP22 || SNI_RM200_PCI
1550 select ISA
1551 ---help---
1552 The Extended Industry Standard Architecture (EISA) bus was
1553 developed as an open alternative to the IBM MicroChannel bus.
1554
1555 The EISA bus provided some of the features of the IBM MicroChannel
1556 bus while maintaining backward compatibility with cards made for
1557 the older ISA bus. The EISA bus saw limited use between 1988 and
1558 1995 when it was made obsolete by the PCI bus.
1559
1560 Say Y here if you are building a kernel for an EISA-based machine.
1561
1562 Otherwise, say N.
1563
1564source "drivers/eisa/Kconfig"
1565
1566config TC
1567 bool "TURBOchannel support"
1568 depends on MACH_DECSTATION
1569 help
1570 TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1571 processors. Documentation on writing device drivers for TurboChannel
1572 is available at:
1573 <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1574
1575#config ACCESSBUS
1576# bool "Access.Bus support"
1577# depends on TC
1578
1579config MMU
1580 bool
1581 default y
1582
1583config MCA
1584 bool
1585
1586config SBUS
1587 bool
1588
1589source "drivers/pcmcia/Kconfig"
1590
1591source "drivers/pci/hotplug/Kconfig"
1592
1593endmenu
1594
1595menu "Executable file formats"
1596
1597source "fs/Kconfig.binfmt"
1598
1599config TRAD_SIGNALS
1600 bool
875d43e7 1601 default y if 32BIT
1da177e4
LT
1602
1603config BUILD_ELF64
1604 bool "Use 64-bit ELF format for building"
875d43e7 1605 depends on 64BIT
1da177e4
LT
1606 help
1607 A 64-bit kernel is usually built using the 64-bit ELF binary object
1608 format as it's one that allows arbitrary 64-bit constructs. For
1609 kernels that are loaded within the KSEG compatibility segments the
1610 32-bit ELF format can optionally be used resulting in a somewhat
1611 smaller binary, but this option is not explicitly supported by the
1612 toolchain and since binutils 2.14 it does not even work at all.
1613
1614 Say Y to use the 64-bit format or N to use the 32-bit one.
1615
1616 If unsure say Y.
1617
1618config BINFMT_IRIX
1619 bool "Include IRIX binary compatibility"
875d43e7 1620 depends on !CPU_LITTLE_ENDIAN && 32BIT && BROKEN
1da177e4
LT
1621
1622config MIPS32_COMPAT
1623 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
875d43e7 1624 depends on 64BIT
1da177e4
LT
1625 help
1626 Select this option if you want Linux/MIPS 32-bit binary
1627 compatibility. Since all software available for Linux/MIPS is
1628 currently 32-bit you should say Y here.
1629
1630config COMPAT
1631 bool
1632 depends on MIPS32_COMPAT
1633 default y
1634
1635config MIPS32_O32
1636 bool "Kernel support for o32 binaries"
1637 depends on MIPS32_COMPAT
1638 help
1639 Select this option if you want to run o32 binaries. These are pure
1640 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
1641 existing binaries are in this format.
1642
1643 If unsure, say Y.
1644
1645config MIPS32_N32
1646 bool "Kernel support for n32 binaries"
1647 depends on MIPS32_COMPAT
1648 help
1649 Select this option if you want to run n32 binaries. These are
1650 64-bit binaries using 32-bit quantities for addressing and certain
1651 data that would normally be 64-bit. They are used in special
1652 cases.
1653
1654 If unsure, say N.
1655
1656config BINFMT_ELF32
1657 bool
1658 default y if MIPS32_O32 || MIPS32_N32
1659
127c6f66
RB
1660config SECCOMP
1661 bool "Enable seccomp to safely compute untrusted bytecode"
1662 depends on PROC_FS && BROKEN
1663 default y
1664 help
1665 This kernel feature is useful for number crunching applications
1666 that may need to compute untrusted bytecode during their
1667 execution. By using pipes or other transports made available to
1668 the process as file descriptors supporting the read/write
1669 syscalls, it's possible to isolate those applications in
1670 their own address space using seccomp. Once seccomp is
1671 enabled via /proc/<pid>/seccomp, it cannot be disabled
1672 and the task is only allowed to execute a few safe syscalls
1673 defined by each seccomp mode.
1674
1675 If unsure, say Y. Only embedded should say N here.
1676
1da177e4
LT
1677config PM
1678 bool "Power Management support (EXPERIMENTAL)"
1679 depends on EXPERIMENTAL && MACH_AU1X00
1680
1681endmenu
1682
d5950b43
SR
1683source "net/Kconfig"
1684
1da177e4
LT
1685source "drivers/Kconfig"
1686
1687source "fs/Kconfig"
1688
1689source "arch/mips/Kconfig.debug"
1690
1691source "security/Kconfig"
1692
1693source "crypto/Kconfig"
1694
1695source "lib/Kconfig"
1696
1697#
1698# Use the generic interrupt handling code in kernel/irq/:
1699#
1700config GENERIC_HARDIRQS
1701 bool
1702 default y
1703
1704config GENERIC_IRQ_PROBE
1705 bool
1706 default y
5cae841b
AV
1707
1708config ISA_DMA_API
1709 bool
1710 default y