4 select HAVE_GENERIC_DMA_COHERENT
8 select HAVE_PERF_EVENTS
9 select PERF_USE_VMALLOC
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
19 select HAVE_KRETPROBES
20 select ARCH_BINFMT_ELF_RANDOMIZE_PIE
21 select RTC_LIB if !MACH_LOONGSON
22 select GENERIC_ATOMIC64 if !64BIT
24 select HAVE_DMA_API_DEBUG
25 select HAVE_GENERIC_HARDIRQS
26 select GENERIC_IRQ_PROBE
27 select GENERIC_IRQ_SHOW
28 select HAVE_ARCH_JUMP_LABEL
29 select IRQ_FORCED_THREADING
31 select HAVE_MEMBLOCK_NODE_MAP
32 select ARCH_DISCARD_MEMBLOCK
33 select GENERIC_SMP_IDLE_THREAD
34 select BUILDTIME_EXTABLE_SORT
35 select GENERIC_CLOCKEVENTS
36 select GENERIC_CMOS_UPDATE
38 menu "Machine selection"
48 bool "Alchemy processor based machines"
49 select 64BIT_PHYS_ADDR
53 select SYS_HAS_CPU_MIPS32_R1
54 select SYS_SUPPORTS_32BIT_KERNEL
55 select SYS_SUPPORTS_APM_EMULATION
57 select ARCH_WANT_OPTIONAL_GPIOLIB
58 select SYS_SUPPORTS_ZBOOT
59 select USB_ARCH_HAS_OHCI
60 select USB_ARCH_HAS_EHCI
63 bool "Texas Instruments AR7"
65 select DMA_NONCOHERENT
71 select SYS_HAS_CPU_MIPS32_R1
72 select SYS_HAS_EARLY_PRINTK
73 select SYS_SUPPORTS_32BIT_KERNEL
74 select SYS_SUPPORTS_LITTLE_ENDIAN
75 select SYS_SUPPORTS_ZBOOT_UART16550
76 select ARCH_REQUIRE_GPIOLIB
79 Support for the Texas Instruments AR7 System-on-a-Chip
80 family: TNETD7100, 7200 and 7300.
83 bool "Atheros AR71XX/AR724X/AR913X based boards"
84 select ARCH_REQUIRE_GPIOLIB
88 select DMA_NONCOHERENT
91 select SYS_HAS_CPU_MIPS32_R2
92 select SYS_HAS_EARLY_PRINTK
93 select SYS_SUPPORTS_32BIT_KERNEL
94 select SYS_SUPPORTS_BIG_ENDIAN
96 Support for the Atheros AR71XX/AR724X/AR913X SoCs.
99 bool "Broadcom BCM47XX based boards"
102 select DMA_NONCOHERENT
105 select SYS_SUPPORTS_32BIT_KERNEL
106 select SYS_SUPPORTS_LITTLE_ENDIAN
108 select SYS_HAS_EARLY_PRINTK
111 Support for BCM47XX based boards
114 bool "Broadcom BCM63XX based boards"
117 select DMA_NONCOHERENT
119 select SYS_HAS_CPU_MIPS32_R1
120 select SYS_SUPPORTS_32BIT_KERNEL
121 select SYS_SUPPORTS_BIG_ENDIAN
122 select SYS_HAS_EARLY_PRINTK
124 select ARCH_REQUIRE_GPIOLIB
126 Support for BCM63XX based boards
133 select DMA_NONCOHERENT
139 select PCI_GT64XXX_PCI0
141 select SYS_HAS_CPU_NEVADA
142 select SYS_HAS_EARLY_PRINTK
143 select SYS_SUPPORTS_32BIT_KERNEL
144 select SYS_SUPPORTS_64BIT_KERNEL
145 select SYS_SUPPORTS_LITTLE_ENDIAN
147 config MACH_DECSTATION
154 select CPU_DADDI_WORKAROUNDS if 64BIT
155 select CPU_R4000_WORKAROUNDS if 64BIT
156 select CPU_R4400_WORKAROUNDS if 64BIT
157 select DMA_NONCOHERENT
160 select SYS_HAS_CPU_R3000
161 select SYS_HAS_CPU_R4X00
162 select SYS_SUPPORTS_32BIT_KERNEL
163 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
164 select SYS_SUPPORTS_LITTLE_ENDIAN
165 select SYS_SUPPORTS_128HZ
166 select SYS_SUPPORTS_256HZ
167 select SYS_SUPPORTS_1024HZ
169 This enables support for DEC's MIPS based workstations. For details
170 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
171 DECstation porting pages on <http://decstation.unix-ag.org/>.
173 If you have one of the following DECstation Models you definitely
174 want to choose R4xx0 for the CPU Type:
181 otherwise choose R3000.
184 bool "Jazz family of machines"
187 select ARCH_MAY_HAVE_PC_FDC
190 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
191 select GENERIC_ISA_DMA
192 select HAVE_PCSPKR_PLATFORM
197 select SYS_HAS_CPU_R4X00
198 select SYS_SUPPORTS_32BIT_KERNEL
199 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
200 select SYS_SUPPORTS_100HZ
202 This a family of machines based on the MIPS R4030 chipset which was
203 used by several vendors to build RISC/os and Windows NT workstations.
204 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
205 Olivetti M700-10 workstations.
208 bool "Ingenic JZ4740 based machines"
209 select SYS_HAS_CPU_MIPS32_R1
210 select SYS_SUPPORTS_32BIT_KERNEL
211 select SYS_SUPPORTS_LITTLE_ENDIAN
212 select DMA_NONCOHERENT
215 select ARCH_REQUIRE_GPIOLIB
216 select SYS_HAS_EARLY_PRINTK
219 select GENERIC_IRQ_CHIP
222 bool "Lantiq based platforms"
223 select DMA_NONCOHERENT
227 select SYS_HAS_CPU_MIPS32_R1
228 select SYS_HAS_CPU_MIPS32_R2
229 select SYS_SUPPORTS_BIG_ENDIAN
230 select SYS_SUPPORTS_32BIT_KERNEL
231 select SYS_SUPPORTS_MULTITHREADING
232 select SYS_HAS_EARLY_PRINTK
233 select ARCH_REQUIRE_GPIOLIB
236 select HAVE_MACH_CLKDEV
241 bool "LASAT Networks platforms"
244 select DMA_NONCOHERENT
245 select SYS_HAS_EARLY_PRINTK
248 select PCI_GT64XXX_PCI0
250 select R5000_CPU_SCACHE
251 select SYS_HAS_CPU_R5000
252 select SYS_SUPPORTS_32BIT_KERNEL
253 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
254 select SYS_SUPPORTS_LITTLE_ENDIAN
257 bool "Loongson family of machines"
258 select SYS_SUPPORTS_ZBOOT
260 This enables the support of Loongson family of machines.
262 Loongson is a family of general-purpose MIPS-compatible CPUs.
263 developed at Institute of Computing Technology (ICT),
264 Chinese Academy of Sciences (CAS) in the People's Republic
265 of China. The chief architect is Professor Weiwu Hu.
268 bool "MIPS Malta board"
269 select ARCH_MAY_HAVE_PC_FDC
274 select DMA_NONCOHERENT
275 select GENERIC_ISA_DMA
276 select HAVE_PCSPKR_PLATFORM
282 select MIPS_BOARDS_GEN
284 select MIPS_CPU_SCACHE
285 select PCI_GT64XXX_PCI0
288 select SYS_HAS_CPU_MIPS32_R1
289 select SYS_HAS_CPU_MIPS32_R2
290 select SYS_HAS_CPU_MIPS64_R1
291 select SYS_HAS_CPU_MIPS64_R2
292 select SYS_HAS_CPU_NEVADA
293 select SYS_HAS_CPU_RM7000
294 select SYS_HAS_EARLY_PRINTK
295 select SYS_SUPPORTS_32BIT_KERNEL
296 select SYS_SUPPORTS_64BIT_KERNEL
297 select SYS_SUPPORTS_BIG_ENDIAN
298 select SYS_SUPPORTS_LITTLE_ENDIAN
299 select SYS_SUPPORTS_MIPS_CMP
300 select SYS_SUPPORTS_MULTITHREADING
301 select SYS_SUPPORTS_SMARTMIPS
302 select SYS_SUPPORTS_ZBOOT
304 This enables support for the MIPS Technologies Malta evaluation
308 bool 'MIPS simulator (MIPSsim)'
311 select DMA_NONCOHERENT
312 select SYS_HAS_EARLY_PRINTK
315 select SYS_HAS_CPU_MIPS32_R1
316 select SYS_HAS_CPU_MIPS32_R2
317 select SYS_HAS_EARLY_PRINTK
318 select SYS_SUPPORTS_32BIT_KERNEL
319 select SYS_SUPPORTS_BIG_ENDIAN
320 select SYS_SUPPORTS_MULTITHREADING
321 select SYS_SUPPORTS_LITTLE_ENDIAN
323 This option enables support for MIPS Technologies MIPSsim software
327 bool "NEC EMMA2RH Mark-eins board"
331 This enables support for the NEC Electronics Mark-eins boards.
334 bool "NEC VR4100 series based machines"
337 select SYS_HAS_CPU_VR41XX
338 select ARCH_REQUIRE_GPIOLIB
341 bool "NXP STB220 board"
344 Support for NXP Semiconductors STB220 Development Board.
351 Support for NXP Semiconductors STB225 Development Board.
354 bool "NXP PNX8550 based JBS board"
356 select SYS_SUPPORTS_LITTLE_ENDIAN
358 config PNX8550_STB810
359 bool "NXP PNX8550 based STB810 board"
361 select SYS_SUPPORTS_LITTLE_ENDIAN
364 bool "PMC-Sierra MSP chipsets"
365 depends on EXPERIMENTAL
368 select DMA_NONCOHERENT
370 select NO_EXCEPT_FILL
372 select SYS_HAS_CPU_MIPS32_R1
373 select SYS_HAS_CPU_MIPS32_R2
374 select SYS_SUPPORTS_32BIT_KERNEL
375 select SYS_SUPPORTS_BIG_ENDIAN
378 select SERIAL_8250_CONSOLE
380 This adds support for the PMC-Sierra family of Multi-Service
381 Processor System-On-A-Chips. These parts include a number
382 of integrated peripherals, interfaces and DSPs in addition to
383 a variety of MIPS cores.
386 bool "PMC-Sierra Yosemite eval board"
395 select SYS_HAS_CPU_RM9000
396 select SYS_HAS_EARLY_PRINTK
397 select SYS_SUPPORTS_32BIT_KERNEL
398 select SYS_SUPPORTS_64BIT_KERNEL
399 select SYS_SUPPORTS_BIG_ENDIAN
400 select SYS_SUPPORTS_HIGHMEM
401 select SYS_SUPPORTS_SMP
403 Yosemite is an evaluation board for the RM9000x2 processor
404 manufactured by PMC-Sierra.
410 select CPU_MIPSR2_IRQ_VI
411 select CPU_MIPSR2_IRQ_EI
413 select DMA_NONCOHERENT
415 select SYS_HAS_EARLY_PRINTK
416 select SYS_HAS_CPU_MIPS32_R2
417 select SYS_SUPPORTS_32BIT_KERNEL
418 select SYS_SUPPORTS_BIG_ENDIAN
419 select SYS_SUPPORTS_HIGHMEM
420 select USB_OHCI_LITTLE_ENDIAN
422 This enables support for the Cisco PowerTV Platform.
425 bool "SGI IP22 (Indy/Indigo2)"
431 select DEFAULT_SGI_PARTITION
432 select DMA_NONCOHERENT
436 select IP22_CPU_SCACHE
438 select GENERIC_ISA_DMA_SUPPORT_BROKEN
440 select SGI_HAS_INDYDOG
446 select SYS_HAS_CPU_R4X00
447 select SYS_HAS_CPU_R5000
449 # Disable EARLY_PRINTK for now since it leads to overwritten prom
450 # memory during early boot on some machines.
452 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
453 # for a more details discussion
455 # select SYS_HAS_EARLY_PRINTK
456 select SYS_SUPPORTS_32BIT_KERNEL
457 select SYS_SUPPORTS_64BIT_KERNEL
458 select SYS_SUPPORTS_BIG_ENDIAN
460 This are the SGI Indy, Challenge S and Indigo2, as well as certain
461 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
462 that runs on these, say Y here.
465 bool "SGI IP27 (Origin200/2000)"
469 select DEFAULT_SGI_PARTITION
471 select SYS_HAS_EARLY_PRINTK
473 select NR_CPUS_DEFAULT_64
474 select SYS_HAS_CPU_R10000
475 select SYS_SUPPORTS_64BIT_KERNEL
476 select SYS_SUPPORTS_BIG_ENDIAN
477 select SYS_SUPPORTS_NUMA
478 select SYS_SUPPORTS_SMP
480 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
481 workstations. To compile a Linux kernel that runs on these, say Y
485 bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
486 depends on EXPERIMENTAL
492 select DEFAULT_SGI_PARTITION
493 select DMA_NONCOHERENT
494 select GENERIC_ISA_DMA_SUPPORT_BROKEN
500 select SGI_HAS_INDYDOG
506 select SYS_HAS_CPU_R10000
508 # Disable EARLY_PRINTK for now since it leads to overwritten prom
509 # memory during early boot on some machines.
511 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
512 # for a more details discussion
514 # select SYS_HAS_EARLY_PRINTK
515 select SYS_SUPPORTS_64BIT_KERNEL
516 select SYS_SUPPORTS_BIG_ENDIAN
518 This is the SGI Indigo2 with R10000 processor. To compile a Linux
519 kernel that runs on these, say Y here.
528 select DMA_NONCOHERENT
531 select R5000_CPU_SCACHE
532 select RM7000_CPU_SCACHE
533 select SYS_HAS_CPU_R5000
534 select SYS_HAS_CPU_R10000 if BROKEN
535 select SYS_HAS_CPU_RM7000
536 select SYS_HAS_CPU_NEVADA
537 select SYS_SUPPORTS_64BIT_KERNEL
538 select SYS_SUPPORTS_BIG_ENDIAN
540 If you want this kernel to run on SGI O2 workstation, say Y here.
543 bool "Sibyte BCM91120C-CRhine"
544 depends on EXPERIMENTAL
547 select SIBYTE_BCM1120
549 select SYS_HAS_CPU_SB1
550 select SYS_SUPPORTS_BIG_ENDIAN
551 select SYS_SUPPORTS_LITTLE_ENDIAN
554 bool "Sibyte BCM91120x-Carmel"
555 depends on EXPERIMENTAL
558 select SIBYTE_BCM1120
560 select SYS_HAS_CPU_SB1
561 select SYS_SUPPORTS_BIG_ENDIAN
562 select SYS_SUPPORTS_LITTLE_ENDIAN
565 bool "Sibyte BCM91125C-CRhone"
566 depends on EXPERIMENTAL
569 select SIBYTE_BCM1125
571 select SYS_HAS_CPU_SB1
572 select SYS_SUPPORTS_BIG_ENDIAN
573 select SYS_SUPPORTS_HIGHMEM
574 select SYS_SUPPORTS_LITTLE_ENDIAN
577 bool "Sibyte BCM91125E-Rhone"
578 depends on EXPERIMENTAL
581 select SIBYTE_BCM1125H
583 select SYS_HAS_CPU_SB1
584 select SYS_SUPPORTS_BIG_ENDIAN
585 select SYS_SUPPORTS_LITTLE_ENDIAN
588 bool "Sibyte BCM91250A-SWARM"
591 select HAVE_PATA_PLATFORM
592 select NR_CPUS_DEFAULT_2
595 select SYS_HAS_CPU_SB1
596 select SYS_SUPPORTS_BIG_ENDIAN
597 select SYS_SUPPORTS_HIGHMEM
598 select SYS_SUPPORTS_LITTLE_ENDIAN
599 select ZONE_DMA32 if 64BIT
601 config SIBYTE_LITTLESUR
602 bool "Sibyte BCM91250C2-LittleSur"
603 depends on EXPERIMENTAL
606 select HAVE_PATA_PLATFORM
607 select NR_CPUS_DEFAULT_2
610 select SYS_HAS_CPU_SB1
611 select SYS_SUPPORTS_BIG_ENDIAN
612 select SYS_SUPPORTS_HIGHMEM
613 select SYS_SUPPORTS_LITTLE_ENDIAN
615 config SIBYTE_SENTOSA
616 bool "Sibyte BCM91250E-Sentosa"
617 depends on EXPERIMENTAL
620 select NR_CPUS_DEFAULT_2
623 select SYS_HAS_CPU_SB1
624 select SYS_SUPPORTS_BIG_ENDIAN
625 select SYS_SUPPORTS_LITTLE_ENDIAN
628 bool "Sibyte BCM91480B-BigSur"
631 select NR_CPUS_DEFAULT_4
632 select SIBYTE_BCM1x80
634 select SYS_HAS_CPU_SB1
635 select SYS_SUPPORTS_BIG_ENDIAN
636 select SYS_SUPPORTS_HIGHMEM
637 select SYS_SUPPORTS_LITTLE_ENDIAN
638 select ZONE_DMA32 if 64BIT
641 bool "SNI RM200/300/400"
642 select ARC if CPU_LITTLE_ENDIAN
643 select ARC32 if CPU_LITTLE_ENDIAN
644 select SNIPROM if CPU_BIG_ENDIAN
645 select ARCH_MAY_HAVE_PC_FDC
649 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
650 select DMA_NONCOHERENT
651 select GENERIC_ISA_DMA
652 select HAVE_PCSPKR_PLATFORM
659 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
660 select SYS_HAS_CPU_R4X00
661 select SYS_HAS_CPU_R5000
662 select SYS_HAS_CPU_R10000
663 select R5000_CPU_SCACHE
664 select SYS_HAS_EARLY_PRINTK
665 select SYS_SUPPORTS_32BIT_KERNEL
666 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
667 select SYS_SUPPORTS_BIG_ENDIAN
668 select SYS_SUPPORTS_HIGHMEM
669 select SYS_SUPPORTS_LITTLE_ENDIAN
671 The SNI RM200/300/400 are MIPS-based machines manufactured by
672 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
673 Technology and now in turn merged with Fujitsu. Say Y here to
674 support this machine type.
677 bool "Toshiba TX39 series based machines"
680 bool "Toshiba TX49 series based machines"
682 config MIKROTIK_RB532
683 bool "Mikrotik RB532 boards"
686 select DMA_NONCOHERENT
689 select SYS_HAS_CPU_MIPS32_R1
690 select SYS_SUPPORTS_32BIT_KERNEL
691 select SYS_SUPPORTS_LITTLE_ENDIAN
694 select ARCH_REQUIRE_GPIOLIB
696 Support the Mikrotik(tm) RouterBoard 532 series,
697 based on the IDT RC32434 SoC.
700 bool "Wind River PPMC board"
705 select DMA_NONCOHERENT
707 select PCI_GT64XXX_PCI0
709 select SYS_HAS_CPU_MIPS32_R1
710 select SYS_HAS_CPU_MIPS32_R2
711 select SYS_HAS_CPU_MIPS64_R1
712 select SYS_HAS_CPU_NEVADA
713 select SYS_HAS_CPU_RM7000
714 select SYS_SUPPORTS_32BIT_KERNEL
715 select SYS_SUPPORTS_64BIT_KERNEL
716 select SYS_SUPPORTS_BIG_ENDIAN
717 select SYS_SUPPORTS_LITTLE_ENDIAN
719 This enables support for the Wind River MIPS32 4KC PPMC evaluation
720 board, which is based on GT64120 bridge chip.
722 config CAVIUM_OCTEON_SIMULATOR
723 bool "Cavium Networks Octeon Simulator"
725 select 64BIT_PHYS_ADDR
727 select SYS_SUPPORTS_64BIT_KERNEL
728 select SYS_SUPPORTS_BIG_ENDIAN
729 select SYS_SUPPORTS_HOTPLUG_CPU
730 select SYS_HAS_CPU_CAVIUM_OCTEON
733 The Octeon simulator is software performance model of the Cavium
734 Octeon Processor. It supports simulating Octeon processors on x86
737 config CAVIUM_OCTEON_REFERENCE_BOARD
738 bool "Cavium Networks Octeon reference board"
740 select 64BIT_PHYS_ADDR
742 select SYS_SUPPORTS_64BIT_KERNEL
743 select SYS_SUPPORTS_BIG_ENDIAN
744 select SYS_SUPPORTS_HOTPLUG_CPU
745 select SYS_HAS_EARLY_PRINTK
746 select SYS_HAS_CPU_CAVIUM_OCTEON
749 select ARCH_SUPPORTS_MSI
751 select USB_ARCH_HAS_OHCI
752 select USB_ARCH_HAS_EHCI
755 This option supports all of the Octeon reference boards from Cavium
756 Networks. It builds a kernel that dynamically determines the Octeon
757 CPU type and supports all known board reference implementations.
758 Some of the supported boards are:
765 Say Y here for most Octeon reference boards.
768 bool "Netlogic XLR/XLS based systems"
769 depends on EXPERIMENTAL
772 select SYS_HAS_CPU_XLR
773 select SYS_SUPPORTS_SMP
776 select SYS_SUPPORTS_32BIT_KERNEL
777 select SYS_SUPPORTS_64BIT_KERNEL
778 select 64BIT_PHYS_ADDR
779 select SYS_SUPPORTS_BIG_ENDIAN
780 select SYS_SUPPORTS_HIGHMEM
782 select NR_CPUS_DEFAULT_32
786 select ARCH_SUPPORTS_MSI
787 select ZONE_DMA if 64BIT
789 select SYS_HAS_EARLY_PRINTK
791 Support for systems based on Netlogic XLR and XLS processors.
792 Say Y here if you have a XLR or XLS based board.
795 bool "Netlogic XLP based systems"
796 depends on EXPERIMENTAL
799 select SYS_HAS_CPU_XLP
800 select SYS_SUPPORTS_SMP
803 select SYS_SUPPORTS_32BIT_KERNEL
804 select SYS_SUPPORTS_64BIT_KERNEL
805 select 64BIT_PHYS_ADDR
806 select SYS_SUPPORTS_BIG_ENDIAN
807 select SYS_SUPPORTS_LITTLE_ENDIAN
808 select SYS_SUPPORTS_HIGHMEM
810 select NR_CPUS_DEFAULT_32
814 select ZONE_DMA if 64BIT
816 select SYS_HAS_EARLY_PRINTK
818 This board is based on Netlogic XLP Processor.
819 Say Y here if you have a XLP based board.
823 source "arch/mips/alchemy/Kconfig"
824 source "arch/mips/ath79/Kconfig"
825 source "arch/mips/bcm47xx/Kconfig"
826 source "arch/mips/bcm63xx/Kconfig"
827 source "arch/mips/jazz/Kconfig"
828 source "arch/mips/jz4740/Kconfig"
829 source "arch/mips/lantiq/Kconfig"
830 source "arch/mips/lasat/Kconfig"
831 source "arch/mips/pmc-sierra/Kconfig"
832 source "arch/mips/powertv/Kconfig"
833 source "arch/mips/sgi-ip27/Kconfig"
834 source "arch/mips/sibyte/Kconfig"
835 source "arch/mips/txx9/Kconfig"
836 source "arch/mips/vr41xx/Kconfig"
837 source "arch/mips/cavium-octeon/Kconfig"
838 source "arch/mips/loongson/Kconfig"
839 source "arch/mips/netlogic/Kconfig"
843 config RWSEM_GENERIC_SPINLOCK
847 config RWSEM_XCHGADD_ALGORITHM
850 config ARCH_HAS_ILOG2_U32
854 config ARCH_HAS_ILOG2_U64
858 config GENERIC_HWEIGHT
862 config GENERIC_CALIBRATE_DELAY
866 config SCHED_OMIT_FRAME_POINTER
871 # Select some configuration options automatically based on user selections.
876 config ARCH_MAY_HAVE_PC_FDC
925 select ARCH_REQUIRE_GPIOLIB
931 config ARCH_DMA_ADDR_T_64BIT
932 def_bool (HIGHMEM && 64BIT_PHYS_ADDR) || 64BIT
937 config DMA_NONCOHERENT
939 select NEED_DMA_MAP_STATE
941 config NEED_DMA_MAP_STATE
944 config SYS_HAS_EARLY_PRINTK
948 bool "Support for hot-pluggable CPUs"
949 depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU
951 Say Y here to allow turning CPUs off and on. CPUs can be
952 controlled through /sys/devices/system/cpu.
953 (Note: power management support will enable this option
954 automatically on SMP systems. )
955 Say N if you want to disable CPU hotplug.
957 config SYS_SUPPORTS_HOTPLUG_CPU
972 config MIPS_DISABLE_OBSOLETE_IDE
984 config GENERIC_ISA_DMA
986 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
989 config GENERIC_ISA_DMA_SUPPORT_BROKEN
991 select GENERIC_ISA_DMA
1003 # Endianness selection. Sufficiently obscure so many users don't know what to
1004 # answer,so we try hard to limit the available choices. Also the use of a
1005 # choice statement should be more obvious to the user.
1008 prompt "Endianness selection"
1010 Some MIPS machines can be configured for either little or big endian
1011 byte order. These modes require different kernels and a different
1012 Linux distribution. In general there is one preferred byteorder for a
1013 particular system but some systems are just as commonly used in the
1014 one or the other endianness.
1016 config CPU_BIG_ENDIAN
1018 depends on SYS_SUPPORTS_BIG_ENDIAN
1020 config CPU_LITTLE_ENDIAN
1021 bool "Little endian"
1022 depends on SYS_SUPPORTS_LITTLE_ENDIAN
1030 config SYS_SUPPORTS_APM_EMULATION
1033 config SYS_SUPPORTS_BIG_ENDIAN
1036 config SYS_SUPPORTS_LITTLE_ENDIAN
1039 config SYS_SUPPORTS_HUGETLBFS
1041 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
1068 config MIPS_BOARDS_GEN
1071 config PCI_GT64XXX_PCI0
1074 config NO_EXCEPT_FILL
1079 select SERIAL_RM9000
1085 select DMA_NONCOHERENT
1087 select SWAP_IO_SPACE
1088 select SYS_HAS_CPU_R5500
1089 select SYS_SUPPORTS_32BIT_KERNEL
1090 select SYS_SUPPORTS_64BIT_KERNEL
1091 select SYS_SUPPORTS_BIG_ENDIAN
1098 select DMA_NONCOHERENT
1099 select SYS_HAS_CPU_MIPS32_R2
1100 select SYS_SUPPORTS_32BIT_KERNEL
1101 select SYS_SUPPORTS_LITTLE_ENDIAN
1102 select SYS_SUPPORTS_BIG_ENDIAN
1104 select CPU_MIPSR2_IRQ_VI
1116 select DMA_NONCOHERENT
1118 select SYS_HAS_CPU_MIPS32_R1
1119 select SYS_HAS_EARLY_PRINTK
1120 select SYS_SUPPORTS_32BIT_KERNEL
1123 config SWAP_IO_SPACE
1126 config SERIAL_RM9000
1129 config SGI_HAS_INDYDOG
1141 config SGI_HAS_ZILOG
1144 config SGI_HAS_I8042
1147 config DEFAULT_SGI_PARTITION
1159 config MIPS_L1_CACHE_SHIFT
1161 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL
1162 default "6" if MIPS_CPU_SCACHE
1163 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON
1166 config HAVE_STD_PC_SERIAL_PORT
1170 bool "ARC console support"
1171 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
1175 depends on MACH_JAZZ || SNI_RM || SGI_IP32
1180 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
1189 menu "CPU selection"
1195 config CPU_LOONGSON2E
1197 depends on SYS_HAS_CPU_LOONGSON2E
1198 select CPU_LOONGSON2
1200 The Loongson 2E processor implements the MIPS III instruction set
1201 with many extensions.
1203 It has an internal FPGA northbridge, which is compatible to
1206 config CPU_LOONGSON2F
1208 depends on SYS_HAS_CPU_LOONGSON2F
1209 select CPU_LOONGSON2
1211 select ARCH_REQUIRE_GPIOLIB
1213 The Loongson 2F processor implements the MIPS III instruction set
1214 with many extensions.
1216 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1217 have a similar programming interface with FPGA northbridge used in
1220 config CPU_MIPS32_R1
1221 bool "MIPS32 Release 1"
1222 depends on SYS_HAS_CPU_MIPS32_R1
1223 select CPU_HAS_PREFETCH
1224 select CPU_SUPPORTS_32BIT_KERNEL
1225 select CPU_SUPPORTS_HIGHMEM
1227 Choose this option to build a kernel for release 1 or later of the
1228 MIPS32 architecture. Most modern embedded systems with a 32-bit
1229 MIPS processor are based on a MIPS32 processor. If you know the
1230 specific type of processor in your system, choose those that one
1231 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1232 Release 2 of the MIPS32 architecture is available since several
1233 years so chances are you even have a MIPS32 Release 2 processor
1234 in which case you should choose CPU_MIPS32_R2 instead for better
1237 config CPU_MIPS32_R2
1238 bool "MIPS32 Release 2"
1239 depends on SYS_HAS_CPU_MIPS32_R2
1240 select CPU_HAS_PREFETCH
1241 select CPU_SUPPORTS_32BIT_KERNEL
1242 select CPU_SUPPORTS_HIGHMEM
1244 Choose this option to build a kernel for release 2 or later of the
1245 MIPS32 architecture. Most modern embedded systems with a 32-bit
1246 MIPS processor are based on a MIPS32 processor. If you know the
1247 specific type of processor in your system, choose those that one
1248 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1250 config CPU_MIPS64_R1
1251 bool "MIPS64 Release 1"
1252 depends on SYS_HAS_CPU_MIPS64_R1
1253 select CPU_HAS_PREFETCH
1254 select CPU_SUPPORTS_32BIT_KERNEL
1255 select CPU_SUPPORTS_64BIT_KERNEL
1256 select CPU_SUPPORTS_HIGHMEM
1257 select CPU_SUPPORTS_HUGEPAGES
1259 Choose this option to build a kernel for release 1 or later of the
1260 MIPS64 architecture. Many modern embedded systems with a 64-bit
1261 MIPS processor are based on a MIPS64 processor. If you know the
1262 specific type of processor in your system, choose those that one
1263 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1264 Release 2 of the MIPS64 architecture is available since several
1265 years so chances are you even have a MIPS64 Release 2 processor
1266 in which case you should choose CPU_MIPS64_R2 instead for better
1269 config CPU_MIPS64_R2
1270 bool "MIPS64 Release 2"
1271 depends on SYS_HAS_CPU_MIPS64_R2
1272 select CPU_HAS_PREFETCH
1273 select CPU_SUPPORTS_32BIT_KERNEL
1274 select CPU_SUPPORTS_64BIT_KERNEL
1275 select CPU_SUPPORTS_HIGHMEM
1276 select CPU_SUPPORTS_HUGEPAGES
1278 Choose this option to build a kernel for release 2 or later of the
1279 MIPS64 architecture. Many modern embedded systems with a 64-bit
1280 MIPS processor are based on a MIPS64 processor. If you know the
1281 specific type of processor in your system, choose those that one
1282 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1286 depends on SYS_HAS_CPU_R3000
1288 select CPU_SUPPORTS_32BIT_KERNEL
1289 select CPU_SUPPORTS_HIGHMEM
1291 Please make sure to pick the right CPU type. Linux/MIPS is not
1292 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1293 *not* work on R4000 machines and vice versa. However, since most
1294 of the supported machines have an R4000 (or similar) CPU, R4x00
1295 might be a safe bet. If the resulting kernel does not work,
1296 try to recompile with R3000.
1300 depends on SYS_HAS_CPU_TX39XX
1301 select CPU_SUPPORTS_32BIT_KERNEL
1305 depends on SYS_HAS_CPU_VR41XX
1306 select CPU_SUPPORTS_32BIT_KERNEL
1307 select CPU_SUPPORTS_64BIT_KERNEL
1309 The options selects support for the NEC VR4100 series of processors.
1310 Only choose this option if you have one of these processors as a
1311 kernel built with this option will not run on any other type of
1312 processor or vice versa.
1316 depends on SYS_HAS_CPU_R4300
1317 select CPU_SUPPORTS_32BIT_KERNEL
1318 select CPU_SUPPORTS_64BIT_KERNEL
1320 MIPS Technologies R4300-series processors.
1324 depends on SYS_HAS_CPU_R4X00
1325 select CPU_SUPPORTS_32BIT_KERNEL
1326 select CPU_SUPPORTS_64BIT_KERNEL
1328 MIPS Technologies R4000-series processors other than 4300, including
1329 the R4000, R4400, R4600, and 4700.
1333 depends on SYS_HAS_CPU_TX49XX
1334 select CPU_HAS_PREFETCH
1335 select CPU_SUPPORTS_32BIT_KERNEL
1336 select CPU_SUPPORTS_64BIT_KERNEL
1340 depends on SYS_HAS_CPU_R5000
1341 select CPU_SUPPORTS_32BIT_KERNEL
1342 select CPU_SUPPORTS_64BIT_KERNEL
1344 MIPS Technologies R5000-series processors other than the Nevada.
1348 depends on SYS_HAS_CPU_R5432
1349 select CPU_SUPPORTS_32BIT_KERNEL
1350 select CPU_SUPPORTS_64BIT_KERNEL
1354 depends on SYS_HAS_CPU_R5500
1355 select CPU_SUPPORTS_32BIT_KERNEL
1356 select CPU_SUPPORTS_64BIT_KERNEL
1357 select CPU_SUPPORTS_HUGEPAGES
1359 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1364 depends on EXPERIMENTAL
1365 depends on SYS_HAS_CPU_R6000
1366 select CPU_SUPPORTS_32BIT_KERNEL
1368 MIPS Technologies R6000 and R6000A series processors. Note these
1369 processors are extremely rare and the support for them is incomplete.
1373 depends on SYS_HAS_CPU_NEVADA
1374 select CPU_SUPPORTS_32BIT_KERNEL
1375 select CPU_SUPPORTS_64BIT_KERNEL
1377 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1381 depends on EXPERIMENTAL
1382 depends on SYS_HAS_CPU_R8000
1383 select CPU_HAS_PREFETCH
1384 select CPU_SUPPORTS_64BIT_KERNEL
1386 MIPS Technologies R8000 processors. Note these processors are
1387 uncommon and the support for them is incomplete.
1391 depends on SYS_HAS_CPU_R10000
1392 select CPU_HAS_PREFETCH
1393 select CPU_SUPPORTS_32BIT_KERNEL
1394 select CPU_SUPPORTS_64BIT_KERNEL
1395 select CPU_SUPPORTS_HIGHMEM
1397 MIPS Technologies R10000-series processors.
1401 depends on SYS_HAS_CPU_RM7000
1402 select CPU_HAS_PREFETCH
1403 select CPU_SUPPORTS_32BIT_KERNEL
1404 select CPU_SUPPORTS_64BIT_KERNEL
1405 select CPU_SUPPORTS_HIGHMEM
1409 depends on SYS_HAS_CPU_RM9000
1410 select CPU_HAS_PREFETCH
1411 select CPU_SUPPORTS_32BIT_KERNEL
1412 select CPU_SUPPORTS_64BIT_KERNEL
1413 select CPU_SUPPORTS_HIGHMEM
1414 select WEAK_ORDERING
1418 depends on SYS_HAS_CPU_SB1
1419 select CPU_SUPPORTS_32BIT_KERNEL
1420 select CPU_SUPPORTS_64BIT_KERNEL
1421 select CPU_SUPPORTS_HIGHMEM
1422 select WEAK_ORDERING
1424 config CPU_CAVIUM_OCTEON
1425 bool "Cavium Octeon processor"
1426 depends on SYS_HAS_CPU_CAVIUM_OCTEON
1427 select ARCH_SPARSEMEM_ENABLE
1428 select CPU_HAS_PREFETCH
1429 select CPU_SUPPORTS_64BIT_KERNEL
1430 select SYS_SUPPORTS_SMP
1431 select NR_CPUS_DEFAULT_16
1432 select WEAK_ORDERING
1433 select CPU_SUPPORTS_HIGHMEM
1434 select CPU_SUPPORTS_HUGEPAGES
1436 The Cavium Octeon processor is a highly integrated chip containing
1437 many ethernet hardware widgets for networking tasks. The processor
1438 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1439 Full details can be found at http://www.caviumnetworks.com.
1441 config CPU_BMIPS3300
1443 depends on SYS_HAS_CPU_BMIPS3300
1446 Broadcom BMIPS3300 processors.
1448 config CPU_BMIPS4350
1450 depends on SYS_HAS_CPU_BMIPS4350
1452 select SYS_SUPPORTS_SMP
1453 select SYS_SUPPORTS_HOTPLUG_CPU
1455 Broadcom BMIPS4350 ("VIPER") processors.
1457 config CPU_BMIPS4380
1459 depends on SYS_HAS_CPU_BMIPS4380
1461 select SYS_SUPPORTS_SMP
1462 select SYS_SUPPORTS_HOTPLUG_CPU
1464 Broadcom BMIPS4380 processors.
1466 config CPU_BMIPS5000
1468 depends on SYS_HAS_CPU_BMIPS5000
1470 select CPU_SUPPORTS_HIGHMEM
1471 select MIPS_CPU_SCACHE
1472 select SYS_SUPPORTS_SMP
1473 select SYS_SUPPORTS_HOTPLUG_CPU
1475 Broadcom BMIPS5000 processors.
1478 bool "Netlogic XLR SoC"
1479 depends on SYS_HAS_CPU_XLR
1480 select CPU_SUPPORTS_32BIT_KERNEL
1481 select CPU_SUPPORTS_64BIT_KERNEL
1482 select CPU_SUPPORTS_HIGHMEM
1483 select WEAK_ORDERING
1484 select WEAK_REORDERING_BEYOND_LLSC
1485 select CPU_SUPPORTS_HUGEPAGES
1487 Netlogic Microsystems XLR/XLS processors.
1490 bool "Netlogic XLP SoC"
1491 depends on SYS_HAS_CPU_XLP
1492 select CPU_SUPPORTS_32BIT_KERNEL
1493 select CPU_SUPPORTS_64BIT_KERNEL
1494 select CPU_SUPPORTS_HIGHMEM
1496 select WEAK_ORDERING
1497 select WEAK_REORDERING_BEYOND_LLSC
1498 select CPU_HAS_PREFETCH
1500 Netlogic Microsystems XLP processors.
1504 config CPU_NOP_WORKAROUNDS
1507 config CPU_JUMP_WORKAROUNDS
1510 config CPU_LOONGSON2F_WORKAROUNDS
1511 bool "Loongson 2F Workarounds"
1513 select CPU_NOP_WORKAROUNDS
1514 select CPU_JUMP_WORKAROUNDS
1516 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1517 require workarounds. Without workarounds the system may hang
1518 unexpectedly. For more information please refer to the gas
1519 -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1521 Loongson 2F03 and later have fixed these issues and no workarounds
1522 are needed. The workarounds have no significant side effect on them
1523 but may decrease the performance of the system so this option should
1524 be disabled unless the kernel is intended to be run on 2F01 or 2F02
1527 If unsure, please say Y.
1528 endif # CPU_LOONGSON2F
1530 config SYS_SUPPORTS_ZBOOT
1532 select HAVE_KERNEL_GZIP
1533 select HAVE_KERNEL_BZIP2
1534 select HAVE_KERNEL_LZMA
1535 select HAVE_KERNEL_LZO
1537 config SYS_SUPPORTS_ZBOOT_UART16550
1539 select SYS_SUPPORTS_ZBOOT
1541 config CPU_LOONGSON2
1543 select CPU_SUPPORTS_32BIT_KERNEL
1544 select CPU_SUPPORTS_64BIT_KERNEL
1545 select CPU_SUPPORTS_HIGHMEM
1550 select CPU_SUPPORTS_32BIT_KERNEL
1551 select DMA_NONCOHERENT
1553 select SWAP_IO_SPACE
1554 select WEAK_ORDERING
1556 config SYS_HAS_CPU_LOONGSON2E
1559 config SYS_HAS_CPU_LOONGSON2F
1561 select CPU_SUPPORTS_CPUFREQ
1562 select CPU_SUPPORTS_ADDRWINCFG if 64BIT
1563 select CPU_SUPPORTS_UNCACHED_ACCELERATED
1565 config SYS_HAS_CPU_MIPS32_R1
1568 config SYS_HAS_CPU_MIPS32_R2
1571 config SYS_HAS_CPU_MIPS64_R1
1574 config SYS_HAS_CPU_MIPS64_R2
1577 config SYS_HAS_CPU_R3000
1580 config SYS_HAS_CPU_TX39XX
1583 config SYS_HAS_CPU_VR41XX
1586 config SYS_HAS_CPU_R4300
1589 config SYS_HAS_CPU_R4X00
1592 config SYS_HAS_CPU_TX49XX
1595 config SYS_HAS_CPU_R5000
1598 config SYS_HAS_CPU_R5432
1601 config SYS_HAS_CPU_R5500
1604 config SYS_HAS_CPU_R6000
1607 config SYS_HAS_CPU_NEVADA
1610 config SYS_HAS_CPU_R8000
1613 config SYS_HAS_CPU_R10000
1616 config SYS_HAS_CPU_RM7000
1619 config SYS_HAS_CPU_RM9000
1622 config SYS_HAS_CPU_SB1
1625 config SYS_HAS_CPU_CAVIUM_OCTEON
1628 config SYS_HAS_CPU_BMIPS3300
1631 config SYS_HAS_CPU_BMIPS4350
1634 config SYS_HAS_CPU_BMIPS4380
1637 config SYS_HAS_CPU_BMIPS5000
1640 config SYS_HAS_CPU_XLR
1643 config SYS_HAS_CPU_XLP
1647 # CPU may reorder R->R, R->W, W->R, W->W
1648 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1650 config WEAK_ORDERING
1654 # CPU may reorder reads and writes beyond LL/SC
1655 # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1657 config WEAK_REORDERING_BEYOND_LLSC
1662 # These two indicate any level of the MIPS32 and MIPS64 architecture
1666 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1670 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1673 # These two indicate the revision of the architecture, either Release 1 or Release 2
1677 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1681 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1683 config SYS_SUPPORTS_32BIT_KERNEL
1685 config SYS_SUPPORTS_64BIT_KERNEL
1687 config CPU_SUPPORTS_32BIT_KERNEL
1689 config CPU_SUPPORTS_64BIT_KERNEL
1691 config CPU_SUPPORTS_CPUFREQ
1693 config CPU_SUPPORTS_ADDRWINCFG
1695 config CPU_SUPPORTS_HUGEPAGES
1697 config CPU_SUPPORTS_UNCACHED_ACCELERATED
1699 config MIPS_PGD_C0_CONTEXT
1701 default y if 64BIT && CPU_MIPSR2
1704 # Set to y for ptrace access to watch registers.
1706 config HARDWARE_WATCHPOINTS
1708 default y if CPU_MIPSR1 || CPU_MIPSR2
1714 prompt "Kernel code model"
1716 You should only select this option if you have a workload that
1717 actually benefits from 64-bit processing or if your machine has
1718 large memory. You will only be presented a single option in this
1719 menu if your system does not support both 32-bit and 64-bit kernels.
1722 bool "32-bit kernel"
1723 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1726 Select this option if you want to build a 32-bit kernel.
1728 bool "64-bit kernel"
1729 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1730 select HAVE_SYSCALL_WRAPPERS
1732 Select this option if you want to build a 64-bit kernel.
1737 prompt "Kernel page size"
1738 default PAGE_SIZE_4KB
1740 config PAGE_SIZE_4KB
1742 depends on !CPU_LOONGSON2
1744 This option select the standard 4kB Linux page size. On some
1745 R3000-family processors this is the only available page size. Using
1746 4kB page size will minimize memory consumption and is therefore
1747 recommended for low memory systems.
1749 config PAGE_SIZE_8KB
1751 depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
1753 Using 8kB page size will result in higher performance kernel at
1754 the price of higher memory consumption. This option is available
1755 only on R8000 and cnMIPS processors. Note that you will need a
1756 suitable Linux distribution to support this.
1758 config PAGE_SIZE_16KB
1760 depends on !CPU_R3000 && !CPU_TX39XX
1762 Using 16kB page size will result in higher performance kernel at
1763 the price of higher memory consumption. This option is available on
1764 all non-R3000 family processors. Note that you will need a suitable
1765 Linux distribution to support this.
1767 config PAGE_SIZE_32KB
1769 depends on CPU_CAVIUM_OCTEON
1771 Using 32kB page size will result in higher performance kernel at
1772 the price of higher memory consumption. This option is available
1773 only on cnMIPS cores. Note that you will need a suitable Linux
1774 distribution to support this.
1776 config PAGE_SIZE_64KB
1778 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1780 Using 64kB page size will result in higher performance kernel at
1781 the price of higher memory consumption. This option is available on
1782 all non-R3000 family processor. Not that at the time of this
1783 writing this option is still high experimental.
1787 config FORCE_MAX_ZONEORDER
1788 int "Maximum zone order"
1789 range 14 64 if HUGETLB_PAGE && PAGE_SIZE_64KB
1790 default "14" if HUGETLB_PAGE && PAGE_SIZE_64KB
1791 range 13 64 if HUGETLB_PAGE && PAGE_SIZE_32KB
1792 default "13" if HUGETLB_PAGE && PAGE_SIZE_32KB
1793 range 12 64 if HUGETLB_PAGE && PAGE_SIZE_16KB
1794 default "12" if HUGETLB_PAGE && PAGE_SIZE_16KB
1798 The kernel memory allocator divides physically contiguous memory
1799 blocks into "zones", where each zone is a power of two number of
1800 pages. This option selects the largest power of two that the kernel
1801 keeps in the memory allocator. If you need to allocate very large
1802 blocks of physically contiguous memory, then you may need to
1803 increase this value.
1805 This config option is actually maximum order plus one. For example,
1806 a value of 11 means that the largest free memory block is 2^10 pages.
1808 The page size is not necessarily 4KB. Keep this in mind
1809 when choosing a value for this option.
1814 config IP22_CPU_SCACHE
1819 # Support for a MIPS32 / MIPS64 style S-caches
1821 config MIPS_CPU_SCACHE
1825 config R5000_CPU_SCACHE
1829 config RM7000_CPU_SCACHE
1833 config SIBYTE_DMA_PAGEOPS
1834 bool "Use DMA to clear/copy pages"
1837 Instead of using the CPU to zero and copy pages, use a Data Mover
1838 channel. These DMA channels are otherwise unused by the standard
1839 SiByte Linux port. Seems to give a small performance benefit.
1841 config CPU_HAS_PREFETCH
1845 prompt "MIPS MT options"
1847 config MIPS_MT_DISABLED
1848 bool "Disable multithreading support."
1850 Use this option if your workload can't take advantage of
1851 MIPS hardware multithreading support. On systems that don't have
1852 the option of an MT-enabled processor this option will be the only
1853 option in this menu.
1856 bool "Use 1 TC on each available VPE for SMP"
1857 depends on SYS_SUPPORTS_MULTITHREADING
1858 select CPU_MIPSR2_IRQ_VI
1859 select CPU_MIPSR2_IRQ_EI
1861 select NR_CPUS_DEFAULT_2
1863 select SYS_SUPPORTS_SCHED_SMT if SMP
1864 select SYS_SUPPORTS_SMP
1867 This is a kernel model which is known a VSMP but lately has been
1868 marketesed into SMVP.
1869 Virtual SMP uses the processor's VPEs to implement virtual
1870 processors. In currently available configuration of the 34K processor
1871 this allows for a dual processor. Both processors will share the same
1872 primary caches; each will obtain the half of the TLB for it's own
1873 exclusive use. For a layman this model can be described as similar to
1874 what Intel calls Hyperthreading.
1876 For further information see http://www.linux-mips.org/wiki/34K#VSMP
1879 bool "SMTC: Use all TCs on all VPEs for SMP"
1880 depends on CPU_MIPS32_R2
1881 #depends on CPU_MIPS64_R2 # once there is hardware ...
1882 depends on SYS_SUPPORTS_MULTITHREADING
1883 select CPU_MIPSR2_IRQ_VI
1884 select CPU_MIPSR2_IRQ_EI
1886 select NR_CPUS_DEFAULT_8
1888 select SYS_SUPPORTS_SMP
1891 This is a kernel model which is known a SMTC or lately has been
1892 marketesed into SMVP.
1893 is presenting the available TC's of the core as processors to Linux.
1894 On currently available 34K processors this means a Linux system will
1895 see up to 5 processors. The implementation of the SMTC kernel differs
1896 significantly from VSMP and cannot efficiently coexist in the same
1897 kernel binary so the choice between VSMP and SMTC is a compile time
1900 For further information see http://www.linux-mips.org/wiki/34K#SMTC
1908 bool "SMT (multithreading) scheduler support"
1909 depends on SYS_SUPPORTS_SCHED_SMT
1912 SMT scheduler support improves the CPU scheduler's decision making
1913 when dealing with MIPS MT enabled cores at a cost of slightly
1914 increased overhead in some places. If unsure say N here.
1916 config SYS_SUPPORTS_SCHED_SMT
1920 config SYS_SUPPORTS_MULTITHREADING
1923 config MIPS_MT_FPAFF
1924 bool "Dynamic FPU affinity for FP-intensive threads"
1926 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1928 config MIPS_VPE_LOADER
1929 bool "VPE loader support."
1930 depends on SYS_SUPPORTS_MULTITHREADING
1931 select CPU_MIPSR2_IRQ_VI
1932 select CPU_MIPSR2_IRQ_EI
1935 Includes a loader for loading an elf relocatable object
1936 onto another VPE and running it.
1938 config MIPS_MT_SMTC_IM_BACKSTOP
1939 bool "Use per-TC register bits as backstop for inhibited IM bits"
1940 depends on MIPS_MT_SMTC
1943 To support multiple TC microthreads acting as "CPUs" within
1944 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1945 during interrupt handling. To support legacy drivers and interrupt
1946 controller management code, SMTC has a "backstop" to track and
1947 if necessary restore the interrupt mask. This has some performance
1948 impact on interrupt service overhead.
1950 config MIPS_MT_SMTC_IRQAFF
1951 bool "Support IRQ affinity API"
1952 depends on MIPS_MT_SMTC
1955 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1956 for SMTC Linux kernel. Requires platform support, of which
1957 an example can be found in the MIPS kernel i8259 and Malta
1958 platform code. Adds some overhead to interrupt dispatch, and
1959 should be used only if you know what you are doing.
1961 config MIPS_VPE_LOADER_TOM
1962 bool "Load VPE program into memory hidden from linux"
1963 depends on MIPS_VPE_LOADER
1966 The loader can use memory that is present but has been hidden from
1967 Linux using the kernel command line option "mem=xxMB". It's up to
1968 you to ensure the amount you put in the option and the space your
1969 program requires is less or equal to the amount physically present.
1971 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1972 config MIPS_VPE_APSP_API
1973 bool "Enable support for AP/SP API (RTLX)"
1974 depends on MIPS_VPE_LOADER
1977 config MIPS_APSP_KSPD
1979 depends on MIPS_VPE_APSP_API
1982 KSPD is a kernel daemon that accepts syscall requests from the SP
1983 side, actions them and returns the results. It also handles the
1984 "exit" syscall notifying other kernel modules the SP program is
1985 exiting. You probably want to say yes here.
1988 bool "MIPS CMP framework support"
1989 depends on SYS_SUPPORTS_MIPS_CMP
1991 select SYS_SUPPORTS_SMP
1992 select SYS_SUPPORTS_SCHED_SMT if SMP
1993 select WEAK_ORDERING
1996 This is a placeholder option for the GCMP work. It will need to
1997 be handled differently...
1999 config SB1_PASS_1_WORKAROUNDS
2001 depends on CPU_SB1_PASS_1
2004 config SB1_PASS_2_WORKAROUNDS
2006 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
2009 config SB1_PASS_2_1_WORKAROUNDS
2011 depends on CPU_SB1 && CPU_SB1_PASS_2
2014 config 64BIT_PHYS_ADDR
2017 config ARCH_PHYS_ADDR_T_64BIT
2018 def_bool 64BIT_PHYS_ADDR
2020 config CPU_HAS_SMARTMIPS
2021 depends on SYS_SUPPORTS_SMARTMIPS
2022 bool "Support for the SmartMIPS ASE"
2024 SmartMIPS is a extension of the MIPS32 architecture aimed at
2025 increased security at both hardware and software level for
2026 smartcards. Enabling this option will allow proper use of the
2027 SmartMIPS instructions by Linux applications. However a kernel with
2028 this option will not work on a MIPS core without SmartMIPS core. If
2029 you don't know you probably don't have SmartMIPS and should say N
2039 # Vectored interrupt mode is an R2 feature
2041 config CPU_MIPSR2_IRQ_VI
2045 # Extended interrupt mode is an R2 feature
2047 config CPU_MIPSR2_IRQ_EI
2052 depends on !CPU_R3000
2058 config CPU_DADDI_WORKAROUNDS
2061 config CPU_R4000_WORKAROUNDS
2063 select CPU_R4400_WORKAROUNDS
2065 config CPU_R4400_WORKAROUNDS
2069 # - Highmem only makes sense for the 32-bit kernel.
2070 # - The current highmem code will only work properly on physically indexed
2071 # caches such as R3000, SB1, R7000 or those that look like they're virtually
2072 # indexed such as R4000/R4400 SC and MC versions or R10000. So for the
2073 # moment we protect the user and offer the highmem option only on machines
2074 # where it's known to be safe. This will not offer highmem on a few systems
2075 # such as MIPS32 and MIPS64 CPUs which may have virtual and physically
2076 # indexed CPUs but we're playing safe.
2077 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
2078 # know they might have memory configurations that could make use of highmem
2082 bool "High Memory Support"
2083 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
2085 config CPU_SUPPORTS_HIGHMEM
2088 config SYS_SUPPORTS_HIGHMEM
2091 config SYS_SUPPORTS_SMARTMIPS
2094 config ARCH_FLATMEM_ENABLE
2096 depends on !NUMA && !CPU_LOONGSON2
2098 config ARCH_DISCONTIGMEM_ENABLE
2100 default y if SGI_IP27
2102 Say Y to support efficient handling of discontiguous physical memory,
2103 for architectures which are either NUMA (Non-Uniform Memory Access)
2104 or have huge holes in the physical address space for other reasons.
2105 See <file:Documentation/vm/numa> for more.
2107 config ARCH_SPARSEMEM_ENABLE
2109 select SPARSEMEM_STATIC
2113 depends on SYS_SUPPORTS_NUMA
2115 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
2116 Access). This option improves performance on systems with more
2117 than two nodes; on two node systems it is generally better to
2118 leave it disabled; on single node systems disable this option
2121 config SYS_SUPPORTS_NUMA
2127 depends on NEED_MULTIPLE_NODES
2129 config HW_PERF_EVENTS
2130 bool "Enable hardware performance counter support for perf events"
2131 depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON)
2134 Enable hardware performance counter support for perf events. If
2135 disabled, perf events will use software events only.
2140 bool "Multi-Processing support"
2141 depends on SYS_SUPPORTS_SMP
2143 select USE_GENERIC_SMP_HELPERS
2145 This enables support for systems with more than one CPU. If you have
2146 a system with only one CPU, like most personal computers, say N. If
2147 you have a system with more than one CPU, say Y.
2149 If you say N here, the kernel will run on single and multiprocessor
2150 machines, but will use only one CPU of a multiprocessor machine. If
2151 you say Y here, the kernel will run on many, but not all,
2152 singleprocessor machines. On a singleprocessor machine, the kernel
2153 will run faster if you say N here.
2155 People using multiprocessor machines who say Y here should also say
2156 Y to "Enhanced Real Time Clock Support", below.
2158 See also the SMP-HOWTO available at
2159 <http://www.tldp.org/docs.html#howto>.
2161 If you don't know what to do here, say N.
2166 config SYS_SUPPORTS_MIPS_CMP
2169 config SYS_SUPPORTS_SMP
2172 config NR_CPUS_DEFAULT_1
2175 config NR_CPUS_DEFAULT_2
2178 config NR_CPUS_DEFAULT_4
2181 config NR_CPUS_DEFAULT_8
2184 config NR_CPUS_DEFAULT_16
2187 config NR_CPUS_DEFAULT_32
2190 config NR_CPUS_DEFAULT_64
2194 int "Maximum number of CPUs (2-64)"
2195 range 1 64 if NR_CPUS_DEFAULT_1
2197 default "1" if NR_CPUS_DEFAULT_1
2198 default "2" if NR_CPUS_DEFAULT_2
2199 default "4" if NR_CPUS_DEFAULT_4
2200 default "8" if NR_CPUS_DEFAULT_8
2201 default "16" if NR_CPUS_DEFAULT_16
2202 default "32" if NR_CPUS_DEFAULT_32
2203 default "64" if NR_CPUS_DEFAULT_64
2205 This allows you to specify the maximum number of CPUs which this
2206 kernel will support. The maximum supported value is 32 for 32-bit
2207 kernel and 64 for 64-bit kernels; the minimum value which makes
2208 sense is 1 for Qemu (useful only for kernel debugging purposes)
2209 and 2 for all others.
2211 This is purely to save memory - each supported CPU adds
2212 approximately eight kilobytes to the kernel image. For best
2213 performance should round up your number of processors to the next
2217 # Timer Interrupt Frequency Configuration
2221 prompt "Timer frequency"
2224 Allows the configuration of the timer frequency.
2227 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
2230 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
2233 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
2236 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
2239 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
2242 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
2245 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2249 config SYS_SUPPORTS_48HZ
2252 config SYS_SUPPORTS_100HZ
2255 config SYS_SUPPORTS_128HZ
2258 config SYS_SUPPORTS_250HZ
2261 config SYS_SUPPORTS_256HZ
2264 config SYS_SUPPORTS_1000HZ
2267 config SYS_SUPPORTS_1024HZ
2270 config SYS_SUPPORTS_ARBIT_HZ
2272 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2273 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2274 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2275 !SYS_SUPPORTS_1024HZ
2280 default 100 if HZ_100
2281 default 128 if HZ_128
2282 default 250 if HZ_250
2283 default 256 if HZ_256
2284 default 1000 if HZ_1000
2285 default 1024 if HZ_1024
2287 source "kernel/Kconfig.preempt"
2290 bool "Kexec system call (EXPERIMENTAL)"
2291 depends on EXPERIMENTAL
2293 kexec is a system call that implements the ability to shutdown your
2294 current kernel, and to start another kernel. It is like a reboot
2295 but it is independent of the system firmware. And like a reboot
2296 you can start any kernel with it, not just Linux.
2298 The name comes from the similarity to the exec system call.
2300 It is an ongoing process to be certain the hardware in a machine
2301 is properly shutdown, so do not be surprised if this code does not
2302 initially work for you. It may help to enable device hotplugging
2303 support. As of this writing the exact hardware interface is
2304 strongly in flux, so no good recommendation can be made.
2307 bool "Enable seccomp to safely compute untrusted bytecode"
2311 This kernel feature is useful for number crunching applications
2312 that may need to compute untrusted bytecode during their
2313 execution. By using pipes or other transports made available to
2314 the process as file descriptors supporting the read/write
2315 syscalls, it's possible to isolate those applications in
2316 their own address space using seccomp. Once seccomp is
2317 enabled via /proc/<pid>/seccomp, it cannot be disabled
2318 and the task is only allowed to execute a few safe syscalls
2319 defined by each seccomp mode.
2321 If unsure, say Y. Only embedded should say N here.
2324 bool "Flattened Device Tree support"
2326 select OF_EARLY_FLATTREE
2329 Include support for flattened device tree machine descriptions.
2333 config LOCKDEP_SUPPORT
2337 config STACKTRACE_SUPPORT
2341 source "init/Kconfig"
2343 source "kernel/Kconfig.freezer"
2345 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2353 bool "Support for PCI controller"
2354 depends on HW_HAS_PCI
2356 select GENERIC_PCI_IOMAP
2357 select NO_GENERIC_PCI_IOPORT_MAP
2359 Find out whether you have a PCI motherboard. PCI is the name of a
2360 bus system, i.e. the way the CPU talks to the other stuff inside
2361 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2367 source "drivers/pci/Kconfig"
2370 # ISA support is now enabled via select. Too many systems still have the one
2371 # or other ISA chip on the board that users don't know about so don't expect
2372 # users to choose the right thing ...
2379 depends on HW_HAS_EISA
2381 select GENERIC_ISA_DMA
2383 The Extended Industry Standard Architecture (EISA) bus was
2384 developed as an open alternative to the IBM MicroChannel bus.
2386 The EISA bus provided some of the features of the IBM MicroChannel
2387 bus while maintaining backward compatibility with cards made for
2388 the older ISA bus. The EISA bus saw limited use between 1988 and
2389 1995 when it was made obsolete by the PCI bus.
2391 Say Y here if you are building a kernel for an EISA-based machine.
2395 source "drivers/eisa/Kconfig"
2398 bool "TURBOchannel support"
2399 depends on MACH_DECSTATION
2401 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2402 processors. TURBOchannel programming specifications are available
2404 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
2406 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
2407 Linux driver support status is documented at:
2408 <http://www.linux-mips.org/wiki/DECstation>
2418 select MIPS_EXTERNAL_TIMER
2423 source "drivers/pcmcia/Kconfig"
2425 source "drivers/pci/hotplug/Kconfig"
2428 bool "RapidIO support"
2432 If you say Y here, the kernel will include drivers and
2433 infrastructure code to support RapidIO interconnect devices.
2435 source "drivers/rapidio/Kconfig"
2439 menu "Executable file formats"
2441 source "fs/Kconfig.binfmt"
2446 config MIPS32_COMPAT
2447 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2450 Select this option if you want Linux/MIPS 32-bit binary
2451 compatibility. Since all software available for Linux/MIPS is
2452 currently 32-bit you should say Y here.
2456 depends on MIPS32_COMPAT
2457 select ARCH_WANT_OLD_COMPAT_IPC
2460 config SYSVIPC_COMPAT
2462 depends on COMPAT && SYSVIPC
2466 bool "Kernel support for o32 binaries"
2467 depends on MIPS32_COMPAT
2469 Select this option if you want to run o32 binaries. These are pure
2470 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2471 existing binaries are in this format.
2476 bool "Kernel support for n32 binaries"
2477 depends on MIPS32_COMPAT
2479 Select this option if you want to run n32 binaries. These are
2480 64-bit binaries using 32-bit quantities for addressing and certain
2481 data that would normally be 64-bit. They are used in special
2488 default y if MIPS32_O32 || MIPS32_N32
2492 menu "Power management options"
2494 config ARCH_HIBERNATION_POSSIBLE
2496 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2498 config ARCH_SUSPEND_POSSIBLE
2500 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2502 source "kernel/power/Kconfig"
2506 source "arch/mips/kernel/cpufreq/Kconfig"
2508 source "net/Kconfig"
2510 source "drivers/Kconfig"
2514 source "arch/mips/Kconfig.debug"
2516 source "security/Kconfig"
2518 source "crypto/Kconfig"
2520 source "lib/Kconfig"