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