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