Root/arch/mips/Kconfig

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

Archive Download this file



interactive