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