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