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