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