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