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