]> git.karo-electronics.de Git - mv-sheeva.git/blob - arch/mips/Kconfig
MIPS: Loongson: Add GCC 4.4 support for Loongson2E
[mv-sheeva.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_LOONGSON2E
1034         bool "Loongson 2E"
1035         depends on SYS_HAS_CPU_LOONGSON2E
1036         select CPU_LOONGSON2
1037         help
1038           The Loongson 2E processor implements the MIPS III instruction set
1039           with many extensions.
1040
1041 config CPU_MIPS32_R1
1042         bool "MIPS32 Release 1"
1043         depends on SYS_HAS_CPU_MIPS32_R1
1044         select CPU_HAS_LLSC
1045         select CPU_HAS_PREFETCH
1046         select CPU_SUPPORTS_32BIT_KERNEL
1047         select CPU_SUPPORTS_HIGHMEM
1048         help
1049           Choose this option to build a kernel for release 1 or later of the
1050           MIPS32 architecture.  Most modern embedded systems with a 32-bit
1051           MIPS processor are based on a MIPS32 processor.  If you know the
1052           specific type of processor in your system, choose those that one
1053           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1054           Release 2 of the MIPS32 architecture is available since several
1055           years so chances are you even have a MIPS32 Release 2 processor
1056           in which case you should choose CPU_MIPS32_R2 instead for better
1057           performance.
1058
1059 config CPU_MIPS32_R2
1060         bool "MIPS32 Release 2"
1061         depends on SYS_HAS_CPU_MIPS32_R2
1062         select CPU_HAS_LLSC
1063         select CPU_HAS_PREFETCH
1064         select CPU_SUPPORTS_32BIT_KERNEL
1065         select CPU_SUPPORTS_HIGHMEM
1066         help
1067           Choose this option to build a kernel for release 2 or later of the
1068           MIPS32 architecture.  Most modern embedded systems with a 32-bit
1069           MIPS processor are based on a MIPS32 processor.  If you know the
1070           specific type of processor in your system, choose those that one
1071           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1072
1073 config CPU_MIPS64_R1
1074         bool "MIPS64 Release 1"
1075         depends on SYS_HAS_CPU_MIPS64_R1
1076         select CPU_HAS_LLSC
1077         select CPU_HAS_PREFETCH
1078         select CPU_SUPPORTS_32BIT_KERNEL
1079         select CPU_SUPPORTS_64BIT_KERNEL
1080         select CPU_SUPPORTS_HIGHMEM
1081         select CPU_SUPPORTS_HUGEPAGES
1082         help
1083           Choose this option to build a kernel for release 1 or later of the
1084           MIPS64 architecture.  Many modern embedded systems with a 64-bit
1085           MIPS processor are based on a MIPS64 processor.  If you know the
1086           specific type of processor in your system, choose those that one
1087           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1088           Release 2 of the MIPS64 architecture is available since several
1089           years so chances are you even have a MIPS64 Release 2 processor
1090           in which case you should choose CPU_MIPS64_R2 instead for better
1091           performance.
1092
1093 config CPU_MIPS64_R2
1094         bool "MIPS64 Release 2"
1095         depends on SYS_HAS_CPU_MIPS64_R2
1096         select CPU_HAS_LLSC
1097         select CPU_HAS_PREFETCH
1098         select CPU_SUPPORTS_32BIT_KERNEL
1099         select CPU_SUPPORTS_64BIT_KERNEL
1100         select CPU_SUPPORTS_HIGHMEM
1101         select CPU_SUPPORTS_HUGEPAGES
1102         help
1103           Choose this option to build a kernel for release 2 or later of the
1104           MIPS64 architecture.  Many modern embedded systems with a 64-bit
1105           MIPS processor are based on a MIPS64 processor.  If you know the
1106           specific type of processor in your system, choose those that one
1107           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1108
1109 config CPU_R3000
1110         bool "R3000"
1111         depends on SYS_HAS_CPU_R3000
1112         select CPU_HAS_WB
1113         select CPU_SUPPORTS_32BIT_KERNEL
1114         select CPU_SUPPORTS_HIGHMEM
1115         help
1116           Please make sure to pick the right CPU type. Linux/MIPS is not
1117           designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1118           *not* work on R4000 machines and vice versa.  However, since most
1119           of the supported machines have an R4000 (or similar) CPU, R4x00
1120           might be a safe bet.  If the resulting kernel does not work,
1121           try to recompile with R3000.
1122
1123 config CPU_TX39XX
1124         bool "R39XX"
1125         depends on SYS_HAS_CPU_TX39XX
1126         select CPU_SUPPORTS_32BIT_KERNEL
1127
1128 config CPU_VR41XX
1129         bool "R41xx"
1130         depends on SYS_HAS_CPU_VR41XX
1131         select CPU_SUPPORTS_32BIT_KERNEL
1132         select CPU_SUPPORTS_64BIT_KERNEL
1133         help
1134           The options selects support for the NEC VR4100 series of processors.
1135           Only choose this option if you have one of these processors as a
1136           kernel built with this option will not run on any other type of
1137           processor or vice versa.
1138
1139 config CPU_R4300
1140         bool "R4300"
1141         depends on SYS_HAS_CPU_R4300
1142         select CPU_HAS_LLSC
1143         select CPU_SUPPORTS_32BIT_KERNEL
1144         select CPU_SUPPORTS_64BIT_KERNEL
1145         help
1146           MIPS Technologies R4300-series processors.
1147
1148 config CPU_R4X00
1149         bool "R4x00"
1150         depends on SYS_HAS_CPU_R4X00
1151         select CPU_HAS_LLSC
1152         select CPU_SUPPORTS_32BIT_KERNEL
1153         select CPU_SUPPORTS_64BIT_KERNEL
1154         help
1155           MIPS Technologies R4000-series processors other than 4300, including
1156           the R4000, R4400, R4600, and 4700.
1157
1158 config CPU_TX49XX
1159         bool "R49XX"
1160         depends on SYS_HAS_CPU_TX49XX
1161         select CPU_HAS_LLSC
1162         select CPU_HAS_PREFETCH
1163         select CPU_SUPPORTS_32BIT_KERNEL
1164         select CPU_SUPPORTS_64BIT_KERNEL
1165
1166 config CPU_R5000
1167         bool "R5000"
1168         depends on SYS_HAS_CPU_R5000
1169         select CPU_HAS_LLSC
1170         select CPU_SUPPORTS_32BIT_KERNEL
1171         select CPU_SUPPORTS_64BIT_KERNEL
1172         help
1173           MIPS Technologies R5000-series processors other than the Nevada.
1174
1175 config CPU_R5432
1176         bool "R5432"
1177         depends on SYS_HAS_CPU_R5432
1178         select CPU_HAS_LLSC
1179         select CPU_SUPPORTS_32BIT_KERNEL
1180         select CPU_SUPPORTS_64BIT_KERNEL
1181
1182 config CPU_R5500
1183         bool "R5500"
1184         depends on SYS_HAS_CPU_R5500
1185         select CPU_HAS_LLSC
1186         select CPU_SUPPORTS_32BIT_KERNEL
1187         select CPU_SUPPORTS_64BIT_KERNEL
1188         select CPU_SUPPORTS_HUGEPAGES
1189         help
1190           NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1191           instruction set.
1192
1193 config CPU_R6000
1194         bool "R6000"
1195         depends on EXPERIMENTAL
1196         select CPU_HAS_LLSC
1197         depends on SYS_HAS_CPU_R6000
1198         select CPU_SUPPORTS_32BIT_KERNEL
1199         help
1200           MIPS Technologies R6000 and R6000A series processors.  Note these
1201           processors are extremely rare and the support for them is incomplete.
1202
1203 config CPU_NEVADA
1204         bool "RM52xx"
1205         depends on SYS_HAS_CPU_NEVADA
1206         select CPU_HAS_LLSC
1207         select CPU_SUPPORTS_32BIT_KERNEL
1208         select CPU_SUPPORTS_64BIT_KERNEL
1209         help
1210           QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1211
1212 config CPU_R8000
1213         bool "R8000"
1214         depends on EXPERIMENTAL
1215         depends on SYS_HAS_CPU_R8000
1216         select CPU_HAS_LLSC
1217         select CPU_HAS_PREFETCH
1218         select CPU_SUPPORTS_64BIT_KERNEL
1219         help
1220           MIPS Technologies R8000 processors.  Note these processors are
1221           uncommon and the support for them is incomplete.
1222
1223 config CPU_R10000
1224         bool "R10000"
1225         depends on SYS_HAS_CPU_R10000
1226         select CPU_HAS_LLSC
1227         select CPU_HAS_PREFETCH
1228         select CPU_SUPPORTS_32BIT_KERNEL
1229         select CPU_SUPPORTS_64BIT_KERNEL
1230         select CPU_SUPPORTS_HIGHMEM
1231         help
1232           MIPS Technologies R10000-series processors.
1233
1234 config CPU_RM7000
1235         bool "RM7000"
1236         depends on SYS_HAS_CPU_RM7000
1237         select CPU_HAS_LLSC
1238         select CPU_HAS_PREFETCH
1239         select CPU_SUPPORTS_32BIT_KERNEL
1240         select CPU_SUPPORTS_64BIT_KERNEL
1241         select CPU_SUPPORTS_HIGHMEM
1242
1243 config CPU_RM9000
1244         bool "RM9000"
1245         depends on SYS_HAS_CPU_RM9000
1246         select CPU_HAS_LLSC
1247         select CPU_HAS_PREFETCH
1248         select CPU_SUPPORTS_32BIT_KERNEL
1249         select CPU_SUPPORTS_64BIT_KERNEL
1250         select CPU_SUPPORTS_HIGHMEM
1251         select WEAK_ORDERING
1252
1253 config CPU_SB1
1254         bool "SB1"
1255         depends on SYS_HAS_CPU_SB1
1256         select CPU_HAS_LLSC
1257         select CPU_SUPPORTS_32BIT_KERNEL
1258         select CPU_SUPPORTS_64BIT_KERNEL
1259         select CPU_SUPPORTS_HIGHMEM
1260         select WEAK_ORDERING
1261
1262 config CPU_CAVIUM_OCTEON
1263         bool "Cavium Octeon processor"
1264         depends on SYS_HAS_CPU_CAVIUM_OCTEON
1265         select IRQ_CPU
1266         select IRQ_CPU_OCTEON
1267         select CPU_HAS_PREFETCH
1268         select CPU_SUPPORTS_64BIT_KERNEL
1269         select SYS_SUPPORTS_SMP
1270         select NR_CPUS_DEFAULT_16
1271         select WEAK_ORDERING
1272         select WEAK_REORDERING_BEYOND_LLSC
1273         select CPU_SUPPORTS_HIGHMEM
1274         select CPU_SUPPORTS_HUGEPAGES
1275         help
1276           The Cavium Octeon processor is a highly integrated chip containing
1277           many ethernet hardware widgets for networking tasks. The processor
1278           can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1279           Full details can be found at http://www.caviumnetworks.com.
1280
1281 endchoice
1282
1283 config CPU_LOONGSON2
1284         bool
1285         select CPU_SUPPORTS_32BIT_KERNEL
1286         select CPU_SUPPORTS_64BIT_KERNEL
1287         select CPU_SUPPORTS_HIGHMEM
1288
1289 config SYS_HAS_CPU_LOONGSON2E
1290         bool
1291
1292 config SYS_HAS_CPU_MIPS32_R1
1293         bool
1294
1295 config SYS_HAS_CPU_MIPS32_R2
1296         bool
1297
1298 config SYS_HAS_CPU_MIPS64_R1
1299         bool
1300
1301 config SYS_HAS_CPU_MIPS64_R2
1302         bool
1303
1304 config SYS_HAS_CPU_R3000
1305         bool
1306
1307 config SYS_HAS_CPU_TX39XX
1308         bool
1309
1310 config SYS_HAS_CPU_VR41XX
1311         bool
1312
1313 config SYS_HAS_CPU_R4300
1314         bool
1315
1316 config SYS_HAS_CPU_R4X00
1317         bool
1318
1319 config SYS_HAS_CPU_TX49XX
1320         bool
1321
1322 config SYS_HAS_CPU_R5000
1323         bool
1324
1325 config SYS_HAS_CPU_R5432
1326         bool
1327
1328 config SYS_HAS_CPU_R5500
1329         bool
1330
1331 config SYS_HAS_CPU_R6000
1332         bool
1333
1334 config SYS_HAS_CPU_NEVADA
1335         bool
1336
1337 config SYS_HAS_CPU_R8000
1338         bool
1339
1340 config SYS_HAS_CPU_R10000
1341         bool
1342
1343 config SYS_HAS_CPU_RM7000
1344         bool
1345
1346 config SYS_HAS_CPU_RM9000
1347         bool
1348
1349 config SYS_HAS_CPU_SB1
1350         bool
1351
1352 config SYS_HAS_CPU_CAVIUM_OCTEON
1353         bool
1354
1355 #
1356 # CPU may reorder R->R, R->W, W->R, W->W
1357 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1358 #
1359 config WEAK_ORDERING
1360         bool
1361
1362 #
1363 # CPU may reorder reads and writes beyond LL/SC
1364 # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1365 #
1366 config WEAK_REORDERING_BEYOND_LLSC
1367         bool
1368 endmenu
1369
1370 #
1371 # These two indicate any level of the MIPS32 and MIPS64 architecture
1372 #
1373 config CPU_MIPS32
1374         bool
1375         default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1376
1377 config CPU_MIPS64
1378         bool
1379         default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1380
1381 #
1382 # These two indicate the revision of the architecture, either Release 1 or Release 2
1383 #
1384 config CPU_MIPSR1
1385         bool
1386         default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1387
1388 config CPU_MIPSR2
1389         bool
1390         default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1391
1392 config SYS_SUPPORTS_32BIT_KERNEL
1393         bool
1394 config SYS_SUPPORTS_64BIT_KERNEL
1395         bool
1396 config CPU_SUPPORTS_32BIT_KERNEL
1397         bool
1398 config CPU_SUPPORTS_64BIT_KERNEL
1399         bool
1400 config CPU_SUPPORTS_HUGEPAGES
1401         bool
1402
1403 #
1404 # Set to y for ptrace access to watch registers.
1405 #
1406 config HARDWARE_WATCHPOINTS
1407        bool
1408        default y if CPU_MIPSR1 || CPU_MIPSR2
1409
1410 menu "Kernel type"
1411
1412 choice
1413
1414         prompt "Kernel code model"
1415         help
1416           You should only select this option if you have a workload that
1417           actually benefits from 64-bit processing or if your machine has
1418           large memory.  You will only be presented a single option in this
1419           menu if your system does not support both 32-bit and 64-bit kernels.
1420
1421 config 32BIT
1422         bool "32-bit kernel"
1423         depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1424         select TRAD_SIGNALS
1425         help
1426           Select this option if you want to build a 32-bit kernel.
1427 config 64BIT
1428         bool "64-bit kernel"
1429         depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1430         select HAVE_SYSCALL_WRAPPERS
1431         help
1432           Select this option if you want to build a 64-bit kernel.
1433
1434 endchoice
1435
1436 choice
1437         prompt "Kernel page size"
1438         default PAGE_SIZE_4KB
1439
1440 config PAGE_SIZE_4KB
1441         bool "4kB"
1442         help
1443          This option select the standard 4kB Linux page size.  On some
1444          R3000-family processors this is the only available page size.  Using
1445          4kB page size will minimize memory consumption and is therefore
1446          recommended for low memory systems.
1447
1448 config PAGE_SIZE_8KB
1449         bool "8kB"
1450         depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
1451         help
1452           Using 8kB page size will result in higher performance kernel at
1453           the price of higher memory consumption.  This option is available
1454           only on R8000 and cnMIPS processors.  Note that you will need a
1455           suitable Linux distribution to support this.
1456
1457 config PAGE_SIZE_16KB
1458         bool "16kB"
1459         depends on !CPU_R3000 && !CPU_TX39XX
1460         help
1461           Using 16kB page size will result in higher performance kernel at
1462           the price of higher memory consumption.  This option is available on
1463           all non-R3000 family processors.  Note that you will need a suitable
1464           Linux distribution to support this.
1465
1466 config PAGE_SIZE_32KB
1467         bool "32kB"
1468         depends on CPU_CAVIUM_OCTEON
1469         help
1470           Using 32kB page size will result in higher performance kernel at
1471           the price of higher memory consumption.  This option is available
1472           only on cnMIPS cores.  Note that you will need a suitable Linux
1473           distribution to support this.
1474
1475 config PAGE_SIZE_64KB
1476         bool "64kB"
1477         depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1478         help
1479           Using 64kB page size will result in higher performance kernel at
1480           the price of higher memory consumption.  This option is available on
1481           all non-R3000 family processor.  Not that at the time of this
1482           writing this option is still high experimental.
1483
1484 endchoice
1485
1486 config BOARD_SCACHE
1487         bool
1488
1489 config IP22_CPU_SCACHE
1490         bool
1491         select BOARD_SCACHE
1492
1493 #
1494 # Support for a MIPS32 / MIPS64 style S-caches
1495 #
1496 config MIPS_CPU_SCACHE
1497         bool
1498         select BOARD_SCACHE
1499
1500 config R5000_CPU_SCACHE
1501         bool
1502         select BOARD_SCACHE
1503
1504 config RM7000_CPU_SCACHE
1505         bool
1506         select BOARD_SCACHE
1507
1508 config SIBYTE_DMA_PAGEOPS
1509         bool "Use DMA to clear/copy pages"
1510         depends on CPU_SB1
1511         help
1512           Instead of using the CPU to zero and copy pages, use a Data Mover
1513           channel.  These DMA channels are otherwise unused by the standard
1514           SiByte Linux port.  Seems to give a small performance benefit.
1515
1516 config CPU_HAS_PREFETCH
1517         bool
1518
1519 choice
1520         prompt "MIPS MT options"
1521
1522 config MIPS_MT_DISABLED
1523         bool "Disable multithreading support."
1524         help
1525           Use this option if your workload can't take advantage of
1526           MIPS hardware multithreading support.  On systems that don't have
1527           the option of an MT-enabled processor this option will be the only
1528           option in this menu.
1529
1530 config MIPS_MT_SMP
1531         bool "Use 1 TC on each available VPE for SMP"
1532         depends on SYS_SUPPORTS_MULTITHREADING
1533         select CPU_MIPSR2_IRQ_VI
1534         select CPU_MIPSR2_IRQ_EI
1535         select MIPS_MT
1536         select NR_CPUS_DEFAULT_2
1537         select SMP
1538         select SYS_SUPPORTS_SCHED_SMT if SMP
1539         select SYS_SUPPORTS_SMP
1540         select SMP_UP
1541         help
1542           This is a kernel model which is also known a VSMP or lately
1543           has been marketesed into SMVP.
1544
1545 config MIPS_MT_SMTC
1546         bool "SMTC: Use all TCs on all VPEs for SMP"
1547         depends on CPU_MIPS32_R2
1548         #depends on CPU_MIPS64_R2               # once there is hardware ...
1549         depends on SYS_SUPPORTS_MULTITHREADING
1550         select CPU_MIPSR2_IRQ_VI
1551         select CPU_MIPSR2_IRQ_EI
1552         select MIPS_MT
1553         select NR_CPUS_DEFAULT_8
1554         select SMP
1555         select SYS_SUPPORTS_SMP
1556         select SMP_UP
1557         help
1558           This is a kernel model which is known a SMTC or lately has been
1559           marketesed into SMVP.
1560
1561 endchoice
1562
1563 config MIPS_MT
1564         bool
1565
1566 config SCHED_SMT
1567         bool "SMT (multithreading) scheduler support"
1568         depends on SYS_SUPPORTS_SCHED_SMT
1569         default n
1570         help
1571           SMT scheduler support improves the CPU scheduler's decision making
1572           when dealing with MIPS MT enabled cores at a cost of slightly
1573           increased overhead in some places. If unsure say N here.
1574
1575 config SYS_SUPPORTS_SCHED_SMT
1576         bool
1577
1578
1579 config SYS_SUPPORTS_MULTITHREADING
1580         bool
1581
1582 config MIPS_MT_FPAFF
1583         bool "Dynamic FPU affinity for FP-intensive threads"
1584         default y
1585         depends on MIPS_MT_SMP || MIPS_MT_SMTC
1586
1587 config MIPS_VPE_LOADER
1588         bool "VPE loader support."
1589         depends on SYS_SUPPORTS_MULTITHREADING
1590         select CPU_MIPSR2_IRQ_VI
1591         select CPU_MIPSR2_IRQ_EI
1592         select MIPS_MT
1593         help
1594           Includes a loader for loading an elf relocatable object
1595           onto another VPE and running it.
1596
1597 config MIPS_MT_SMTC_IM_BACKSTOP
1598         bool "Use per-TC register bits as backstop for inhibited IM bits"
1599         depends on MIPS_MT_SMTC
1600         default n
1601         help
1602           To support multiple TC microthreads acting as "CPUs" within
1603           a VPE, VPE-wide interrupt mask bits must be specially manipulated
1604           during interrupt handling. To support legacy drivers and interrupt
1605           controller management code, SMTC has a "backstop" to track and
1606           if necessary restore the interrupt mask. This has some performance
1607           impact on interrupt service overhead.
1608
1609 config MIPS_MT_SMTC_IRQAFF
1610         bool "Support IRQ affinity API"
1611         depends on MIPS_MT_SMTC
1612         default n
1613         help
1614           Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1615           for SMTC Linux kernel. Requires platform support, of which
1616           an example can be found in the MIPS kernel i8259 and Malta
1617           platform code.  Adds some overhead to interrupt dispatch, and
1618           should be used only if you know what you are doing.
1619
1620 config MIPS_VPE_LOADER_TOM
1621         bool "Load VPE program into memory hidden from linux"
1622         depends on MIPS_VPE_LOADER
1623         default y
1624         help
1625           The loader can use memory that is present but has been hidden from
1626           Linux using the kernel command line option "mem=xxMB". It's up to
1627           you to ensure the amount you put in the option and the space your
1628           program requires is less or equal to the amount physically present.
1629
1630 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1631 config MIPS_VPE_APSP_API
1632         bool "Enable support for AP/SP API (RTLX)"
1633         depends on MIPS_VPE_LOADER
1634         help
1635
1636 config MIPS_APSP_KSPD
1637         bool "Enable KSPD"
1638         depends on MIPS_VPE_APSP_API
1639         default y
1640         help
1641           KSPD is a kernel daemon that accepts syscall requests from the SP
1642           side, actions them and returns the results. It also handles the
1643           "exit" syscall notifying other kernel modules the SP program is
1644           exiting.  You probably want to say yes here.
1645
1646 config MIPS_CMP
1647         bool "MIPS CMP framework support"
1648         depends on SYS_SUPPORTS_MIPS_CMP
1649         select SYNC_R4K
1650         select SYS_SUPPORTS_SMP
1651         select SYS_SUPPORTS_SCHED_SMT if SMP
1652         select WEAK_ORDERING
1653         default n
1654         help
1655           This is a placeholder option for the GCMP work. It will need to
1656           be handled differently...
1657
1658 config SB1_PASS_1_WORKAROUNDS
1659         bool
1660         depends on CPU_SB1_PASS_1
1661         default y
1662
1663 config SB1_PASS_2_WORKAROUNDS
1664         bool
1665         depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1666         default y
1667
1668 config SB1_PASS_2_1_WORKAROUNDS
1669         bool
1670         depends on CPU_SB1 && CPU_SB1_PASS_2
1671         default y
1672
1673 config 64BIT_PHYS_ADDR
1674         bool
1675
1676 config CPU_HAS_LLSC
1677         bool
1678
1679 config CPU_HAS_SMARTMIPS
1680         depends on SYS_SUPPORTS_SMARTMIPS
1681         bool "Support for the SmartMIPS ASE"
1682         help
1683           SmartMIPS is a extension of the MIPS32 architecture aimed at
1684           increased security at both hardware and software level for
1685           smartcards.  Enabling this option will allow proper use of the
1686           SmartMIPS instructions by Linux applications.  However a kernel with
1687           this option will not work on a MIPS core without SmartMIPS core.  If
1688           you don't know you probably don't have SmartMIPS and should say N
1689           here.
1690
1691 config CPU_HAS_WB
1692         bool
1693
1694 #
1695 # Vectored interrupt mode is an R2 feature
1696 #
1697 config CPU_MIPSR2_IRQ_VI
1698         bool
1699
1700 #
1701 # Extended interrupt mode is an R2 feature
1702 #
1703 config CPU_MIPSR2_IRQ_EI
1704         bool
1705
1706 config CPU_HAS_SYNC
1707         bool
1708         depends on !CPU_R3000
1709         default y
1710
1711 config GENERIC_CLOCKEVENTS_BROADCAST
1712         bool
1713
1714 #
1715 # CPU non-features
1716 #
1717 config CPU_DADDI_WORKAROUNDS
1718         bool
1719
1720 config CPU_R4000_WORKAROUNDS
1721         bool
1722         select CPU_R4400_WORKAROUNDS
1723
1724 config CPU_R4400_WORKAROUNDS
1725         bool
1726
1727 #
1728 # Use the generic interrupt handling code in kernel/irq/:
1729 #
1730 config GENERIC_HARDIRQS
1731         bool
1732         default y
1733
1734 config GENERIC_IRQ_PROBE
1735         bool
1736         default y
1737
1738 config IRQ_PER_CPU
1739         bool
1740
1741 #
1742 # - Highmem only makes sense for the 32-bit kernel.
1743 # - The current highmem code will only work properly on physically indexed
1744 #   caches such as R3000, SB1, R7000 or those that look like they're virtually
1745 #   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
1746 #   moment we protect the user and offer the highmem option only on machines
1747 #   where it's known to be safe.  This will not offer highmem on a few systems
1748 #   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1749 #   indexed CPUs but we're playing safe.
1750 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1751 #   know they might have memory configurations that could make use of highmem
1752 #   support.
1753 #
1754 config HIGHMEM
1755         bool "High Memory Support"
1756         depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1757
1758 config CPU_SUPPORTS_HIGHMEM
1759         bool
1760
1761 config SYS_SUPPORTS_HIGHMEM
1762         bool
1763
1764 config SYS_SUPPORTS_SMARTMIPS
1765         bool
1766
1767 config ARCH_FLATMEM_ENABLE
1768         def_bool y
1769         depends on !NUMA
1770
1771 config ARCH_DISCONTIGMEM_ENABLE
1772         bool
1773         default y if SGI_IP27
1774         help
1775           Say Y to support efficient handling of discontiguous physical memory,
1776           for architectures which are either NUMA (Non-Uniform Memory Access)
1777           or have huge holes in the physical address space for other reasons.
1778           See <file:Documentation/vm/numa> for more.
1779
1780 config ARCH_POPULATES_NODE_MAP
1781         def_bool y
1782
1783 config ARCH_SPARSEMEM_ENABLE
1784         bool
1785         select SPARSEMEM_STATIC
1786
1787 config NUMA
1788         bool "NUMA Support"
1789         depends on SYS_SUPPORTS_NUMA
1790         help
1791           Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1792           Access).  This option improves performance on systems with more
1793           than two nodes; on two node systems it is generally better to
1794           leave it disabled; on single node systems disable this option
1795           disabled.
1796
1797 config SYS_SUPPORTS_NUMA
1798         bool
1799
1800 config NODES_SHIFT
1801         int
1802         default "6"
1803         depends on NEED_MULTIPLE_NODES
1804
1805 source "mm/Kconfig"
1806
1807 config SMP
1808         bool "Multi-Processing support"
1809         depends on SYS_SUPPORTS_SMP
1810         select IRQ_PER_CPU
1811         select USE_GENERIC_SMP_HELPERS
1812         help
1813           This enables support for systems with more than one CPU. If you have
1814           a system with only one CPU, like most personal computers, say N. If
1815           you have a system with more than one CPU, say Y.
1816
1817           If you say N here, the kernel will run on single and multiprocessor
1818           machines, but will use only one CPU of a multiprocessor machine. If
1819           you say Y here, the kernel will run on many, but not all,
1820           singleprocessor machines. On a singleprocessor machine, the kernel
1821           will run faster if you say N here.
1822
1823           People using multiprocessor machines who say Y here should also say
1824           Y to "Enhanced Real Time Clock Support", below.
1825
1826           See also the SMP-HOWTO available at
1827           <http://www.tldp.org/docs.html#howto>.
1828
1829           If you don't know what to do here, say N.
1830
1831 config SMP_UP
1832         bool
1833
1834 config SYS_SUPPORTS_MIPS_CMP
1835         bool
1836
1837 config SYS_SUPPORTS_SMP
1838         bool
1839
1840 config NR_CPUS_DEFAULT_1
1841         bool
1842
1843 config NR_CPUS_DEFAULT_2
1844         bool
1845
1846 config NR_CPUS_DEFAULT_4
1847         bool
1848
1849 config NR_CPUS_DEFAULT_8
1850         bool
1851
1852 config NR_CPUS_DEFAULT_16
1853         bool
1854
1855 config NR_CPUS_DEFAULT_32
1856         bool
1857
1858 config NR_CPUS_DEFAULT_64
1859         bool
1860
1861 config NR_CPUS
1862         int "Maximum number of CPUs (2-64)"
1863         range 1 64 if NR_CPUS_DEFAULT_1
1864         depends on SMP
1865         default "1" if NR_CPUS_DEFAULT_1
1866         default "2" if NR_CPUS_DEFAULT_2
1867         default "4" if NR_CPUS_DEFAULT_4
1868         default "8" if NR_CPUS_DEFAULT_8
1869         default "16" if NR_CPUS_DEFAULT_16
1870         default "32" if NR_CPUS_DEFAULT_32
1871         default "64" if NR_CPUS_DEFAULT_64
1872         help
1873           This allows you to specify the maximum number of CPUs which this
1874           kernel will support.  The maximum supported value is 32 for 32-bit
1875           kernel and 64 for 64-bit kernels; the minimum value which makes
1876           sense is 1 for Qemu (useful only for kernel debugging purposes)
1877           and 2 for all others.
1878
1879           This is purely to save memory - each supported CPU adds
1880           approximately eight kilobytes to the kernel image.  For best
1881           performance should round up your number of processors to the next
1882           power of two.
1883
1884 source "kernel/time/Kconfig"
1885
1886 #
1887 # Timer Interrupt Frequency Configuration
1888 #
1889
1890 choice
1891         prompt "Timer frequency"
1892         default HZ_250
1893         help
1894          Allows the configuration of the timer frequency.
1895
1896         config HZ_48
1897                 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
1898
1899         config HZ_100
1900                 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1901
1902         config HZ_128
1903                 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1904
1905         config HZ_250
1906                 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1907
1908         config HZ_256
1909                 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1910
1911         config HZ_1000
1912                 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1913
1914         config HZ_1024
1915                 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1916
1917 endchoice
1918
1919 config SYS_SUPPORTS_48HZ
1920         bool
1921
1922 config SYS_SUPPORTS_100HZ
1923         bool
1924
1925 config SYS_SUPPORTS_128HZ
1926         bool
1927
1928 config SYS_SUPPORTS_250HZ
1929         bool
1930
1931 config SYS_SUPPORTS_256HZ
1932         bool
1933
1934 config SYS_SUPPORTS_1000HZ
1935         bool
1936
1937 config SYS_SUPPORTS_1024HZ
1938         bool
1939
1940 config SYS_SUPPORTS_ARBIT_HZ
1941         bool
1942         default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1943                      !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1944                      !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1945                      !SYS_SUPPORTS_1024HZ
1946
1947 config HZ
1948         int
1949         default 48 if HZ_48
1950         default 100 if HZ_100
1951         default 128 if HZ_128
1952         default 250 if HZ_250
1953         default 256 if HZ_256
1954         default 1000 if HZ_1000
1955         default 1024 if HZ_1024
1956
1957 source "kernel/Kconfig.preempt"
1958
1959 config MIPS_INSANE_LARGE
1960         bool "Support for large 64-bit configurations"
1961         depends on CPU_R10000 && 64BIT
1962         help
1963           MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1964           previous 64-bit processors which only supported 40 bit / 1TB. If you
1965           need processes of more than 1TB virtual address space, say Y here.
1966           This will result in additional memory usage, so it is not
1967           recommended for normal users.
1968
1969 config KEXEC
1970         bool "Kexec system call (EXPERIMENTAL)"
1971         depends on EXPERIMENTAL
1972         help
1973           kexec is a system call that implements the ability to shutdown your
1974           current kernel, and to start another kernel.  It is like a reboot
1975           but it is independent of the system firmware.   And like a reboot
1976           you can start any kernel with it, not just Linux.
1977
1978           The name comes from the similarity to the exec system call.
1979
1980           It is an ongoing process to be certain the hardware in a machine
1981           is properly shutdown, so do not be surprised if this code does not
1982           initially work for you.  It may help to enable device hotplugging
1983           support.  As of this writing the exact hardware interface is
1984           strongly in flux, so no good recommendation can be made.
1985
1986 config SECCOMP
1987         bool "Enable seccomp to safely compute untrusted bytecode"
1988         depends on PROC_FS
1989         default y
1990         help
1991           This kernel feature is useful for number crunching applications
1992           that may need to compute untrusted bytecode during their
1993           execution. By using pipes or other transports made available to
1994           the process as file descriptors supporting the read/write
1995           syscalls, it's possible to isolate those applications in
1996           their own address space using seccomp. Once seccomp is
1997           enabled via /proc/<pid>/seccomp, it cannot be disabled
1998           and the task is only allowed to execute a few safe syscalls
1999           defined by each seccomp mode.
2000
2001           If unsure, say Y. Only embedded should say N here.
2002
2003 endmenu
2004
2005 config LOCKDEP_SUPPORT
2006         bool
2007         default y
2008
2009 config STACKTRACE_SUPPORT
2010         bool
2011         default y
2012
2013 source "init/Kconfig"
2014
2015 config PROBE_INITRD_HEADER
2016         bool "Probe initrd header created by addinitrd"
2017         depends on BLK_DEV_INITRD
2018         help
2019           Probe initrd header at the last page of kernel image.
2020           Say Y here if you are using arch/mips/boot/addinitrd.c to
2021           add initrd or initramfs image to the kernel image.
2022           Otherwise, say N.
2023
2024 source "kernel/Kconfig.freezer"
2025
2026 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2027
2028 config HW_HAS_EISA
2029         bool
2030 config HW_HAS_PCI
2031         bool
2032
2033 config PCI
2034         bool "Support for PCI controller"
2035         depends on HW_HAS_PCI
2036         select PCI_DOMAINS
2037         help
2038           Find out whether you have a PCI motherboard. PCI is the name of a
2039           bus system, i.e. the way the CPU talks to the other stuff inside
2040           your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2041           say Y, otherwise N.
2042
2043 config PCI_DOMAINS
2044         bool
2045
2046 source "drivers/pci/Kconfig"
2047
2048 #
2049 # ISA support is now enabled via select.  Too many systems still have the one
2050 # or other ISA chip on the board that users don't know about so don't expect
2051 # users to choose the right thing ...
2052 #
2053 config ISA
2054         bool
2055
2056 config EISA
2057         bool "EISA support"
2058         depends on HW_HAS_EISA
2059         select ISA
2060         select GENERIC_ISA_DMA
2061         ---help---
2062           The Extended Industry Standard Architecture (EISA) bus was
2063           developed as an open alternative to the IBM MicroChannel bus.
2064
2065           The EISA bus provided some of the features of the IBM MicroChannel
2066           bus while maintaining backward compatibility with cards made for
2067           the older ISA bus.  The EISA bus saw limited use between 1988 and
2068           1995 when it was made obsolete by the PCI bus.
2069
2070           Say Y here if you are building a kernel for an EISA-based machine.
2071
2072           Otherwise, say N.
2073
2074 source "drivers/eisa/Kconfig"
2075
2076 config TC
2077         bool "TURBOchannel support"
2078         depends on MACH_DECSTATION
2079         help
2080           TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2081           processors.  Documentation on writing device drivers for TurboChannel
2082           is available at:
2083           <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
2084
2085 #config ACCESSBUS
2086 #       bool "Access.Bus support"
2087 #       depends on TC
2088
2089 config MMU
2090         bool
2091         default y
2092
2093 config I8253
2094         bool
2095
2096 config ZONE_DMA32
2097         bool
2098
2099 source "drivers/pcmcia/Kconfig"
2100
2101 source "drivers/pci/hotplug/Kconfig"
2102
2103 endmenu
2104
2105 menu "Executable file formats"
2106
2107 source "fs/Kconfig.binfmt"
2108
2109 config TRAD_SIGNALS
2110         bool
2111
2112 config MIPS32_COMPAT
2113         bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2114         depends on 64BIT
2115         help
2116           Select this option if you want Linux/MIPS 32-bit binary
2117           compatibility. Since all software available for Linux/MIPS is
2118           currently 32-bit you should say Y here.
2119
2120 config COMPAT
2121         bool
2122         depends on MIPS32_COMPAT
2123         default y
2124
2125 config SYSVIPC_COMPAT
2126         bool
2127         depends on COMPAT && SYSVIPC
2128         default y
2129
2130 config MIPS32_O32
2131         bool "Kernel support for o32 binaries"
2132         depends on MIPS32_COMPAT
2133         help
2134           Select this option if you want to run o32 binaries.  These are pure
2135           32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
2136           existing binaries are in this format.
2137
2138           If unsure, say Y.
2139
2140 config MIPS32_N32
2141         bool "Kernel support for n32 binaries"
2142         depends on MIPS32_COMPAT
2143         help
2144           Select this option if you want to run n32 binaries.  These are
2145           64-bit binaries using 32-bit quantities for addressing and certain
2146           data that would normally be 64-bit.  They are used in special
2147           cases.
2148
2149           If unsure, say N.
2150
2151 config BINFMT_ELF32
2152         bool
2153         default y if MIPS32_O32 || MIPS32_N32
2154
2155 endmenu
2156
2157 menu "Power management options"
2158
2159 config ARCH_HIBERNATION_POSSIBLE
2160         def_bool y
2161         depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2162
2163 config ARCH_SUSPEND_POSSIBLE
2164         def_bool y
2165         depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2166
2167 source "kernel/power/Kconfig"
2168
2169 endmenu
2170
2171 source "net/Kconfig"
2172
2173 source "drivers/Kconfig"
2174
2175 source "fs/Kconfig"
2176
2177 source "arch/mips/Kconfig.debug"
2178
2179 source "security/Kconfig"
2180
2181 source "crypto/Kconfig"
2182
2183 source "lib/Kconfig"