MIPS: Loongson: Split common loongson source code out
[sfrench/cifs-2.6.git] / arch / mips / Kconfig
1 config MIPS
2         bool
3         default y
4         select HAVE_IDE
5         select HAVE_OPROFILE
6         select HAVE_ARCH_KGDB
7         # Horrible source of confusion.  Die, die, die ...
8         select EMBEDDED
9         select RTC_LIB if !LEMOTE_FULOONG2E
10
11 mainmenu "Linux/MIPS Kernel Configuration"
12
13 menu "Machine selection"
14
15 config ZONE_DMA
16         bool
17
18 choice
19         prompt "System type"
20         default SGI_IP22
21
22 config MACH_ALCHEMY
23         bool "Alchemy processor based machines"
24
25 config AR7
26         bool "Texas Instruments AR7"
27         select BOOT_ELF32
28         select DMA_NONCOHERENT
29         select CEVT_R4K
30         select CSRC_R4K
31         select IRQ_CPU
32         select NO_EXCEPT_FILL
33         select SWAP_IO_SPACE
34         select SYS_HAS_CPU_MIPS32_R1
35         select SYS_HAS_EARLY_PRINTK
36         select SYS_SUPPORTS_32BIT_KERNEL
37         select SYS_SUPPORTS_LITTLE_ENDIAN
38         select GENERIC_GPIO
39         select GCD
40         select VLYNQ
41         help
42           Support for the Texas Instruments AR7 System-on-a-Chip
43           family: TNETD7100, 7200 and 7300.
44
45 config BASLER_EXCITE
46         bool "Basler eXcite smart camera"
47         select CEVT_R4K
48         select CSRC_R4K
49         select DMA_COHERENT
50         select HW_HAS_PCI
51         select IRQ_CPU
52         select IRQ_CPU_RM7K
53         select IRQ_CPU_RM9K
54         select MIPS_RM9122
55         select SYS_HAS_CPU_RM9000
56         select SYS_SUPPORTS_32BIT_KERNEL
57         select SYS_SUPPORTS_BIG_ENDIAN
58         help
59           The eXcite is a smart camera platform manufactured by
60           Basler Vision Technologies AG.
61
62 config BCM47XX
63         bool "BCM47XX based boards"
64         select CEVT_R4K
65         select CSRC_R4K
66         select DMA_NONCOHERENT
67         select HW_HAS_PCI
68         select IRQ_CPU
69         select SYS_HAS_CPU_MIPS32_R1
70         select SYS_SUPPORTS_32BIT_KERNEL
71         select SYS_SUPPORTS_LITTLE_ENDIAN
72         select SSB
73         select SSB_DRIVER_MIPS
74         select SSB_DRIVER_EXTIF
75         select SSB_EMBEDDED
76         select SSB_PCICORE_HOSTMODE if PCI
77         select GENERIC_GPIO
78         select SYS_HAS_EARLY_PRINTK
79         select CFE
80         help
81          Support for BCM47XX based boards
82
83 config MIPS_COBALT
84         bool "Cobalt Server"
85         select CEVT_R4K
86         select CSRC_R4K
87         select CEVT_GT641XX
88         select DMA_NONCOHERENT
89         select HW_HAS_PCI
90         select I8253
91         select I8259
92         select IRQ_CPU
93         select IRQ_GT641XX
94         select PCI_GT64XXX_PCI0
95         select PCI
96         select SYS_HAS_CPU_NEVADA
97         select SYS_HAS_EARLY_PRINTK
98         select SYS_SUPPORTS_32BIT_KERNEL
99         select SYS_SUPPORTS_64BIT_KERNEL
100         select SYS_SUPPORTS_LITTLE_ENDIAN
101
102 config MACH_DECSTATION
103         bool "DECstations"
104         select BOOT_ELF32
105         select CEVT_DS1287
106         select CEVT_R4K
107         select CSRC_IOASIC
108         select CSRC_R4K
109         select CPU_DADDI_WORKAROUNDS if 64BIT
110         select CPU_R4000_WORKAROUNDS if 64BIT
111         select CPU_R4400_WORKAROUNDS if 64BIT
112         select DMA_NONCOHERENT
113         select NO_IOPORT
114         select IRQ_CPU
115         select SYS_HAS_CPU_R3000
116         select SYS_HAS_CPU_R4X00
117         select SYS_SUPPORTS_32BIT_KERNEL
118         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
119         select SYS_SUPPORTS_LITTLE_ENDIAN
120         select SYS_SUPPORTS_128HZ
121         select SYS_SUPPORTS_256HZ
122         select SYS_SUPPORTS_1024HZ
123         help
124           This enables support for DEC's MIPS based workstations.  For details
125           see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
126           DECstation porting pages on <http://decstation.unix-ag.org/>.
127
128           If you have one of the following DECstation Models you definitely
129           want to choose R4xx0 for the CPU Type:
130
131                 DECstation 5000/50
132                 DECstation 5000/150
133                 DECstation 5000/260
134                 DECsystem 5900/260
135
136           otherwise choose R3000.
137
138 config MACH_JAZZ
139         bool "Jazz family of machines"
140         select ARC
141         select ARC32
142         select ARCH_MAY_HAVE_PC_FDC
143         select CEVT_R4K
144         select CSRC_R4K
145         select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
146         select GENERIC_ISA_DMA
147         select IRQ_CPU
148         select I8253
149         select I8259
150         select ISA
151         select SYS_HAS_CPU_R4X00
152         select SYS_SUPPORTS_32BIT_KERNEL
153         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
154         select SYS_SUPPORTS_100HZ
155         help
156          This a family of machines based on the MIPS R4030 chipset which was
157          used by several vendors to build RISC/os and Windows NT workstations.
158          Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
159          Olivetti M700-10 workstations.
160
161 config LASAT
162         bool "LASAT Networks platforms"
163         select CEVT_R4K
164         select CSRC_R4K
165         select DMA_NONCOHERENT
166         select SYS_HAS_EARLY_PRINTK
167         select HW_HAS_PCI
168         select IRQ_CPU
169         select PCI_GT64XXX_PCI0
170         select MIPS_NILE4
171         select R5000_CPU_SCACHE
172         select SYS_HAS_CPU_R5000
173         select SYS_SUPPORTS_32BIT_KERNEL
174         select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
175         select SYS_SUPPORTS_LITTLE_ENDIAN
176
177 config MACH_LOONGSON
178         bool "Loongson family of machines"
179         help
180           This enables the support of Loongson family of machines.
181
182           Loongson is a family of general-purpose MIPS-compatible CPUs.
183           developed at Institute of Computing Technology (ICT),
184           Chinese Academy of Sciences (CAS) in the People's Republic
185           of China. The chief architect is Professor Weiwu Hu.
186
187 config MIPS_MALTA
188         bool "MIPS Malta board"
189         select ARCH_MAY_HAVE_PC_FDC
190         select BOOT_ELF32
191         select BOOT_RAW
192         select CEVT_R4K
193         select CSRC_R4K
194         select DMA_NONCOHERENT
195         select GENERIC_ISA_DMA
196         select IRQ_CPU
197         select IRQ_GIC
198         select HW_HAS_PCI
199         select I8253
200         select I8259
201         select MIPS_BOARDS_GEN
202         select MIPS_BONITO64
203         select MIPS_CPU_SCACHE
204         select PCI_GT64XXX_PCI0
205         select MIPS_MSC
206         select SWAP_IO_SPACE
207         select SYS_HAS_CPU_MIPS32_R1
208         select SYS_HAS_CPU_MIPS32_R2
209         select SYS_HAS_CPU_MIPS64_R1
210         select SYS_HAS_CPU_NEVADA
211         select SYS_HAS_CPU_RM7000
212         select SYS_HAS_EARLY_PRINTK
213         select SYS_SUPPORTS_32BIT_KERNEL
214         select SYS_SUPPORTS_64BIT_KERNEL
215         select SYS_SUPPORTS_BIG_ENDIAN
216         select SYS_SUPPORTS_LITTLE_ENDIAN
217         select SYS_SUPPORTS_MIPS_CMP
218         select SYS_SUPPORTS_MULTITHREADING
219         select SYS_SUPPORTS_SMARTMIPS
220         help
221           This enables support for the MIPS Technologies Malta evaluation
222           board.
223
224 config MIPS_SIM
225         bool 'MIPS simulator (MIPSsim)'
226         select CEVT_R4K
227         select CSRC_R4K
228         select DMA_NONCOHERENT
229         select SYS_HAS_EARLY_PRINTK
230         select IRQ_CPU
231         select BOOT_RAW
232         select SYS_HAS_CPU_MIPS32_R1
233         select SYS_HAS_CPU_MIPS32_R2
234         select SYS_HAS_EARLY_PRINTK
235         select SYS_SUPPORTS_32BIT_KERNEL
236         select SYS_SUPPORTS_BIG_ENDIAN
237         select SYS_SUPPORTS_MULTITHREADING
238         select SYS_SUPPORTS_LITTLE_ENDIAN
239         help
240           This option enables support for MIPS Technologies MIPSsim software
241           emulator.
242
243 config NEC_MARKEINS
244         bool "NEC EMMA2RH Mark-eins board"
245         select SOC_EMMA2RH
246         select HW_HAS_PCI
247         help
248           This enables support for the NEC Electronics Mark-eins boards.
249
250 config MACH_VR41XX
251         bool "NEC VR4100 series based machines"
252         select CEVT_R4K
253         select CSRC_R4K
254         select SYS_HAS_CPU_VR41XX
255         select ARCH_REQUIRE_GPIOLIB
256
257 config NXP_STB220
258         bool "NXP STB220 board"
259         select SOC_PNX833X
260         help
261          Support for NXP Semiconductors STB220 Development Board.
262
263 config NXP_STB225
264         bool "NXP 225 board"
265         select SOC_PNX833X
266         select SOC_PNX8335
267         help
268          Support for NXP Semiconductors STB225 Development Board.
269
270 config PNX8550_JBS
271         bool "NXP PNX8550 based JBS board"
272         select PNX8550
273         select SYS_SUPPORTS_LITTLE_ENDIAN
274
275 config PNX8550_STB810
276         bool "NXP PNX8550 based STB810 board"
277         select PNX8550
278         select SYS_SUPPORTS_LITTLE_ENDIAN
279
280 config PMC_MSP
281         bool "PMC-Sierra MSP chipsets"
282         depends on EXPERIMENTAL
283         select DMA_NONCOHERENT
284         select SWAP_IO_SPACE
285         select NO_EXCEPT_FILL
286         select BOOT_RAW
287         select SYS_HAS_CPU_MIPS32_R1
288         select SYS_HAS_CPU_MIPS32_R2
289         select SYS_SUPPORTS_32BIT_KERNEL
290         select SYS_SUPPORTS_BIG_ENDIAN
291         select IRQ_CPU
292         select SERIAL_8250
293         select SERIAL_8250_CONSOLE
294         help
295           This adds support for the PMC-Sierra family of Multi-Service
296           Processor System-On-A-Chips.  These parts include a number
297           of integrated peripherals, interfaces and DSPs in addition to
298           a variety of MIPS cores.
299
300 config PMC_YOSEMITE
301         bool "PMC-Sierra Yosemite eval board"
302         select CEVT_R4K
303         select CSRC_R4K
304         select DMA_COHERENT
305         select HW_HAS_PCI
306         select IRQ_CPU
307         select IRQ_CPU_RM7K
308         select IRQ_CPU_RM9K
309         select SWAP_IO_SPACE
310         select SYS_HAS_CPU_RM9000
311         select SYS_HAS_EARLY_PRINTK
312         select SYS_SUPPORTS_32BIT_KERNEL
313         select SYS_SUPPORTS_64BIT_KERNEL
314         select SYS_SUPPORTS_BIG_ENDIAN
315         select SYS_SUPPORTS_HIGHMEM
316         select SYS_SUPPORTS_SMP
317         help
318           Yosemite is an evaluation board for the RM9000x2 processor
319           manufactured by PMC-Sierra.
320
321 config SGI_IP22
322         bool "SGI IP22 (Indy/Indigo2)"
323         select ARC
324         select ARC32
325         select BOOT_ELF32
326         select CEVT_R4K
327         select CSRC_R4K
328         select DEFAULT_SGI_PARTITION
329         select DMA_NONCOHERENT
330         select HW_HAS_EISA
331         select I8253
332         select I8259
333         select IP22_CPU_SCACHE
334         select IRQ_CPU
335         select GENERIC_ISA_DMA_SUPPORT_BROKEN
336         select SGI_HAS_I8042
337         select SGI_HAS_INDYDOG
338         select SGI_HAS_HAL2
339         select SGI_HAS_SEEQ
340         select SGI_HAS_WD93
341         select SGI_HAS_ZILOG
342         select SWAP_IO_SPACE
343         select SYS_HAS_CPU_R4X00
344         select SYS_HAS_CPU_R5000
345         select SYS_HAS_EARLY_PRINTK
346         select SYS_SUPPORTS_32BIT_KERNEL
347         select SYS_SUPPORTS_64BIT_KERNEL
348         select SYS_SUPPORTS_BIG_ENDIAN
349         help
350           This are the SGI Indy, Challenge S and Indigo2, as well as certain
351           OEM variants like the Tandem CMN B006S. To compile a Linux kernel
352           that runs on these, say Y here.
353
354 config SGI_IP27
355         bool "SGI IP27 (Origin200/2000)"
356         select ARC
357         select ARC64
358         select BOOT_ELF64
359         select DEFAULT_SGI_PARTITION
360         select DMA_COHERENT
361         select SYS_HAS_EARLY_PRINTK
362         select HW_HAS_PCI
363         select NR_CPUS_DEFAULT_64
364         select SYS_HAS_CPU_R10000
365         select SYS_SUPPORTS_64BIT_KERNEL
366         select SYS_SUPPORTS_BIG_ENDIAN
367         select SYS_SUPPORTS_NUMA
368         select SYS_SUPPORTS_SMP
369         help
370           This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
371           workstations.  To compile a Linux kernel that runs on these, say Y
372           here.
373
374 config SGI_IP28
375         bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
376         depends on EXPERIMENTAL
377         select ARC
378         select ARC64
379         select BOOT_ELF64
380         select CEVT_R4K
381         select CSRC_R4K
382         select DEFAULT_SGI_PARTITION
383         select DMA_NONCOHERENT
384         select GENERIC_ISA_DMA_SUPPORT_BROKEN
385         select IRQ_CPU
386         select HW_HAS_EISA
387         select I8253
388         select I8259
389         select SGI_HAS_I8042
390         select SGI_HAS_INDYDOG
391         select SGI_HAS_HAL2
392         select SGI_HAS_SEEQ
393         select SGI_HAS_WD93
394         select SGI_HAS_ZILOG
395         select SWAP_IO_SPACE
396         select SYS_HAS_CPU_R10000
397         select SYS_HAS_EARLY_PRINTK
398         select SYS_SUPPORTS_64BIT_KERNEL
399         select SYS_SUPPORTS_BIG_ENDIAN
400       help
401         This is the SGI Indigo2 with R10000 processor.  To compile a Linux
402         kernel that runs on these, say Y here.
403
404 config SGI_IP32
405         bool "SGI IP32 (O2)"
406         select ARC
407         select ARC32
408         select BOOT_ELF32
409         select CEVT_R4K
410         select CSRC_R4K
411         select DMA_NONCOHERENT
412         select HW_HAS_PCI
413         select IRQ_CPU
414         select R5000_CPU_SCACHE
415         select RM7000_CPU_SCACHE
416         select SYS_HAS_CPU_R5000
417         select SYS_HAS_CPU_R10000 if BROKEN
418         select SYS_HAS_CPU_RM7000
419         select SYS_HAS_CPU_NEVADA
420         select SYS_SUPPORTS_64BIT_KERNEL
421         select SYS_SUPPORTS_BIG_ENDIAN
422         help
423           If you want this kernel to run on SGI O2 workstation, say Y here.
424
425 config SIBYTE_CRHINE
426         bool "Sibyte BCM91120C-CRhine"
427         depends on EXPERIMENTAL
428         select BOOT_ELF32
429         select DMA_COHERENT
430         select SIBYTE_BCM1120
431         select SWAP_IO_SPACE
432         select SYS_HAS_CPU_SB1
433         select SYS_SUPPORTS_BIG_ENDIAN
434         select SYS_SUPPORTS_LITTLE_ENDIAN
435
436 config SIBYTE_CARMEL
437         bool "Sibyte BCM91120x-Carmel"
438         depends on EXPERIMENTAL
439         select BOOT_ELF32
440         select DMA_COHERENT
441         select SIBYTE_BCM1120
442         select SWAP_IO_SPACE
443         select SYS_HAS_CPU_SB1
444         select SYS_SUPPORTS_BIG_ENDIAN
445         select SYS_SUPPORTS_LITTLE_ENDIAN
446
447 config SIBYTE_CRHONE
448         bool "Sibyte BCM91125C-CRhone"
449         depends on EXPERIMENTAL
450         select BOOT_ELF32
451         select DMA_COHERENT
452         select SIBYTE_BCM1125
453         select SWAP_IO_SPACE
454         select SYS_HAS_CPU_SB1
455         select SYS_SUPPORTS_BIG_ENDIAN
456         select SYS_SUPPORTS_HIGHMEM
457         select SYS_SUPPORTS_LITTLE_ENDIAN
458
459 config SIBYTE_RHONE
460         bool "Sibyte BCM91125E-Rhone"
461         depends on EXPERIMENTAL
462         select BOOT_ELF32
463         select DMA_COHERENT
464         select SIBYTE_BCM1125H
465         select SWAP_IO_SPACE
466         select SYS_HAS_CPU_SB1
467         select SYS_SUPPORTS_BIG_ENDIAN
468         select SYS_SUPPORTS_LITTLE_ENDIAN
469
470 config SIBYTE_SWARM
471         bool "Sibyte BCM91250A-SWARM"
472         select BOOT_ELF32
473         select DMA_COHERENT
474         select NR_CPUS_DEFAULT_2
475         select SIBYTE_SB1250
476         select SWAP_IO_SPACE
477         select SYS_HAS_CPU_SB1
478         select SYS_SUPPORTS_BIG_ENDIAN
479         select SYS_SUPPORTS_HIGHMEM
480         select SYS_SUPPORTS_LITTLE_ENDIAN
481         select ZONE_DMA32 if 64BIT
482
483 config SIBYTE_LITTLESUR
484         bool "Sibyte BCM91250C2-LittleSur"
485         depends on EXPERIMENTAL
486         select BOOT_ELF32
487         select DMA_COHERENT
488         select NR_CPUS_DEFAULT_2
489         select SIBYTE_SB1250
490         select SWAP_IO_SPACE
491         select SYS_HAS_CPU_SB1
492         select SYS_SUPPORTS_BIG_ENDIAN
493         select SYS_SUPPORTS_HIGHMEM
494         select SYS_SUPPORTS_LITTLE_ENDIAN
495
496 config SIBYTE_SENTOSA
497         bool "Sibyte BCM91250E-Sentosa"
498         depends on EXPERIMENTAL
499         select BOOT_ELF32
500         select DMA_COHERENT
501         select NR_CPUS_DEFAULT_2
502         select SIBYTE_SB1250
503         select SWAP_IO_SPACE
504         select SYS_HAS_CPU_SB1
505         select SYS_SUPPORTS_BIG_ENDIAN
506         select SYS_SUPPORTS_LITTLE_ENDIAN
507
508 config SIBYTE_BIGSUR
509         bool "Sibyte BCM91480B-BigSur"
510         select BOOT_ELF32
511         select DMA_COHERENT
512         select NR_CPUS_DEFAULT_4
513         select SIBYTE_BCM1x80
514         select SWAP_IO_SPACE
515         select SYS_HAS_CPU_SB1
516         select SYS_SUPPORTS_BIG_ENDIAN
517         select SYS_SUPPORTS_HIGHMEM
518         select SYS_SUPPORTS_LITTLE_ENDIAN
519         select ZONE_DMA32 if 64BIT
520
521 config SNI_RM
522         bool "SNI RM200/300/400"
523         select ARC if CPU_LITTLE_ENDIAN
524         select ARC32 if CPU_LITTLE_ENDIAN
525         select SNIPROM if CPU_BIG_ENDIAN
526         select ARCH_MAY_HAVE_PC_FDC
527         select BOOT_ELF32
528         select CEVT_R4K
529         select CSRC_R4K
530         select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
531         select DMA_NONCOHERENT
532         select GENERIC_ISA_DMA
533         select HW_HAS_EISA
534         select HW_HAS_PCI
535         select IRQ_CPU
536         select I8253
537         select I8259
538         select ISA
539         select SWAP_IO_SPACE if CPU_BIG_ENDIAN
540         select SYS_HAS_CPU_R4X00
541         select SYS_HAS_CPU_R5000
542         select SYS_HAS_CPU_R10000
543         select R5000_CPU_SCACHE
544         select SYS_HAS_EARLY_PRINTK
545         select SYS_SUPPORTS_32BIT_KERNEL
546         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
547         select SYS_SUPPORTS_BIG_ENDIAN
548         select SYS_SUPPORTS_HIGHMEM
549         select SYS_SUPPORTS_LITTLE_ENDIAN
550         help
551           The SNI RM200/300/400 are MIPS-based machines manufactured by
552           Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
553           Technology and now in turn merged with Fujitsu.  Say Y here to
554           support this machine type.
555
556 config MACH_TX39XX
557         bool "Toshiba TX39 series based machines"
558
559 config MACH_TX49XX
560         bool "Toshiba TX49 series based machines"
561
562 config MIKROTIK_RB532
563         bool "Mikrotik RB532 boards"
564         select CEVT_R4K
565         select CSRC_R4K
566         select DMA_NONCOHERENT
567         select HW_HAS_PCI
568         select IRQ_CPU
569         select SYS_HAS_CPU_MIPS32_R1
570         select SYS_SUPPORTS_32BIT_KERNEL
571         select SYS_SUPPORTS_LITTLE_ENDIAN
572         select SWAP_IO_SPACE
573         select BOOT_RAW
574         select ARCH_REQUIRE_GPIOLIB
575         help
576           Support the Mikrotik(tm) RouterBoard 532 series,
577           based on the IDT RC32434 SoC.
578
579 config WR_PPMC
580         bool "Wind River PPMC board"
581         select CEVT_R4K
582         select CSRC_R4K
583         select IRQ_CPU
584         select BOOT_ELF32
585         select DMA_NONCOHERENT
586         select HW_HAS_PCI
587         select PCI_GT64XXX_PCI0
588         select SWAP_IO_SPACE
589         select SYS_HAS_CPU_MIPS32_R1
590         select SYS_HAS_CPU_MIPS32_R2
591         select SYS_HAS_CPU_MIPS64_R1
592         select SYS_HAS_CPU_NEVADA
593         select SYS_HAS_CPU_RM7000
594         select SYS_SUPPORTS_32BIT_KERNEL
595         select SYS_SUPPORTS_64BIT_KERNEL
596         select SYS_SUPPORTS_BIG_ENDIAN
597         select SYS_SUPPORTS_LITTLE_ENDIAN
598         help
599           This enables support for the Wind River MIPS32 4KC PPMC evaluation
600           board, which is based on GT64120 bridge chip.
601
602 config CAVIUM_OCTEON_SIMULATOR
603         bool "Cavium Networks Octeon Simulator"
604         select CEVT_R4K
605         select 64BIT_PHYS_ADDR
606         select DMA_COHERENT
607         select SYS_SUPPORTS_64BIT_KERNEL
608         select SYS_SUPPORTS_BIG_ENDIAN
609         select SYS_SUPPORTS_HIGHMEM
610         select SYS_SUPPORTS_HOTPLUG_CPU
611         select SYS_HAS_CPU_CAVIUM_OCTEON
612         help
613           The Octeon simulator is software performance model of the Cavium
614           Octeon Processor. It supports simulating Octeon processors on x86
615           hardware.
616
617 config CAVIUM_OCTEON_REFERENCE_BOARD
618         bool "Cavium Networks Octeon reference board"
619         select CEVT_R4K
620         select 64BIT_PHYS_ADDR
621         select DMA_COHERENT
622         select SYS_SUPPORTS_64BIT_KERNEL
623         select SYS_SUPPORTS_BIG_ENDIAN
624         select SYS_SUPPORTS_HIGHMEM
625         select SYS_SUPPORTS_HOTPLUG_CPU
626         select SYS_HAS_EARLY_PRINTK
627         select SYS_HAS_CPU_CAVIUM_OCTEON
628         select SWAP_IO_SPACE
629         select HW_HAS_PCI
630         select ARCH_SUPPORTS_MSI
631         help
632           This option supports all of the Octeon reference boards from Cavium
633           Networks. It builds a kernel that dynamically determines the Octeon
634           CPU type and supports all known board reference implementations.
635           Some of the supported boards are:
636                 EBT3000
637                 EBH3000
638                 EBH3100
639                 Thunder
640                 Kodama
641                 Hikari
642           Say Y here for most Octeon reference boards.
643
644 endchoice
645
646 source "arch/mips/alchemy/Kconfig"
647 source "arch/mips/basler/excite/Kconfig"
648 source "arch/mips/jazz/Kconfig"
649 source "arch/mips/lasat/Kconfig"
650 source "arch/mips/pmc-sierra/Kconfig"
651 source "arch/mips/sgi-ip27/Kconfig"
652 source "arch/mips/sibyte/Kconfig"
653 source "arch/mips/txx9/Kconfig"
654 source "arch/mips/vr41xx/Kconfig"
655 source "arch/mips/cavium-octeon/Kconfig"
656 source "arch/mips/loongson/Kconfig"
657
658 endmenu
659
660 config RWSEM_GENERIC_SPINLOCK
661         bool
662         default y
663
664 config RWSEM_XCHGADD_ALGORITHM
665         bool
666
667 config ARCH_HAS_ILOG2_U32
668         bool
669         default n
670
671 config ARCH_HAS_ILOG2_U64
672         bool
673         default n
674
675 config ARCH_SUPPORTS_OPROFILE
676         bool
677         default y if !MIPS_MT_SMTC
678
679 config GENERIC_FIND_NEXT_BIT
680         bool
681         default y
682
683 config GENERIC_HWEIGHT
684         bool
685         default y
686
687 config GENERIC_CALIBRATE_DELAY
688         bool
689         default y
690
691 config GENERIC_CLOCKEVENTS
692         bool
693         default y
694
695 config GENERIC_TIME
696         bool
697         default y
698
699 config GENERIC_CMOS_UPDATE
700         bool
701         default y
702
703 config SCHED_OMIT_FRAME_POINTER
704         bool
705         default y
706
707 config GENERIC_HARDIRQS_NO__DO_IRQ
708         def_bool y
709
710 #
711 # Select some configuration options automatically based on user selections.
712 #
713 config ARC
714         bool
715
716 config ARCH_MAY_HAVE_PC_FDC
717         bool
718
719 config BOOT_RAW
720         bool
721
722 config CEVT_BCM1480
723         bool
724
725 config CEVT_DS1287
726         bool
727
728 config CEVT_GT641XX
729         bool
730
731 config CEVT_R4K_LIB
732         bool
733
734 config CEVT_R4K
735         select CEVT_R4K_LIB
736         bool
737
738 config CEVT_SB1250
739         bool
740
741 config CEVT_TXX9
742         bool
743
744 config CSRC_BCM1480
745         bool
746
747 config CSRC_IOASIC
748         bool
749
750 config CSRC_R4K_LIB
751         bool
752
753 config CSRC_R4K
754         select CSRC_R4K_LIB
755         bool
756
757 config CSRC_SB1250
758         bool
759
760 config GPIO_TXX9
761         select GENERIC_GPIO
762         select ARCH_REQUIRE_GPIOLIB
763         bool
764
765 config CFE
766         bool
767
768 config DMA_COHERENT
769         bool
770
771 config DMA_NONCOHERENT
772         bool
773         select DMA_NEED_PCI_MAP_STATE
774
775 config DMA_NEED_PCI_MAP_STATE
776         bool
777
778 config EARLY_PRINTK
779         bool "Early printk" if EMBEDDED && DEBUG_KERNEL
780         depends on SYS_HAS_EARLY_PRINTK
781         default y
782         help
783           This option enables special console drivers which allow the kernel
784           to print messages very early in the bootup process.
785
786           This is useful for kernel debugging when your machine crashes very
787           early before the console code is initialized. For normal operation,
788           it is not recommended because it looks ugly on some machines and
789           doesn't cooperate with an X server. You should normally say N here,
790           unless you want to debug such a crash.
791
792 config SYS_HAS_EARLY_PRINTK
793         bool
794
795 config HOTPLUG_CPU
796         bool "Support for hot-pluggable CPUs"
797         depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU
798         help
799           Say Y here to allow turning CPUs off and on. CPUs can be
800           controlled through /sys/devices/system/cpu.
801           (Note: power management support will enable this option
802             automatically on SMP systems. )
803           Say N if you want to disable CPU hotplug.
804
805 config SYS_SUPPORTS_HOTPLUG_CPU
806         bool
807
808 config I8259
809         bool
810
811 config MIPS_BONITO64
812         bool
813
814 config MIPS_MSC
815         bool
816
817 config MIPS_NILE4
818         bool
819
820 config MIPS_DISABLE_OBSOLETE_IDE
821         bool
822
823 config SYNC_R4K
824         bool
825
826 config NO_IOPORT
827         def_bool n
828
829 config GENERIC_ISA_DMA
830         bool
831         select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
832
833 config GENERIC_ISA_DMA_SUPPORT_BROKEN
834         bool
835         select GENERIC_ISA_DMA
836
837 config GENERIC_GPIO
838         bool
839
840 #
841 # Endianess selection.  Sufficiently obscure so many users don't know what to
842 # answer,so we try hard to limit the available choices.  Also the use of a
843 # choice statement should be more obvious to the user.
844 #
845 choice
846         prompt "Endianess selection"
847         help
848           Some MIPS machines can be configured for either little or big endian
849           byte order. These modes require different kernels and a different
850           Linux distribution.  In general there is one preferred byteorder for a
851           particular system but some systems are just as commonly used in the
852           one or the other endianness.
853
854 config CPU_BIG_ENDIAN
855         bool "Big endian"
856         depends on SYS_SUPPORTS_BIG_ENDIAN
857
858 config CPU_LITTLE_ENDIAN
859         bool "Little endian"
860         depends on SYS_SUPPORTS_LITTLE_ENDIAN
861         help
862
863 endchoice
864
865 config SYS_SUPPORTS_APM_EMULATION
866         bool
867
868 config SYS_SUPPORTS_BIG_ENDIAN
869         bool
870
871 config SYS_SUPPORTS_LITTLE_ENDIAN
872         bool
873
874 config SYS_SUPPORTS_HUGETLBFS
875         bool
876         depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
877         default y
878
879 config IRQ_CPU
880         bool
881
882 config IRQ_CPU_RM7K
883         bool
884
885 config IRQ_CPU_RM9K
886         bool
887
888 config IRQ_MSP_SLP
889         bool
890
891 config IRQ_MSP_CIC
892         bool
893
894 config IRQ_TXX9
895         bool
896
897 config IRQ_GT641XX
898         bool
899
900 config IRQ_GIC
901         bool
902
903 config IRQ_CPU_OCTEON
904         bool
905
906 config MIPS_BOARDS_GEN
907         bool
908
909 config PCI_GT64XXX_PCI0
910         bool
911
912 config NO_EXCEPT_FILL
913         bool
914
915 config MIPS_RM9122
916         bool
917         select SERIAL_RM9000
918
919 config SOC_EMMA2RH
920         bool
921         select CEVT_R4K
922         select CSRC_R4K
923         select DMA_NONCOHERENT
924         select IRQ_CPU
925         select SWAP_IO_SPACE
926         select SYS_HAS_CPU_R5500
927         select SYS_SUPPORTS_32BIT_KERNEL
928         select SYS_SUPPORTS_64BIT_KERNEL
929         select SYS_SUPPORTS_BIG_ENDIAN
930
931 config SOC_PNX833X
932         bool
933         select CEVT_R4K
934         select CSRC_R4K
935         select IRQ_CPU
936         select DMA_NONCOHERENT
937         select SYS_HAS_CPU_MIPS32_R2
938         select SYS_SUPPORTS_32BIT_KERNEL
939         select SYS_SUPPORTS_LITTLE_ENDIAN
940         select SYS_SUPPORTS_BIG_ENDIAN
941         select GENERIC_GPIO
942         select CPU_MIPSR2_IRQ_VI
943
944 config SOC_PNX8335
945         bool
946         select SOC_PNX833X
947
948 config PNX8550
949         bool
950         select SOC_PNX8550
951
952 config SOC_PNX8550
953         bool
954         select DMA_NONCOHERENT
955         select HW_HAS_PCI
956         select SYS_HAS_CPU_MIPS32_R1
957         select SYS_HAS_EARLY_PRINTK
958         select SYS_SUPPORTS_32BIT_KERNEL
959         select GENERIC_GPIO
960
961 config SWAP_IO_SPACE
962         bool
963
964 config SERIAL_RM9000
965         bool
966
967 config SGI_HAS_INDYDOG
968         bool
969
970 config SGI_HAS_HAL2
971         bool
972
973 config SGI_HAS_SEEQ
974         bool
975
976 config SGI_HAS_WD93
977         bool
978
979 config SGI_HAS_ZILOG
980         bool
981
982 config SGI_HAS_I8042
983         bool
984
985 config DEFAULT_SGI_PARTITION
986         bool
987
988 config ARC32
989         bool
990
991 config SNIPROM
992         bool
993
994 config BOOT_ELF32
995         bool
996
997 config MIPS_L1_CACHE_SHIFT
998         int
999         default "4" if MACH_DECSTATION || MIKROTIK_RB532
1000         default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON
1001         default "4" if PMC_MSP4200_EVAL
1002         default "5"
1003
1004 config HAVE_STD_PC_SERIAL_PORT
1005         bool
1006
1007 config ARC_CONSOLE
1008         bool "ARC console support"
1009         depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
1010
1011 config ARC_MEMORY
1012         bool
1013         depends on MACH_JAZZ || SNI_RM || SGI_IP32
1014         default y
1015
1016 config ARC_PROMLIB
1017         bool
1018         depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
1019         default y
1020
1021 config ARC64
1022         bool
1023
1024 config BOOT_ELF64
1025         bool
1026
1027 menu "CPU selection"
1028
1029 choice
1030         prompt "CPU type"
1031         default CPU_R4X00
1032
1033 config CPU_LOONGSON2
1034         bool "Loongson 2"
1035         depends on SYS_HAS_CPU_LOONGSON2
1036         select CPU_SUPPORTS_32BIT_KERNEL
1037         select CPU_SUPPORTS_64BIT_KERNEL
1038         select CPU_SUPPORTS_HIGHMEM
1039         help
1040           The Loongson 2E processor implements the MIPS III instruction set
1041           with many extensions.
1042
1043 config CPU_MIPS32_R1
1044         bool "MIPS32 Release 1"
1045         depends on SYS_HAS_CPU_MIPS32_R1
1046         select CPU_HAS_LLSC
1047         select CPU_HAS_PREFETCH
1048         select CPU_SUPPORTS_32BIT_KERNEL
1049         select CPU_SUPPORTS_HIGHMEM
1050         help
1051           Choose this option to build a kernel for release 1 or later of the
1052           MIPS32 architecture.  Most modern embedded systems with a 32-bit
1053           MIPS processor are based on a MIPS32 processor.  If you know the
1054           specific type of processor in your system, choose those that one
1055           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1056           Release 2 of the MIPS32 architecture is available since several
1057           years so chances are you even have a MIPS32 Release 2 processor
1058           in which case you should choose CPU_MIPS32_R2 instead for better
1059           performance.
1060
1061 config CPU_MIPS32_R2
1062         bool "MIPS32 Release 2"
1063         depends on SYS_HAS_CPU_MIPS32_R2
1064         select CPU_HAS_LLSC
1065         select CPU_HAS_PREFETCH
1066         select CPU_SUPPORTS_32BIT_KERNEL
1067         select CPU_SUPPORTS_HIGHMEM
1068         help
1069           Choose this option to build a kernel for release 2 or later of the
1070           MIPS32 architecture.  Most modern embedded systems with a 32-bit
1071           MIPS processor are based on a MIPS32 processor.  If you know the
1072           specific type of processor in your system, choose those that one
1073           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1074
1075 config CPU_MIPS64_R1
1076         bool "MIPS64 Release 1"
1077         depends on SYS_HAS_CPU_MIPS64_R1
1078         select CPU_HAS_LLSC
1079         select CPU_HAS_PREFETCH
1080         select CPU_SUPPORTS_32BIT_KERNEL
1081         select CPU_SUPPORTS_64BIT_KERNEL
1082         select CPU_SUPPORTS_HIGHMEM
1083         select CPU_SUPPORTS_HUGEPAGES
1084         help
1085           Choose this option to build a kernel for release 1 or later of the
1086           MIPS64 architecture.  Many modern embedded systems with a 64-bit
1087           MIPS processor are based on a MIPS64 processor.  If you know the
1088           specific type of processor in your system, choose those that one
1089           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1090           Release 2 of the MIPS64 architecture is available since several
1091           years so chances are you even have a MIPS64 Release 2 processor
1092           in which case you should choose CPU_MIPS64_R2 instead for better
1093           performance.
1094
1095 config CPU_MIPS64_R2
1096         bool "MIPS64 Release 2"
1097         depends on SYS_HAS_CPU_MIPS64_R2
1098         select CPU_HAS_LLSC
1099         select CPU_HAS_PREFETCH
1100         select CPU_SUPPORTS_32BIT_KERNEL
1101         select CPU_SUPPORTS_64BIT_KERNEL
1102         select CPU_SUPPORTS_HIGHMEM
1103         select CPU_SUPPORTS_HUGEPAGES
1104         help
1105           Choose this option to build a kernel for release 2 or later of the
1106           MIPS64 architecture.  Many modern embedded systems with a 64-bit
1107           MIPS processor are based on a MIPS64 processor.  If you know the
1108           specific type of processor in your system, choose those that one
1109           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1110
1111 config CPU_R3000
1112         bool "R3000"
1113         depends on SYS_HAS_CPU_R3000
1114         select CPU_HAS_WB
1115         select CPU_SUPPORTS_32BIT_KERNEL
1116         select CPU_SUPPORTS_HIGHMEM
1117         help
1118           Please make sure to pick the right CPU type. Linux/MIPS is not
1119           designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1120           *not* work on R4000 machines and vice versa.  However, since most
1121           of the supported machines have an R4000 (or similar) CPU, R4x00
1122           might be a safe bet.  If the resulting kernel does not work,
1123           try to recompile with R3000.
1124
1125 config CPU_TX39XX
1126         bool "R39XX"
1127         depends on SYS_HAS_CPU_TX39XX
1128         select CPU_SUPPORTS_32BIT_KERNEL
1129
1130 config CPU_VR41XX
1131         bool "R41xx"
1132         depends on SYS_HAS_CPU_VR41XX
1133         select CPU_SUPPORTS_32BIT_KERNEL
1134         select CPU_SUPPORTS_64BIT_KERNEL
1135         help
1136           The options selects support for the NEC VR4100 series of processors.
1137           Only choose this option if you have one of these processors as a
1138           kernel built with this option will not run on any other type of
1139           processor or vice versa.
1140
1141 config CPU_R4300
1142         bool "R4300"
1143         depends on SYS_HAS_CPU_R4300
1144         select CPU_HAS_LLSC
1145         select CPU_SUPPORTS_32BIT_KERNEL
1146         select CPU_SUPPORTS_64BIT_KERNEL
1147         help
1148           MIPS Technologies R4300-series processors.
1149
1150 config CPU_R4X00
1151         bool "R4x00"
1152         depends on SYS_HAS_CPU_R4X00
1153         select CPU_HAS_LLSC
1154         select CPU_SUPPORTS_32BIT_KERNEL
1155         select CPU_SUPPORTS_64BIT_KERNEL
1156         help
1157           MIPS Technologies R4000-series processors other than 4300, including
1158           the R4000, R4400, R4600, and 4700.
1159
1160 config CPU_TX49XX
1161         bool "R49XX"
1162         depends on SYS_HAS_CPU_TX49XX
1163         select CPU_HAS_LLSC
1164         select CPU_HAS_PREFETCH
1165         select CPU_SUPPORTS_32BIT_KERNEL
1166         select CPU_SUPPORTS_64BIT_KERNEL
1167
1168 config CPU_R5000
1169         bool "R5000"
1170         depends on SYS_HAS_CPU_R5000
1171         select CPU_HAS_LLSC
1172         select CPU_SUPPORTS_32BIT_KERNEL
1173         select CPU_SUPPORTS_64BIT_KERNEL
1174         help
1175           MIPS Technologies R5000-series processors other than the Nevada.
1176
1177 config CPU_R5432
1178         bool "R5432"
1179         depends on SYS_HAS_CPU_R5432
1180         select CPU_HAS_LLSC
1181         select CPU_SUPPORTS_32BIT_KERNEL
1182         select CPU_SUPPORTS_64BIT_KERNEL
1183
1184 config CPU_R5500
1185         bool "R5500"
1186         depends on SYS_HAS_CPU_R5500
1187         select CPU_HAS_LLSC
1188         select CPU_SUPPORTS_32BIT_KERNEL
1189         select CPU_SUPPORTS_64BIT_KERNEL
1190         select CPU_SUPPORTS_HUGEPAGES
1191         help
1192           NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1193           instruction set.
1194
1195 config CPU_R6000
1196         bool "R6000"
1197         depends on EXPERIMENTAL
1198         select CPU_HAS_LLSC
1199         depends on SYS_HAS_CPU_R6000
1200         select CPU_SUPPORTS_32BIT_KERNEL
1201         help
1202           MIPS Technologies R6000 and R6000A series processors.  Note these
1203           processors are extremely rare and the support for them is incomplete.
1204
1205 config CPU_NEVADA
1206         bool "RM52xx"
1207         depends on SYS_HAS_CPU_NEVADA
1208         select CPU_HAS_LLSC
1209         select CPU_SUPPORTS_32BIT_KERNEL
1210         select CPU_SUPPORTS_64BIT_KERNEL
1211         help
1212           QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1213
1214 config CPU_R8000
1215         bool "R8000"
1216         depends on EXPERIMENTAL
1217         depends on SYS_HAS_CPU_R8000
1218         select CPU_HAS_LLSC
1219         select CPU_HAS_PREFETCH
1220         select CPU_SUPPORTS_64BIT_KERNEL
1221         help
1222           MIPS Technologies R8000 processors.  Note these processors are
1223           uncommon and the support for them is incomplete.
1224
1225 config CPU_R10000
1226         bool "R10000"
1227         depends on SYS_HAS_CPU_R10000
1228         select CPU_HAS_LLSC
1229         select CPU_HAS_PREFETCH
1230         select CPU_SUPPORTS_32BIT_KERNEL
1231         select CPU_SUPPORTS_64BIT_KERNEL
1232         select CPU_SUPPORTS_HIGHMEM
1233         help
1234           MIPS Technologies R10000-series processors.
1235
1236 config CPU_RM7000
1237         bool "RM7000"
1238         depends on SYS_HAS_CPU_RM7000
1239         select CPU_HAS_LLSC
1240         select CPU_HAS_PREFETCH
1241         select CPU_SUPPORTS_32BIT_KERNEL
1242         select CPU_SUPPORTS_64BIT_KERNEL
1243         select CPU_SUPPORTS_HIGHMEM
1244
1245 config CPU_RM9000
1246         bool "RM9000"
1247         depends on SYS_HAS_CPU_RM9000
1248         select CPU_HAS_LLSC
1249         select CPU_HAS_PREFETCH
1250         select CPU_SUPPORTS_32BIT_KERNEL
1251         select CPU_SUPPORTS_64BIT_KERNEL
1252         select CPU_SUPPORTS_HIGHMEM
1253         select WEAK_ORDERING
1254
1255 config CPU_SB1
1256         bool "SB1"
1257         depends on SYS_HAS_CPU_SB1
1258         select CPU_HAS_LLSC
1259         select CPU_SUPPORTS_32BIT_KERNEL
1260         select CPU_SUPPORTS_64BIT_KERNEL
1261         select CPU_SUPPORTS_HIGHMEM
1262         select WEAK_ORDERING
1263
1264 config CPU_CAVIUM_OCTEON
1265         bool "Cavium Octeon processor"
1266         depends on SYS_HAS_CPU_CAVIUM_OCTEON
1267         select IRQ_CPU
1268         select IRQ_CPU_OCTEON
1269         select CPU_HAS_PREFETCH
1270         select CPU_SUPPORTS_64BIT_KERNEL
1271         select SYS_SUPPORTS_SMP
1272         select NR_CPUS_DEFAULT_16
1273         select WEAK_ORDERING
1274         select WEAK_REORDERING_BEYOND_LLSC
1275         select CPU_SUPPORTS_HIGHMEM
1276         select CPU_SUPPORTS_HUGEPAGES
1277         help
1278           The Cavium Octeon processor is a highly integrated chip containing
1279           many ethernet hardware widgets for networking tasks. The processor
1280           can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1281           Full details can be found at http://www.caviumnetworks.com.
1282
1283 endchoice
1284
1285 config SYS_HAS_CPU_LOONGSON2
1286         bool
1287
1288 config SYS_HAS_CPU_MIPS32_R1
1289         bool
1290
1291 config SYS_HAS_CPU_MIPS32_R2
1292         bool
1293
1294 config SYS_HAS_CPU_MIPS64_R1
1295         bool
1296
1297 config SYS_HAS_CPU_MIPS64_R2
1298         bool
1299
1300 config SYS_HAS_CPU_R3000
1301         bool
1302
1303 config SYS_HAS_CPU_TX39XX
1304         bool
1305
1306 config SYS_HAS_CPU_VR41XX
1307         bool
1308
1309 config SYS_HAS_CPU_R4300
1310         bool
1311
1312 config SYS_HAS_CPU_R4X00
1313         bool
1314
1315 config SYS_HAS_CPU_TX49XX
1316         bool
1317
1318 config SYS_HAS_CPU_R5000
1319         bool
1320
1321 config SYS_HAS_CPU_R5432
1322         bool
1323
1324 config SYS_HAS_CPU_R5500
1325         bool
1326
1327 config SYS_HAS_CPU_R6000
1328         bool
1329
1330 config SYS_HAS_CPU_NEVADA
1331         bool
1332
1333 config SYS_HAS_CPU_R8000
1334         bool
1335
1336 config SYS_HAS_CPU_R10000
1337         bool
1338
1339 config SYS_HAS_CPU_RM7000
1340         bool
1341
1342 config SYS_HAS_CPU_RM9000
1343         bool
1344
1345 config SYS_HAS_CPU_SB1
1346         bool
1347
1348 config SYS_HAS_CPU_CAVIUM_OCTEON
1349         bool
1350
1351 #
1352 # CPU may reorder R->R, R->W, W->R, W->W
1353 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1354 #
1355 config WEAK_ORDERING
1356         bool
1357
1358 #
1359 # CPU may reorder reads and writes beyond LL/SC
1360 # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1361 #
1362 config WEAK_REORDERING_BEYOND_LLSC
1363         bool
1364 endmenu
1365
1366 #
1367 # These two indicate any level of the MIPS32 and MIPS64 architecture
1368 #
1369 config CPU_MIPS32
1370         bool
1371         default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1372
1373 config CPU_MIPS64
1374         bool
1375         default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1376
1377 #
1378 # These two indicate the revision of the architecture, either Release 1 or Release 2
1379 #
1380 config CPU_MIPSR1
1381         bool
1382         default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1383
1384 config CPU_MIPSR2
1385         bool
1386         default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1387
1388 config SYS_SUPPORTS_32BIT_KERNEL
1389         bool
1390 config SYS_SUPPORTS_64BIT_KERNEL
1391         bool
1392 config CPU_SUPPORTS_32BIT_KERNEL
1393         bool
1394 config CPU_SUPPORTS_64BIT_KERNEL
1395         bool
1396 config CPU_SUPPORTS_HUGEPAGES
1397         bool
1398
1399 #
1400 # Set to y for ptrace access to watch registers.
1401 #
1402 config HARDWARE_WATCHPOINTS
1403        bool
1404        default y if CPU_MIPSR1 || CPU_MIPSR2
1405
1406 menu "Kernel type"
1407
1408 choice
1409
1410         prompt "Kernel code model"
1411         help
1412           You should only select this option if you have a workload that
1413           actually benefits from 64-bit processing or if your machine has
1414           large memory.  You will only be presented a single option in this
1415           menu if your system does not support both 32-bit and 64-bit kernels.
1416
1417 config 32BIT
1418         bool "32-bit kernel"
1419         depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1420         select TRAD_SIGNALS
1421         help
1422           Select this option if you want to build a 32-bit kernel.
1423 config 64BIT
1424         bool "64-bit kernel"
1425         depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1426         select HAVE_SYSCALL_WRAPPERS
1427         help
1428           Select this option if you want to build a 64-bit kernel.
1429
1430 endchoice
1431
1432 choice
1433         prompt "Kernel page size"
1434         default PAGE_SIZE_4KB
1435
1436 config PAGE_SIZE_4KB
1437         bool "4kB"
1438         help
1439          This option select the standard 4kB Linux page size.  On some
1440          R3000-family processors this is the only available page size.  Using
1441          4kB page size will minimize memory consumption and is therefore
1442          recommended for low memory systems.
1443
1444 config PAGE_SIZE_8KB
1445         bool "8kB"
1446         depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
1447         help
1448           Using 8kB page size will result in higher performance kernel at
1449           the price of higher memory consumption.  This option is available
1450           only on R8000 and cnMIPS processors.  Note that you will need a
1451           suitable Linux distribution to support this.
1452
1453 config PAGE_SIZE_16KB
1454         bool "16kB"
1455         depends on !CPU_R3000 && !CPU_TX39XX
1456         help
1457           Using 16kB page size will result in higher performance kernel at
1458           the price of higher memory consumption.  This option is available on
1459           all non-R3000 family processors.  Note that you will need a suitable
1460           Linux distribution to support this.
1461
1462 config PAGE_SIZE_32KB
1463         bool "32kB"
1464         depends on CPU_CAVIUM_OCTEON
1465         help
1466           Using 32kB page size will result in higher performance kernel at
1467           the price of higher memory consumption.  This option is available
1468           only on cnMIPS cores.  Note that you will need a suitable Linux
1469           distribution to support this.
1470
1471 config PAGE_SIZE_64KB
1472         bool "64kB"
1473         depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1474         help
1475           Using 64kB page size will result in higher performance kernel at
1476           the price of higher memory consumption.  This option is available on
1477           all non-R3000 family processor.  Not that at the time of this
1478           writing this option is still high experimental.
1479
1480 endchoice
1481
1482 config BOARD_SCACHE
1483         bool
1484
1485 config IP22_CPU_SCACHE
1486         bool
1487         select BOARD_SCACHE
1488
1489 #
1490 # Support for a MIPS32 / MIPS64 style S-caches
1491 #
1492 config MIPS_CPU_SCACHE
1493         bool
1494         select BOARD_SCACHE
1495
1496 config R5000_CPU_SCACHE
1497         bool
1498         select BOARD_SCACHE
1499
1500 config RM7000_CPU_SCACHE
1501         bool
1502         select BOARD_SCACHE
1503
1504 config SIBYTE_DMA_PAGEOPS
1505         bool "Use DMA to clear/copy pages"
1506         depends on CPU_SB1
1507         help
1508           Instead of using the CPU to zero and copy pages, use a Data Mover
1509           channel.  These DMA channels are otherwise unused by the standard
1510           SiByte Linux port.  Seems to give a small performance benefit.
1511
1512 config CPU_HAS_PREFETCH
1513         bool
1514
1515 choice
1516         prompt "MIPS MT options"
1517
1518 config MIPS_MT_DISABLED
1519         bool "Disable multithreading support."
1520         help
1521           Use this option if your workload can't take advantage of
1522           MIPS hardware multithreading support.  On systems that don't have
1523           the option of an MT-enabled processor this option will be the only
1524           option in this menu.
1525
1526 config MIPS_MT_SMP
1527         bool "Use 1 TC on each available VPE for SMP"
1528         depends on SYS_SUPPORTS_MULTITHREADING
1529         select CPU_MIPSR2_IRQ_VI
1530         select CPU_MIPSR2_IRQ_EI
1531         select MIPS_MT
1532         select NR_CPUS_DEFAULT_2
1533         select SMP
1534         select SYS_SUPPORTS_SCHED_SMT if SMP
1535         select SYS_SUPPORTS_SMP
1536         select SMP_UP
1537         help
1538           This is a kernel model which is also known a VSMP or lately
1539           has been marketesed into SMVP.
1540
1541 config MIPS_MT_SMTC
1542         bool "SMTC: Use all TCs on all VPEs for SMP"
1543         depends on CPU_MIPS32_R2
1544         #depends on CPU_MIPS64_R2               # once there is hardware ...
1545         depends on SYS_SUPPORTS_MULTITHREADING
1546         select CPU_MIPSR2_IRQ_VI
1547         select CPU_MIPSR2_IRQ_EI
1548         select MIPS_MT
1549         select NR_CPUS_DEFAULT_8
1550         select SMP
1551         select SYS_SUPPORTS_SMP
1552         select SMP_UP
1553         help
1554           This is a kernel model which is known a SMTC or lately has been
1555           marketesed into SMVP.
1556
1557 endchoice
1558
1559 config MIPS_MT
1560         bool
1561
1562 config SCHED_SMT
1563         bool "SMT (multithreading) scheduler support"
1564         depends on SYS_SUPPORTS_SCHED_SMT
1565         default n
1566         help
1567           SMT scheduler support improves the CPU scheduler's decision making
1568           when dealing with MIPS MT enabled cores at a cost of slightly
1569           increased overhead in some places. If unsure say N here.
1570
1571 config SYS_SUPPORTS_SCHED_SMT
1572         bool
1573
1574
1575 config SYS_SUPPORTS_MULTITHREADING
1576         bool
1577
1578 config MIPS_MT_FPAFF
1579         bool "Dynamic FPU affinity for FP-intensive threads"
1580         default y
1581         depends on MIPS_MT_SMP || MIPS_MT_SMTC
1582
1583 config MIPS_VPE_LOADER
1584         bool "VPE loader support."
1585         depends on SYS_SUPPORTS_MULTITHREADING
1586         select CPU_MIPSR2_IRQ_VI
1587         select CPU_MIPSR2_IRQ_EI
1588         select MIPS_MT
1589         help
1590           Includes a loader for loading an elf relocatable object
1591           onto another VPE and running it.
1592
1593 config MIPS_MT_SMTC_IM_BACKSTOP
1594         bool "Use per-TC register bits as backstop for inhibited IM bits"
1595         depends on MIPS_MT_SMTC
1596         default n
1597         help
1598           To support multiple TC microthreads acting as "CPUs" within
1599           a VPE, VPE-wide interrupt mask bits must be specially manipulated
1600           during interrupt handling. To support legacy drivers and interrupt
1601           controller management code, SMTC has a "backstop" to track and
1602           if necessary restore the interrupt mask. This has some performance
1603           impact on interrupt service overhead.
1604
1605 config MIPS_MT_SMTC_IRQAFF
1606         bool "Support IRQ affinity API"
1607         depends on MIPS_MT_SMTC
1608         default n
1609         help
1610           Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1611           for SMTC Linux kernel. Requires platform support, of which
1612           an example can be found in the MIPS kernel i8259 and Malta
1613           platform code.  Adds some overhead to interrupt dispatch, and
1614           should be used only if you know what you are doing.
1615
1616 config MIPS_VPE_LOADER_TOM
1617         bool "Load VPE program into memory hidden from linux"
1618         depends on MIPS_VPE_LOADER
1619         default y
1620         help
1621           The loader can use memory that is present but has been hidden from
1622           Linux using the kernel command line option "mem=xxMB". It's up to
1623           you to ensure the amount you put in the option and the space your
1624           program requires is less or equal to the amount physically present.
1625
1626 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1627 config MIPS_VPE_APSP_API
1628         bool "Enable support for AP/SP API (RTLX)"
1629         depends on MIPS_VPE_LOADER
1630         help
1631
1632 config MIPS_APSP_KSPD
1633         bool "Enable KSPD"
1634         depends on MIPS_VPE_APSP_API
1635         default y
1636         help
1637           KSPD is a kernel daemon that accepts syscall requests from the SP
1638           side, actions them and returns the results. It also handles the
1639           "exit" syscall notifying other kernel modules the SP program is
1640           exiting.  You probably want to say yes here.
1641
1642 config MIPS_CMP
1643         bool "MIPS CMP framework support"
1644         depends on SYS_SUPPORTS_MIPS_CMP
1645         select SYNC_R4K
1646         select SYS_SUPPORTS_SMP
1647         select SYS_SUPPORTS_SCHED_SMT if SMP
1648         select WEAK_ORDERING
1649         default n
1650         help
1651           This is a placeholder option for the GCMP work. It will need to
1652           be handled differently...
1653
1654 config SB1_PASS_1_WORKAROUNDS
1655         bool
1656         depends on CPU_SB1_PASS_1
1657         default y
1658
1659 config SB1_PASS_2_WORKAROUNDS
1660         bool
1661         depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1662         default y
1663
1664 config SB1_PASS_2_1_WORKAROUNDS
1665         bool
1666         depends on CPU_SB1 && CPU_SB1_PASS_2
1667         default y
1668
1669 config 64BIT_PHYS_ADDR
1670         bool
1671
1672 config CPU_HAS_LLSC
1673         bool
1674
1675 config CPU_HAS_SMARTMIPS
1676         depends on SYS_SUPPORTS_SMARTMIPS
1677         bool "Support for the SmartMIPS ASE"
1678         help
1679           SmartMIPS is a extension of the MIPS32 architecture aimed at
1680           increased security at both hardware and software level for
1681           smartcards.  Enabling this option will allow proper use of the
1682           SmartMIPS instructions by Linux applications.  However a kernel with
1683           this option will not work on a MIPS core without SmartMIPS core.  If
1684           you don't know you probably don't have SmartMIPS and should say N
1685           here.
1686
1687 config CPU_HAS_WB
1688         bool
1689
1690 #
1691 # Vectored interrupt mode is an R2 feature
1692 #
1693 config CPU_MIPSR2_IRQ_VI
1694         bool
1695
1696 #
1697 # Extended interrupt mode is an R2 feature
1698 #
1699 config CPU_MIPSR2_IRQ_EI
1700         bool
1701
1702 config CPU_HAS_SYNC
1703         bool
1704         depends on !CPU_R3000
1705         default y
1706
1707 config GENERIC_CLOCKEVENTS_BROADCAST
1708         bool
1709
1710 #
1711 # CPU non-features
1712 #
1713 config CPU_DADDI_WORKAROUNDS
1714         bool
1715
1716 config CPU_R4000_WORKAROUNDS
1717         bool
1718         select CPU_R4400_WORKAROUNDS
1719
1720 config CPU_R4400_WORKAROUNDS
1721         bool
1722
1723 #
1724 # Use the generic interrupt handling code in kernel/irq/:
1725 #
1726 config GENERIC_HARDIRQS
1727         bool
1728         default y
1729
1730 config GENERIC_IRQ_PROBE
1731         bool
1732         default y
1733
1734 config IRQ_PER_CPU
1735         bool
1736
1737 #
1738 # - Highmem only makes sense for the 32-bit kernel.
1739 # - The current highmem code will only work properly on physically indexed
1740 #   caches such as R3000, SB1, R7000 or those that look like they're virtually
1741 #   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
1742 #   moment we protect the user and offer the highmem option only on machines
1743 #   where it's known to be safe.  This will not offer highmem on a few systems
1744 #   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1745 #   indexed CPUs but we're playing safe.
1746 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1747 #   know they might have memory configurations that could make use of highmem
1748 #   support.
1749 #
1750 config HIGHMEM
1751         bool "High Memory Support"
1752         depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1753
1754 config CPU_SUPPORTS_HIGHMEM
1755         bool
1756
1757 config SYS_SUPPORTS_HIGHMEM
1758         bool
1759
1760 config SYS_SUPPORTS_SMARTMIPS
1761         bool
1762
1763 config ARCH_FLATMEM_ENABLE
1764         def_bool y
1765         depends on !NUMA
1766
1767 config ARCH_DISCONTIGMEM_ENABLE
1768         bool
1769         default y if SGI_IP27
1770         help
1771           Say Y to support efficient handling of discontiguous physical memory,
1772           for architectures which are either NUMA (Non-Uniform Memory Access)
1773           or have huge holes in the physical address space for other reasons.
1774           See <file:Documentation/vm/numa> for more.
1775
1776 config ARCH_POPULATES_NODE_MAP
1777         def_bool y
1778
1779 config ARCH_SPARSEMEM_ENABLE
1780         bool
1781         select SPARSEMEM_STATIC
1782
1783 config NUMA
1784         bool "NUMA Support"
1785         depends on SYS_SUPPORTS_NUMA
1786         help
1787           Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1788           Access).  This option improves performance on systems with more
1789           than two nodes; on two node systems it is generally better to
1790           leave it disabled; on single node systems disable this option
1791           disabled.
1792
1793 config SYS_SUPPORTS_NUMA
1794         bool
1795
1796 config NODES_SHIFT
1797         int
1798         default "6"
1799         depends on NEED_MULTIPLE_NODES
1800
1801 source "mm/Kconfig"
1802
1803 config SMP
1804         bool "Multi-Processing support"
1805         depends on SYS_SUPPORTS_SMP
1806         select IRQ_PER_CPU
1807         select USE_GENERIC_SMP_HELPERS
1808         help
1809           This enables support for systems with more than one CPU. If you have
1810           a system with only one CPU, like most personal computers, say N. If
1811           you have a system with more than one CPU, say Y.
1812
1813           If you say N here, the kernel will run on single and multiprocessor
1814           machines, but will use only one CPU of a multiprocessor machine. If
1815           you say Y here, the kernel will run on many, but not all,
1816           singleprocessor machines. On a singleprocessor machine, the kernel
1817           will run faster if you say N here.
1818
1819           People using multiprocessor machines who say Y here should also say
1820           Y to "Enhanced Real Time Clock Support", below.
1821
1822           See also the SMP-HOWTO available at
1823           <http://www.tldp.org/docs.html#howto>.
1824
1825           If you don't know what to do here, say N.
1826
1827 config SMP_UP
1828         bool
1829
1830 config SYS_SUPPORTS_MIPS_CMP
1831         bool
1832
1833 config SYS_SUPPORTS_SMP
1834         bool
1835
1836 config NR_CPUS_DEFAULT_1
1837         bool
1838
1839 config NR_CPUS_DEFAULT_2
1840         bool
1841
1842 config NR_CPUS_DEFAULT_4
1843         bool
1844
1845 config NR_CPUS_DEFAULT_8
1846         bool
1847
1848 config NR_CPUS_DEFAULT_16
1849         bool
1850
1851 config NR_CPUS_DEFAULT_32
1852         bool
1853
1854 config NR_CPUS_DEFAULT_64
1855         bool
1856
1857 config NR_CPUS
1858         int "Maximum number of CPUs (2-64)"
1859         range 1 64 if NR_CPUS_DEFAULT_1
1860         depends on SMP
1861         default "1" if NR_CPUS_DEFAULT_1
1862         default "2" if NR_CPUS_DEFAULT_2
1863         default "4" if NR_CPUS_DEFAULT_4
1864         default "8" if NR_CPUS_DEFAULT_8
1865         default "16" if NR_CPUS_DEFAULT_16
1866         default "32" if NR_CPUS_DEFAULT_32
1867         default "64" if NR_CPUS_DEFAULT_64
1868         help
1869           This allows you to specify the maximum number of CPUs which this
1870           kernel will support.  The maximum supported value is 32 for 32-bit
1871           kernel and 64 for 64-bit kernels; the minimum value which makes
1872           sense is 1 for Qemu (useful only for kernel debugging purposes)
1873           and 2 for all others.
1874
1875           This is purely to save memory - each supported CPU adds
1876           approximately eight kilobytes to the kernel image.  For best
1877           performance should round up your number of processors to the next
1878           power of two.
1879
1880 source "kernel/time/Kconfig"
1881
1882 #
1883 # Timer Interrupt Frequency Configuration
1884 #
1885
1886 choice
1887         prompt "Timer frequency"
1888         default HZ_250
1889         help
1890          Allows the configuration of the timer frequency.
1891
1892         config HZ_48
1893                 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
1894
1895         config HZ_100
1896                 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1897
1898         config HZ_128
1899                 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1900
1901         config HZ_250
1902                 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1903
1904         config HZ_256
1905                 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1906
1907         config HZ_1000
1908                 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1909
1910         config HZ_1024
1911                 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1912
1913 endchoice
1914
1915 config SYS_SUPPORTS_48HZ
1916         bool
1917
1918 config SYS_SUPPORTS_100HZ
1919         bool
1920
1921 config SYS_SUPPORTS_128HZ
1922         bool
1923
1924 config SYS_SUPPORTS_250HZ
1925         bool
1926
1927 config SYS_SUPPORTS_256HZ
1928         bool
1929
1930 config SYS_SUPPORTS_1000HZ
1931         bool
1932
1933 config SYS_SUPPORTS_1024HZ
1934         bool
1935
1936 config SYS_SUPPORTS_ARBIT_HZ
1937         bool
1938         default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1939                      !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1940                      !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1941                      !SYS_SUPPORTS_1024HZ
1942
1943 config HZ
1944         int
1945         default 48 if HZ_48
1946         default 100 if HZ_100
1947         default 128 if HZ_128
1948         default 250 if HZ_250
1949         default 256 if HZ_256
1950         default 1000 if HZ_1000
1951         default 1024 if HZ_1024
1952
1953 source "kernel/Kconfig.preempt"
1954
1955 config MIPS_INSANE_LARGE
1956         bool "Support for large 64-bit configurations"
1957         depends on CPU_R10000 && 64BIT
1958         help
1959           MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1960           previous 64-bit processors which only supported 40 bit / 1TB. If you
1961           need processes of more than 1TB virtual address space, say Y here.
1962           This will result in additional memory usage, so it is not
1963           recommended for normal users.
1964
1965 config KEXEC
1966         bool "Kexec system call (EXPERIMENTAL)"
1967         depends on EXPERIMENTAL
1968         help
1969           kexec is a system call that implements the ability to shutdown your
1970           current kernel, and to start another kernel.  It is like a reboot
1971           but it is independent of the system firmware.   And like a reboot
1972           you can start any kernel with it, not just Linux.
1973
1974           The name comes from the similarity to the exec system call.
1975
1976           It is an ongoing process to be certain the hardware in a machine
1977           is properly shutdown, so do not be surprised if this code does not
1978           initially work for you.  It may help to enable device hotplugging
1979           support.  As of this writing the exact hardware interface is
1980           strongly in flux, so no good recommendation can be made.
1981
1982 config SECCOMP
1983         bool "Enable seccomp to safely compute untrusted bytecode"
1984         depends on PROC_FS
1985         default y
1986         help
1987           This kernel feature is useful for number crunching applications
1988           that may need to compute untrusted bytecode during their
1989           execution. By using pipes or other transports made available to
1990           the process as file descriptors supporting the read/write
1991           syscalls, it's possible to isolate those applications in
1992           their own address space using seccomp. Once seccomp is
1993           enabled via /proc/<pid>/seccomp, it cannot be disabled
1994           and the task is only allowed to execute a few safe syscalls
1995           defined by each seccomp mode.
1996
1997           If unsure, say Y. Only embedded should say N here.
1998
1999 endmenu
2000
2001 config LOCKDEP_SUPPORT
2002         bool
2003         default y
2004
2005 config STACKTRACE_SUPPORT
2006         bool
2007         default y
2008
2009 source "init/Kconfig"
2010
2011 config PROBE_INITRD_HEADER
2012         bool "Probe initrd header created by addinitrd"
2013         depends on BLK_DEV_INITRD
2014         help
2015           Probe initrd header at the last page of kernel image.
2016           Say Y here if you are using arch/mips/boot/addinitrd.c to
2017           add initrd or initramfs image to the kernel image.
2018           Otherwise, say N.
2019
2020 source "kernel/Kconfig.freezer"
2021
2022 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2023
2024 config HW_HAS_EISA
2025         bool
2026 config HW_HAS_PCI
2027         bool
2028
2029 config PCI
2030         bool "Support for PCI controller"
2031         depends on HW_HAS_PCI
2032         select PCI_DOMAINS
2033         help
2034           Find out whether you have a PCI motherboard. PCI is the name of a
2035           bus system, i.e. the way the CPU talks to the other stuff inside
2036           your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2037           say Y, otherwise N.
2038
2039 config PCI_DOMAINS
2040         bool
2041
2042 source "drivers/pci/Kconfig"
2043
2044 #
2045 # ISA support is now enabled via select.  Too many systems still have the one
2046 # or other ISA chip on the board that users don't know about so don't expect
2047 # users to choose the right thing ...
2048 #
2049 config ISA
2050         bool
2051
2052 config EISA
2053         bool "EISA support"
2054         depends on HW_HAS_EISA
2055         select ISA
2056         select GENERIC_ISA_DMA
2057         ---help---
2058           The Extended Industry Standard Architecture (EISA) bus was
2059           developed as an open alternative to the IBM MicroChannel bus.
2060
2061           The EISA bus provided some of the features of the IBM MicroChannel
2062           bus while maintaining backward compatibility with cards made for
2063           the older ISA bus.  The EISA bus saw limited use between 1988 and
2064           1995 when it was made obsolete by the PCI bus.
2065
2066           Say Y here if you are building a kernel for an EISA-based machine.
2067
2068           Otherwise, say N.
2069
2070 source "drivers/eisa/Kconfig"
2071
2072 config TC
2073         bool "TURBOchannel support"
2074         depends on MACH_DECSTATION
2075         help
2076           TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2077           processors.  Documentation on writing device drivers for TurboChannel
2078           is available at:
2079           <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
2080
2081 #config ACCESSBUS
2082 #       bool "Access.Bus support"
2083 #       depends on TC
2084
2085 config MMU
2086         bool
2087         default y
2088
2089 config I8253
2090         bool
2091
2092 config ZONE_DMA32
2093         bool
2094
2095 source "drivers/pcmcia/Kconfig"
2096
2097 source "drivers/pci/hotplug/Kconfig"
2098
2099 endmenu
2100
2101 menu "Executable file formats"
2102
2103 source "fs/Kconfig.binfmt"
2104
2105 config TRAD_SIGNALS
2106         bool
2107
2108 config MIPS32_COMPAT
2109         bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2110         depends on 64BIT
2111         help
2112           Select this option if you want Linux/MIPS 32-bit binary
2113           compatibility. Since all software available for Linux/MIPS is
2114           currently 32-bit you should say Y here.
2115
2116 config COMPAT
2117         bool
2118         depends on MIPS32_COMPAT
2119         default y
2120
2121 config SYSVIPC_COMPAT
2122         bool
2123         depends on COMPAT && SYSVIPC
2124         default y
2125
2126 config MIPS32_O32
2127         bool "Kernel support for o32 binaries"
2128         depends on MIPS32_COMPAT
2129         help
2130           Select this option if you want to run o32 binaries.  These are pure
2131           32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
2132           existing binaries are in this format.
2133
2134           If unsure, say Y.
2135
2136 config MIPS32_N32
2137         bool "Kernel support for n32 binaries"
2138         depends on MIPS32_COMPAT
2139         help
2140           Select this option if you want to run n32 binaries.  These are
2141           64-bit binaries using 32-bit quantities for addressing and certain
2142           data that would normally be 64-bit.  They are used in special
2143           cases.
2144
2145           If unsure, say N.
2146
2147 config BINFMT_ELF32
2148         bool
2149         default y if MIPS32_O32 || MIPS32_N32
2150
2151 endmenu
2152
2153 menu "Power management options"
2154
2155 config ARCH_HIBERNATION_POSSIBLE
2156         def_bool y
2157         depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2158
2159 config ARCH_SUSPEND_POSSIBLE
2160         def_bool y
2161         depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2162
2163 source "kernel/power/Kconfig"
2164
2165 endmenu
2166
2167 source "net/Kconfig"
2168
2169 source "drivers/Kconfig"
2170
2171 source "fs/Kconfig"
2172
2173 source "arch/mips/Kconfig.debug"
2174
2175 source "security/Kconfig"
2176
2177 source "crypto/Kconfig"
2178
2179 source "lib/Kconfig"