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