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