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