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