MIPS: Convert DMA to use dma-mapping-common.h
[pandora-kernel.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         select HAVE_DMA_ATTRS
18         select HAVE_DMA_API_DEBUG
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         select ZONE_DMA32
697         help
698           This option supports all of the Octeon reference boards from Cavium
699           Networks. It builds a kernel that dynamically determines the Octeon
700           CPU type and supports all known board reference implementations.
701           Some of the supported boards are:
702                 EBT3000
703                 EBH3000
704                 EBH3100
705                 Thunder
706                 Kodama
707                 Hikari
708           Say Y here for most Octeon reference boards.
709
710 endchoice
711
712 source "arch/mips/alchemy/Kconfig"
713 source "arch/mips/bcm63xx/Kconfig"
714 source "arch/mips/jazz/Kconfig"
715 source "arch/mips/jz4740/Kconfig"
716 source "arch/mips/lasat/Kconfig"
717 source "arch/mips/pmc-sierra/Kconfig"
718 source "arch/mips/powertv/Kconfig"
719 source "arch/mips/sgi-ip27/Kconfig"
720 source "arch/mips/sibyte/Kconfig"
721 source "arch/mips/txx9/Kconfig"
722 source "arch/mips/vr41xx/Kconfig"
723 source "arch/mips/cavium-octeon/Kconfig"
724 source "arch/mips/loongson/Kconfig"
725
726 endmenu
727
728 config RWSEM_GENERIC_SPINLOCK
729         bool
730         default y
731
732 config RWSEM_XCHGADD_ALGORITHM
733         bool
734
735 config ARCH_HAS_ILOG2_U32
736         bool
737         default n
738
739 config ARCH_HAS_ILOG2_U64
740         bool
741         default n
742
743 config ARCH_SUPPORTS_OPROFILE
744         bool
745         default y if !MIPS_MT_SMTC
746
747 config GENERIC_FIND_NEXT_BIT
748         bool
749         default y
750
751 config GENERIC_HWEIGHT
752         bool
753         default y
754
755 config GENERIC_CALIBRATE_DELAY
756         bool
757         default y
758
759 config GENERIC_CLOCKEVENTS
760         bool
761         default y
762
763 config GENERIC_CMOS_UPDATE
764         bool
765         default y
766
767 config SCHED_OMIT_FRAME_POINTER
768         bool
769         default y
770
771 config GENERIC_HARDIRQS_NO__DO_IRQ
772         def_bool y
773
774 #
775 # Select some configuration options automatically based on user selections.
776 #
777 config ARC
778         bool
779
780 config ARCH_MAY_HAVE_PC_FDC
781         bool
782
783 config BOOT_RAW
784         bool
785
786 config CEVT_BCM1480
787         bool
788
789 config CEVT_DS1287
790         bool
791
792 config CEVT_GT641XX
793         bool
794
795 config CEVT_R4K_LIB
796         bool
797
798 config CEVT_R4K
799         select CEVT_R4K_LIB
800         bool
801
802 config CEVT_SB1250
803         bool
804
805 config CEVT_TXX9
806         bool
807
808 config CSRC_BCM1480
809         bool
810
811 config CSRC_IOASIC
812         bool
813
814 config CSRC_POWERTV
815         bool
816
817 config CSRC_R4K_LIB
818         bool
819
820 config CSRC_R4K
821         select CSRC_R4K_LIB
822         bool
823
824 config CSRC_SB1250
825         bool
826
827 config GPIO_TXX9
828         select GENERIC_GPIO
829         select ARCH_REQUIRE_GPIOLIB
830         bool
831
832 config CFE
833         bool
834
835 config DMA_COHERENT
836         bool
837
838 config DMA_NONCOHERENT
839         bool
840         select NEED_DMA_MAP_STATE
841
842 config NEED_DMA_MAP_STATE
843         bool
844
845 config SYS_HAS_EARLY_PRINTK
846         bool
847
848 config HOTPLUG_CPU
849         bool "Support for hot-pluggable CPUs"
850         depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU
851         help
852           Say Y here to allow turning CPUs off and on. CPUs can be
853           controlled through /sys/devices/system/cpu.
854           (Note: power management support will enable this option
855             automatically on SMP systems. )
856           Say N if you want to disable CPU hotplug.
857
858 config SYS_SUPPORTS_HOTPLUG_CPU
859         bool
860
861 config I8259
862         bool
863
864 config MIPS_BONITO64
865         bool
866
867 config MIPS_MSC
868         bool
869
870 config MIPS_NILE4
871         bool
872
873 config MIPS_DISABLE_OBSOLETE_IDE
874         bool
875
876 config SYNC_R4K
877         bool
878
879 config NO_IOPORT
880         def_bool n
881
882 config GENERIC_ISA_DMA
883         bool
884         select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
885         select ISA_DMA_API
886
887 config GENERIC_ISA_DMA_SUPPORT_BROKEN
888         bool
889         select GENERIC_ISA_DMA
890
891 config ISA_DMA_API
892         bool
893
894 config GENERIC_GPIO
895         bool
896
897 #
898 # Endianess selection.  Sufficiently obscure so many users don't know what to
899 # answer,so we try hard to limit the available choices.  Also the use of a
900 # choice statement should be more obvious to the user.
901 #
902 choice
903         prompt "Endianess selection"
904         help
905           Some MIPS machines can be configured for either little or big endian
906           byte order. These modes require different kernels and a different
907           Linux distribution.  In general there is one preferred byteorder for a
908           particular system but some systems are just as commonly used in the
909           one or the other endianness.
910
911 config CPU_BIG_ENDIAN
912         bool "Big endian"
913         depends on SYS_SUPPORTS_BIG_ENDIAN
914
915 config CPU_LITTLE_ENDIAN
916         bool "Little endian"
917         depends on SYS_SUPPORTS_LITTLE_ENDIAN
918         help
919
920 endchoice
921
922 config EXPORT_UASM
923         bool
924
925 config SYS_SUPPORTS_APM_EMULATION
926         bool
927
928 config SYS_SUPPORTS_BIG_ENDIAN
929         bool
930
931 config SYS_SUPPORTS_LITTLE_ENDIAN
932         bool
933
934 config SYS_SUPPORTS_HUGETLBFS
935         bool
936         depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
937         default y
938
939 config IRQ_CPU
940         bool
941
942 config IRQ_CPU_RM7K
943         bool
944
945 config IRQ_CPU_RM9K
946         bool
947
948 config IRQ_MSP_SLP
949         bool
950
951 config IRQ_MSP_CIC
952         bool
953
954 config IRQ_TXX9
955         bool
956
957 config IRQ_GT641XX
958         bool
959
960 config IRQ_GIC
961         bool
962
963 config IRQ_CPU_OCTEON
964         bool
965
966 config MIPS_BOARDS_GEN
967         bool
968
969 config PCI_GT64XXX_PCI0
970         bool
971
972 config NO_EXCEPT_FILL
973         bool
974
975 config MIPS_RM9122
976         bool
977         select SERIAL_RM9000
978
979 config SOC_EMMA2RH
980         bool
981         select CEVT_R4K
982         select CSRC_R4K
983         select DMA_NONCOHERENT
984         select IRQ_CPU
985         select SWAP_IO_SPACE
986         select SYS_HAS_CPU_R5500
987         select SYS_SUPPORTS_32BIT_KERNEL
988         select SYS_SUPPORTS_64BIT_KERNEL
989         select SYS_SUPPORTS_BIG_ENDIAN
990
991 config SOC_PNX833X
992         bool
993         select CEVT_R4K
994         select CSRC_R4K
995         select IRQ_CPU
996         select DMA_NONCOHERENT
997         select SYS_HAS_CPU_MIPS32_R2
998         select SYS_SUPPORTS_32BIT_KERNEL
999         select SYS_SUPPORTS_LITTLE_ENDIAN
1000         select SYS_SUPPORTS_BIG_ENDIAN
1001         select GENERIC_GPIO
1002         select CPU_MIPSR2_IRQ_VI
1003
1004 config SOC_PNX8335
1005         bool
1006         select SOC_PNX833X
1007
1008 config PNX8550
1009         bool
1010         select SOC_PNX8550
1011
1012 config SOC_PNX8550
1013         bool
1014         select DMA_NONCOHERENT
1015         select HW_HAS_PCI
1016         select SYS_HAS_CPU_MIPS32_R1
1017         select SYS_HAS_EARLY_PRINTK
1018         select SYS_SUPPORTS_32BIT_KERNEL
1019         select GENERIC_GPIO
1020
1021 config SWAP_IO_SPACE
1022         bool
1023
1024 config SERIAL_RM9000
1025         bool
1026
1027 config SGI_HAS_INDYDOG
1028         bool
1029
1030 config SGI_HAS_HAL2
1031         bool
1032
1033 config SGI_HAS_SEEQ
1034         bool
1035
1036 config SGI_HAS_WD93
1037         bool
1038
1039 config SGI_HAS_ZILOG
1040         bool
1041
1042 config SGI_HAS_I8042
1043         bool
1044
1045 config DEFAULT_SGI_PARTITION
1046         bool
1047
1048 config ARC32
1049         bool
1050
1051 config SNIPROM
1052         bool
1053
1054 config BOOT_ELF32
1055         bool
1056
1057 config MIPS_L1_CACHE_SHIFT
1058         int
1059         default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL
1060         default "6" if MIPS_CPU_SCACHE
1061         default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON
1062         default "5"
1063
1064 config HAVE_STD_PC_SERIAL_PORT
1065         bool
1066
1067 config ARC_CONSOLE
1068         bool "ARC console support"
1069         depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
1070
1071 config ARC_MEMORY
1072         bool
1073         depends on MACH_JAZZ || SNI_RM || SGI_IP32
1074         default y
1075
1076 config ARC_PROMLIB
1077         bool
1078         depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
1079         default y
1080
1081 config ARC64
1082         bool
1083
1084 config BOOT_ELF64
1085         bool
1086
1087 menu "CPU selection"
1088
1089 choice
1090         prompt "CPU type"
1091         default CPU_R4X00
1092
1093 config CPU_LOONGSON2E
1094         bool "Loongson 2E"
1095         depends on SYS_HAS_CPU_LOONGSON2E
1096         select CPU_LOONGSON2
1097         help
1098           The Loongson 2E processor implements the MIPS III instruction set
1099           with many extensions.
1100
1101           It has an internal FPGA northbridge, which is compatiable to
1102           bonito64.
1103
1104 config CPU_LOONGSON2F
1105         bool "Loongson 2F"
1106         depends on SYS_HAS_CPU_LOONGSON2F
1107         select CPU_LOONGSON2
1108         select GENERIC_GPIO
1109         select ARCH_REQUIRE_GPIOLIB
1110         help
1111           The Loongson 2F processor implements the MIPS III instruction set
1112           with many extensions.
1113
1114           Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1115           have a similar programming interface with FPGA northbridge used in
1116           Loongson2E.
1117
1118 config CPU_MIPS32_R1
1119         bool "MIPS32 Release 1"
1120         depends on SYS_HAS_CPU_MIPS32_R1
1121         select CPU_HAS_PREFETCH
1122         select CPU_SUPPORTS_32BIT_KERNEL
1123         select CPU_SUPPORTS_HIGHMEM
1124         help
1125           Choose this option to build a kernel for release 1 or later of the
1126           MIPS32 architecture.  Most modern embedded systems with a 32-bit
1127           MIPS processor are based on a MIPS32 processor.  If you know the
1128           specific type of processor in your system, choose those that one
1129           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1130           Release 2 of the MIPS32 architecture is available since several
1131           years so chances are you even have a MIPS32 Release 2 processor
1132           in which case you should choose CPU_MIPS32_R2 instead for better
1133           performance.
1134
1135 config CPU_MIPS32_R2
1136         bool "MIPS32 Release 2"
1137         depends on SYS_HAS_CPU_MIPS32_R2
1138         select CPU_HAS_PREFETCH
1139         select CPU_SUPPORTS_32BIT_KERNEL
1140         select CPU_SUPPORTS_HIGHMEM
1141         help
1142           Choose this option to build a kernel for release 2 or later of the
1143           MIPS32 architecture.  Most modern embedded systems with a 32-bit
1144           MIPS processor are based on a MIPS32 processor.  If you know the
1145           specific type of processor in your system, choose those that one
1146           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1147
1148 config CPU_MIPS64_R1
1149         bool "MIPS64 Release 1"
1150         depends on SYS_HAS_CPU_MIPS64_R1
1151         select CPU_HAS_PREFETCH
1152         select CPU_SUPPORTS_32BIT_KERNEL
1153         select CPU_SUPPORTS_64BIT_KERNEL
1154         select CPU_SUPPORTS_HIGHMEM
1155         select CPU_SUPPORTS_HUGEPAGES
1156         help
1157           Choose this option to build a kernel for release 1 or later of the
1158           MIPS64 architecture.  Many modern embedded systems with a 64-bit
1159           MIPS processor are based on a MIPS64 processor.  If you know the
1160           specific type of processor in your system, choose those that one
1161           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1162           Release 2 of the MIPS64 architecture is available since several
1163           years so chances are you even have a MIPS64 Release 2 processor
1164           in which case you should choose CPU_MIPS64_R2 instead for better
1165           performance.
1166
1167 config CPU_MIPS64_R2
1168         bool "MIPS64 Release 2"
1169         depends on SYS_HAS_CPU_MIPS64_R2
1170         select CPU_HAS_PREFETCH
1171         select CPU_SUPPORTS_32BIT_KERNEL
1172         select CPU_SUPPORTS_64BIT_KERNEL
1173         select CPU_SUPPORTS_HIGHMEM
1174         select CPU_SUPPORTS_HUGEPAGES
1175         help
1176           Choose this option to build a kernel for release 2 or later of the
1177           MIPS64 architecture.  Many modern embedded systems with a 64-bit
1178           MIPS processor are based on a MIPS64 processor.  If you know the
1179           specific type of processor in your system, choose those that one
1180           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1181
1182 config CPU_R3000
1183         bool "R3000"
1184         depends on SYS_HAS_CPU_R3000
1185         select CPU_HAS_WB
1186         select CPU_SUPPORTS_32BIT_KERNEL
1187         select CPU_SUPPORTS_HIGHMEM
1188         help
1189           Please make sure to pick the right CPU type. Linux/MIPS is not
1190           designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1191           *not* work on R4000 machines and vice versa.  However, since most
1192           of the supported machines have an R4000 (or similar) CPU, R4x00
1193           might be a safe bet.  If the resulting kernel does not work,
1194           try to recompile with R3000.
1195
1196 config CPU_TX39XX
1197         bool "R39XX"
1198         depends on SYS_HAS_CPU_TX39XX
1199         select CPU_SUPPORTS_32BIT_KERNEL
1200
1201 config CPU_VR41XX
1202         bool "R41xx"
1203         depends on SYS_HAS_CPU_VR41XX
1204         select CPU_SUPPORTS_32BIT_KERNEL
1205         select CPU_SUPPORTS_64BIT_KERNEL
1206         help
1207           The options selects support for the NEC VR4100 series of processors.
1208           Only choose this option if you have one of these processors as a
1209           kernel built with this option will not run on any other type of
1210           processor or vice versa.
1211
1212 config CPU_R4300
1213         bool "R4300"
1214         depends on SYS_HAS_CPU_R4300
1215         select CPU_SUPPORTS_32BIT_KERNEL
1216         select CPU_SUPPORTS_64BIT_KERNEL
1217         help
1218           MIPS Technologies R4300-series processors.
1219
1220 config CPU_R4X00
1221         bool "R4x00"
1222         depends on SYS_HAS_CPU_R4X00
1223         select CPU_SUPPORTS_32BIT_KERNEL
1224         select CPU_SUPPORTS_64BIT_KERNEL
1225         help
1226           MIPS Technologies R4000-series processors other than 4300, including
1227           the R4000, R4400, R4600, and 4700.
1228
1229 config CPU_TX49XX
1230         bool "R49XX"
1231         depends on SYS_HAS_CPU_TX49XX
1232         select CPU_HAS_PREFETCH
1233         select CPU_SUPPORTS_32BIT_KERNEL
1234         select CPU_SUPPORTS_64BIT_KERNEL
1235
1236 config CPU_R5000
1237         bool "R5000"
1238         depends on SYS_HAS_CPU_R5000
1239         select CPU_SUPPORTS_32BIT_KERNEL
1240         select CPU_SUPPORTS_64BIT_KERNEL
1241         help
1242           MIPS Technologies R5000-series processors other than the Nevada.
1243
1244 config CPU_R5432
1245         bool "R5432"
1246         depends on SYS_HAS_CPU_R5432
1247         select CPU_SUPPORTS_32BIT_KERNEL
1248         select CPU_SUPPORTS_64BIT_KERNEL
1249
1250 config CPU_R5500
1251         bool "R5500"
1252         depends on SYS_HAS_CPU_R5500
1253         select CPU_SUPPORTS_32BIT_KERNEL
1254         select CPU_SUPPORTS_64BIT_KERNEL
1255         select CPU_SUPPORTS_HUGEPAGES
1256         help
1257           NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1258           instruction set.
1259
1260 config CPU_R6000
1261         bool "R6000"
1262         depends on EXPERIMENTAL
1263         depends on SYS_HAS_CPU_R6000
1264         select CPU_SUPPORTS_32BIT_KERNEL
1265         help
1266           MIPS Technologies R6000 and R6000A series processors.  Note these
1267           processors are extremely rare and the support for them is incomplete.
1268
1269 config CPU_NEVADA
1270         bool "RM52xx"
1271         depends on SYS_HAS_CPU_NEVADA
1272         select CPU_SUPPORTS_32BIT_KERNEL
1273         select CPU_SUPPORTS_64BIT_KERNEL
1274         help
1275           QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1276
1277 config CPU_R8000
1278         bool "R8000"
1279         depends on EXPERIMENTAL
1280         depends on SYS_HAS_CPU_R8000
1281         select CPU_HAS_PREFETCH
1282         select CPU_SUPPORTS_64BIT_KERNEL
1283         help
1284           MIPS Technologies R8000 processors.  Note these processors are
1285           uncommon and the support for them is incomplete.
1286
1287 config CPU_R10000
1288         bool "R10000"
1289         depends on SYS_HAS_CPU_R10000
1290         select CPU_HAS_PREFETCH
1291         select CPU_SUPPORTS_32BIT_KERNEL
1292         select CPU_SUPPORTS_64BIT_KERNEL
1293         select CPU_SUPPORTS_HIGHMEM
1294         help
1295           MIPS Technologies R10000-series processors.
1296
1297 config CPU_RM7000
1298         bool "RM7000"
1299         depends on SYS_HAS_CPU_RM7000
1300         select CPU_HAS_PREFETCH
1301         select CPU_SUPPORTS_32BIT_KERNEL
1302         select CPU_SUPPORTS_64BIT_KERNEL
1303         select CPU_SUPPORTS_HIGHMEM
1304
1305 config CPU_RM9000
1306         bool "RM9000"
1307         depends on SYS_HAS_CPU_RM9000
1308         select CPU_HAS_PREFETCH
1309         select CPU_SUPPORTS_32BIT_KERNEL
1310         select CPU_SUPPORTS_64BIT_KERNEL
1311         select CPU_SUPPORTS_HIGHMEM
1312         select WEAK_ORDERING
1313
1314 config CPU_SB1
1315         bool "SB1"
1316         depends on SYS_HAS_CPU_SB1
1317         select CPU_SUPPORTS_32BIT_KERNEL
1318         select CPU_SUPPORTS_64BIT_KERNEL
1319         select CPU_SUPPORTS_HIGHMEM
1320         select WEAK_ORDERING
1321
1322 config CPU_CAVIUM_OCTEON
1323         bool "Cavium Octeon processor"
1324         depends on SYS_HAS_CPU_CAVIUM_OCTEON
1325         select IRQ_CPU
1326         select IRQ_CPU_OCTEON
1327         select CPU_HAS_PREFETCH
1328         select CPU_SUPPORTS_64BIT_KERNEL
1329         select SYS_SUPPORTS_SMP
1330         select NR_CPUS_DEFAULT_16
1331         select WEAK_ORDERING
1332         select CPU_SUPPORTS_HIGHMEM
1333         select CPU_SUPPORTS_HUGEPAGES
1334         help
1335           The Cavium Octeon processor is a highly integrated chip containing
1336           many ethernet hardware widgets for networking tasks. The processor
1337           can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1338           Full details can be found at http://www.caviumnetworks.com.
1339
1340 endchoice
1341
1342 if CPU_LOONGSON2F
1343 config CPU_NOP_WORKAROUNDS
1344         bool
1345
1346 config CPU_JUMP_WORKAROUNDS
1347         bool
1348
1349 config CPU_LOONGSON2F_WORKAROUNDS
1350         bool "Loongson 2F Workarounds"
1351         default y
1352         select CPU_NOP_WORKAROUNDS
1353         select CPU_JUMP_WORKAROUNDS
1354         help
1355           Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1356           require workarounds.  Without workarounds the system may hang
1357           unexpectedly.  For more information please refer to the gas
1358           -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1359
1360           Loongson 2F03 and later have fixed these issues and no workarounds
1361           are needed.  The workarounds have no significant side effect on them
1362           but may decrease the performance of the system so this option should
1363           be disabled unless the kernel is intended to be run on 2F01 or 2F02
1364           systems.
1365
1366           If unsure, please say Y.
1367 endif # CPU_LOONGSON2F
1368
1369 config SYS_SUPPORTS_ZBOOT
1370         bool
1371         select HAVE_KERNEL_GZIP
1372         select HAVE_KERNEL_BZIP2
1373         select HAVE_KERNEL_LZMA
1374         select HAVE_KERNEL_LZO
1375
1376 config SYS_SUPPORTS_ZBOOT_UART16550
1377         bool
1378         select SYS_SUPPORTS_ZBOOT
1379
1380 config CPU_LOONGSON2
1381         bool
1382         select CPU_SUPPORTS_32BIT_KERNEL
1383         select CPU_SUPPORTS_64BIT_KERNEL
1384         select CPU_SUPPORTS_HIGHMEM
1385
1386 config SYS_HAS_CPU_LOONGSON2E
1387         bool
1388
1389 config SYS_HAS_CPU_LOONGSON2F
1390         bool
1391         select CPU_SUPPORTS_CPUFREQ
1392         select CPU_SUPPORTS_ADDRWINCFG if 64BIT
1393         select CPU_SUPPORTS_UNCACHED_ACCELERATED
1394
1395 config SYS_HAS_CPU_MIPS32_R1
1396         bool
1397
1398 config SYS_HAS_CPU_MIPS32_R2
1399         bool
1400
1401 config SYS_HAS_CPU_MIPS64_R1
1402         bool
1403
1404 config SYS_HAS_CPU_MIPS64_R2
1405         bool
1406
1407 config SYS_HAS_CPU_R3000
1408         bool
1409
1410 config SYS_HAS_CPU_TX39XX
1411         bool
1412
1413 config SYS_HAS_CPU_VR41XX
1414         bool
1415
1416 config SYS_HAS_CPU_R4300
1417         bool
1418
1419 config SYS_HAS_CPU_R4X00
1420         bool
1421
1422 config SYS_HAS_CPU_TX49XX
1423         bool
1424
1425 config SYS_HAS_CPU_R5000
1426         bool
1427
1428 config SYS_HAS_CPU_R5432
1429         bool
1430
1431 config SYS_HAS_CPU_R5500
1432         bool
1433
1434 config SYS_HAS_CPU_R6000
1435         bool
1436
1437 config SYS_HAS_CPU_NEVADA
1438         bool
1439
1440 config SYS_HAS_CPU_R8000
1441         bool
1442
1443 config SYS_HAS_CPU_R10000
1444         bool
1445
1446 config SYS_HAS_CPU_RM7000
1447         bool
1448
1449 config SYS_HAS_CPU_RM9000
1450         bool
1451
1452 config SYS_HAS_CPU_SB1
1453         bool
1454
1455 config SYS_HAS_CPU_CAVIUM_OCTEON
1456         bool
1457
1458 #
1459 # CPU may reorder R->R, R->W, W->R, W->W
1460 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1461 #
1462 config WEAK_ORDERING
1463         bool
1464
1465 #
1466 # CPU may reorder reads and writes beyond LL/SC
1467 # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1468 #
1469 config WEAK_REORDERING_BEYOND_LLSC
1470         bool
1471 endmenu
1472
1473 #
1474 # These two indicate any level of the MIPS32 and MIPS64 architecture
1475 #
1476 config CPU_MIPS32
1477         bool
1478         default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1479
1480 config CPU_MIPS64
1481         bool
1482         default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1483
1484 #
1485 # These two indicate the revision of the architecture, either Release 1 or Release 2
1486 #
1487 config CPU_MIPSR1
1488         bool
1489         default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1490
1491 config CPU_MIPSR2
1492         bool
1493         default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1494
1495 config SYS_SUPPORTS_32BIT_KERNEL
1496         bool
1497 config SYS_SUPPORTS_64BIT_KERNEL
1498         bool
1499 config CPU_SUPPORTS_32BIT_KERNEL
1500         bool
1501 config CPU_SUPPORTS_64BIT_KERNEL
1502         bool
1503 config CPU_SUPPORTS_CPUFREQ
1504         bool
1505 config CPU_SUPPORTS_ADDRWINCFG
1506         bool
1507 config CPU_SUPPORTS_HUGEPAGES
1508         bool
1509 config CPU_SUPPORTS_UNCACHED_ACCELERATED
1510         bool
1511 config MIPS_PGD_C0_CONTEXT
1512         bool
1513         default y if 64BIT && CPU_MIPSR2
1514
1515 #
1516 # Set to y for ptrace access to watch registers.
1517 #
1518 config HARDWARE_WATCHPOINTS
1519        bool
1520        default y if CPU_MIPSR1 || CPU_MIPSR2
1521
1522 menu "Kernel type"
1523
1524 choice
1525
1526         prompt "Kernel code model"
1527         help
1528           You should only select this option if you have a workload that
1529           actually benefits from 64-bit processing or if your machine has
1530           large memory.  You will only be presented a single option in this
1531           menu if your system does not support both 32-bit and 64-bit kernels.
1532
1533 config 32BIT
1534         bool "32-bit kernel"
1535         depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1536         select TRAD_SIGNALS
1537         help
1538           Select this option if you want to build a 32-bit kernel.
1539 config 64BIT
1540         bool "64-bit kernel"
1541         depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1542         select HAVE_SYSCALL_WRAPPERS
1543         help
1544           Select this option if you want to build a 64-bit kernel.
1545
1546 endchoice
1547
1548 choice
1549         prompt "Kernel page size"
1550         default PAGE_SIZE_4KB
1551
1552 config PAGE_SIZE_4KB
1553         bool "4kB"
1554         depends on !CPU_LOONGSON2
1555         help
1556          This option select the standard 4kB Linux page size.  On some
1557          R3000-family processors this is the only available page size.  Using
1558          4kB page size will minimize memory consumption and is therefore
1559          recommended for low memory systems.
1560
1561 config PAGE_SIZE_8KB
1562         bool "8kB"
1563         depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
1564         help
1565           Using 8kB page size will result in higher performance kernel at
1566           the price of higher memory consumption.  This option is available
1567           only on R8000 and cnMIPS processors.  Note that you will need a
1568           suitable Linux distribution to support this.
1569
1570 config PAGE_SIZE_16KB
1571         bool "16kB"
1572         depends on !CPU_R3000 && !CPU_TX39XX
1573         help
1574           Using 16kB page size will result in higher performance kernel at
1575           the price of higher memory consumption.  This option is available on
1576           all non-R3000 family processors.  Note that you will need a suitable
1577           Linux distribution to support this.
1578
1579 config PAGE_SIZE_32KB
1580         bool "32kB"
1581         depends on CPU_CAVIUM_OCTEON
1582         help
1583           Using 32kB page size will result in higher performance kernel at
1584           the price of higher memory consumption.  This option is available
1585           only on cnMIPS cores.  Note that you will need a suitable Linux
1586           distribution to support this.
1587
1588 config PAGE_SIZE_64KB
1589         bool "64kB"
1590         depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1591         help
1592           Using 64kB page size will result in higher performance kernel at
1593           the price of higher memory consumption.  This option is available on
1594           all non-R3000 family processor.  Not that at the time of this
1595           writing this option is still high experimental.
1596
1597 endchoice
1598
1599 config BOARD_SCACHE
1600         bool
1601
1602 config IP22_CPU_SCACHE
1603         bool
1604         select BOARD_SCACHE
1605
1606 #
1607 # Support for a MIPS32 / MIPS64 style S-caches
1608 #
1609 config MIPS_CPU_SCACHE
1610         bool
1611         select BOARD_SCACHE
1612
1613 config R5000_CPU_SCACHE
1614         bool
1615         select BOARD_SCACHE
1616
1617 config RM7000_CPU_SCACHE
1618         bool
1619         select BOARD_SCACHE
1620
1621 config SIBYTE_DMA_PAGEOPS
1622         bool "Use DMA to clear/copy pages"
1623         depends on CPU_SB1
1624         help
1625           Instead of using the CPU to zero and copy pages, use a Data Mover
1626           channel.  These DMA channels are otherwise unused by the standard
1627           SiByte Linux port.  Seems to give a small performance benefit.
1628
1629 config CPU_HAS_PREFETCH
1630         bool
1631
1632 choice
1633         prompt "MIPS MT options"
1634
1635 config MIPS_MT_DISABLED
1636         bool "Disable multithreading support."
1637         help
1638           Use this option if your workload can't take advantage of
1639           MIPS hardware multithreading support.  On systems that don't have
1640           the option of an MT-enabled processor this option will be the only
1641           option in this menu.
1642
1643 config MIPS_MT_SMP
1644         bool "Use 1 TC on each available VPE for SMP"
1645         depends on SYS_SUPPORTS_MULTITHREADING
1646         select CPU_MIPSR2_IRQ_VI
1647         select CPU_MIPSR2_IRQ_EI
1648         select MIPS_MT
1649         select NR_CPUS_DEFAULT_2
1650         select SMP
1651         select SYS_SUPPORTS_SCHED_SMT if SMP
1652         select SYS_SUPPORTS_SMP
1653         select SMP_UP
1654         help
1655           This is a kernel model which is known a VSMP but lately has been
1656           marketesed into SMVP.
1657           Virtual SMP uses the processor's VPEs  to implement virtual
1658           processors. In currently available configuration of the 34K processor
1659           this allows for a dual processor. Both processors will share the same
1660           primary caches; each will obtain the half of the TLB for it's own
1661           exclusive use. For a layman this model can be described as similar to
1662           what Intel calls Hyperthreading.
1663
1664           For further information see http://www.linux-mips.org/wiki/34K#VSMP
1665
1666 config MIPS_MT_SMTC
1667         bool "SMTC: Use all TCs on all VPEs for SMP"
1668         depends on CPU_MIPS32_R2
1669         #depends on CPU_MIPS64_R2               # once there is hardware ...
1670         depends on SYS_SUPPORTS_MULTITHREADING
1671         select CPU_MIPSR2_IRQ_VI
1672         select CPU_MIPSR2_IRQ_EI
1673         select MIPS_MT
1674         select NR_CPUS_DEFAULT_8
1675         select SMP
1676         select SYS_SUPPORTS_SMP
1677         select SMP_UP
1678         help
1679           This is a kernel model which is known a SMTC or lately has been
1680           marketesed into SMVP.
1681           is presenting the available TC's of the core as processors to Linux.
1682           On currently available 34K processors this means a Linux system will
1683           see up to 5 processors. The implementation of the SMTC kernel differs
1684           significantly from VSMP and cannot efficiently coexist in the same
1685           kernel binary so the choice between VSMP and SMTC is a compile time
1686           decision.
1687
1688           For further information see http://www.linux-mips.org/wiki/34K#SMTC
1689
1690 endchoice
1691
1692 config MIPS_MT
1693         bool
1694
1695 config SCHED_SMT
1696         bool "SMT (multithreading) scheduler support"
1697         depends on SYS_SUPPORTS_SCHED_SMT
1698         default n
1699         help
1700           SMT scheduler support improves the CPU scheduler's decision making
1701           when dealing with MIPS MT enabled cores at a cost of slightly
1702           increased overhead in some places. If unsure say N here.
1703
1704 config SYS_SUPPORTS_SCHED_SMT
1705         bool
1706
1707
1708 config SYS_SUPPORTS_MULTITHREADING
1709         bool
1710
1711 config MIPS_MT_FPAFF
1712         bool "Dynamic FPU affinity for FP-intensive threads"
1713         default y
1714         depends on MIPS_MT_SMP || MIPS_MT_SMTC
1715
1716 config MIPS_VPE_LOADER
1717         bool "VPE loader support."
1718         depends on SYS_SUPPORTS_MULTITHREADING
1719         select CPU_MIPSR2_IRQ_VI
1720         select CPU_MIPSR2_IRQ_EI
1721         select MIPS_MT
1722         help
1723           Includes a loader for loading an elf relocatable object
1724           onto another VPE and running it.
1725
1726 config MIPS_MT_SMTC_IM_BACKSTOP
1727         bool "Use per-TC register bits as backstop for inhibited IM bits"
1728         depends on MIPS_MT_SMTC
1729         default n
1730         help
1731           To support multiple TC microthreads acting as "CPUs" within
1732           a VPE, VPE-wide interrupt mask bits must be specially manipulated
1733           during interrupt handling. To support legacy drivers and interrupt
1734           controller management code, SMTC has a "backstop" to track and
1735           if necessary restore the interrupt mask. This has some performance
1736           impact on interrupt service overhead.
1737
1738 config MIPS_MT_SMTC_IRQAFF
1739         bool "Support IRQ affinity API"
1740         depends on MIPS_MT_SMTC
1741         default n
1742         help
1743           Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1744           for SMTC Linux kernel. Requires platform support, of which
1745           an example can be found in the MIPS kernel i8259 and Malta
1746           platform code.  Adds some overhead to interrupt dispatch, and
1747           should be used only if you know what you are doing.
1748
1749 config MIPS_VPE_LOADER_TOM
1750         bool "Load VPE program into memory hidden from linux"
1751         depends on MIPS_VPE_LOADER
1752         default y
1753         help
1754           The loader can use memory that is present but has been hidden from
1755           Linux using the kernel command line option "mem=xxMB". It's up to
1756           you to ensure the amount you put in the option and the space your
1757           program requires is less or equal to the amount physically present.
1758
1759 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1760 config MIPS_VPE_APSP_API
1761         bool "Enable support for AP/SP API (RTLX)"
1762         depends on MIPS_VPE_LOADER
1763         help
1764
1765 config MIPS_APSP_KSPD
1766         bool "Enable KSPD"
1767         depends on MIPS_VPE_APSP_API
1768         default y
1769         help
1770           KSPD is a kernel daemon that accepts syscall requests from the SP
1771           side, actions them and returns the results. It also handles the
1772           "exit" syscall notifying other kernel modules the SP program is
1773           exiting.  You probably want to say yes here.
1774
1775 config MIPS_CMP
1776         bool "MIPS CMP framework support"
1777         depends on SYS_SUPPORTS_MIPS_CMP
1778         select SYNC_R4K
1779         select SYS_SUPPORTS_SMP
1780         select SYS_SUPPORTS_SCHED_SMT if SMP
1781         select WEAK_ORDERING
1782         default n
1783         help
1784           This is a placeholder option for the GCMP work. It will need to
1785           be handled differently...
1786
1787 config SB1_PASS_1_WORKAROUNDS
1788         bool
1789         depends on CPU_SB1_PASS_1
1790         default y
1791
1792 config SB1_PASS_2_WORKAROUNDS
1793         bool
1794         depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1795         default y
1796
1797 config SB1_PASS_2_1_WORKAROUNDS
1798         bool
1799         depends on CPU_SB1 && CPU_SB1_PASS_2
1800         default y
1801
1802 config 64BIT_PHYS_ADDR
1803         bool
1804
1805 config ARCH_PHYS_ADDR_T_64BIT
1806        def_bool 64BIT_PHYS_ADDR
1807
1808 config CPU_HAS_SMARTMIPS
1809         depends on SYS_SUPPORTS_SMARTMIPS
1810         bool "Support for the SmartMIPS ASE"
1811         help
1812           SmartMIPS is a extension of the MIPS32 architecture aimed at
1813           increased security at both hardware and software level for
1814           smartcards.  Enabling this option will allow proper use of the
1815           SmartMIPS instructions by Linux applications.  However a kernel with
1816           this option will not work on a MIPS core without SmartMIPS core.  If
1817           you don't know you probably don't have SmartMIPS and should say N
1818           here.
1819
1820 config CPU_HAS_WB
1821         bool
1822
1823 #
1824 # Vectored interrupt mode is an R2 feature
1825 #
1826 config CPU_MIPSR2_IRQ_VI
1827         bool
1828
1829 #
1830 # Extended interrupt mode is an R2 feature
1831 #
1832 config CPU_MIPSR2_IRQ_EI
1833         bool
1834
1835 config CPU_HAS_SYNC
1836         bool
1837         depends on !CPU_R3000
1838         default y
1839
1840 config GENERIC_CLOCKEVENTS_BROADCAST
1841         bool
1842
1843 #
1844 # CPU non-features
1845 #
1846 config CPU_DADDI_WORKAROUNDS
1847         bool
1848
1849 config CPU_R4000_WORKAROUNDS
1850         bool
1851         select CPU_R4400_WORKAROUNDS
1852
1853 config CPU_R4400_WORKAROUNDS
1854         bool
1855
1856 #
1857 # Use the generic interrupt handling code in kernel/irq/:
1858 #
1859 config GENERIC_HARDIRQS
1860         bool
1861         default y
1862
1863 config GENERIC_IRQ_PROBE
1864         bool
1865         default y
1866
1867 config IRQ_PER_CPU
1868         bool
1869
1870 #
1871 # - Highmem only makes sense for the 32-bit kernel.
1872 # - The current highmem code will only work properly on physically indexed
1873 #   caches such as R3000, SB1, R7000 or those that look like they're virtually
1874 #   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
1875 #   moment we protect the user and offer the highmem option only on machines
1876 #   where it's known to be safe.  This will not offer highmem on a few systems
1877 #   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1878 #   indexed CPUs but we're playing safe.
1879 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1880 #   know they might have memory configurations that could make use of highmem
1881 #   support.
1882 #
1883 config HIGHMEM
1884         bool "High Memory Support"
1885         depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1886
1887 config CPU_SUPPORTS_HIGHMEM
1888         bool
1889
1890 config SYS_SUPPORTS_HIGHMEM
1891         bool
1892
1893 config SYS_SUPPORTS_SMARTMIPS
1894         bool
1895
1896 config ARCH_FLATMEM_ENABLE
1897         def_bool y
1898         depends on !NUMA && !CPU_LOONGSON2
1899
1900 config ARCH_DISCONTIGMEM_ENABLE
1901         bool
1902         default y if SGI_IP27
1903         help
1904           Say Y to support efficient handling of discontiguous physical memory,
1905           for architectures which are either NUMA (Non-Uniform Memory Access)
1906           or have huge holes in the physical address space for other reasons.
1907           See <file:Documentation/vm/numa> for more.
1908
1909 config ARCH_POPULATES_NODE_MAP
1910         def_bool y
1911
1912 config ARCH_SPARSEMEM_ENABLE
1913         bool
1914         select SPARSEMEM_STATIC
1915
1916 config NUMA
1917         bool "NUMA Support"
1918         depends on SYS_SUPPORTS_NUMA
1919         help
1920           Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1921           Access).  This option improves performance on systems with more
1922           than two nodes; on two node systems it is generally better to
1923           leave it disabled; on single node systems disable this option
1924           disabled.
1925
1926 config SYS_SUPPORTS_NUMA
1927         bool
1928
1929 config NODES_SHIFT
1930         int
1931         default "6"
1932         depends on NEED_MULTIPLE_NODES
1933
1934 source "mm/Kconfig"
1935
1936 config SMP
1937         bool "Multi-Processing support"
1938         depends on SYS_SUPPORTS_SMP
1939         select IRQ_PER_CPU
1940         select USE_GENERIC_SMP_HELPERS
1941         help
1942           This enables support for systems with more than one CPU. If you have
1943           a system with only one CPU, like most personal computers, say N. If
1944           you have a system with more than one CPU, say Y.
1945
1946           If you say N here, the kernel will run on single and multiprocessor
1947           machines, but will use only one CPU of a multiprocessor machine. If
1948           you say Y here, the kernel will run on many, but not all,
1949           singleprocessor machines. On a singleprocessor machine, the kernel
1950           will run faster if you say N here.
1951
1952           People using multiprocessor machines who say Y here should also say
1953           Y to "Enhanced Real Time Clock Support", below.
1954
1955           See also the SMP-HOWTO available at
1956           <http://www.tldp.org/docs.html#howto>.
1957
1958           If you don't know what to do here, say N.
1959
1960 config SMP_UP
1961         bool
1962
1963 config SYS_SUPPORTS_MIPS_CMP
1964         bool
1965
1966 config SYS_SUPPORTS_SMP
1967         bool
1968
1969 config NR_CPUS_DEFAULT_1
1970         bool
1971
1972 config NR_CPUS_DEFAULT_2
1973         bool
1974
1975 config NR_CPUS_DEFAULT_4
1976         bool
1977
1978 config NR_CPUS_DEFAULT_8
1979         bool
1980
1981 config NR_CPUS_DEFAULT_16
1982         bool
1983
1984 config NR_CPUS_DEFAULT_32
1985         bool
1986
1987 config NR_CPUS_DEFAULT_64
1988         bool
1989
1990 config NR_CPUS
1991         int "Maximum number of CPUs (2-64)"
1992         range 1 64 if NR_CPUS_DEFAULT_1
1993         depends on SMP
1994         default "1" if NR_CPUS_DEFAULT_1
1995         default "2" if NR_CPUS_DEFAULT_2
1996         default "4" if NR_CPUS_DEFAULT_4
1997         default "8" if NR_CPUS_DEFAULT_8
1998         default "16" if NR_CPUS_DEFAULT_16
1999         default "32" if NR_CPUS_DEFAULT_32
2000         default "64" if NR_CPUS_DEFAULT_64
2001         help
2002           This allows you to specify the maximum number of CPUs which this
2003           kernel will support.  The maximum supported value is 32 for 32-bit
2004           kernel and 64 for 64-bit kernels; the minimum value which makes
2005           sense is 1 for Qemu (useful only for kernel debugging purposes)
2006           and 2 for all others.
2007
2008           This is purely to save memory - each supported CPU adds
2009           approximately eight kilobytes to the kernel image.  For best
2010           performance should round up your number of processors to the next
2011           power of two.
2012
2013 source "kernel/time/Kconfig"
2014
2015 #
2016 # Timer Interrupt Frequency Configuration
2017 #
2018
2019 choice
2020         prompt "Timer frequency"
2021         default HZ_250
2022         help
2023          Allows the configuration of the timer frequency.
2024
2025         config HZ_48
2026                 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
2027
2028         config HZ_100
2029                 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
2030
2031         config HZ_128
2032                 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
2033
2034         config HZ_250
2035                 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
2036
2037         config HZ_256
2038                 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
2039
2040         config HZ_1000
2041                 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
2042
2043         config HZ_1024
2044                 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2045
2046 endchoice
2047
2048 config SYS_SUPPORTS_48HZ
2049         bool
2050
2051 config SYS_SUPPORTS_100HZ
2052         bool
2053
2054 config SYS_SUPPORTS_128HZ
2055         bool
2056
2057 config SYS_SUPPORTS_250HZ
2058         bool
2059
2060 config SYS_SUPPORTS_256HZ
2061         bool
2062
2063 config SYS_SUPPORTS_1000HZ
2064         bool
2065
2066 config SYS_SUPPORTS_1024HZ
2067         bool
2068
2069 config SYS_SUPPORTS_ARBIT_HZ
2070         bool
2071         default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2072                      !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2073                      !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2074                      !SYS_SUPPORTS_1024HZ
2075
2076 config HZ
2077         int
2078         default 48 if HZ_48
2079         default 100 if HZ_100
2080         default 128 if HZ_128
2081         default 250 if HZ_250
2082         default 256 if HZ_256
2083         default 1000 if HZ_1000
2084         default 1024 if HZ_1024
2085
2086 source "kernel/Kconfig.preempt"
2087
2088 config MIPS_INSANE_LARGE
2089         bool "Support for large 64-bit configurations"
2090         depends on CPU_R10000 && 64BIT
2091         help
2092           MIPS R10000 does support a 44 bit / 16TB address space as opposed to
2093           previous 64-bit processors which only supported 40 bit / 1TB. If you
2094           need processes of more than 1TB virtual address space, say Y here.
2095           This will result in additional memory usage, so it is not
2096           recommended for normal users.
2097
2098 config KEXEC
2099         bool "Kexec system call (EXPERIMENTAL)"
2100         depends on EXPERIMENTAL
2101         help
2102           kexec is a system call that implements the ability to shutdown your
2103           current kernel, and to start another kernel.  It is like a reboot
2104           but it is independent of the system firmware.   And like a reboot
2105           you can start any kernel with it, not just Linux.
2106
2107           The name comes from the similarity to the exec system call.
2108
2109           It is an ongoing process to be certain the hardware in a machine
2110           is properly shutdown, so do not be surprised if this code does not
2111           initially work for you.  It may help to enable device hotplugging
2112           support.  As of this writing the exact hardware interface is
2113           strongly in flux, so no good recommendation can be made.
2114
2115 config SECCOMP
2116         bool "Enable seccomp to safely compute untrusted bytecode"
2117         depends on PROC_FS
2118         default y
2119         help
2120           This kernel feature is useful for number crunching applications
2121           that may need to compute untrusted bytecode during their
2122           execution. By using pipes or other transports made available to
2123           the process as file descriptors supporting the read/write
2124           syscalls, it's possible to isolate those applications in
2125           their own address space using seccomp. Once seccomp is
2126           enabled via /proc/<pid>/seccomp, it cannot be disabled
2127           and the task is only allowed to execute a few safe syscalls
2128           defined by each seccomp mode.
2129
2130           If unsure, say Y. Only embedded should say N here.
2131
2132 config USE_OF
2133         bool "Flattened Device Tree support"
2134         select OF
2135         select OF_FLATTREE
2136         help
2137           Include support for flattened device tree machine descriptions.
2138
2139 endmenu
2140
2141 config LOCKDEP_SUPPORT
2142         bool
2143         default y
2144
2145 config STACKTRACE_SUPPORT
2146         bool
2147         default y
2148
2149 source "init/Kconfig"
2150
2151 source "kernel/Kconfig.freezer"
2152
2153 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2154
2155 config HW_HAS_EISA
2156         bool
2157 config HW_HAS_PCI
2158         bool
2159
2160 config PCI
2161         bool "Support for PCI controller"
2162         depends on HW_HAS_PCI
2163         select PCI_DOMAINS
2164         help
2165           Find out whether you have a PCI motherboard. PCI is the name of a
2166           bus system, i.e. the way the CPU talks to the other stuff inside
2167           your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2168           say Y, otherwise N.
2169
2170 config PCI_DOMAINS
2171         bool
2172
2173 source "drivers/pci/Kconfig"
2174
2175 #
2176 # ISA support is now enabled via select.  Too many systems still have the one
2177 # or other ISA chip on the board that users don't know about so don't expect
2178 # users to choose the right thing ...
2179 #
2180 config ISA
2181         bool
2182
2183 config EISA
2184         bool "EISA support"
2185         depends on HW_HAS_EISA
2186         select ISA
2187         select GENERIC_ISA_DMA
2188         ---help---
2189           The Extended Industry Standard Architecture (EISA) bus was
2190           developed as an open alternative to the IBM MicroChannel bus.
2191
2192           The EISA bus provided some of the features of the IBM MicroChannel
2193           bus while maintaining backward compatibility with cards made for
2194           the older ISA bus.  The EISA bus saw limited use between 1988 and
2195           1995 when it was made obsolete by the PCI bus.
2196
2197           Say Y here if you are building a kernel for an EISA-based machine.
2198
2199           Otherwise, say N.
2200
2201 source "drivers/eisa/Kconfig"
2202
2203 config TC
2204         bool "TURBOchannel support"
2205         depends on MACH_DECSTATION
2206         help
2207           TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2208           processors.  TURBOchannel programming specifications are available
2209           at:
2210           <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
2211           and:
2212           <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
2213           Linux driver support status is documented at:
2214           <http://www.linux-mips.org/wiki/DECstation>
2215
2216 #config ACCESSBUS
2217 #       bool "Access.Bus support"
2218 #       depends on TC
2219
2220 config MMU
2221         bool
2222         default y
2223
2224 config I8253
2225         bool
2226         select MIPS_EXTERNAL_TIMER
2227
2228 config ZONE_DMA32
2229         bool
2230
2231 source "drivers/pcmcia/Kconfig"
2232
2233 source "drivers/pci/hotplug/Kconfig"
2234
2235 endmenu
2236
2237 menu "Executable file formats"
2238
2239 source "fs/Kconfig.binfmt"
2240
2241 config TRAD_SIGNALS
2242         bool
2243
2244 config MIPS32_COMPAT
2245         bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2246         depends on 64BIT
2247         help
2248           Select this option if you want Linux/MIPS 32-bit binary
2249           compatibility. Since all software available for Linux/MIPS is
2250           currently 32-bit you should say Y here.
2251
2252 config COMPAT
2253         bool
2254         depends on MIPS32_COMPAT
2255         default y
2256
2257 config SYSVIPC_COMPAT
2258         bool
2259         depends on COMPAT && SYSVIPC
2260         default y
2261
2262 config MIPS32_O32
2263         bool "Kernel support for o32 binaries"
2264         depends on MIPS32_COMPAT
2265         help
2266           Select this option if you want to run o32 binaries.  These are pure
2267           32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
2268           existing binaries are in this format.
2269
2270           If unsure, say Y.
2271
2272 config MIPS32_N32
2273         bool "Kernel support for n32 binaries"
2274         depends on MIPS32_COMPAT
2275         help
2276           Select this option if you want to run n32 binaries.  These are
2277           64-bit binaries using 32-bit quantities for addressing and certain
2278           data that would normally be 64-bit.  They are used in special
2279           cases.
2280
2281           If unsure, say N.
2282
2283 config BINFMT_ELF32
2284         bool
2285         default y if MIPS32_O32 || MIPS32_N32
2286
2287 endmenu
2288
2289 menu "Power management options"
2290
2291 config ARCH_HIBERNATION_POSSIBLE
2292         def_bool y
2293         depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2294
2295 config ARCH_SUSPEND_POSSIBLE
2296         def_bool y
2297         depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2298
2299 source "kernel/power/Kconfig"
2300
2301 endmenu
2302
2303 source "arch/mips/kernel/cpufreq/Kconfig"
2304
2305 source "net/Kconfig"
2306
2307 source "drivers/Kconfig"
2308
2309 source "fs/Kconfig"
2310
2311 source "arch/mips/Kconfig.debug"
2312
2313 source "security/Kconfig"
2314
2315 source "crypto/Kconfig"
2316
2317 source "lib/Kconfig"