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