5af30d385aca7a3f64a48e2698188dc140b0b21c
[pandora-kernel.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         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 config MIPS_VPE_LOADER
1348         bool "VPE loader support."
1349         depends on MIPS_MT
1350         help
1351           Includes a loader for loading an elf relocatable object
1352           onto another VPE and running it.
1353
1354 config MIPS_VPE_LOADER_TOM
1355         bool "Load VPE program into memory hidden from linux"
1356         depends on MIPS_VPE_LOADER
1357         default y
1358         help
1359           The loader can use memory that is present but has been hidden from
1360           Linux using the kernel command line option "mem=xxMB". It's up to
1361           you to ensure the amount you put in the option and the space your
1362           program requires is less or equal to the amount physically present.
1363
1364 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1365 config MIPS_VPE_APSP_API
1366       bool "Enable support for AP/SP API (RTLX)"
1367       depends on MIPS_VPE_LOADER
1368
1369 config SB1_PASS_1_WORKAROUNDS
1370         bool
1371         depends on CPU_SB1_PASS_1
1372         default y
1373
1374 config SB1_PASS_2_WORKAROUNDS
1375         bool
1376         depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1377         default y
1378
1379 config SB1_PASS_2_1_WORKAROUNDS
1380         bool
1381         depends on CPU_SB1 && CPU_SB1_PASS_2
1382         default y
1383
1384 config 64BIT_PHYS_ADDR
1385         bool "Support for 64-bit physical address space"
1386         depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32_R1 || CPU_MIPS64_R1) && 32BIT
1387
1388 config CPU_ADVANCED
1389         bool "Override CPU Options"
1390         depends on 32BIT
1391         help
1392           Saying yes here allows you to select support for various features
1393           your CPU may or may not have.  Most people should say N here.
1394
1395 config CPU_HAS_LLSC
1396         bool "ll/sc Instructions available" if CPU_ADVANCED
1397         default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX
1398         help
1399           MIPS R4000 series and later provide the Load Linked (ll)
1400           and Store Conditional (sc) instructions. More information is
1401           available at <http://www.go-ecs.com/mips/miptek1.htm>.
1402
1403           Say Y here if your CPU has the ll and sc instructions.  Say Y here
1404           for better performance, N if you don't know.  You must say Y here
1405           for multiprocessor machines.
1406
1407 config CPU_HAS_LLDSCD
1408         bool "lld/scd Instructions available" if CPU_ADVANCED
1409         default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX && !CPU_MIPS32_R1
1410         help
1411           Say Y here if your CPU has the lld and scd instructions, the 64-bit
1412           equivalents of ll and sc.  Say Y here for better performance, N if
1413           you don't know.  You must say Y here for multiprocessor machines.
1414
1415 config CPU_HAS_WB
1416         bool "Writeback Buffer available" if CPU_ADVANCED
1417         default y if !CPU_ADVANCED && CPU_R3000 && MACH_DECSTATION
1418         help
1419           Say N here for slightly better performance.  You must say Y here for
1420           machines which require flushing of write buffers in software.  Saying
1421           Y is the safe option; N may result in kernel malfunction and crashes.
1422
1423 menu "MIPSR2 Interrupt handling"
1424         depends on CPU_MIPSR2 && CPU_ADVANCED
1425
1426 config CPU_MIPSR2_IRQ_VI
1427         bool "Vectored interrupt mode"
1428         help
1429            Vectored interrupt mode allowing faster dispatching of interrupts.
1430            The board support code needs to be written to take advantage of this
1431            mode.  Compatibility code is included to allow the kernel to run on
1432            a CPU that does not support vectored interrupts.  It's safe to
1433            say Y here.
1434
1435 config CPU_MIPSR2_IRQ_EI
1436         bool "External interrupt controller mode"
1437         help
1438            Extended interrupt mode takes advantage of an external interrupt
1439            controller to allow fast dispatching from many possible interrupt
1440            sources. Say N unless you know that external interrupt support is
1441            required.
1442
1443 config CPU_MIPSR2_SRS
1444         bool "Make shadow set registers available for interrupt handlers"
1445         depends on CPU_MIPSR2_IRQ_VI || CPU_MIPSR2_IRQ_EI
1446         help
1447            Allow the kernel to use shadow register sets for fast interrupts.
1448            Interrupt handlers must be specially written to use shadow sets.
1449            Say N unless you know that shadow register set upport is needed.
1450 endmenu
1451
1452 config CPU_HAS_SYNC
1453         bool
1454         depends on !CPU_R3000
1455         default y
1456
1457 #
1458 # Use the generic interrupt handling code in kernel/irq/:
1459 #
1460 config GENERIC_HARDIRQS
1461         bool
1462         default y
1463
1464 config GENERIC_IRQ_PROBE
1465         bool
1466         default y
1467
1468 #
1469 # - Highmem only makes sense for the 32-bit kernel.
1470 # - The current highmem code will only work properly on physically indexed
1471 #   caches such as R3000, SB1, R7000 or those that look like they're virtually
1472 #   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
1473 #   moment we protect the user and offer the highmem option only on machines
1474 #   where it's known to be safe.  This will not offer highmem on a few systems
1475 #   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1476 #   indexed CPUs but we're playing safe.
1477 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1478 #   know they might have memory configurations that could make use of highmem
1479 #   support.
1480 #
1481 config HIGHMEM
1482         bool "High Memory Support"
1483         depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1484
1485 config CPU_SUPPORTS_HIGHMEM
1486         bool
1487
1488 config SYS_SUPPORTS_HIGHMEM
1489         bool
1490
1491 config ARCH_FLATMEM_ENABLE
1492         def_bool y
1493         depends on !NUMA
1494
1495 source "mm/Kconfig"
1496
1497 config SMP
1498         bool "Multi-Processing support"
1499         depends on CPU_RM9000 || (SIBYTE_SB1250 && !SIBYTE_STANDALONE) || SGI_IP27
1500         ---help---
1501           This enables support for systems with more than one CPU. If you have
1502           a system with only one CPU, like most personal computers, say N. If
1503           you have a system with more than one CPU, say Y.
1504
1505           If you say N here, the kernel will run on single and multiprocessor
1506           machines, but will use only one CPU of a multiprocessor machine. If
1507           you say Y here, the kernel will run on many, but not all,
1508           singleprocessor machines. On a singleprocessor machine, the kernel
1509           will run faster if you say N here.
1510
1511           People using multiprocessor machines who say Y here should also say
1512           Y to "Enhanced Real Time Clock Support", below.
1513
1514           See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1515           available at <http://www.tldp.org/docs.html#howto>.
1516
1517           If you don't know what to do here, say N.
1518
1519 config NR_CPUS
1520         int "Maximum number of CPUs (2-64)"
1521         range 2 64
1522         depends on SMP
1523         default "64" if SGI_IP27
1524         default "2"
1525         help
1526           This allows you to specify the maximum number of CPUs which this
1527           kernel will support.  The maximum supported value is 32 for 32-bit
1528           kernel and 64 for 64-bit kernels; the minimum value which makes
1529           sense is 2.
1530
1531           This is purely to save memory - each supported CPU adds
1532           approximately eight kilobytes to the kernel image.
1533
1534 source "kernel/Kconfig.preempt"
1535
1536 config RTC_DS1742
1537         bool "DS1742 BRAM/RTC support"
1538         depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927
1539
1540 config MIPS_INSANE_LARGE
1541         bool "Support for large 64-bit configurations"
1542         depends on CPU_R10000 && 64BIT
1543         help
1544           MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1545           previous 64-bit processors which only supported 40 bit / 1TB. If you
1546           need processes of more than 1TB virtual address space, say Y here.
1547           This will result in additional memory usage, so it is not
1548           recommended for normal users.
1549
1550 config RWSEM_GENERIC_SPINLOCK
1551         bool
1552         default y
1553
1554 endmenu
1555
1556 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1557
1558 config HW_HAS_PCI
1559         bool
1560
1561 config PCI
1562         bool "Support for PCI controller"
1563         depends on HW_HAS_PCI
1564         help
1565           Find out whether you have a PCI motherboard. PCI is the name of a
1566           bus system, i.e. the way the CPU talks to the other stuff inside
1567           your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1568           say Y, otherwise N.
1569
1570           The PCI-HOWTO, available from
1571           <http://www.tldp.org/docs.html#howto>, contains valuable
1572           information about which PCI hardware does work under Linux and which
1573           doesn't.
1574
1575 config PCI_DOMAINS
1576         bool
1577         depends on PCI
1578
1579 source "drivers/pci/Kconfig"
1580
1581 #
1582 # ISA support is now enabled via select.  Too many systems still have the one
1583 # or other ISA chip on the board that users don't know about so don't expect
1584 # users to choose the right thing ...
1585 #
1586 config ISA
1587         bool
1588
1589 config EISA
1590         bool "EISA support"
1591         depends on SGI_IP22 || SNI_RM200_PCI
1592         select ISA
1593         ---help---
1594           The Extended Industry Standard Architecture (EISA) bus was
1595           developed as an open alternative to the IBM MicroChannel bus.
1596
1597           The EISA bus provided some of the features of the IBM MicroChannel
1598           bus while maintaining backward compatibility with cards made for
1599           the older ISA bus.  The EISA bus saw limited use between 1988 and
1600           1995 when it was made obsolete by the PCI bus.
1601
1602           Say Y here if you are building a kernel for an EISA-based machine.
1603
1604           Otherwise, say N.
1605
1606 source "drivers/eisa/Kconfig"
1607
1608 config TC
1609         bool "TURBOchannel support"
1610         depends on MACH_DECSTATION
1611         help
1612           TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1613           processors.  Documentation on writing device drivers for TurboChannel
1614           is available at:
1615           <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1616
1617 #config ACCESSBUS
1618 #       bool "Access.Bus support"
1619 #       depends on TC
1620
1621 config MMU
1622         bool
1623         default y
1624
1625 config MCA
1626         bool
1627
1628 config SBUS
1629         bool
1630
1631 source "drivers/pcmcia/Kconfig"
1632
1633 source "drivers/pci/hotplug/Kconfig"
1634
1635 endmenu
1636
1637 menu "Executable file formats"
1638
1639 source "fs/Kconfig.binfmt"
1640
1641 config TRAD_SIGNALS
1642         bool
1643         default y if 32BIT
1644
1645 config BUILD_ELF64
1646         bool "Use 64-bit ELF format for building"
1647         depends on 64BIT
1648         help
1649           A 64-bit kernel is usually built using the 64-bit ELF binary object
1650           format as it's one that allows arbitrary 64-bit constructs.  For
1651           kernels that are loaded within the KSEG compatibility segments the
1652           32-bit ELF format can optionally be used resulting in a somewhat
1653           smaller binary, but this option is not explicitly supported by the
1654           toolchain and since binutils 2.14 it does not even work at all.
1655
1656           Say Y to use the 64-bit format or N to use the 32-bit one.
1657
1658           If unsure say Y.
1659
1660 config BINFMT_IRIX
1661         bool "Include IRIX binary compatibility"
1662         depends on !CPU_LITTLE_ENDIAN && 32BIT && BROKEN
1663
1664 config MIPS32_COMPAT
1665         bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
1666         depends on 64BIT
1667         help
1668           Select this option if you want Linux/MIPS 32-bit binary
1669           compatibility. Since all software available for Linux/MIPS is
1670           currently 32-bit you should say Y here.
1671
1672 config COMPAT
1673         bool
1674         depends on MIPS32_COMPAT
1675         default y
1676
1677 config MIPS32_O32
1678         bool "Kernel support for o32 binaries"
1679         depends on MIPS32_COMPAT
1680         help
1681           Select this option if you want to run o32 binaries.  These are pure
1682           32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
1683           existing binaries are in this format.
1684
1685           If unsure, say Y.
1686
1687 config MIPS32_N32
1688         bool "Kernel support for n32 binaries"
1689         depends on MIPS32_COMPAT
1690         help
1691           Select this option if you want to run n32 binaries.  These are
1692           64-bit binaries using 32-bit quantities for addressing and certain
1693           data that would normally be 64-bit.  They are used in special
1694           cases.
1695
1696           If unsure, say N.
1697
1698 config BINFMT_ELF32
1699         bool
1700         default y if MIPS32_O32 || MIPS32_N32
1701
1702 config SECCOMP
1703         bool "Enable seccomp to safely compute untrusted bytecode"
1704         depends on PROC_FS && BROKEN
1705         default y
1706         help
1707           This kernel feature is useful for number crunching applications
1708           that may need to compute untrusted bytecode during their
1709           execution. By using pipes or other transports made available to
1710           the process as file descriptors supporting the read/write
1711           syscalls, it's possible to isolate those applications in
1712           their own address space using seccomp. Once seccomp is
1713           enabled via /proc/<pid>/seccomp, it cannot be disabled
1714           and the task is only allowed to execute a few safe syscalls
1715           defined by each seccomp mode.
1716
1717           If unsure, say Y. Only embedded should say N here.
1718
1719 config PM
1720         bool "Power Management support (EXPERIMENTAL)"
1721         depends on EXPERIMENTAL && MACH_AU1X00
1722
1723 endmenu
1724
1725 source "net/Kconfig"
1726
1727 source "drivers/Kconfig"
1728
1729 source "fs/Kconfig"
1730
1731 source "arch/mips/Kconfig.debug"
1732
1733 source "security/Kconfig"
1734
1735 source "crypto/Kconfig"
1736
1737 source "lib/Kconfig"
1738
1739 config ISA_DMA_API
1740         bool
1741         default y