Root/arch/mips/Kconfig

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

Archive Download this file



interactive