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