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