More AP / SP bits for the 34K, the Malta bits and things. Still wants
[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 DDB5074
493         bool "Support for NEC DDB Vrc-5074 (EXPERIMENTAL)"
494         depends on EXPERIMENTAL
495         select DMA_NONCOHERENT
496         select HAVE_STD_PC_SERIAL_PORT
497         select HW_HAS_PCI
498         select IRQ_CPU
499         select I8259
500         select ISA
501         select SYS_SUPPORTS_32BIT_KERNEL
502         select SYS_SUPPORTS_64BIT_KERNEL
503         help
504           This enables support for the VR5000-based NEC DDB Vrc-5074
505           evaluation board.
506
507 config DDB5476
508         bool "Support for NEC DDB Vrc-5476"
509         select DMA_NONCOHERENT
510         select HAVE_STD_PC_SERIAL_PORT
511         select HW_HAS_PCI
512         select IRQ_CPU
513         select I8259
514         select ISA
515         select SYS_SUPPORTS_32BIT_KERNEL
516         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
517         help
518           This enables support for the R5432-based NEC DDB Vrc-5476
519           evaluation board.
520
521           Features : kernel debugging, serial terminal, NFS root fs, on-board
522           ether port USB, AC97, PCI, PCI VGA card & framebuffer console,
523           IDE controller, PS2 keyboard, PS2 mouse, etc.
524
525 config DDB5477
526         bool "Support for NEC DDB Vrc-5477"
527         select DMA_NONCOHERENT
528         select HW_HAS_PCI
529         select I8259
530         select IRQ_CPU
531         select SYS_SUPPORTS_32BIT_KERNEL
532         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
533         help
534           This enables support for the R5432-based NEC DDB Vrc-5477,
535           or Rockhopper/SolutionGear boards with R5432/R5500 CPUs.
536
537           Features : kernel debugging, serial terminal, NFS root fs, on-board
538           ether port USB, AC97, PCI, etc.
539
540 config DDB5477_BUS_FREQUENCY
541         int "bus frequency (in kHZ, 0 for auto-detect)"
542         depends on DDB5477
543         default 0
544
545 config QEMU
546         bool "Support for Qemu"
547         select DMA_COHERENT
548         select GENERIC_ISA_DMA
549         select HAVE_STD_PC_SERIAL_PORT
550         select I8259
551         select ISA
552         select SWAP_IO_SPACE
553         select SYS_SUPPORTS_32BIT_KERNEL
554         select SYS_SUPPORTS_BIG_ENDIAN
555         help
556          Qemu is a software emulator which among other architectures also
557          can simulate a MIPS32 4Kc system.  This patch adds support for the
558          system architecture that currently is being simulated by Qemu.  It
559          will eventually be removed again when Qemu has the capability to
560          simulate actual MIPS hardware platforms.  More information on Qemu
561          can be found at http://www.linux-mips.org/wiki/Qemu.
562
563 config SGI_IP22
564         bool "Support for SGI IP22 (Indy/Indigo2)"
565         select ARC
566         select ARC32
567         select BOOT_ELF32
568         select DMA_NONCOHERENT
569         select IP22_CPU_SCACHE
570         select IRQ_CPU
571         select SWAP_IO_SPACE
572         select SYS_SUPPORTS_32BIT_KERNEL
573         select SYS_SUPPORTS_64BIT_KERNEL
574         help
575           This are the SGI Indy, Challenge S and Indigo2, as well as certain
576           OEM variants like the Tandem CMN B006S. To compile a Linux kernel
577           that runs on these, say Y here.
578
579 config SGI_IP27
580         bool "Support for SGI IP27 (Origin200/2000)"
581         select ARC
582         select ARC64
583         select DMA_IP27
584         select HW_HAS_PCI
585         select PCI_DOMAINS
586         select SYS_SUPPORTS_64BIT_KERNEL
587         help
588           This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
589           workstations.  To compile a Linux kernel that runs on these, say Y
590           here.
591
592 #config SGI_SN0_XXL
593 #       bool "IP27 XXL"
594 #       depends on SGI_IP27
595 #         This options adds support for userspace processes upto 16TB size.
596 #         Normally the limit is just .5TB.
597
598 config SGI_SN0_N_MODE
599         bool "IP27 N-Mode"
600         depends on SGI_IP27
601         help
602           The nodes of Origin 200, Origin 2000 and Onyx 2 systems can be
603           configured in either N-Modes which allows for more nodes or M-Mode
604           which allows for more memory.  Your system is most probably
605           running in M-Mode, so you should say N here.
606
607 config ARCH_DISCONTIGMEM_ENABLE
608         bool
609         default y if SGI_IP27
610         help
611           Say Y to upport efficient handling of discontiguous physical memory,
612           for architectures which are either NUMA (Non-Uniform Memory Access)
613           or have huge holes in the physical address space for other reasons.
614           See <file:Documentation/vm/numa> for more.
615
616 config NUMA
617         bool "NUMA Support"
618         depends on SGI_IP27
619         help
620           Say Y to compile the kernel to support NUMA (Non-Uniform Memory
621           Access).  This option is for configuring high-end multiprocessor
622           server machines.  If in doubt, say N.
623
624 config MAPPED_KERNEL
625         bool "Mapped kernel support"
626         depends on SGI_IP27
627         help
628           Change the way a Linux kernel is loaded into memory on a MIPS64
629           machine.  This is required in order to support text replication and
630           NUMA.  If you need to understand it, read the source code.
631
632 config REPLICATE_KTEXT
633         bool "Kernel text replication support"
634         depends on SGI_IP27
635         help
636           Say Y here to enable replicating the kernel text across multiple
637           nodes in a NUMA cluster.  This trades memory for speed.
638
639 config REPLICATE_EXHANDLERS
640         bool "Exception handler replication support"
641         depends on SGI_IP27
642         help
643           Say Y here to enable replicating the kernel exception handlers
644           across multiple nodes in a NUMA cluster. This trades memory for
645           speed.
646
647 config SGI_IP32
648         bool "Support for SGI IP32 (O2) (EXPERIMENTAL)"
649         depends on EXPERIMENTAL
650         select ARC
651         select ARC32
652         select BOOT_ELF32
653         select OWN_DMA
654         select DMA_IP32
655         select DMA_NONCOHERENT
656         select HAS_TXX9_SERIAL
657         select HW_HAS_PCI
658         select R5000_CPU_SCACHE
659         select RM7000_CPU_SCACHE
660         select SYS_SUPPORTS_64BIT_KERNEL
661         help
662           If you want this kernel to run on SGI O2 workstation, say Y here.
663
664 config SOC_AU1200
665         bool
666         select SOC_AU1X00
667
668 config SOC_AU1X00
669         bool "Support for AMD/Alchemy Au1X00 SOCs"
670         select SYS_SUPPORTS_32BIT_KERNEL
671
672 choice
673         prompt "Au1X00 SOC Type"
674         depends on SOC_AU1X00
675         help
676           Say Y here to enable support for one of three AMD/Alchemy
677           SOCs. For additional documentation see www.amd.com.
678
679 config SOC_AU1000
680         bool "SOC_AU1000"
681 config SOC_AU1100
682         bool "SOC_AU1100"
683 config SOC_AU1500
684         bool "SOC_AU1500"
685 config SOC_AU1550
686         bool "SOC_AU1550"
687
688 endchoice
689
690 choice
691         prompt "AMD/Alchemy Au1x00 board support"
692         depends on SOC_AU1X00
693         help
694           These are evaluation boards built by AMD/Alchemy to
695           showcase their Au1X00 Internet Edge Processors. The SOC design
696           is based on the MIPS32 architecture running at 266/400/500MHz
697           with many integrated peripherals. Further information can be
698           found at their website, <http://www.amd.com/>. Say Y here if you
699           wish to build a kernel for this platform.
700
701 config MIPS_PB1000
702         bool "PB1000 board"
703         depends on SOC_AU1000
704         select DMA_NONCOHERENT
705         select HW_HAS_PCI
706         select SWAP_IO_SPACE
707
708 config MIPS_PB1100
709         bool "PB1100 board"
710         depends on SOC_AU1100
711         select DMA_NONCOHERENT
712         select HW_HAS_PCI
713         select SWAP_IO_SPACE
714
715 config MIPS_PB1500
716         bool "PB1500 board"
717         depends on SOC_AU1500
718         select DMA_NONCOHERENT
719         select HW_HAS_PCI
720
721 config MIPS_PB1550
722         bool "PB1550 board"
723         depends on SOC_AU1550
724         select DMA_COHERENT
725         select HW_HAS_PCI
726         select MIPS_DISABLE_OBSOLETE_IDE
727
728 config MIPS_PB1200
729         bool "AMD Alchemy PB1200 board"
730         select SOC_AU1200
731         select DMA_NONCOHERENT
732         select MIPS_DISABLE_OBSOLETE_IDE
733         select SYS_SUPPORTS_BIG_ENDIAN
734         select SYS_SUPPORTS_LITTLE_ENDIAN
735
736 config MIPS_DB1000
737         bool "DB1000 board"
738         depends on SOC_AU1000
739         select DMA_NONCOHERENT
740         select HW_HAS_PCI
741
742 config MIPS_DB1100
743         bool "DB1100 board"
744         depends on SOC_AU1100
745         select DMA_NONCOHERENT
746
747 config MIPS_DB1500
748         bool "DB1500 board"
749         depends on SOC_AU1500
750         select DMA_NONCOHERENT
751         select HW_HAS_PCI
752         select MIPS_DISABLE_OBSOLETE_IDE
753
754 config MIPS_DB1550
755         bool "DB1550 board"
756         depends on SOC_AU1550
757         select HW_HAS_PCI
758         select DMA_NONCOHERENT
759         select MIPS_DISABLE_OBSOLETE_IDE
760
761 config MIPS_BOSPORUS
762         bool "Bosporus board"
763         depends on SOC_AU1500
764         select DMA_NONCOHERENT
765
766 config MIPS_DB1200
767         bool "AMD Alchemy DB1200 board"
768         select SOC_AU1200
769         select DMA_NONCOHERENT
770         select MIPS_DISABLE_OBSOLETE_IDE
771         select SYS_SUPPORTS_LITTLE_ENDIAN
772
773 config MIPS_MIRAGE
774         bool "Mirage board"
775         depends on SOC_AU1500
776         select DMA_NONCOHERENT
777
778 config MIPS_XXS1500
779         bool "MyCable XXS1500 board"
780         depends on SOC_AU1500
781         select DMA_NONCOHERENT
782
783 config MIPS_MTX1
784         bool "4G Systems MTX-1 board"
785         depends on SOC_AU1500
786         select HW_HAS_PCI
787         select DMA_NONCOHERENT
788
789 endchoice
790
791 config SNI_RM200_PCI
792         bool "Support for SNI RM200 PCI"
793         select ARC
794         select ARC32
795         select BOOT_ELF32
796         select DMA_NONCOHERENT
797         select GENERIC_ISA_DMA
798         select HAVE_STD_PC_SERIAL_PORT
799         select HW_HAS_PCI
800         select I8259
801         select ISA
802         select SYS_SUPPORTS_32BIT_KERNEL
803         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
804         help
805           The SNI RM200 PCI was a MIPS-based platform manufactured by Siemens
806           Nixdorf Informationssysteme (SNI), parent company of Pyramid
807           Technology and now in turn merged with Fujitsu.  Say Y here to
808           support this machine type.
809
810 config TOSHIBA_RBTX4927
811         bool "Support for Toshiba TBTX49[23]7 board"
812         select DMA_NONCOHERENT
813         select HAS_TXX9_SERIAL
814         select HW_HAS_PCI
815         select I8259
816         select ISA
817         select SWAP_IO_SPACE
818         select SYS_SUPPORTS_32BIT_KERNEL
819         select SYS_SUPPORTS_64BIT_KERNEL
820         help
821           This Toshiba board is based on the TX4927 processor. Say Y here to
822           support this machine type
823
824 config TOSHIBA_FPCIB0
825         bool "FPCIB0 Backplane Support"
826         depends on TOSHIBA_RBTX4927
827
828 source "arch/mips/sgi-ip27/Kconfig"
829 source "arch/mips/sibyte/Kconfig"
830
831 config RWSEM_GENERIC_SPINLOCK
832         bool
833         default y
834
835 config RWSEM_XCHGADD_ALGORITHM
836         bool
837         select HAS_TXX9_SERIAL
838
839 config GENERIC_CALIBRATE_DELAY
840         bool
841         default y
842
843 #
844 # Select some configuration options automatically based on user selections.
845 #
846 config ARC
847         bool
848         depends on SNI_RM200_PCI || SGI_IP32 || SGI_IP27 || SGI_IP22 || MIPS_MAGNUM_4000 || OLIVETTI_M700 || ACER_PICA_61
849         default y
850
851 config DMA_COHERENT
852         bool
853
854 config DMA_IP27
855         bool
856
857 config DMA_IP32
858         bool
859         select DMA_NEED_PCI_MAP_STATE
860
861 config DMA_NONCOHERENT
862         bool
863         select DMA_NEED_PCI_MAP_STATE
864
865 config DMA_NEED_PCI_MAP_STATE
866         bool
867
868 config EARLY_PRINTK
869         bool
870         depends on MACH_DECSTATION
871         default y
872
873 config GENERIC_ISA_DMA
874         bool
875         depends on SNI_RM200_PCI || MIPS_MAGNUM_4000 || OLIVETTI_M700 || ACER_PICA_61 || MIPS_MALTA
876         default y
877
878 config I8259
879         bool
880         depends on SNI_RM200_PCI || DDB5477 || DDB5476 || DDB5074 || MACH_JAZZ || MIPS_MALTA || MIPS_COBALT
881         default y
882
883 config LIMITED_DMA
884         bool
885         select HIGHMEM
886
887 config MIPS_BONITO64
888         bool
889         depends on MIPS_ATLAS || MIPS_MALTA
890         default y
891
892 config MIPS_MSC
893         bool
894         depends on MIPS_ATLAS || MIPS_MALTA
895         default y
896
897 config MIPS_NILE4
898         bool
899         depends on LASAT
900         default y
901
902 config MIPS_DISABLE_OBSOLETE_IDE
903         bool
904
905 config CPU_LITTLE_ENDIAN
906         bool "Generate little endian code"
907         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
908         default n if MIPS_EV64120 || MIPS_EV96100 || MOMENCO_OCELOT || MOMENCO_OCELOT_G || SGI_IP22 || SGI_IP27 || SGI_IP32 || TOSHIBA_JMR3927
909         help
910           Some MIPS machines can be configured for either little or big endian
911           byte order. These modes require different kernels. Say Y if your
912           machine is little endian, N if it's a big endian machine.
913
914 config IRQ_CPU
915         bool
916
917 config IRQ_CPU_RM7K
918         bool
919
920 config IRQ_MV64340
921         bool
922
923 config DDB5XXX_COMMON
924         bool
925         depends on DDB5074 || DDB5476 || DDB5477
926         default y
927
928 config MIPS_BOARDS_GEN
929         bool
930         depends on MIPS_ATLAS || MIPS_MALTA || MIPS_SEAD
931         default y
932
933 config MIPS_GT64111
934         bool
935         depends on MIPS_COBALT
936         default y
937
938 config MIPS_GT64120
939         bool
940         depends on MIPS_EV64120 || MIPS_EV96100 || LASAT || MIPS_ATLAS || MIPS_MALTA || MOMENCO_OCELOT
941         default y
942
943 config MIPS_TX3927
944         bool
945         depends on TOSHIBA_JMR3927
946         select HAS_TXX9_SERIAL
947         default y
948
949 config PCI_MARVELL
950         bool
951
952 config ITE_BOARD_GEN
953         bool
954         depends on MIPS_IVR || MIPS_ITE8172
955         default y
956
957 config SWAP_IO_SPACE
958         bool
959
960 #
961 # Unfortunately not all GT64120 systems run the chip at the same clock.
962 # As the user for the clock rate and try to minimize the available options.
963 #
964 choice
965         prompt "Galileo Chip Clock"
966         #default SYSCLK_83 if MIPS_EV64120
967         depends on MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
968         default SYSCLK_83 if MIPS_EV64120
969         default SYSCLK_100 if MOMENCO_OCELOT || MOMENCO_OCELOT_G
970
971 config SYSCLK_75
972         bool "75" if MIPS_EV64120
973
974 config SYSCLK_83
975         bool "83.3" if MIPS_EV64120
976
977 config SYSCLK_100
978         bool "100" if MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
979
980 endchoice
981
982 config AU1X00_USB_DEVICE
983         bool
984         depends on MIPS_PB1500 || MIPS_PB1100 || MIPS_PB1000
985         default n
986
987 config MIPS_GT96100
988         bool
989         depends on MIPS_EV96100
990         default y
991         help
992           Say Y here to support the Galileo Technology GT96100 communications
993           controller card.  There is a web page at <http://www.galileot.com/>.
994
995 config IT8172_CIR
996         bool
997         depends on MIPS_ITE8172 || MIPS_IVR
998         default y
999
1000 config IT8712
1001         bool
1002         depends on MIPS_ITE8172
1003         default y
1004
1005 config BOOT_ELF32
1006         bool
1007         depends on MACH_DECSTATION || MIPS_ATLAS || MIPS_MALTA || MOMENCO_JAGUAR_ATX || MOMENCO_OCELOT_3 || SIBYTE_SB1xxx_SOC || SGI_IP32 || SGI_IP22 || SNI_RM200_PCI
1008         default y
1009
1010 config MIPS_L1_CACHE_SHIFT
1011         int
1012         default "4" if MACH_DECSTATION
1013         default "7" if SGI_IP27
1014         default "5"
1015
1016 config ARC32
1017         bool
1018         depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP22 || SGI_IP32
1019         default y
1020
1021 config HAVE_STD_PC_SERIAL_PORT
1022         bool
1023
1024 config ARC_CONSOLE
1025         bool "ARC console support"
1026         depends on SGI_IP22 || SNI_RM200_PCI
1027
1028 config ARC_MEMORY
1029         bool
1030         depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP32
1031         default y
1032
1033 config ARC_PROMLIB
1034         bool
1035         depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP22 || SGI_IP32
1036         default y
1037
1038 config ARC64
1039         bool
1040         depends on SGI_IP27
1041         default y
1042
1043 config BOOT_ELF64
1044         bool
1045         depends on SGI_IP27
1046         default y
1047
1048 #config MAPPED_PCI_IO y
1049 #       bool
1050 #       depends on SGI_IP27
1051 #       default y
1052
1053 config QL_ISP_A64
1054         bool
1055         depends on SGI_IP27
1056         default y
1057
1058 config TOSHIBA_BOARDS
1059         bool
1060         depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927
1061         default y
1062
1063 endmenu
1064
1065 menu "CPU selection"
1066
1067 choice
1068         prompt "CPU type"
1069         default CPU_R4X00
1070
1071 config CPU_MIPS32_R1
1072         bool "MIPS32 Release 1"
1073         select CPU_SUPPORTS_32BIT_KERNEL
1074         select CPU_HAS_PREFETCH
1075         help
1076           Choose this option to build a kernel for release 2 or later of the
1077           MIPS32 architecture.  Most modern embedded systems with a 32-bit
1078           MIPS processor are based on a MIPS32 processor.  If you know the
1079           specific type of processor in your system, choose those that one
1080           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1081           Release 2 of the MIPS32 architecture is available since several
1082           years so chances are you even have a MIPS32 Release 2 processor
1083           in which case you should choose CPU_MIPS32_R2 instead for better
1084           performance.
1085
1086 config CPU_MIPS32_R2
1087         bool "MIPS32 Release 2"
1088         select CPU_SUPPORTS_32BIT_KERNEL
1089         select CPU_HAS_PREFETCH
1090         help
1091           Choose this option to build a kernel for release 1 or later of the
1092           MIPS32 architecture.  Most modern embedded systems with a 32-bit
1093           MIPS processor are based on a MIPS32 processor.  If you know the
1094           specific type of processor in your system, choose those that one
1095           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1096
1097 config CPU_MIPS64_R1
1098         bool "MIPS64 Release 1"
1099         select CPU_SUPPORTS_32BIT_KERNEL
1100         select CPU_SUPPORTS_64BIT_KERNEL
1101         select CPU_HAS_PREFETCH
1102         help
1103           Choose this option to build a kernel for release 1 or later of the
1104           MIPS64 architecture.  Many modern embedded systems with a 64-bit
1105           MIPS processor are based on a MIPS64 processor.  If you know the
1106           specific type of processor in your system, choose those that one
1107           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1108           Release 2 of the MIPS64 architecture is available since several
1109           years so chances are you even have a MIPS64 Release 2 processor
1110           in which case you should choose CPU_MIPS64_R2 instead for better
1111           performance.
1112
1113 config CPU_MIPS64_R2
1114         bool "MIPS64 Release 2"
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 2 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
1125 config CPU_R3000
1126         bool "R3000"
1127         select CPU_SUPPORTS_32BIT_KERNEL
1128         help
1129           Please make sure to pick the right CPU type. Linux/MIPS is not
1130           designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1131           *not* work on R4000 machines and vice versa.  However, since most
1132           of the supported machines have an R4000 (or similar) CPU, R4x00
1133           might be a safe bet.  If the resulting kernel does not work,
1134           try to recompile with R3000.
1135
1136 config CPU_TX39XX
1137         bool "R39XX"
1138         select CPU_SUPPORTS_32BIT_KERNEL
1139
1140 config CPU_VR41XX
1141         bool "R41xx"
1142         select CPU_SUPPORTS_32BIT_KERNEL
1143         select CPU_SUPPORTS_64BIT_KERNEL
1144         help
1145           The options selects support for the NEC VR41xx series of processors.
1146           Only choose this option if you have one of these processors as a
1147           kernel built with this option will not run on any other type of
1148           processor or vice versa.
1149
1150 config CPU_R4300
1151         bool "R4300"
1152         select CPU_SUPPORTS_32BIT_KERNEL
1153         select CPU_SUPPORTS_64BIT_KERNEL
1154         help
1155           MIPS Technologies R4300-series processors.
1156
1157 config CPU_R4X00
1158         bool "R4x00"
1159         select CPU_SUPPORTS_32BIT_KERNEL
1160         select CPU_SUPPORTS_64BIT_KERNEL
1161         help
1162           MIPS Technologies R4000-series processors other than 4300, including
1163           the R4000, R4400, R4600, and 4700.
1164
1165 config CPU_TX49XX
1166         bool "R49XX"
1167         select CPU_SUPPORTS_32BIT_KERNEL
1168         select CPU_SUPPORTS_64BIT_KERNEL
1169
1170 config CPU_R5000
1171         bool "R5000"
1172         select CPU_SUPPORTS_32BIT_KERNEL
1173         select CPU_SUPPORTS_64BIT_KERNEL
1174         help
1175           MIPS Technologies R5000-series processors other than the Nevada.
1176
1177 config CPU_R5432
1178         bool "R5432"
1179
1180 config CPU_R6000
1181         bool "R6000"
1182         depends on EXPERIMENTAL
1183         select CPU_SUPPORTS_32BIT_KERNEL
1184         help
1185           MIPS Technologies R6000 and R6000A series processors.  Note these
1186           processors are extremly rare and the support for them is incomplete.
1187
1188 config CPU_NEVADA
1189         bool "RM52xx"
1190         select CPU_SUPPORTS_32BIT_KERNEL
1191         select CPU_SUPPORTS_64BIT_KERNEL
1192         help
1193           QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1194
1195 config CPU_R8000
1196         bool "R8000"
1197         depends on EXPERIMENTAL
1198         select CPU_SUPPORTS_64BIT_KERNEL
1199         help
1200           MIPS Technologies R8000 processors.  Note these processors are
1201           uncommon and the support for them is incomplete.
1202
1203 config CPU_R10000
1204         bool "R10000"
1205         select CPU_SUPPORTS_32BIT_KERNEL
1206         select CPU_SUPPORTS_64BIT_KERNEL
1207         help
1208           MIPS Technologies R10000-series processors.
1209
1210 config CPU_RM7000
1211         bool "RM7000"
1212         select CPU_SUPPORTS_32BIT_KERNEL
1213         select CPU_SUPPORTS_64BIT_KERNEL
1214
1215 config CPU_RM9000
1216         bool "RM9000"
1217         select CPU_SUPPORTS_32BIT_KERNEL
1218         select CPU_SUPPORTS_64BIT_KERNEL
1219
1220 config CPU_SB1
1221         bool "SB1"
1222         select CPU_SUPPORTS_32BIT_KERNEL
1223         select CPU_SUPPORTS_64BIT_KERNEL
1224
1225 endchoice
1226
1227 choice
1228         prompt "Kernel page size"
1229         default PAGE_SIZE_4KB
1230
1231 config PAGE_SIZE_4KB
1232         bool "4kB"
1233         help
1234          This option select the standard 4kB Linux page size.  On some
1235          R3000-family processors this is the only available page size.  Using
1236          4kB page size will minimize memory consumption and is therefore
1237          recommended for low memory systems.
1238
1239 config PAGE_SIZE_8KB
1240         bool "8kB"
1241         depends on EXPERIMENTAL && CPU_R8000
1242         help
1243           Using 8kB page size will result in higher performance kernel at
1244           the price of higher memory consumption.  This option is available
1245           only on the R8000 processor.  Not that at the time of this writing
1246           this option is still high experimental; there are also issues with
1247           compatibility of user applications.
1248
1249 config PAGE_SIZE_16KB
1250         bool "16kB"
1251         depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1252         help
1253           Using 16kB page size will result in higher performance kernel at
1254           the price of higher memory consumption.  This option is available on
1255           all non-R3000 family processor.  Not that at the time of this
1256           writing this option is still high experimental; there are also
1257           issues with compatibility of user applications.
1258
1259 config PAGE_SIZE_64KB
1260         bool "64kB"
1261         depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1262         help
1263           Using 64kB page size will result in higher performance kernel at
1264           the price of higher memory consumption.  This option is available on
1265           all non-R3000 family processor.  Not that at the time of this
1266           writing this option is still high experimental; there are also
1267           issues with compatibility of user applications.
1268
1269 endchoice
1270
1271 config BOARD_SCACHE
1272         bool
1273
1274 config IP22_CPU_SCACHE
1275         bool
1276         select BOARD_SCACHE
1277
1278 config R5000_CPU_SCACHE
1279         bool
1280         select BOARD_SCACHE
1281
1282 config RM7000_CPU_SCACHE
1283         bool
1284         select BOARD_SCACHE
1285
1286 config SIBYTE_DMA_PAGEOPS
1287         bool "Use DMA to clear/copy pages"
1288         depends on CPU_SB1
1289         help
1290           Instead of using the CPU to zero and copy pages, use a Data Mover
1291           channel.  These DMA channels are otherwise unused by the standard
1292           SiByte Linux port.  Seems to give a small performance benefit.
1293
1294 config CPU_HAS_PREFETCH
1295         bool "Enable prefetches" if CPU_SB1 && !CPU_SB1_PASS_2
1296         default y if CPU_MIPS32 || CPU_MIPS64 || CPU_RM7000 || CPU_RM9000 || CPU_R10000
1297
1298 config MIPS_MT
1299         bool "Enable MIPS MT"
1300
1301 config MIPS_VPE_LOADER
1302         bool "VPE loader support."
1303         depends on MIPS_MT
1304         help
1305           Includes a loader for loading an elf relocatable object
1306           onto another VPE and running it.
1307
1308 config MIPS_VPE_LOADER_TOM
1309         bool "Load VPE program into memory hidden from linux"
1310         depends on MIPS_VPE_LOADER
1311         default y
1312         help
1313           The loader can use memory that is present but has been hidden from
1314           Linux using the kernel command line option "mem=xxMB". It's up to
1315           you to ensure the amount you put in the option and the space your
1316           program requires is less or equal to the amount physically present.
1317
1318 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1319 config MIPS_VPE_APSP_API
1320       bool "Enable support for AP/SP API (RTLX)"
1321       depends on MIPS_VPE_LOADER
1322
1323 config VTAG_ICACHE
1324         bool "Support for Virtual Tagged I-cache" if CPU_MIPS64 || CPU_MIPS32
1325         default y if CPU_SB1
1326
1327 config SB1_PASS_1_WORKAROUNDS
1328         bool
1329         depends on CPU_SB1_PASS_1
1330         default y
1331
1332 config SB1_PASS_2_WORKAROUNDS
1333         bool
1334         depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1335         default y
1336
1337 config SB1_PASS_2_1_WORKAROUNDS
1338         bool
1339         depends on CPU_SB1 && CPU_SB1_PASS_2
1340         default y
1341
1342 config 64BIT_PHYS_ADDR
1343         bool "Support for 64-bit physical address space"
1344         depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32_R1 || CPU_MIPS64_R1) && 32BIT
1345
1346 config CPU_ADVANCED
1347         bool "Override CPU Options"
1348         depends on 32BIT
1349         help
1350           Saying yes here allows you to select support for various features
1351           your CPU may or may not have.  Most people should say N here.
1352
1353 config CPU_HAS_LLSC
1354         bool "ll/sc Instructions available" if CPU_ADVANCED
1355         default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX
1356         help
1357           MIPS R4000 series and later provide the Load Linked (ll)
1358           and Store Conditional (sc) instructions. More information is
1359           available at <http://www.go-ecs.com/mips/miptek1.htm>.
1360
1361           Say Y here if your CPU has the ll and sc instructions.  Say Y here
1362           for better performance, N if you don't know.  You must say Y here
1363           for multiprocessor machines.
1364
1365 config CPU_HAS_LLDSCD
1366         bool "lld/scd Instructions available" if CPU_ADVANCED
1367         default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX && !CPU_MIPS32_R1
1368         help
1369           Say Y here if your CPU has the lld and scd instructions, the 64-bit
1370           equivalents of ll and sc.  Say Y here for better performance, N if
1371           you don't know.  You must say Y here for multiprocessor machines.
1372
1373 config CPU_HAS_WB
1374         bool "Writeback Buffer available" if CPU_ADVANCED
1375         default y if !CPU_ADVANCED && CPU_R3000 && MACH_DECSTATION
1376         help
1377           Say N here for slightly better performance.  You must say Y here for
1378           machines which require flushing of write buffers in software.  Saying
1379           Y is the safe option; N may result in kernel malfunction and crashes.
1380
1381 menu "MIPSR2 Interrupt handling"
1382         depends on CPU_MIPSR2 && CPU_ADVANCED
1383
1384 config CPU_MIPSR2_IRQ_VI
1385         bool "Vectored interrupt mode"
1386         help
1387            Vectored interrupt mode allowing faster dispatching of interrupts.
1388            The board support code needs to be written to take advantage of this
1389            mode.  Compatibility code is included to allow the kernel to run on
1390            a CPU that does not support vectored interrupts.  It's safe to
1391            say Y here.
1392
1393 config CPU_MIPSR2_IRQ_EI
1394         bool "External interrupt controller mode"
1395         help
1396            Extended interrupt mode takes advantage of an external interrupt
1397            controller to allow fast dispatching from many possible interrupt
1398            sources. Say N unless you know that external interrupt support is
1399            required.
1400
1401 config CPU_MIPSR2_SRS
1402         bool "Make shadow set registers available for interrupt handlers"
1403         depends on CPU_MIPSR2_IRQ_VI || CPU_MIPSR2_IRQ_EI
1404         help
1405            Allow the kernel to use shadow register sets for fast interrupts.
1406            Interrupt handlers must be specially written to use shadow sets.
1407            Say N unless you know that shadow register set upport is needed.
1408 endmenu
1409
1410 config CPU_HAS_SYNC
1411         bool
1412         depends on !CPU_R3000
1413         default y
1414
1415 #
1416 # - Highmem only makes sense for the 32-bit kernel.
1417 # - The current highmem code will only work properly on physically indexed
1418 #   caches such as R3000, SB1, R7000 or those that look like they're virtually
1419 #   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
1420 #   moment we protect the user and offer the highmem option only on machines
1421 #   where it's known to be safe.  This will not offer highmem on a few systems
1422 #   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1423 #   indexed CPUs but we're playing safe.
1424 # - We should not offer highmem for system of which we already know that they
1425 #   don't have memory configurations that could gain from highmem support in
1426 #   the kernel because they don't support configurations with RAM at physical
1427 #   addresses > 0x20000000.
1428 #
1429 config HIGHMEM
1430         bool "High Memory Support"
1431         depends on 32BIT && (CPU_R3000 || CPU_SB1 || CPU_R7000 || CPU_RM9000 || CPU_R10000) && !(MACH_DECSTATION || MOMENCO_JAGUAR_ATX)
1432
1433 config ARCH_FLATMEM_ENABLE
1434         def_bool y
1435         depends on !NUMA
1436
1437 source "mm/Kconfig"
1438
1439 config SMP
1440         bool "Multi-Processing support"
1441         depends on CPU_RM9000 || (SIBYTE_SB1250 && !SIBYTE_STANDALONE) || SGI_IP27
1442         ---help---
1443           This enables support for systems with more than one CPU. If you have
1444           a system with only one CPU, like most personal computers, say N. If
1445           you have a system with more than one CPU, say Y.
1446
1447           If you say N here, the kernel will run on single and multiprocessor
1448           machines, but will use only one CPU of a multiprocessor machine. If
1449           you say Y here, the kernel will run on many, but not all,
1450           singleprocessor machines. On a singleprocessor machine, the kernel
1451           will run faster if you say N here.
1452
1453           People using multiprocessor machines who say Y here should also say
1454           Y to "Enhanced Real Time Clock Support", below.
1455
1456           See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1457           available at <http://www.tldp.org/docs.html#howto>.
1458
1459           If you don't know what to do here, say N.
1460
1461 config NR_CPUS
1462         int "Maximum number of CPUs (2-64)"
1463         range 2 64
1464         depends on SMP
1465         default "64" if SGI_IP27
1466         default "2"
1467         help
1468           This allows you to specify the maximum number of CPUs which this
1469           kernel will support.  The maximum supported value is 32 for 32-bit
1470           kernel and 64 for 64-bit kernels; the minimum value which makes
1471           sense is 2.
1472
1473           This is purely to save memory - each supported CPU adds
1474           approximately eight kilobytes to the kernel image.
1475
1476 source "kernel/Kconfig.preempt"
1477
1478 config RTC_DS1742
1479         bool "DS1742 BRAM/RTC support"
1480         depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927
1481
1482 config MIPS_INSANE_LARGE
1483         bool "Support for large 64-bit configurations"
1484         depends on CPU_R10000 && 64BIT
1485         help
1486           MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1487           previous 64-bit processors which only supported 40 bit / 1TB. If you
1488           need processes of more than 1TB virtual address space, say Y here.
1489           This will result in additional memory usage, so it is not
1490           recommended for normal users.
1491
1492 config RWSEM_GENERIC_SPINLOCK
1493         bool
1494         default y
1495
1496 endmenu
1497
1498 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1499
1500 config HW_HAS_PCI
1501         bool
1502
1503 config PCI
1504         bool "Support for PCI controller"
1505         depends on HW_HAS_PCI
1506         help
1507           Find out whether you have a PCI motherboard. PCI is the name of a
1508           bus system, i.e. the way the CPU talks to the other stuff inside
1509           your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1510           say Y, otherwise N.
1511
1512           The PCI-HOWTO, available from
1513           <http://www.tldp.org/docs.html#howto>, contains valuable
1514           information about which PCI hardware does work under Linux and which
1515           doesn't.
1516
1517 config PCI_DOMAINS
1518         bool
1519         depends on PCI
1520
1521 source "drivers/pci/Kconfig"
1522
1523 #
1524 # ISA support is now enabled via select.  Too many systems still have the one
1525 # or other ISA chip on the board that users don't know about so don't expect
1526 # users to choose the right thing ...
1527 #
1528 config ISA
1529         bool
1530
1531 config EISA
1532         bool "EISA support"
1533         depends on SGI_IP22 || SNI_RM200_PCI
1534         select ISA
1535         ---help---
1536           The Extended Industry Standard Architecture (EISA) bus was
1537           developed as an open alternative to the IBM MicroChannel bus.
1538
1539           The EISA bus provided some of the features of the IBM MicroChannel
1540           bus while maintaining backward compatibility with cards made for
1541           the older ISA bus.  The EISA bus saw limited use between 1988 and
1542           1995 when it was made obsolete by the PCI bus.
1543
1544           Say Y here if you are building a kernel for an EISA-based machine.
1545
1546           Otherwise, say N.
1547
1548 source "drivers/eisa/Kconfig"
1549
1550 config TC
1551         bool "TURBOchannel support"
1552         depends on MACH_DECSTATION
1553         help
1554           TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1555           processors.  Documentation on writing device drivers for TurboChannel
1556           is available at:
1557           <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1558
1559 #config ACCESSBUS
1560 #       bool "Access.Bus support"
1561 #       depends on TC
1562
1563 config MMU
1564         bool
1565         default y
1566
1567 config MCA
1568         bool
1569
1570 config SBUS
1571         bool
1572
1573 source "drivers/pcmcia/Kconfig"
1574
1575 source "drivers/pci/hotplug/Kconfig"
1576
1577 endmenu
1578
1579 menu "Executable file formats"
1580
1581 source "fs/Kconfig.binfmt"
1582
1583 config TRAD_SIGNALS
1584         bool
1585         default y if 32BIT
1586
1587 config BUILD_ELF64
1588         bool "Use 64-bit ELF format for building"
1589         depends on 64BIT
1590         help
1591           A 64-bit kernel is usually built using the 64-bit ELF binary object
1592           format as it's one that allows arbitrary 64-bit constructs.  For
1593           kernels that are loaded within the KSEG compatibility segments the
1594           32-bit ELF format can optionally be used resulting in a somewhat
1595           smaller binary, but this option is not explicitly supported by the
1596           toolchain and since binutils 2.14 it does not even work at all.
1597
1598           Say Y to use the 64-bit format or N to use the 32-bit one.
1599
1600           If unsure say Y.
1601
1602 config BINFMT_IRIX
1603         bool "Include IRIX binary compatibility"
1604         depends on !CPU_LITTLE_ENDIAN && 32BIT && BROKEN
1605
1606 config MIPS32_COMPAT
1607         bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
1608         depends on 64BIT
1609         help
1610           Select this option if you want Linux/MIPS 32-bit binary
1611           compatibility. Since all software available for Linux/MIPS is
1612           currently 32-bit you should say Y here.
1613
1614 config COMPAT
1615         bool
1616         depends on MIPS32_COMPAT
1617         default y
1618
1619 config MIPS32_O32
1620         bool "Kernel support for o32 binaries"
1621         depends on MIPS32_COMPAT
1622         help
1623           Select this option if you want to run o32 binaries.  These are pure
1624           32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
1625           existing binaries are in this format.
1626
1627           If unsure, say Y.
1628
1629 config MIPS32_N32
1630         bool "Kernel support for n32 binaries"
1631         depends on MIPS32_COMPAT
1632         help
1633           Select this option if you want to run n32 binaries.  These are
1634           64-bit binaries using 32-bit quantities for addressing and certain
1635           data that would normally be 64-bit.  They are used in special
1636           cases.
1637
1638           If unsure, say N.
1639
1640 config BINFMT_ELF32
1641         bool
1642         default y if MIPS32_O32 || MIPS32_N32
1643
1644 config SECCOMP
1645         bool "Enable seccomp to safely compute untrusted bytecode"
1646         depends on PROC_FS && BROKEN
1647         default y
1648         help
1649           This kernel feature is useful for number crunching applications
1650           that may need to compute untrusted bytecode during their
1651           execution. By using pipes or other transports made available to
1652           the process as file descriptors supporting the read/write
1653           syscalls, it's possible to isolate those applications in
1654           their own address space using seccomp. Once seccomp is
1655           enabled via /proc/<pid>/seccomp, it cannot be disabled
1656           and the task is only allowed to execute a few safe syscalls
1657           defined by each seccomp mode.
1658
1659           If unsure, say Y. Only embedded should say N here.
1660
1661 config PM
1662         bool "Power Management support (EXPERIMENTAL)"
1663         depends on EXPERIMENTAL && MACH_AU1X00
1664
1665 endmenu
1666
1667 source "net/Kconfig"
1668
1669 source "drivers/Kconfig"
1670
1671 source "fs/Kconfig"
1672
1673 source "arch/mips/Kconfig.debug"
1674
1675 source "security/Kconfig"
1676
1677 source "crypto/Kconfig"
1678
1679 source "lib/Kconfig"
1680
1681 #
1682 # Use the generic interrupt handling code in kernel/irq/:
1683 #
1684 config GENERIC_HARDIRQS
1685         bool
1686         default y
1687
1688 config GENERIC_IRQ_PROBE
1689         bool
1690         default y
1691
1692 config ISA_DMA_API
1693         bool
1694         default y