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