Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
[linux-2.6.git] / 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         depends on !CPU_LOONGSON2
1457         help
1458          This option select the standard 4kB Linux page size.  On some
1459          R3000-family processors this is the only available page size.  Using
1460          4kB page size will minimize memory consumption and is therefore
1461          recommended for low memory systems.
1462
1463 config PAGE_SIZE_8KB
1464         bool "8kB"
1465         depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
1466         help
1467           Using 8kB page size will result in higher performance kernel at
1468           the price of higher memory consumption.  This option is available
1469           only on R8000 and cnMIPS processors.  Note that you will need a
1470           suitable Linux distribution to support this.
1471
1472 config PAGE_SIZE_16KB
1473         bool "16kB"
1474         depends on !CPU_R3000 && !CPU_TX39XX
1475         help
1476           Using 16kB page size will result in higher performance kernel at
1477           the price of higher memory consumption.  This option is available on
1478           all non-R3000 family processors.  Note that you will need a suitable
1479           Linux distribution to support this.
1480
1481 config PAGE_SIZE_32KB
1482         bool "32kB"
1483         depends on CPU_CAVIUM_OCTEON
1484         help
1485           Using 32kB page size will result in higher performance kernel at
1486           the price of higher memory consumption.  This option is available
1487           only on cnMIPS cores.  Note that you will need a suitable Linux
1488           distribution to support this.
1489
1490 config PAGE_SIZE_64KB
1491         bool "64kB"
1492         depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1493         help
1494           Using 64kB page size will result in higher performance kernel at
1495           the price of higher memory consumption.  This option is available on
1496           all non-R3000 family processor.  Not that at the time of this
1497           writing this option is still high experimental.
1498
1499 endchoice
1500
1501 config BOARD_SCACHE
1502         bool
1503
1504 config IP22_CPU_SCACHE
1505         bool
1506         select BOARD_SCACHE
1507
1508 #
1509 # Support for a MIPS32 / MIPS64 style S-caches
1510 #
1511 config MIPS_CPU_SCACHE
1512         bool
1513         select BOARD_SCACHE
1514
1515 config R5000_CPU_SCACHE
1516         bool
1517         select BOARD_SCACHE
1518
1519 config RM7000_CPU_SCACHE
1520         bool
1521         select BOARD_SCACHE
1522
1523 config SIBYTE_DMA_PAGEOPS
1524         bool "Use DMA to clear/copy pages"
1525         depends on CPU_SB1
1526         help
1527           Instead of using the CPU to zero and copy pages, use a Data Mover
1528           channel.  These DMA channels are otherwise unused by the standard
1529           SiByte Linux port.  Seems to give a small performance benefit.
1530
1531 config CPU_HAS_PREFETCH
1532         bool
1533
1534 choice
1535         prompt "MIPS MT options"
1536
1537 config MIPS_MT_DISABLED
1538         bool "Disable multithreading support."
1539         help
1540           Use this option if your workload can't take advantage of
1541           MIPS hardware multithreading support.  On systems that don't have
1542           the option of an MT-enabled processor this option will be the only
1543           option in this menu.
1544
1545 config MIPS_MT_SMP
1546         bool "Use 1 TC on each available VPE for SMP"
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_2
1552         select SMP
1553         select SYS_SUPPORTS_SCHED_SMT if SMP
1554         select SYS_SUPPORTS_SMP
1555         select SMP_UP
1556         help
1557           This is a kernel model which is also known a VSMP or lately
1558           has been marketesed into SMVP.
1559
1560 config MIPS_MT_SMTC
1561         bool "SMTC: Use all TCs on all VPEs for SMP"
1562         depends on CPU_MIPS32_R2
1563         #depends on CPU_MIPS64_R2               # once there is hardware ...
1564         depends on SYS_SUPPORTS_MULTITHREADING
1565         select CPU_MIPSR2_IRQ_VI
1566         select CPU_MIPSR2_IRQ_EI
1567         select MIPS_MT
1568         select NR_CPUS_DEFAULT_8
1569         select SMP
1570         select SYS_SUPPORTS_SMP
1571         select SMP_UP
1572         help
1573           This is a kernel model which is known a SMTC or lately has been
1574           marketesed into SMVP.
1575
1576 endchoice
1577
1578 config MIPS_MT
1579         bool
1580
1581 config SCHED_SMT
1582         bool "SMT (multithreading) scheduler support"
1583         depends on SYS_SUPPORTS_SCHED_SMT
1584         default n
1585         help
1586           SMT scheduler support improves the CPU scheduler's decision making
1587           when dealing with MIPS MT enabled cores at a cost of slightly
1588           increased overhead in some places. If unsure say N here.
1589
1590 config SYS_SUPPORTS_SCHED_SMT
1591         bool
1592
1593
1594 config SYS_SUPPORTS_MULTITHREADING
1595         bool
1596
1597 config MIPS_MT_FPAFF
1598         bool "Dynamic FPU affinity for FP-intensive threads"
1599         default y
1600         depends on MIPS_MT_SMP || MIPS_MT_SMTC
1601
1602 config MIPS_VPE_LOADER
1603         bool "VPE loader support."
1604         depends on SYS_SUPPORTS_MULTITHREADING
1605         select CPU_MIPSR2_IRQ_VI
1606         select CPU_MIPSR2_IRQ_EI
1607         select MIPS_MT
1608         help
1609           Includes a loader for loading an elf relocatable object
1610           onto another VPE and running it.
1611
1612 config MIPS_MT_SMTC_IM_BACKSTOP
1613         bool "Use per-TC register bits as backstop for inhibited IM bits"
1614         depends on MIPS_MT_SMTC
1615         default n
1616         help
1617           To support multiple TC microthreads acting as "CPUs" within
1618           a VPE, VPE-wide interrupt mask bits must be specially manipulated
1619           during interrupt handling. To support legacy drivers and interrupt
1620           controller management code, SMTC has a "backstop" to track and
1621           if necessary restore the interrupt mask. This has some performance
1622           impact on interrupt service overhead.
1623
1624 config MIPS_MT_SMTC_IRQAFF
1625         bool "Support IRQ affinity API"
1626         depends on MIPS_MT_SMTC
1627         default n
1628         help
1629           Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1630           for SMTC Linux kernel. Requires platform support, of which
1631           an example can be found in the MIPS kernel i8259 and Malta
1632           platform code.  Adds some overhead to interrupt dispatch, and
1633           should be used only if you know what you are doing.
1634
1635 config MIPS_VPE_LOADER_TOM
1636         bool "Load VPE program into memory hidden from linux"
1637         depends on MIPS_VPE_LOADER
1638         default y
1639         help
1640           The loader can use memory that is present but has been hidden from
1641           Linux using the kernel command line option "mem=xxMB". It's up to
1642           you to ensure the amount you put in the option and the space your
1643           program requires is less or equal to the amount physically present.
1644
1645 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1646 config MIPS_VPE_APSP_API
1647         bool "Enable support for AP/SP API (RTLX)"
1648         depends on MIPS_VPE_LOADER
1649         help
1650
1651 config MIPS_APSP_KSPD
1652         bool "Enable KSPD"
1653         depends on MIPS_VPE_APSP_API
1654         default y
1655         help
1656           KSPD is a kernel daemon that accepts syscall requests from the SP
1657           side, actions them and returns the results. It also handles the
1658           "exit" syscall notifying other kernel modules the SP program is
1659           exiting.  You probably want to say yes here.
1660
1661 config MIPS_CMP
1662         bool "MIPS CMP framework support"
1663         depends on SYS_SUPPORTS_MIPS_CMP
1664         select SYNC_R4K
1665         select SYS_SUPPORTS_SMP
1666         select SYS_SUPPORTS_SCHED_SMT if SMP
1667         select WEAK_ORDERING
1668         default n
1669         help
1670           This is a placeholder option for the GCMP work. It will need to
1671           be handled differently...
1672
1673 config SB1_PASS_1_WORKAROUNDS
1674         bool
1675         depends on CPU_SB1_PASS_1
1676         default y
1677
1678 config SB1_PASS_2_WORKAROUNDS
1679         bool
1680         depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1681         default y
1682
1683 config SB1_PASS_2_1_WORKAROUNDS
1684         bool
1685         depends on CPU_SB1 && CPU_SB1_PASS_2
1686         default y
1687
1688 config 64BIT_PHYS_ADDR
1689         bool
1690
1691 config CPU_HAS_SMARTMIPS
1692         depends on SYS_SUPPORTS_SMARTMIPS
1693         bool "Support for the SmartMIPS ASE"
1694         help
1695           SmartMIPS is a extension of the MIPS32 architecture aimed at
1696           increased security at both hardware and software level for
1697           smartcards.  Enabling this option will allow proper use of the
1698           SmartMIPS instructions by Linux applications.  However a kernel with
1699           this option will not work on a MIPS core without SmartMIPS core.  If
1700           you don't know you probably don't have SmartMIPS and should say N
1701           here.
1702
1703 config CPU_HAS_WB
1704         bool
1705
1706 #
1707 # Vectored interrupt mode is an R2 feature
1708 #
1709 config CPU_MIPSR2_IRQ_VI
1710         bool
1711
1712 #
1713 # Extended interrupt mode is an R2 feature
1714 #
1715 config CPU_MIPSR2_IRQ_EI
1716         bool
1717
1718 config CPU_HAS_SYNC
1719         bool
1720         depends on !CPU_R3000
1721         default y
1722
1723 config GENERIC_CLOCKEVENTS_BROADCAST
1724         bool
1725
1726 #
1727 # CPU non-features
1728 #
1729 config CPU_DADDI_WORKAROUNDS
1730         bool
1731
1732 config CPU_R4000_WORKAROUNDS
1733         bool
1734         select CPU_R4400_WORKAROUNDS
1735
1736 config CPU_R4400_WORKAROUNDS
1737         bool
1738
1739 #
1740 # Use the generic interrupt handling code in kernel/irq/:
1741 #
1742 config GENERIC_HARDIRQS
1743         bool
1744         default y
1745
1746 config GENERIC_IRQ_PROBE
1747         bool
1748         default y
1749
1750 config IRQ_PER_CPU
1751         bool
1752
1753 #
1754 # - Highmem only makes sense for the 32-bit kernel.
1755 # - The current highmem code will only work properly on physically indexed
1756 #   caches such as R3000, SB1, R7000 or those that look like they're virtually
1757 #   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
1758 #   moment we protect the user and offer the highmem option only on machines
1759 #   where it's known to be safe.  This will not offer highmem on a few systems
1760 #   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1761 #   indexed CPUs but we're playing safe.
1762 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1763 #   know they might have memory configurations that could make use of highmem
1764 #   support.
1765 #
1766 config HIGHMEM
1767         bool "High Memory Support"
1768         depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1769
1770 config CPU_SUPPORTS_HIGHMEM
1771         bool
1772
1773 config SYS_SUPPORTS_HIGHMEM
1774         bool
1775
1776 config SYS_SUPPORTS_SMARTMIPS
1777         bool
1778
1779 config ARCH_FLATMEM_ENABLE
1780         def_bool y
1781         depends on !NUMA && !CPU_LOONGSON2
1782
1783 config ARCH_DISCONTIGMEM_ENABLE
1784         bool
1785         default y if SGI_IP27
1786         help
1787           Say Y to support efficient handling of discontiguous physical memory,
1788           for architectures which are either NUMA (Non-Uniform Memory Access)
1789           or have huge holes in the physical address space for other reasons.
1790           See <file:Documentation/vm/numa> for more.
1791
1792 config ARCH_POPULATES_NODE_MAP
1793         def_bool y
1794
1795 config ARCH_SPARSEMEM_ENABLE
1796         bool
1797         select SPARSEMEM_STATIC
1798
1799 config NUMA
1800         bool "NUMA Support"
1801         depends on SYS_SUPPORTS_NUMA
1802         help
1803           Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1804           Access).  This option improves performance on systems with more
1805           than two nodes; on two node systems it is generally better to
1806           leave it disabled; on single node systems disable this option
1807           disabled.
1808
1809 config SYS_SUPPORTS_NUMA
1810         bool
1811
1812 config NODES_SHIFT
1813         int
1814         default "6"
1815         depends on NEED_MULTIPLE_NODES
1816
1817 source "mm/Kconfig"
1818
1819 config SMP
1820         bool "Multi-Processing support"
1821         depends on SYS_SUPPORTS_SMP
1822         select IRQ_PER_CPU
1823         select USE_GENERIC_SMP_HELPERS
1824         help
1825           This enables support for systems with more than one CPU. If you have
1826           a system with only one CPU, like most personal computers, say N. If
1827           you have a system with more than one CPU, say Y.
1828
1829           If you say N here, the kernel will run on single and multiprocessor
1830           machines, but will use only one CPU of a multiprocessor machine. If
1831           you say Y here, the kernel will run on many, but not all,
1832           singleprocessor machines. On a singleprocessor machine, the kernel
1833           will run faster if you say N here.
1834
1835           People using multiprocessor machines who say Y here should also say
1836           Y to "Enhanced Real Time Clock Support", below.
1837
1838           See also the SMP-HOWTO available at
1839           <http://www.tldp.org/docs.html#howto>.
1840
1841           If you don't know what to do here, say N.
1842
1843 config SMP_UP
1844         bool
1845
1846 config SYS_SUPPORTS_MIPS_CMP
1847         bool
1848
1849 config SYS_SUPPORTS_SMP
1850         bool
1851
1852 config NR_CPUS_DEFAULT_1
1853         bool
1854
1855 config NR_CPUS_DEFAULT_2
1856         bool
1857
1858 config NR_CPUS_DEFAULT_4
1859         bool
1860
1861 config NR_CPUS_DEFAULT_8
1862         bool
1863
1864 config NR_CPUS_DEFAULT_16
1865         bool
1866
1867 config NR_CPUS_DEFAULT_32
1868         bool
1869
1870 config NR_CPUS_DEFAULT_64
1871         bool
1872
1873 config NR_CPUS
1874         int "Maximum number of CPUs (2-64)"
1875         range 1 64 if NR_CPUS_DEFAULT_1
1876         depends on SMP
1877         default "1" if NR_CPUS_DEFAULT_1
1878         default "2" if NR_CPUS_DEFAULT_2
1879         default "4" if NR_CPUS_DEFAULT_4
1880         default "8" if NR_CPUS_DEFAULT_8
1881         default "16" if NR_CPUS_DEFAULT_16
1882         default "32" if NR_CPUS_DEFAULT_32
1883         default "64" if NR_CPUS_DEFAULT_64
1884         help
1885           This allows you to specify the maximum number of CPUs which this
1886           kernel will support.  The maximum supported value is 32 for 32-bit
1887           kernel and 64 for 64-bit kernels; the minimum value which makes
1888           sense is 1 for Qemu (useful only for kernel debugging purposes)
1889           and 2 for all others.
1890
1891           This is purely to save memory - each supported CPU adds
1892           approximately eight kilobytes to the kernel image.  For best
1893           performance should round up your number of processors to the next
1894           power of two.
1895
1896 source "kernel/time/Kconfig"
1897
1898 #
1899 # Timer Interrupt Frequency Configuration
1900 #
1901
1902 choice
1903         prompt "Timer frequency"
1904         default HZ_250
1905         help
1906          Allows the configuration of the timer frequency.
1907
1908         config HZ_48
1909                 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
1910
1911         config HZ_100
1912                 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1913
1914         config HZ_128
1915                 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1916
1917         config HZ_250
1918                 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1919
1920         config HZ_256
1921                 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1922
1923         config HZ_1000
1924                 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1925
1926         config HZ_1024
1927                 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1928
1929 endchoice
1930
1931 config SYS_SUPPORTS_48HZ
1932         bool
1933
1934 config SYS_SUPPORTS_100HZ
1935         bool
1936
1937 config SYS_SUPPORTS_128HZ
1938         bool
1939
1940 config SYS_SUPPORTS_250HZ
1941         bool
1942
1943 config SYS_SUPPORTS_256HZ
1944         bool
1945
1946 config SYS_SUPPORTS_1000HZ
1947         bool
1948
1949 config SYS_SUPPORTS_1024HZ
1950         bool
1951
1952 config SYS_SUPPORTS_ARBIT_HZ
1953         bool
1954         default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1955                      !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1956                      !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1957                      !SYS_SUPPORTS_1024HZ
1958
1959 config HZ
1960         int
1961         default 48 if HZ_48
1962         default 100 if HZ_100
1963         default 128 if HZ_128
1964         default 250 if HZ_250
1965         default 256 if HZ_256
1966         default 1000 if HZ_1000
1967         default 1024 if HZ_1024
1968
1969 source "kernel/Kconfig.preempt"
1970
1971 config MIPS_INSANE_LARGE
1972         bool "Support for large 64-bit configurations"
1973         depends on CPU_R10000 && 64BIT
1974         help
1975           MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1976           previous 64-bit processors which only supported 40 bit / 1TB. If you
1977           need processes of more than 1TB virtual address space, say Y here.
1978           This will result in additional memory usage, so it is not
1979           recommended for normal users.
1980
1981 config KEXEC
1982         bool "Kexec system call (EXPERIMENTAL)"
1983         depends on EXPERIMENTAL
1984         help
1985           kexec is a system call that implements the ability to shutdown your
1986           current kernel, and to start another kernel.  It is like a reboot
1987           but it is independent of the system firmware.   And like a reboot
1988           you can start any kernel with it, not just Linux.
1989
1990           The name comes from the similarity to the exec system call.
1991
1992           It is an ongoing process to be certain the hardware in a machine
1993           is properly shutdown, so do not be surprised if this code does not
1994           initially work for you.  It may help to enable device hotplugging
1995           support.  As of this writing the exact hardware interface is
1996           strongly in flux, so no good recommendation can be made.
1997
1998 config SECCOMP
1999         bool "Enable seccomp to safely compute untrusted bytecode"
2000         depends on PROC_FS
2001         default y
2002         help
2003           This kernel feature is useful for number crunching applications
2004           that may need to compute untrusted bytecode during their
2005           execution. By using pipes or other transports made available to
2006           the process as file descriptors supporting the read/write
2007           syscalls, it's possible to isolate those applications in
2008           their own address space using seccomp. Once seccomp is
2009           enabled via /proc/<pid>/seccomp, it cannot be disabled
2010           and the task is only allowed to execute a few safe syscalls
2011           defined by each seccomp mode.
2012
2013           If unsure, say Y. Only embedded should say N here.
2014
2015 endmenu
2016
2017 config LOCKDEP_SUPPORT
2018         bool
2019         default y
2020
2021 config STACKTRACE_SUPPORT
2022         bool
2023         default y
2024
2025 source "init/Kconfig"
2026
2027 config PROBE_INITRD_HEADER
2028         bool "Probe initrd header created by addinitrd"
2029         depends on BLK_DEV_INITRD
2030         help
2031           Probe initrd header at the last page of kernel image.
2032           Say Y here if you are using arch/mips/boot/addinitrd.c to
2033           add initrd or initramfs image to the kernel image.
2034           Otherwise, say N.
2035
2036 source "kernel/Kconfig.freezer"
2037
2038 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2039
2040 config HW_HAS_EISA
2041         bool
2042 config HW_HAS_PCI
2043         bool
2044
2045 config PCI
2046         bool "Support for PCI controller"
2047         depends on HW_HAS_PCI
2048         select PCI_DOMAINS
2049         help
2050           Find out whether you have a PCI motherboard. PCI is the name of a
2051           bus system, i.e. the way the CPU talks to the other stuff inside
2052           your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2053           say Y, otherwise N.
2054
2055 config PCI_DOMAINS
2056         bool
2057
2058 source "drivers/pci/Kconfig"
2059
2060 #
2061 # ISA support is now enabled via select.  Too many systems still have the one
2062 # or other ISA chip on the board that users don't know about so don't expect
2063 # users to choose the right thing ...
2064 #
2065 config ISA
2066         bool
2067
2068 config EISA
2069         bool "EISA support"
2070         depends on HW_HAS_EISA
2071         select ISA
2072         select GENERIC_ISA_DMA
2073         ---help---
2074           The Extended Industry Standard Architecture (EISA) bus was
2075           developed as an open alternative to the IBM MicroChannel bus.
2076
2077           The EISA bus provided some of the features of the IBM MicroChannel
2078           bus while maintaining backward compatibility with cards made for
2079           the older ISA bus.  The EISA bus saw limited use between 1988 and
2080           1995 when it was made obsolete by the PCI bus.
2081
2082           Say Y here if you are building a kernel for an EISA-based machine.
2083
2084           Otherwise, say N.
2085
2086 source "drivers/eisa/Kconfig"
2087
2088 config TC
2089         bool "TURBOchannel support"
2090         depends on MACH_DECSTATION
2091         help
2092           TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2093           processors.  Documentation on writing device drivers for TurboChannel
2094           is available at:
2095           <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
2096
2097 #config ACCESSBUS
2098 #       bool "Access.Bus support"
2099 #       depends on TC
2100
2101 config MMU
2102         bool
2103         default y
2104
2105 config I8253
2106         bool
2107
2108 config ZONE_DMA32
2109         bool
2110
2111 source "drivers/pcmcia/Kconfig"
2112
2113 source "drivers/pci/hotplug/Kconfig"
2114
2115 endmenu
2116
2117 menu "Executable file formats"
2118
2119 source "fs/Kconfig.binfmt"
2120
2121 config TRAD_SIGNALS
2122         bool
2123
2124 config MIPS32_COMPAT
2125         bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2126         depends on 64BIT
2127         help
2128           Select this option if you want Linux/MIPS 32-bit binary
2129           compatibility. Since all software available for Linux/MIPS is
2130           currently 32-bit you should say Y here.
2131
2132 config COMPAT
2133         bool
2134         depends on MIPS32_COMPAT
2135         default y
2136
2137 config SYSVIPC_COMPAT
2138         bool
2139         depends on COMPAT && SYSVIPC
2140         default y
2141
2142 config MIPS32_O32
2143         bool "Kernel support for o32 binaries"
2144         depends on MIPS32_COMPAT
2145         help
2146           Select this option if you want to run o32 binaries.  These are pure
2147           32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
2148           existing binaries are in this format.
2149
2150           If unsure, say Y.
2151
2152 config MIPS32_N32
2153         bool "Kernel support for n32 binaries"
2154         depends on MIPS32_COMPAT
2155         help
2156           Select this option if you want to run n32 binaries.  These are
2157           64-bit binaries using 32-bit quantities for addressing and certain
2158           data that would normally be 64-bit.  They are used in special
2159           cases.
2160
2161           If unsure, say N.
2162
2163 config BINFMT_ELF32
2164         bool
2165         default y if MIPS32_O32 || MIPS32_N32
2166
2167 endmenu
2168
2169 menu "Power management options"
2170
2171 config ARCH_HIBERNATION_POSSIBLE
2172         def_bool y
2173         depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2174
2175 config ARCH_SUSPEND_POSSIBLE
2176         def_bool y
2177         depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2178
2179 source "kernel/power/Kconfig"
2180
2181 endmenu
2182
2183 source "net/Kconfig"
2184
2185 source "drivers/Kconfig"
2186
2187 source "fs/Kconfig"
2188
2189 source "arch/mips/Kconfig.debug"
2190
2191 source "security/Kconfig"
2192
2193 source "crypto/Kconfig"
2194
2195 source "lib/Kconfig"