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