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