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