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