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