7159495ee0b57d832b8c7f9f2bb7bf6a5532e29c
[firefly-linux-kernel-4.4.55.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 BCM63XX
84         bool "Broadcom BCM63XX based boards"
85         select CEVT_R4K
86         select CSRC_R4K
87         select DMA_NONCOHERENT
88         select IRQ_CPU
89         select SYS_HAS_CPU_MIPS32_R1
90         select SYS_SUPPORTS_32BIT_KERNEL
91         select SYS_SUPPORTS_BIG_ENDIAN
92         select SYS_HAS_EARLY_PRINTK
93         select SWAP_IO_SPACE
94         select ARCH_REQUIRE_GPIOLIB
95         help
96          Support for BCM63XX based boards
97
98 config MIPS_COBALT
99         bool "Cobalt Server"
100         select CEVT_R4K
101         select CSRC_R4K
102         select CEVT_GT641XX
103         select DMA_NONCOHERENT
104         select HW_HAS_PCI
105         select I8253
106         select I8259
107         select IRQ_CPU
108         select IRQ_GT641XX
109         select PCI_GT64XXX_PCI0
110         select PCI
111         select SYS_HAS_CPU_NEVADA
112         select SYS_HAS_EARLY_PRINTK
113         select SYS_SUPPORTS_32BIT_KERNEL
114         select SYS_SUPPORTS_64BIT_KERNEL
115         select SYS_SUPPORTS_LITTLE_ENDIAN
116
117 config MACH_DECSTATION
118         bool "DECstations"
119         select BOOT_ELF32
120         select CEVT_DS1287
121         select CEVT_R4K
122         select CSRC_IOASIC
123         select CSRC_R4K
124         select CPU_DADDI_WORKAROUNDS if 64BIT
125         select CPU_R4000_WORKAROUNDS if 64BIT
126         select CPU_R4400_WORKAROUNDS if 64BIT
127         select DMA_NONCOHERENT
128         select NO_IOPORT
129         select IRQ_CPU
130         select SYS_HAS_CPU_R3000
131         select SYS_HAS_CPU_R4X00
132         select SYS_SUPPORTS_32BIT_KERNEL
133         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
134         select SYS_SUPPORTS_LITTLE_ENDIAN
135         select SYS_SUPPORTS_128HZ
136         select SYS_SUPPORTS_256HZ
137         select SYS_SUPPORTS_1024HZ
138         help
139           This enables support for DEC's MIPS based workstations.  For details
140           see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
141           DECstation porting pages on <http://decstation.unix-ag.org/>.
142
143           If you have one of the following DECstation Models you definitely
144           want to choose R4xx0 for the CPU Type:
145
146                 DECstation 5000/50
147                 DECstation 5000/150
148                 DECstation 5000/260
149                 DECsystem 5900/260
150
151           otherwise choose R3000.
152
153 config MACH_JAZZ
154         bool "Jazz family of machines"
155         select ARC
156         select ARC32
157         select ARCH_MAY_HAVE_PC_FDC
158         select CEVT_R4K
159         select CSRC_R4K
160         select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
161         select GENERIC_ISA_DMA
162         select IRQ_CPU
163         select I8253
164         select I8259
165         select ISA
166         select SYS_HAS_CPU_R4X00
167         select SYS_SUPPORTS_32BIT_KERNEL
168         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
169         select SYS_SUPPORTS_100HZ
170         help
171          This a family of machines based on the MIPS R4030 chipset which was
172          used by several vendors to build RISC/os and Windows NT workstations.
173          Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
174          Olivetti M700-10 workstations.
175
176 config LASAT
177         bool "LASAT Networks platforms"
178         select CEVT_R4K
179         select CSRC_R4K
180         select DMA_NONCOHERENT
181         select SYS_HAS_EARLY_PRINTK
182         select HW_HAS_PCI
183         select IRQ_CPU
184         select PCI_GT64XXX_PCI0
185         select MIPS_NILE4
186         select R5000_CPU_SCACHE
187         select SYS_HAS_CPU_R5000
188         select SYS_SUPPORTS_32BIT_KERNEL
189         select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
190         select SYS_SUPPORTS_LITTLE_ENDIAN
191
192 config MACH_LOONGSON
193         bool "Loongson family of machines"
194         help
195           This enables the support of Loongson family of machines.
196
197           Loongson is a family of general-purpose MIPS-compatible CPUs.
198           developed at Institute of Computing Technology (ICT),
199           Chinese Academy of Sciences (CAS) in the People's Republic
200           of China. The chief architect is Professor Weiwu Hu.
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/bcm63xx/Kconfig"
664 source "arch/mips/jazz/Kconfig"
665 source "arch/mips/lasat/Kconfig"
666 source "arch/mips/pmc-sierra/Kconfig"
667 source "arch/mips/sgi-ip27/Kconfig"
668 source "arch/mips/sibyte/Kconfig"
669 source "arch/mips/txx9/Kconfig"
670 source "arch/mips/vr41xx/Kconfig"
671 source "arch/mips/cavium-octeon/Kconfig"
672 source "arch/mips/loongson/Kconfig"
673
674 endmenu
675
676 config RWSEM_GENERIC_SPINLOCK
677         bool
678         default y
679
680 config RWSEM_XCHGADD_ALGORITHM
681         bool
682
683 config ARCH_HAS_ILOG2_U32
684         bool
685         default n
686
687 config ARCH_HAS_ILOG2_U64
688         bool
689         default n
690
691 config ARCH_SUPPORTS_OPROFILE
692         bool
693         default y if !MIPS_MT_SMTC
694
695 config GENERIC_FIND_NEXT_BIT
696         bool
697         default y
698
699 config GENERIC_HWEIGHT
700         bool
701         default y
702
703 config GENERIC_CALIBRATE_DELAY
704         bool
705         default y
706
707 config GENERIC_CLOCKEVENTS
708         bool
709         default y
710
711 config GENERIC_TIME
712         bool
713         default y
714
715 config GENERIC_CMOS_UPDATE
716         bool
717         default y
718
719 config SCHED_OMIT_FRAME_POINTER
720         bool
721         default y
722
723 config GENERIC_HARDIRQS_NO__DO_IRQ
724         def_bool y
725
726 #
727 # Select some configuration options automatically based on user selections.
728 #
729 config ARC
730         bool
731
732 config ARCH_MAY_HAVE_PC_FDC
733         bool
734
735 config BOOT_RAW
736         bool
737
738 config CEVT_BCM1480
739         bool
740
741 config CEVT_DS1287
742         bool
743
744 config CEVT_GT641XX
745         bool
746
747 config CEVT_R4K_LIB
748         bool
749
750 config CEVT_R4K
751         select CEVT_R4K_LIB
752         bool
753
754 config CEVT_SB1250
755         bool
756
757 config CEVT_TXX9
758         bool
759
760 config CSRC_BCM1480
761         bool
762
763 config CSRC_IOASIC
764         bool
765
766 config CSRC_R4K_LIB
767         bool
768
769 config CSRC_R4K
770         select CSRC_R4K_LIB
771         bool
772
773 config CSRC_SB1250
774         bool
775
776 config GPIO_TXX9
777         select GENERIC_GPIO
778         select ARCH_REQUIRE_GPIOLIB
779         bool
780
781 config CFE
782         bool
783
784 config DMA_COHERENT
785         bool
786
787 config DMA_NONCOHERENT
788         bool
789         select DMA_NEED_PCI_MAP_STATE
790
791 config DMA_NEED_PCI_MAP_STATE
792         bool
793
794 config EARLY_PRINTK
795         bool "Early printk" if EMBEDDED && DEBUG_KERNEL
796         depends on SYS_HAS_EARLY_PRINTK
797         default y
798         help
799           This option enables special console drivers which allow the kernel
800           to print messages very early in the bootup process.
801
802           This is useful for kernel debugging when your machine crashes very
803           early before the console code is initialized. For normal operation,
804           it is not recommended because it looks ugly on some machines and
805           doesn't cooperate with an X server. You should normally say N here,
806           unless you want to debug such a crash.
807
808 config SYS_HAS_EARLY_PRINTK
809         bool
810
811 config HOTPLUG_CPU
812         bool "Support for hot-pluggable CPUs"
813         depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU
814         help
815           Say Y here to allow turning CPUs off and on. CPUs can be
816           controlled through /sys/devices/system/cpu.
817           (Note: power management support will enable this option
818             automatically on SMP systems. )
819           Say N if you want to disable CPU hotplug.
820
821 config SYS_SUPPORTS_HOTPLUG_CPU
822         bool
823
824 config I8259
825         bool
826
827 config MIPS_BONITO64
828         bool
829
830 config MIPS_MSC
831         bool
832
833 config MIPS_NILE4
834         bool
835
836 config MIPS_DISABLE_OBSOLETE_IDE
837         bool
838
839 config SYNC_R4K
840         bool
841
842 config NO_IOPORT
843         def_bool n
844
845 config GENERIC_ISA_DMA
846         bool
847         select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
848
849 config GENERIC_ISA_DMA_SUPPORT_BROKEN
850         bool
851         select GENERIC_ISA_DMA
852
853 config GENERIC_GPIO
854         bool
855
856 #
857 # Endianess selection.  Sufficiently obscure so many users don't know what to
858 # answer,so we try hard to limit the available choices.  Also the use of a
859 # choice statement should be more obvious to the user.
860 #
861 choice
862         prompt "Endianess selection"
863         help
864           Some MIPS machines can be configured for either little or big endian
865           byte order. These modes require different kernels and a different
866           Linux distribution.  In general there is one preferred byteorder for a
867           particular system but some systems are just as commonly used in the
868           one or the other endianness.
869
870 config CPU_BIG_ENDIAN
871         bool "Big endian"
872         depends on SYS_SUPPORTS_BIG_ENDIAN
873
874 config CPU_LITTLE_ENDIAN
875         bool "Little endian"
876         depends on SYS_SUPPORTS_LITTLE_ENDIAN
877         help
878
879 endchoice
880
881 config SYS_SUPPORTS_APM_EMULATION
882         bool
883
884 config SYS_SUPPORTS_BIG_ENDIAN
885         bool
886
887 config SYS_SUPPORTS_LITTLE_ENDIAN
888         bool
889
890 config SYS_SUPPORTS_HUGETLBFS
891         bool
892         depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
893         default y
894
895 config IRQ_CPU
896         bool
897
898 config IRQ_CPU_RM7K
899         bool
900
901 config IRQ_CPU_RM9K
902         bool
903
904 config IRQ_MSP_SLP
905         bool
906
907 config IRQ_MSP_CIC
908         bool
909
910 config IRQ_TXX9
911         bool
912
913 config IRQ_GT641XX
914         bool
915
916 config IRQ_GIC
917         bool
918
919 config IRQ_CPU_OCTEON
920         bool
921
922 config MIPS_BOARDS_GEN
923         bool
924
925 config PCI_GT64XXX_PCI0
926         bool
927
928 config NO_EXCEPT_FILL
929         bool
930
931 config MIPS_RM9122
932         bool
933         select SERIAL_RM9000
934
935 config SOC_EMMA2RH
936         bool
937         select CEVT_R4K
938         select CSRC_R4K
939         select DMA_NONCOHERENT
940         select IRQ_CPU
941         select SWAP_IO_SPACE
942         select SYS_HAS_CPU_R5500
943         select SYS_SUPPORTS_32BIT_KERNEL
944         select SYS_SUPPORTS_64BIT_KERNEL
945         select SYS_SUPPORTS_BIG_ENDIAN
946
947 config SOC_PNX833X
948         bool
949         select CEVT_R4K
950         select CSRC_R4K
951         select IRQ_CPU
952         select DMA_NONCOHERENT
953         select SYS_HAS_CPU_MIPS32_R2
954         select SYS_SUPPORTS_32BIT_KERNEL
955         select SYS_SUPPORTS_LITTLE_ENDIAN
956         select SYS_SUPPORTS_BIG_ENDIAN
957         select GENERIC_GPIO
958         select CPU_MIPSR2_IRQ_VI
959
960 config SOC_PNX8335
961         bool
962         select SOC_PNX833X
963
964 config PNX8550
965         bool
966         select SOC_PNX8550
967
968 config SOC_PNX8550
969         bool
970         select DMA_NONCOHERENT
971         select HW_HAS_PCI
972         select SYS_HAS_CPU_MIPS32_R1
973         select SYS_HAS_EARLY_PRINTK
974         select SYS_SUPPORTS_32BIT_KERNEL
975         select GENERIC_GPIO
976
977 config SWAP_IO_SPACE
978         bool
979
980 config SERIAL_RM9000
981         bool
982
983 config SGI_HAS_INDYDOG
984         bool
985
986 config SGI_HAS_HAL2
987         bool
988
989 config SGI_HAS_SEEQ
990         bool
991
992 config SGI_HAS_WD93
993         bool
994
995 config SGI_HAS_ZILOG
996         bool
997
998 config SGI_HAS_I8042
999         bool
1000
1001 config DEFAULT_SGI_PARTITION
1002         bool
1003
1004 config ARC32
1005         bool
1006
1007 config SNIPROM
1008         bool
1009
1010 config BOOT_ELF32
1011         bool
1012
1013 config MIPS_L1_CACHE_SHIFT
1014         int
1015         default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL
1016         default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON
1017         default "5"
1018
1019 config HAVE_STD_PC_SERIAL_PORT
1020         bool
1021
1022 config ARC_CONSOLE
1023         bool "ARC console support"
1024         depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
1025
1026 config ARC_MEMORY
1027         bool
1028         depends on MACH_JAZZ || SNI_RM || SGI_IP32
1029         default y
1030
1031 config ARC_PROMLIB
1032         bool
1033         depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
1034         default y
1035
1036 config ARC64
1037         bool
1038
1039 config BOOT_ELF64
1040         bool
1041
1042 menu "CPU selection"
1043
1044 choice
1045         prompt "CPU type"
1046         default CPU_R4X00
1047
1048 config CPU_LOONGSON2E
1049         bool "Loongson 2E"
1050         depends on SYS_HAS_CPU_LOONGSON2E
1051         select CPU_LOONGSON2
1052         help
1053           The Loongson 2E processor implements the MIPS III instruction set
1054           with many extensions.
1055
1056 config CPU_MIPS32_R1
1057         bool "MIPS32 Release 1"
1058         depends on SYS_HAS_CPU_MIPS32_R1
1059         select CPU_HAS_PREFETCH
1060         select CPU_SUPPORTS_32BIT_KERNEL
1061         select CPU_SUPPORTS_HIGHMEM
1062         help
1063           Choose this option to build a kernel for release 1 or later of the
1064           MIPS32 architecture.  Most modern embedded systems with a 32-bit
1065           MIPS processor are based on a MIPS32 processor.  If you know the
1066           specific type of processor in your system, choose those that one
1067           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1068           Release 2 of the MIPS32 architecture is available since several
1069           years so chances are you even have a MIPS32 Release 2 processor
1070           in which case you should choose CPU_MIPS32_R2 instead for better
1071           performance.
1072
1073 config CPU_MIPS32_R2
1074         bool "MIPS32 Release 2"
1075         depends on SYS_HAS_CPU_MIPS32_R2
1076         select CPU_HAS_PREFETCH
1077         select CPU_SUPPORTS_32BIT_KERNEL
1078         select CPU_SUPPORTS_HIGHMEM
1079         help
1080           Choose this option to build a kernel for release 2 or later of the
1081           MIPS32 architecture.  Most modern embedded systems with a 32-bit
1082           MIPS processor are based on a MIPS32 processor.  If you know the
1083           specific type of processor in your system, choose those that one
1084           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1085
1086 config CPU_MIPS64_R1
1087         bool "MIPS64 Release 1"
1088         depends on SYS_HAS_CPU_MIPS64_R1
1089         select CPU_HAS_PREFETCH
1090         select CPU_SUPPORTS_32BIT_KERNEL
1091         select CPU_SUPPORTS_64BIT_KERNEL
1092         select CPU_SUPPORTS_HIGHMEM
1093         select CPU_SUPPORTS_HUGEPAGES
1094         help
1095           Choose this option to build a kernel for release 1 or later of the
1096           MIPS64 architecture.  Many modern embedded systems with a 64-bit
1097           MIPS processor are based on a MIPS64 processor.  If you know the
1098           specific type of processor in your system, choose those that one
1099           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1100           Release 2 of the MIPS64 architecture is available since several
1101           years so chances are you even have a MIPS64 Release 2 processor
1102           in which case you should choose CPU_MIPS64_R2 instead for better
1103           performance.
1104
1105 config CPU_MIPS64_R2
1106         bool "MIPS64 Release 2"
1107         depends on SYS_HAS_CPU_MIPS64_R2
1108         select CPU_HAS_PREFETCH
1109         select CPU_SUPPORTS_32BIT_KERNEL
1110         select CPU_SUPPORTS_64BIT_KERNEL
1111         select CPU_SUPPORTS_HIGHMEM
1112         select CPU_SUPPORTS_HUGEPAGES
1113         help
1114           Choose this option to build a kernel for release 2 or later of the
1115           MIPS64 architecture.  Many modern embedded systems with a 64-bit
1116           MIPS processor are based on a MIPS64 processor.  If you know the
1117           specific type of processor in your system, choose those that one
1118           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1119
1120 config CPU_R3000
1121         bool "R3000"
1122         depends on SYS_HAS_CPU_R3000
1123         select CPU_HAS_WB
1124         select CPU_SUPPORTS_32BIT_KERNEL
1125         select CPU_SUPPORTS_HIGHMEM
1126         help
1127           Please make sure to pick the right CPU type. Linux/MIPS is not
1128           designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1129           *not* work on R4000 machines and vice versa.  However, since most
1130           of the supported machines have an R4000 (or similar) CPU, R4x00
1131           might be a safe bet.  If the resulting kernel does not work,
1132           try to recompile with R3000.
1133
1134 config CPU_TX39XX
1135         bool "R39XX"
1136         depends on SYS_HAS_CPU_TX39XX
1137         select CPU_SUPPORTS_32BIT_KERNEL
1138
1139 config CPU_VR41XX
1140         bool "R41xx"
1141         depends on SYS_HAS_CPU_VR41XX
1142         select CPU_SUPPORTS_32BIT_KERNEL
1143         select CPU_SUPPORTS_64BIT_KERNEL
1144         help
1145           The options selects support for the NEC VR4100 series of processors.
1146           Only choose this option if you have one of these processors as a
1147           kernel built with this option will not run on any other type of
1148           processor or vice versa.
1149
1150 config CPU_R4300
1151         bool "R4300"
1152         depends on SYS_HAS_CPU_R4300
1153         select CPU_SUPPORTS_32BIT_KERNEL
1154         select CPU_SUPPORTS_64BIT_KERNEL
1155         help
1156           MIPS Technologies R4300-series processors.
1157
1158 config CPU_R4X00
1159         bool "R4x00"
1160         depends on SYS_HAS_CPU_R4X00
1161         select CPU_SUPPORTS_32BIT_KERNEL
1162         select CPU_SUPPORTS_64BIT_KERNEL
1163         help
1164           MIPS Technologies R4000-series processors other than 4300, including
1165           the R4000, R4400, R4600, and 4700.
1166
1167 config CPU_TX49XX
1168         bool "R49XX"
1169         depends on SYS_HAS_CPU_TX49XX
1170         select CPU_HAS_PREFETCH
1171         select CPU_SUPPORTS_32BIT_KERNEL
1172         select CPU_SUPPORTS_64BIT_KERNEL
1173
1174 config CPU_R5000
1175         bool "R5000"
1176         depends on SYS_HAS_CPU_R5000
1177         select CPU_SUPPORTS_32BIT_KERNEL
1178         select CPU_SUPPORTS_64BIT_KERNEL
1179         help
1180           MIPS Technologies R5000-series processors other than the Nevada.
1181
1182 config CPU_R5432
1183         bool "R5432"
1184         depends on SYS_HAS_CPU_R5432
1185         select CPU_SUPPORTS_32BIT_KERNEL
1186         select CPU_SUPPORTS_64BIT_KERNEL
1187
1188 config CPU_R5500
1189         bool "R5500"
1190         depends on SYS_HAS_CPU_R5500
1191         select CPU_SUPPORTS_32BIT_KERNEL
1192         select CPU_SUPPORTS_64BIT_KERNEL
1193         select CPU_SUPPORTS_HUGEPAGES
1194         help
1195           NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1196           instruction set.
1197
1198 config CPU_R6000
1199         bool "R6000"
1200         depends on EXPERIMENTAL
1201         depends on SYS_HAS_CPU_R6000
1202         select CPU_SUPPORTS_32BIT_KERNEL
1203         help
1204           MIPS Technologies R6000 and R6000A series processors.  Note these
1205           processors are extremely rare and the support for them is incomplete.
1206
1207 config CPU_NEVADA
1208         bool "RM52xx"
1209         depends on SYS_HAS_CPU_NEVADA
1210         select CPU_SUPPORTS_32BIT_KERNEL
1211         select CPU_SUPPORTS_64BIT_KERNEL
1212         help
1213           QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1214
1215 config CPU_R8000
1216         bool "R8000"
1217         depends on EXPERIMENTAL
1218         depends on SYS_HAS_CPU_R8000
1219         select CPU_HAS_PREFETCH
1220         select CPU_SUPPORTS_64BIT_KERNEL
1221         help
1222           MIPS Technologies R8000 processors.  Note these processors are
1223           uncommon and the support for them is incomplete.
1224
1225 config CPU_R10000
1226         bool "R10000"
1227         depends on SYS_HAS_CPU_R10000
1228         select CPU_HAS_PREFETCH
1229         select CPU_SUPPORTS_32BIT_KERNEL
1230         select CPU_SUPPORTS_64BIT_KERNEL
1231         select CPU_SUPPORTS_HIGHMEM
1232         help
1233           MIPS Technologies R10000-series processors.
1234
1235 config CPU_RM7000
1236         bool "RM7000"
1237         depends on SYS_HAS_CPU_RM7000
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_PREFETCH
1247         select CPU_SUPPORTS_32BIT_KERNEL
1248         select CPU_SUPPORTS_64BIT_KERNEL
1249         select CPU_SUPPORTS_HIGHMEM
1250         select WEAK_ORDERING
1251
1252 config CPU_SB1
1253         bool "SB1"
1254         depends on SYS_HAS_CPU_SB1
1255         select CPU_SUPPORTS_32BIT_KERNEL
1256         select CPU_SUPPORTS_64BIT_KERNEL
1257         select CPU_SUPPORTS_HIGHMEM
1258         select WEAK_ORDERING
1259
1260 config CPU_CAVIUM_OCTEON
1261         bool "Cavium Octeon processor"
1262         depends on SYS_HAS_CPU_CAVIUM_OCTEON
1263         select IRQ_CPU
1264         select IRQ_CPU_OCTEON
1265         select CPU_HAS_PREFETCH
1266         select CPU_SUPPORTS_64BIT_KERNEL
1267         select SYS_SUPPORTS_SMP
1268         select NR_CPUS_DEFAULT_16
1269         select WEAK_ORDERING
1270         select WEAK_REORDERING_BEYOND_LLSC
1271         select CPU_SUPPORTS_HIGHMEM
1272         select CPU_SUPPORTS_HUGEPAGES
1273         help
1274           The Cavium Octeon processor is a highly integrated chip containing
1275           many ethernet hardware widgets for networking tasks. The processor
1276           can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1277           Full details can be found at http://www.caviumnetworks.com.
1278
1279 endchoice
1280
1281 config CPU_LOONGSON2
1282         bool
1283         select CPU_SUPPORTS_32BIT_KERNEL
1284         select CPU_SUPPORTS_64BIT_KERNEL
1285         select CPU_SUPPORTS_HIGHMEM
1286
1287 config SYS_HAS_CPU_LOONGSON2E
1288         bool
1289
1290 config SYS_HAS_CPU_MIPS32_R1
1291         bool
1292
1293 config SYS_HAS_CPU_MIPS32_R2
1294         bool
1295
1296 config SYS_HAS_CPU_MIPS64_R1
1297         bool
1298
1299 config SYS_HAS_CPU_MIPS64_R2
1300         bool
1301
1302 config SYS_HAS_CPU_R3000
1303         bool
1304
1305 config SYS_HAS_CPU_TX39XX
1306         bool
1307
1308 config SYS_HAS_CPU_VR41XX
1309         bool
1310
1311 config SYS_HAS_CPU_R4300
1312         bool
1313
1314 config SYS_HAS_CPU_R4X00
1315         bool
1316
1317 config SYS_HAS_CPU_TX49XX
1318         bool
1319
1320 config SYS_HAS_CPU_R5000
1321         bool
1322
1323 config SYS_HAS_CPU_R5432
1324         bool
1325
1326 config SYS_HAS_CPU_R5500
1327         bool
1328
1329 config SYS_HAS_CPU_R6000
1330         bool
1331
1332 config SYS_HAS_CPU_NEVADA
1333         bool
1334
1335 config SYS_HAS_CPU_R8000
1336         bool
1337
1338 config SYS_HAS_CPU_R10000
1339         bool
1340
1341 config SYS_HAS_CPU_RM7000
1342         bool
1343
1344 config SYS_HAS_CPU_RM9000
1345         bool
1346
1347 config SYS_HAS_CPU_SB1
1348         bool
1349
1350 config SYS_HAS_CPU_CAVIUM_OCTEON
1351         bool
1352
1353 #
1354 # CPU may reorder R->R, R->W, W->R, W->W
1355 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1356 #
1357 config WEAK_ORDERING
1358         bool
1359
1360 #
1361 # CPU may reorder reads and writes beyond LL/SC
1362 # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1363 #
1364 config WEAK_REORDERING_BEYOND_LLSC
1365         bool
1366 endmenu
1367
1368 #
1369 # These two indicate any level of the MIPS32 and MIPS64 architecture
1370 #
1371 config CPU_MIPS32
1372         bool
1373         default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1374
1375 config CPU_MIPS64
1376         bool
1377         default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1378
1379 #
1380 # These two indicate the revision of the architecture, either Release 1 or Release 2
1381 #
1382 config CPU_MIPSR1
1383         bool
1384         default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1385
1386 config CPU_MIPSR2
1387         bool
1388         default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1389
1390 config SYS_SUPPORTS_32BIT_KERNEL
1391         bool
1392 config SYS_SUPPORTS_64BIT_KERNEL
1393         bool
1394 config CPU_SUPPORTS_32BIT_KERNEL
1395         bool
1396 config CPU_SUPPORTS_64BIT_KERNEL
1397         bool
1398 config CPU_SUPPORTS_HUGEPAGES
1399         bool
1400
1401 #
1402 # Set to y for ptrace access to watch registers.
1403 #
1404 config HARDWARE_WATCHPOINTS
1405        bool
1406        default y if CPU_MIPSR1 || CPU_MIPSR2
1407
1408 menu "Kernel type"
1409
1410 choice
1411
1412         prompt "Kernel code model"
1413         help
1414           You should only select this option if you have a workload that
1415           actually benefits from 64-bit processing or if your machine has
1416           large memory.  You will only be presented a single option in this
1417           menu if your system does not support both 32-bit and 64-bit kernels.
1418
1419 config 32BIT
1420         bool "32-bit kernel"
1421         depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1422         select TRAD_SIGNALS
1423         help
1424           Select this option if you want to build a 32-bit kernel.
1425 config 64BIT
1426         bool "64-bit kernel"
1427         depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1428         select HAVE_SYSCALL_WRAPPERS
1429         help
1430           Select this option if you want to build a 64-bit kernel.
1431
1432 endchoice
1433
1434 choice
1435         prompt "Kernel page size"
1436         default PAGE_SIZE_4KB
1437
1438 config PAGE_SIZE_4KB
1439         bool "4kB"
1440         help
1441          This option select the standard 4kB Linux page size.  On some
1442          R3000-family processors this is the only available page size.  Using
1443          4kB page size will minimize memory consumption and is therefore
1444          recommended for low memory systems.
1445
1446 config PAGE_SIZE_8KB
1447         bool "8kB"
1448         depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
1449         help
1450           Using 8kB page size will result in higher performance kernel at
1451           the price of higher memory consumption.  This option is available
1452           only on R8000 and cnMIPS processors.  Note that you will need a
1453           suitable Linux distribution to support this.
1454
1455 config PAGE_SIZE_16KB
1456         bool "16kB"
1457         depends on !CPU_R3000 && !CPU_TX39XX
1458         help
1459           Using 16kB page size will result in higher performance kernel at
1460           the price of higher memory consumption.  This option is available on
1461           all non-R3000 family processors.  Note that you will need a suitable
1462           Linux distribution to support this.
1463
1464 config PAGE_SIZE_32KB
1465         bool "32kB"
1466         depends on CPU_CAVIUM_OCTEON
1467         help
1468           Using 32kB page size will result in higher performance kernel at
1469           the price of higher memory consumption.  This option is available
1470           only on cnMIPS cores.  Note that you will need a suitable Linux
1471           distribution to support this.
1472
1473 config PAGE_SIZE_64KB
1474         bool "64kB"
1475         depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1476         help
1477           Using 64kB page size will result in higher performance kernel at
1478           the price of higher memory consumption.  This option is available on
1479           all non-R3000 family processor.  Not that at the time of this
1480           writing this option is still high experimental.
1481
1482 endchoice
1483
1484 config BOARD_SCACHE
1485         bool
1486
1487 config IP22_CPU_SCACHE
1488         bool
1489         select BOARD_SCACHE
1490
1491 #
1492 # Support for a MIPS32 / MIPS64 style S-caches
1493 #
1494 config MIPS_CPU_SCACHE
1495         bool
1496         select BOARD_SCACHE
1497
1498 config R5000_CPU_SCACHE
1499         bool
1500         select BOARD_SCACHE
1501
1502 config RM7000_CPU_SCACHE
1503         bool
1504         select BOARD_SCACHE
1505
1506 config SIBYTE_DMA_PAGEOPS
1507         bool "Use DMA to clear/copy pages"
1508         depends on CPU_SB1
1509         help
1510           Instead of using the CPU to zero and copy pages, use a Data Mover
1511           channel.  These DMA channels are otherwise unused by the standard
1512           SiByte Linux port.  Seems to give a small performance benefit.
1513
1514 config CPU_HAS_PREFETCH
1515         bool
1516
1517 choice
1518         prompt "MIPS MT options"
1519
1520 config MIPS_MT_DISABLED
1521         bool "Disable multithreading support."
1522         help
1523           Use this option if your workload can't take advantage of
1524           MIPS hardware multithreading support.  On systems that don't have
1525           the option of an MT-enabled processor this option will be the only
1526           option in this menu.
1527
1528 config MIPS_MT_SMP
1529         bool "Use 1 TC on each available VPE for SMP"
1530         depends on SYS_SUPPORTS_MULTITHREADING
1531         select CPU_MIPSR2_IRQ_VI
1532         select CPU_MIPSR2_IRQ_EI
1533         select MIPS_MT
1534         select NR_CPUS_DEFAULT_2
1535         select SMP
1536         select SYS_SUPPORTS_SCHED_SMT if SMP
1537         select SYS_SUPPORTS_SMP
1538         select SMP_UP
1539         help
1540           This is a kernel model which is also known a VSMP or lately
1541           has been marketesed into SMVP.
1542
1543 config MIPS_MT_SMTC
1544         bool "SMTC: Use all TCs on all VPEs for SMP"
1545         depends on CPU_MIPS32_R2
1546         #depends on CPU_MIPS64_R2               # once there is hardware ...
1547         depends on SYS_SUPPORTS_MULTITHREADING
1548         select CPU_MIPSR2_IRQ_VI
1549         select CPU_MIPSR2_IRQ_EI
1550         select MIPS_MT
1551         select NR_CPUS_DEFAULT_8
1552         select SMP
1553         select SYS_SUPPORTS_SMP
1554         select SMP_UP
1555         help
1556           This is a kernel model which is known a SMTC or lately has been
1557           marketesed into SMVP.
1558
1559 endchoice
1560
1561 config MIPS_MT
1562         bool
1563
1564 config SCHED_SMT
1565         bool "SMT (multithreading) scheduler support"
1566         depends on SYS_SUPPORTS_SCHED_SMT
1567         default n
1568         help
1569           SMT scheduler support improves the CPU scheduler's decision making
1570           when dealing with MIPS MT enabled cores at a cost of slightly
1571           increased overhead in some places. If unsure say N here.
1572
1573 config SYS_SUPPORTS_SCHED_SMT
1574         bool
1575
1576
1577 config SYS_SUPPORTS_MULTITHREADING
1578         bool
1579
1580 config MIPS_MT_FPAFF
1581         bool "Dynamic FPU affinity for FP-intensive threads"
1582         default y
1583         depends on MIPS_MT_SMP || MIPS_MT_SMTC
1584
1585 config MIPS_VPE_LOADER
1586         bool "VPE loader support."
1587         depends on SYS_SUPPORTS_MULTITHREADING
1588         select CPU_MIPSR2_IRQ_VI
1589         select CPU_MIPSR2_IRQ_EI
1590         select MIPS_MT
1591         help
1592           Includes a loader for loading an elf relocatable object
1593           onto another VPE and running it.
1594
1595 config MIPS_MT_SMTC_IM_BACKSTOP
1596         bool "Use per-TC register bits as backstop for inhibited IM bits"
1597         depends on MIPS_MT_SMTC
1598         default n
1599         help
1600           To support multiple TC microthreads acting as "CPUs" within
1601           a VPE, VPE-wide interrupt mask bits must be specially manipulated
1602           during interrupt handling. To support legacy drivers and interrupt
1603           controller management code, SMTC has a "backstop" to track and
1604           if necessary restore the interrupt mask. This has some performance
1605           impact on interrupt service overhead.
1606
1607 config MIPS_MT_SMTC_IRQAFF
1608         bool "Support IRQ affinity API"
1609         depends on MIPS_MT_SMTC
1610         default n
1611         help
1612           Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1613           for SMTC Linux kernel. Requires platform support, of which
1614           an example can be found in the MIPS kernel i8259 and Malta
1615           platform code.  Adds some overhead to interrupt dispatch, and
1616           should be used only if you know what you are doing.
1617
1618 config MIPS_VPE_LOADER_TOM
1619         bool "Load VPE program into memory hidden from linux"
1620         depends on MIPS_VPE_LOADER
1621         default y
1622         help
1623           The loader can use memory that is present but has been hidden from
1624           Linux using the kernel command line option "mem=xxMB". It's up to
1625           you to ensure the amount you put in the option and the space your
1626           program requires is less or equal to the amount physically present.
1627
1628 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1629 config MIPS_VPE_APSP_API
1630         bool "Enable support for AP/SP API (RTLX)"
1631         depends on MIPS_VPE_LOADER
1632         help
1633
1634 config MIPS_APSP_KSPD
1635         bool "Enable KSPD"
1636         depends on MIPS_VPE_APSP_API
1637         default y
1638         help
1639           KSPD is a kernel daemon that accepts syscall requests from the SP
1640           side, actions them and returns the results. It also handles the
1641           "exit" syscall notifying other kernel modules the SP program is
1642           exiting.  You probably want to say yes here.
1643
1644 config MIPS_CMP
1645         bool "MIPS CMP framework support"
1646         depends on SYS_SUPPORTS_MIPS_CMP
1647         select SYNC_R4K
1648         select SYS_SUPPORTS_SMP
1649         select SYS_SUPPORTS_SCHED_SMT if SMP
1650         select WEAK_ORDERING
1651         default n
1652         help
1653           This is a placeholder option for the GCMP work. It will need to
1654           be handled differently...
1655
1656 config SB1_PASS_1_WORKAROUNDS
1657         bool
1658         depends on CPU_SB1_PASS_1
1659         default y
1660
1661 config SB1_PASS_2_WORKAROUNDS
1662         bool
1663         depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1664         default y
1665
1666 config SB1_PASS_2_1_WORKAROUNDS
1667         bool
1668         depends on CPU_SB1 && CPU_SB1_PASS_2
1669         default y
1670
1671 config 64BIT_PHYS_ADDR
1672         bool
1673
1674 config CPU_HAS_SMARTMIPS
1675         depends on SYS_SUPPORTS_SMARTMIPS
1676         bool "Support for the SmartMIPS ASE"
1677         help
1678           SmartMIPS is a extension of the MIPS32 architecture aimed at
1679           increased security at both hardware and software level for
1680           smartcards.  Enabling this option will allow proper use of the
1681           SmartMIPS instructions by Linux applications.  However a kernel with
1682           this option will not work on a MIPS core without SmartMIPS core.  If
1683           you don't know you probably don't have SmartMIPS and should say N
1684           here.
1685
1686 config CPU_HAS_WB
1687         bool
1688
1689 #
1690 # Vectored interrupt mode is an R2 feature
1691 #
1692 config CPU_MIPSR2_IRQ_VI
1693         bool
1694
1695 #
1696 # Extended interrupt mode is an R2 feature
1697 #
1698 config CPU_MIPSR2_IRQ_EI
1699         bool
1700
1701 config CPU_HAS_SYNC
1702         bool
1703         depends on !CPU_R3000
1704         default y
1705
1706 config GENERIC_CLOCKEVENTS_BROADCAST
1707         bool
1708
1709 #
1710 # CPU non-features
1711 #
1712 config CPU_DADDI_WORKAROUNDS
1713         bool
1714
1715 config CPU_R4000_WORKAROUNDS
1716         bool
1717         select CPU_R4400_WORKAROUNDS
1718
1719 config CPU_R4400_WORKAROUNDS
1720         bool
1721
1722 #
1723 # Use the generic interrupt handling code in kernel/irq/:
1724 #
1725 config GENERIC_HARDIRQS
1726         bool
1727         default y
1728
1729 config GENERIC_IRQ_PROBE
1730         bool
1731         default y
1732
1733 config IRQ_PER_CPU
1734         bool
1735
1736 #
1737 # - Highmem only makes sense for the 32-bit kernel.
1738 # - The current highmem code will only work properly on physically indexed
1739 #   caches such as R3000, SB1, R7000 or those that look like they're virtually
1740 #   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
1741 #   moment we protect the user and offer the highmem option only on machines
1742 #   where it's known to be safe.  This will not offer highmem on a few systems
1743 #   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1744 #   indexed CPUs but we're playing safe.
1745 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1746 #   know they might have memory configurations that could make use of highmem
1747 #   support.
1748 #
1749 config HIGHMEM
1750         bool "High Memory Support"
1751         depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1752
1753 config CPU_SUPPORTS_HIGHMEM
1754         bool
1755
1756 config SYS_SUPPORTS_HIGHMEM
1757         bool
1758
1759 config SYS_SUPPORTS_SMARTMIPS
1760         bool
1761
1762 config ARCH_FLATMEM_ENABLE
1763         def_bool y
1764         depends on !NUMA
1765
1766 config ARCH_DISCONTIGMEM_ENABLE
1767         bool
1768         default y if SGI_IP27
1769         help
1770           Say Y to support efficient handling of discontiguous physical memory,
1771           for architectures which are either NUMA (Non-Uniform Memory Access)
1772           or have huge holes in the physical address space for other reasons.
1773           See <file:Documentation/vm/numa> for more.
1774
1775 config ARCH_POPULATES_NODE_MAP
1776         def_bool y
1777
1778 config ARCH_SPARSEMEM_ENABLE
1779         bool
1780         select SPARSEMEM_STATIC
1781
1782 config NUMA
1783         bool "NUMA Support"
1784         depends on SYS_SUPPORTS_NUMA
1785         help
1786           Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1787           Access).  This option improves performance on systems with more
1788           than two nodes; on two node systems it is generally better to
1789           leave it disabled; on single node systems disable this option
1790           disabled.
1791
1792 config SYS_SUPPORTS_NUMA
1793         bool
1794
1795 config NODES_SHIFT
1796         int
1797         default "6"
1798         depends on NEED_MULTIPLE_NODES
1799
1800 source "mm/Kconfig"
1801
1802 config SMP
1803         bool "Multi-Processing support"
1804         depends on SYS_SUPPORTS_SMP
1805         select IRQ_PER_CPU
1806         select USE_GENERIC_SMP_HELPERS
1807         help
1808           This enables support for systems with more than one CPU. If you have
1809           a system with only one CPU, like most personal computers, say N. If
1810           you have a system with more than one CPU, say Y.
1811
1812           If you say N here, the kernel will run on single and multiprocessor
1813           machines, but will use only one CPU of a multiprocessor machine. If
1814           you say Y here, the kernel will run on many, but not all,
1815           singleprocessor machines. On a singleprocessor machine, the kernel
1816           will run faster if you say N here.
1817
1818           People using multiprocessor machines who say Y here should also say
1819           Y to "Enhanced Real Time Clock Support", below.
1820
1821           See also the SMP-HOWTO available at
1822           <http://www.tldp.org/docs.html#howto>.
1823
1824           If you don't know what to do here, say N.
1825
1826 config SMP_UP
1827         bool
1828
1829 config SYS_SUPPORTS_MIPS_CMP
1830         bool
1831
1832 config SYS_SUPPORTS_SMP
1833         bool
1834
1835 config NR_CPUS_DEFAULT_1
1836         bool
1837
1838 config NR_CPUS_DEFAULT_2
1839         bool
1840
1841 config NR_CPUS_DEFAULT_4
1842         bool
1843
1844 config NR_CPUS_DEFAULT_8
1845         bool
1846
1847 config NR_CPUS_DEFAULT_16
1848         bool
1849
1850 config NR_CPUS_DEFAULT_32
1851         bool
1852
1853 config NR_CPUS_DEFAULT_64
1854         bool
1855
1856 config NR_CPUS
1857         int "Maximum number of CPUs (2-64)"
1858         range 1 64 if NR_CPUS_DEFAULT_1
1859         depends on SMP
1860         default "1" if NR_CPUS_DEFAULT_1
1861         default "2" if NR_CPUS_DEFAULT_2
1862         default "4" if NR_CPUS_DEFAULT_4
1863         default "8" if NR_CPUS_DEFAULT_8
1864         default "16" if NR_CPUS_DEFAULT_16
1865         default "32" if NR_CPUS_DEFAULT_32
1866         default "64" if NR_CPUS_DEFAULT_64
1867         help
1868           This allows you to specify the maximum number of CPUs which this
1869           kernel will support.  The maximum supported value is 32 for 32-bit
1870           kernel and 64 for 64-bit kernels; the minimum value which makes
1871           sense is 1 for Qemu (useful only for kernel debugging purposes)
1872           and 2 for all others.
1873
1874           This is purely to save memory - each supported CPU adds
1875           approximately eight kilobytes to the kernel image.  For best
1876           performance should round up your number of processors to the next
1877           power of two.
1878
1879 source "kernel/time/Kconfig"
1880
1881 #
1882 # Timer Interrupt Frequency Configuration
1883 #
1884
1885 choice
1886         prompt "Timer frequency"
1887         default HZ_250
1888         help
1889          Allows the configuration of the timer frequency.
1890
1891         config HZ_48
1892                 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
1893
1894         config HZ_100
1895                 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1896
1897         config HZ_128
1898                 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1899
1900         config HZ_250
1901                 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1902
1903         config HZ_256
1904                 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1905
1906         config HZ_1000
1907                 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1908
1909         config HZ_1024
1910                 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1911
1912 endchoice
1913
1914 config SYS_SUPPORTS_48HZ
1915         bool
1916
1917 config SYS_SUPPORTS_100HZ
1918         bool
1919
1920 config SYS_SUPPORTS_128HZ
1921         bool
1922
1923 config SYS_SUPPORTS_250HZ
1924         bool
1925
1926 config SYS_SUPPORTS_256HZ
1927         bool
1928
1929 config SYS_SUPPORTS_1000HZ
1930         bool
1931
1932 config SYS_SUPPORTS_1024HZ
1933         bool
1934
1935 config SYS_SUPPORTS_ARBIT_HZ
1936         bool
1937         default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1938                      !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1939                      !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1940                      !SYS_SUPPORTS_1024HZ
1941
1942 config HZ
1943         int
1944         default 48 if HZ_48
1945         default 100 if HZ_100
1946         default 128 if HZ_128
1947         default 250 if HZ_250
1948         default 256 if HZ_256
1949         default 1000 if HZ_1000
1950         default 1024 if HZ_1024
1951
1952 source "kernel/Kconfig.preempt"
1953
1954 config MIPS_INSANE_LARGE
1955         bool "Support for large 64-bit configurations"
1956         depends on CPU_R10000 && 64BIT
1957         help
1958           MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1959           previous 64-bit processors which only supported 40 bit / 1TB. If you
1960           need processes of more than 1TB virtual address space, say Y here.
1961           This will result in additional memory usage, so it is not
1962           recommended for normal users.
1963
1964 config KEXEC
1965         bool "Kexec system call (EXPERIMENTAL)"
1966         depends on EXPERIMENTAL
1967         help
1968           kexec is a system call that implements the ability to shutdown your
1969           current kernel, and to start another kernel.  It is like a reboot
1970           but it is independent of the system firmware.   And like a reboot
1971           you can start any kernel with it, not just Linux.
1972
1973           The name comes from the similarity to the exec system call.
1974
1975           It is an ongoing process to be certain the hardware in a machine
1976           is properly shutdown, so do not be surprised if this code does not
1977           initially work for you.  It may help to enable device hotplugging
1978           support.  As of this writing the exact hardware interface is
1979           strongly in flux, so no good recommendation can be made.
1980
1981 config SECCOMP
1982         bool "Enable seccomp to safely compute untrusted bytecode"
1983         depends on PROC_FS
1984         default y
1985         help
1986           This kernel feature is useful for number crunching applications
1987           that may need to compute untrusted bytecode during their
1988           execution. By using pipes or other transports made available to
1989           the process as file descriptors supporting the read/write
1990           syscalls, it's possible to isolate those applications in
1991           their own address space using seccomp. Once seccomp is
1992           enabled via /proc/<pid>/seccomp, it cannot be disabled
1993           and the task is only allowed to execute a few safe syscalls
1994           defined by each seccomp mode.
1995
1996           If unsure, say Y. Only embedded should say N here.
1997
1998 endmenu
1999
2000 config LOCKDEP_SUPPORT
2001         bool
2002         default y
2003
2004 config STACKTRACE_SUPPORT
2005         bool
2006         default y
2007
2008 source "init/Kconfig"
2009
2010 config PROBE_INITRD_HEADER
2011         bool "Probe initrd header created by addinitrd"
2012         depends on BLK_DEV_INITRD
2013         help
2014           Probe initrd header at the last page of kernel image.
2015           Say Y here if you are using arch/mips/boot/addinitrd.c to
2016           add initrd or initramfs image to the kernel image.
2017           Otherwise, say N.
2018
2019 source "kernel/Kconfig.freezer"
2020
2021 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2022
2023 config HW_HAS_EISA
2024         bool
2025 config HW_HAS_PCI
2026         bool
2027
2028 config PCI
2029         bool "Support for PCI controller"
2030         depends on HW_HAS_PCI
2031         select PCI_DOMAINS
2032         help
2033           Find out whether you have a PCI motherboard. PCI is the name of a
2034           bus system, i.e. the way the CPU talks to the other stuff inside
2035           your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2036           say Y, otherwise N.
2037
2038 config PCI_DOMAINS
2039         bool
2040
2041 source "drivers/pci/Kconfig"
2042
2043 #
2044 # ISA support is now enabled via select.  Too many systems still have the one
2045 # or other ISA chip on the board that users don't know about so don't expect
2046 # users to choose the right thing ...
2047 #
2048 config ISA
2049         bool
2050
2051 config EISA
2052         bool "EISA support"
2053         depends on HW_HAS_EISA
2054         select ISA
2055         select GENERIC_ISA_DMA
2056         ---help---
2057           The Extended Industry Standard Architecture (EISA) bus was
2058           developed as an open alternative to the IBM MicroChannel bus.
2059
2060           The EISA bus provided some of the features of the IBM MicroChannel
2061           bus while maintaining backward compatibility with cards made for
2062           the older ISA bus.  The EISA bus saw limited use between 1988 and
2063           1995 when it was made obsolete by the PCI bus.
2064
2065           Say Y here if you are building a kernel for an EISA-based machine.
2066
2067           Otherwise, say N.
2068
2069 source "drivers/eisa/Kconfig"
2070
2071 config TC
2072         bool "TURBOchannel support"
2073         depends on MACH_DECSTATION
2074         help
2075           TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2076           processors.  Documentation on writing device drivers for TurboChannel
2077           is available at:
2078           <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
2079
2080 #config ACCESSBUS
2081 #       bool "Access.Bus support"
2082 #       depends on TC
2083
2084 config MMU
2085         bool
2086         default y
2087
2088 config I8253
2089         bool
2090
2091 config ZONE_DMA32
2092         bool
2093
2094 source "drivers/pcmcia/Kconfig"
2095
2096 source "drivers/pci/hotplug/Kconfig"
2097
2098 endmenu
2099
2100 menu "Executable file formats"
2101
2102 source "fs/Kconfig.binfmt"
2103
2104 config TRAD_SIGNALS
2105         bool
2106
2107 config MIPS32_COMPAT
2108         bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2109         depends on 64BIT
2110         help
2111           Select this option if you want Linux/MIPS 32-bit binary
2112           compatibility. Since all software available for Linux/MIPS is
2113           currently 32-bit you should say Y here.
2114
2115 config COMPAT
2116         bool
2117         depends on MIPS32_COMPAT
2118         default y
2119
2120 config SYSVIPC_COMPAT
2121         bool
2122         depends on COMPAT && SYSVIPC
2123         default y
2124
2125 config MIPS32_O32
2126         bool "Kernel support for o32 binaries"
2127         depends on MIPS32_COMPAT
2128         help
2129           Select this option if you want to run o32 binaries.  These are pure
2130           32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
2131           existing binaries are in this format.
2132
2133           If unsure, say Y.
2134
2135 config MIPS32_N32
2136         bool "Kernel support for n32 binaries"
2137         depends on MIPS32_COMPAT
2138         help
2139           Select this option if you want to run n32 binaries.  These are
2140           64-bit binaries using 32-bit quantities for addressing and certain
2141           data that would normally be 64-bit.  They are used in special
2142           cases.
2143
2144           If unsure, say N.
2145
2146 config BINFMT_ELF32
2147         bool
2148         default y if MIPS32_O32 || MIPS32_N32
2149
2150 endmenu
2151
2152 menu "Power management options"
2153
2154 config ARCH_HIBERNATION_POSSIBLE
2155         def_bool y
2156         depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2157
2158 config ARCH_SUSPEND_POSSIBLE
2159         def_bool y
2160         depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2161
2162 source "kernel/power/Kconfig"
2163
2164 endmenu
2165
2166 source "net/Kconfig"
2167
2168 source "drivers/Kconfig"
2169
2170 source "fs/Kconfig"
2171
2172 source "arch/mips/Kconfig.debug"
2173
2174 source "security/Kconfig"
2175
2176 source "crypto/Kconfig"
2177
2178 source "lib/Kconfig"