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