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