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