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