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 SYS_SUPPORTS_ZBOOT_UART16550
213 select DMA_NONCOHERENT
216 select ARCH_REQUIRE_GPIOLIB
217 select SYS_HAS_EARLY_PRINTK
220 select GENERIC_IRQ_CHIP
223 bool "Lantiq based platforms"
224 select DMA_NONCOHERENT
228 select SYS_HAS_CPU_MIPS32_R1
229 select SYS_HAS_CPU_MIPS32_R2
230 select SYS_SUPPORTS_BIG_ENDIAN
231 select SYS_SUPPORTS_32BIT_KERNEL
232 select SYS_SUPPORTS_MULTITHREADING
233 select SYS_HAS_EARLY_PRINTK
234 select ARCH_REQUIRE_GPIOLIB
237 select HAVE_MACH_CLKDEV
242 bool "LASAT Networks platforms"
245 select DMA_NONCOHERENT
246 select SYS_HAS_EARLY_PRINTK
249 select PCI_GT64XXX_PCI0
251 select R5000_CPU_SCACHE
252 select SYS_HAS_CPU_R5000
253 select SYS_SUPPORTS_32BIT_KERNEL
254 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
255 select SYS_SUPPORTS_LITTLE_ENDIAN
258 bool "Loongson family of machines"
259 select SYS_SUPPORTS_ZBOOT
261 This enables the support of Loongson family of machines.
263 Loongson is a family of general-purpose MIPS-compatible CPUs.
264 developed at Institute of Computing Technology (ICT),
265 Chinese Academy of Sciences (CAS) in the People's Republic
266 of China. The chief architect is Professor Weiwu Hu.
268 config MACH_LOONGSON1
269 bool "Loongson 1 family of machines"
270 select SYS_SUPPORTS_ZBOOT
272 This enables support for the Loongson 1 based machines.
274 Loongson 1 is a family of 32-bit MIPS-compatible SoCs developed by
275 the ICT (Institute of Computing Technology) and the Chinese Academy
279 bool "MIPS Malta board"
280 select ARCH_MAY_HAVE_PC_FDC
285 select DMA_NONCOHERENT
286 select GENERIC_ISA_DMA
287 select HAVE_PCSPKR_PLATFORM
293 select MIPS_BOARDS_GEN
295 select MIPS_CPU_SCACHE
296 select PCI_GT64XXX_PCI0
299 select SYS_HAS_CPU_MIPS32_R1
300 select SYS_HAS_CPU_MIPS32_R2
301 select SYS_HAS_CPU_MIPS64_R1
302 select SYS_HAS_CPU_MIPS64_R2
303 select SYS_HAS_CPU_NEVADA
304 select SYS_HAS_CPU_RM7000
305 select SYS_HAS_EARLY_PRINTK
306 select SYS_SUPPORTS_32BIT_KERNEL
307 select SYS_SUPPORTS_64BIT_KERNEL
308 select SYS_SUPPORTS_BIG_ENDIAN
309 select SYS_SUPPORTS_LITTLE_ENDIAN
310 select SYS_SUPPORTS_MIPS_CMP
311 select SYS_SUPPORTS_MULTITHREADING
312 select SYS_SUPPORTS_SMARTMIPS
313 select SYS_SUPPORTS_ZBOOT
315 This enables support for the MIPS Technologies Malta evaluation
319 bool 'MIPS simulator (MIPSsim)'
322 select DMA_NONCOHERENT
323 select SYS_HAS_EARLY_PRINTK
326 select SYS_HAS_CPU_MIPS32_R1
327 select SYS_HAS_CPU_MIPS32_R2
328 select SYS_HAS_EARLY_PRINTK
329 select SYS_SUPPORTS_32BIT_KERNEL
330 select SYS_SUPPORTS_BIG_ENDIAN
331 select SYS_SUPPORTS_MULTITHREADING
332 select SYS_SUPPORTS_LITTLE_ENDIAN
334 This option enables support for MIPS Technologies MIPSsim software
338 bool "NEC EMMA2RH Mark-eins board"
342 This enables support for the NEC Electronics Mark-eins boards.
345 bool "NEC VR4100 series based machines"
348 select SYS_HAS_CPU_VR41XX
349 select ARCH_REQUIRE_GPIOLIB
352 bool "NXP STB220 board"
355 Support for NXP Semiconductors STB220 Development Board.
362 Support for NXP Semiconductors STB225 Development Board.
365 bool "NXP PNX8550 based JBS board"
367 select SYS_SUPPORTS_LITTLE_ENDIAN
369 config PNX8550_STB810
370 bool "NXP PNX8550 based STB810 board"
372 select SYS_SUPPORTS_LITTLE_ENDIAN
375 bool "PMC-Sierra MSP chipsets"
376 depends on EXPERIMENTAL
379 select DMA_NONCOHERENT
381 select NO_EXCEPT_FILL
383 select SYS_HAS_CPU_MIPS32_R1
384 select SYS_HAS_CPU_MIPS32_R2
385 select SYS_SUPPORTS_32BIT_KERNEL
386 select SYS_SUPPORTS_BIG_ENDIAN
389 select SERIAL_8250_CONSOLE
391 This adds support for the PMC-Sierra family of Multi-Service
392 Processor System-On-A-Chips. These parts include a number
393 of integrated peripherals, interfaces and DSPs in addition to
394 a variety of MIPS cores.
397 bool "PMC-Sierra Yosemite eval board"
406 select SYS_HAS_CPU_RM9000
407 select SYS_HAS_EARLY_PRINTK
408 select SYS_SUPPORTS_32BIT_KERNEL
409 select SYS_SUPPORTS_64BIT_KERNEL
410 select SYS_SUPPORTS_BIG_ENDIAN
411 select SYS_SUPPORTS_HIGHMEM
412 select SYS_SUPPORTS_SMP
414 Yosemite is an evaluation board for the RM9000x2 processor
415 manufactured by PMC-Sierra.
421 select CPU_MIPSR2_IRQ_VI
422 select CPU_MIPSR2_IRQ_EI
424 select DMA_NONCOHERENT
426 select SYS_HAS_EARLY_PRINTK
427 select SYS_HAS_CPU_MIPS32_R2
428 select SYS_SUPPORTS_32BIT_KERNEL
429 select SYS_SUPPORTS_BIG_ENDIAN
430 select SYS_SUPPORTS_HIGHMEM
431 select USB_OHCI_LITTLE_ENDIAN
433 This enables support for the Cisco PowerTV Platform.
436 bool "SGI IP22 (Indy/Indigo2)"
442 select DEFAULT_SGI_PARTITION
443 select DMA_NONCOHERENT
447 select IP22_CPU_SCACHE
449 select GENERIC_ISA_DMA_SUPPORT_BROKEN
451 select SGI_HAS_INDYDOG
457 select SYS_HAS_CPU_R4X00
458 select SYS_HAS_CPU_R5000
460 # Disable EARLY_PRINTK for now since it leads to overwritten prom
461 # memory during early boot on some machines.
463 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
464 # for a more details discussion
466 # select SYS_HAS_EARLY_PRINTK
467 select SYS_SUPPORTS_32BIT_KERNEL
468 select SYS_SUPPORTS_64BIT_KERNEL
469 select SYS_SUPPORTS_BIG_ENDIAN
471 This are the SGI Indy, Challenge S and Indigo2, as well as certain
472 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
473 that runs on these, say Y here.
476 bool "SGI IP27 (Origin200/2000)"
480 select DEFAULT_SGI_PARTITION
482 select SYS_HAS_EARLY_PRINTK
484 select NR_CPUS_DEFAULT_64
485 select SYS_HAS_CPU_R10000
486 select SYS_SUPPORTS_64BIT_KERNEL
487 select SYS_SUPPORTS_BIG_ENDIAN
488 select SYS_SUPPORTS_NUMA
489 select SYS_SUPPORTS_SMP
491 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
492 workstations. To compile a Linux kernel that runs on these, say Y
496 bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
497 depends on EXPERIMENTAL
503 select DEFAULT_SGI_PARTITION
504 select DMA_NONCOHERENT
505 select GENERIC_ISA_DMA_SUPPORT_BROKEN
511 select SGI_HAS_INDYDOG
517 select SYS_HAS_CPU_R10000
519 # Disable EARLY_PRINTK for now since it leads to overwritten prom
520 # memory during early boot on some machines.
522 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
523 # for a more details discussion
525 # select SYS_HAS_EARLY_PRINTK
526 select SYS_SUPPORTS_64BIT_KERNEL
527 select SYS_SUPPORTS_BIG_ENDIAN
529 This is the SGI Indigo2 with R10000 processor. To compile a Linux
530 kernel that runs on these, say Y here.
539 select DMA_NONCOHERENT
542 select R5000_CPU_SCACHE
543 select RM7000_CPU_SCACHE
544 select SYS_HAS_CPU_R5000
545 select SYS_HAS_CPU_R10000 if BROKEN
546 select SYS_HAS_CPU_RM7000
547 select SYS_HAS_CPU_NEVADA
548 select SYS_SUPPORTS_64BIT_KERNEL
549 select SYS_SUPPORTS_BIG_ENDIAN
551 If you want this kernel to run on SGI O2 workstation, say Y here.
554 bool "Sibyte BCM91120C-CRhine"
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 BCM91120x-Carmel"
566 depends on EXPERIMENTAL
569 select SIBYTE_BCM1120
571 select SYS_HAS_CPU_SB1
572 select SYS_SUPPORTS_BIG_ENDIAN
573 select SYS_SUPPORTS_LITTLE_ENDIAN
576 bool "Sibyte BCM91125C-CRhone"
577 depends on EXPERIMENTAL
580 select SIBYTE_BCM1125
582 select SYS_HAS_CPU_SB1
583 select SYS_SUPPORTS_BIG_ENDIAN
584 select SYS_SUPPORTS_HIGHMEM
585 select SYS_SUPPORTS_LITTLE_ENDIAN
588 bool "Sibyte BCM91125E-Rhone"
589 depends on EXPERIMENTAL
592 select SIBYTE_BCM1125H
594 select SYS_HAS_CPU_SB1
595 select SYS_SUPPORTS_BIG_ENDIAN
596 select SYS_SUPPORTS_LITTLE_ENDIAN
599 bool "Sibyte BCM91250A-SWARM"
602 select HAVE_PATA_PLATFORM
603 select NR_CPUS_DEFAULT_2
606 select SYS_HAS_CPU_SB1
607 select SYS_SUPPORTS_BIG_ENDIAN
608 select SYS_SUPPORTS_HIGHMEM
609 select SYS_SUPPORTS_LITTLE_ENDIAN
610 select ZONE_DMA32 if 64BIT
612 config SIBYTE_LITTLESUR
613 bool "Sibyte BCM91250C2-LittleSur"
614 depends on EXPERIMENTAL
617 select HAVE_PATA_PLATFORM
618 select NR_CPUS_DEFAULT_2
621 select SYS_HAS_CPU_SB1
622 select SYS_SUPPORTS_BIG_ENDIAN
623 select SYS_SUPPORTS_HIGHMEM
624 select SYS_SUPPORTS_LITTLE_ENDIAN
626 config SIBYTE_SENTOSA
627 bool "Sibyte BCM91250E-Sentosa"
628 depends on EXPERIMENTAL
631 select NR_CPUS_DEFAULT_2
634 select SYS_HAS_CPU_SB1
635 select SYS_SUPPORTS_BIG_ENDIAN
636 select SYS_SUPPORTS_LITTLE_ENDIAN
639 bool "Sibyte BCM91480B-BigSur"
642 select NR_CPUS_DEFAULT_4
643 select SIBYTE_BCM1x80
645 select SYS_HAS_CPU_SB1
646 select SYS_SUPPORTS_BIG_ENDIAN
647 select SYS_SUPPORTS_HIGHMEM
648 select SYS_SUPPORTS_LITTLE_ENDIAN
649 select ZONE_DMA32 if 64BIT
652 bool "SNI RM200/300/400"
653 select ARC if CPU_LITTLE_ENDIAN
654 select ARC32 if CPU_LITTLE_ENDIAN
655 select SNIPROM if CPU_BIG_ENDIAN
656 select ARCH_MAY_HAVE_PC_FDC
660 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
661 select DMA_NONCOHERENT
662 select GENERIC_ISA_DMA
663 select HAVE_PCSPKR_PLATFORM
670 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
671 select SYS_HAS_CPU_R4X00
672 select SYS_HAS_CPU_R5000
673 select SYS_HAS_CPU_R10000
674 select R5000_CPU_SCACHE
675 select SYS_HAS_EARLY_PRINTK
676 select SYS_SUPPORTS_32BIT_KERNEL
677 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
678 select SYS_SUPPORTS_BIG_ENDIAN
679 select SYS_SUPPORTS_HIGHMEM
680 select SYS_SUPPORTS_LITTLE_ENDIAN
682 The SNI RM200/300/400 are MIPS-based machines manufactured by
683 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
684 Technology and now in turn merged with Fujitsu. Say Y here to
685 support this machine type.
688 bool "Toshiba TX39 series based machines"
691 bool "Toshiba TX49 series based machines"
693 config MIKROTIK_RB532
694 bool "Mikrotik RB532 boards"
697 select DMA_NONCOHERENT
700 select SYS_HAS_CPU_MIPS32_R1
701 select SYS_SUPPORTS_32BIT_KERNEL
702 select SYS_SUPPORTS_LITTLE_ENDIAN
705 select ARCH_REQUIRE_GPIOLIB
707 Support the Mikrotik(tm) RouterBoard 532 series,
708 based on the IDT RC32434 SoC.
711 bool "Wind River PPMC board"
716 select DMA_NONCOHERENT
718 select PCI_GT64XXX_PCI0
720 select SYS_HAS_CPU_MIPS32_R1
721 select SYS_HAS_CPU_MIPS32_R2
722 select SYS_HAS_CPU_MIPS64_R1
723 select SYS_HAS_CPU_NEVADA
724 select SYS_HAS_CPU_RM7000
725 select SYS_SUPPORTS_32BIT_KERNEL
726 select SYS_SUPPORTS_64BIT_KERNEL
727 select SYS_SUPPORTS_BIG_ENDIAN
728 select SYS_SUPPORTS_LITTLE_ENDIAN
730 This enables support for the Wind River MIPS32 4KC PPMC evaluation
731 board, which is based on GT64120 bridge chip.
733 config CAVIUM_OCTEON_SIMULATOR
734 bool "Cavium Networks Octeon Simulator"
736 select 64BIT_PHYS_ADDR
738 select SYS_SUPPORTS_64BIT_KERNEL
739 select SYS_SUPPORTS_BIG_ENDIAN
740 select SYS_SUPPORTS_HOTPLUG_CPU
741 select SYS_HAS_CPU_CAVIUM_OCTEON
744 The Octeon simulator is software performance model of the Cavium
745 Octeon Processor. It supports simulating Octeon processors on x86
748 config CAVIUM_OCTEON_REFERENCE_BOARD
749 bool "Cavium Networks Octeon reference board"
751 select 64BIT_PHYS_ADDR
753 select SYS_SUPPORTS_64BIT_KERNEL
754 select SYS_SUPPORTS_BIG_ENDIAN
755 select SYS_SUPPORTS_HOTPLUG_CPU
756 select SYS_HAS_EARLY_PRINTK
757 select SYS_HAS_CPU_CAVIUM_OCTEON
760 select ARCH_SUPPORTS_MSI
762 select USB_ARCH_HAS_OHCI
763 select USB_ARCH_HAS_EHCI
766 This option supports all of the Octeon reference boards from Cavium
767 Networks. It builds a kernel that dynamically determines the Octeon
768 CPU type and supports all known board reference implementations.
769 Some of the supported boards are:
776 Say Y here for most Octeon reference boards.
779 bool "Netlogic XLR/XLS based systems"
780 depends on EXPERIMENTAL
783 select SYS_HAS_CPU_XLR
784 select SYS_SUPPORTS_SMP
787 select SYS_SUPPORTS_32BIT_KERNEL
788 select SYS_SUPPORTS_64BIT_KERNEL
789 select 64BIT_PHYS_ADDR
790 select SYS_SUPPORTS_BIG_ENDIAN
791 select SYS_SUPPORTS_HIGHMEM
793 select NR_CPUS_DEFAULT_32
797 select ARCH_SUPPORTS_MSI
798 select ZONE_DMA if 64BIT
800 select SYS_HAS_EARLY_PRINTK
801 select USB_ARCH_HAS_OHCI if USB_SUPPORT
802 select USB_ARCH_HAS_EHCI if USB_SUPPORT
804 Support for systems based on Netlogic XLR and XLS processors.
805 Say Y here if you have a XLR or XLS based board.
808 bool "Netlogic XLP based systems"
809 depends on EXPERIMENTAL
812 select SYS_HAS_CPU_XLP
813 select SYS_SUPPORTS_SMP
815 select SYS_SUPPORTS_32BIT_KERNEL
816 select SYS_SUPPORTS_64BIT_KERNEL
817 select 64BIT_PHYS_ADDR
818 select SYS_SUPPORTS_BIG_ENDIAN
819 select SYS_SUPPORTS_LITTLE_ENDIAN
820 select SYS_SUPPORTS_HIGHMEM
822 select NR_CPUS_DEFAULT_32
826 select ZONE_DMA if 64BIT
828 select SYS_HAS_EARLY_PRINTK
830 This board is based on Netlogic XLP Processor.
831 Say Y here if you have a XLP based board.
835 source "arch/mips/alchemy/Kconfig"
836 source "arch/mips/ath79/Kconfig"
837 source "arch/mips/bcm47xx/Kconfig"
838 source "arch/mips/bcm63xx/Kconfig"
839 source "arch/mips/jazz/Kconfig"
840 source "arch/mips/jz4740/Kconfig"
841 source "arch/mips/lantiq/Kconfig"
842 source "arch/mips/lasat/Kconfig"
843 source "arch/mips/pmc-sierra/Kconfig"
844 source "arch/mips/powertv/Kconfig"
845 source "arch/mips/sgi-ip27/Kconfig"
846 source "arch/mips/sibyte/Kconfig"
847 source "arch/mips/txx9/Kconfig"
848 source "arch/mips/vr41xx/Kconfig"
849 source "arch/mips/cavium-octeon/Kconfig"
850 source "arch/mips/loongson/Kconfig"
851 source "arch/mips/loongson1/Kconfig"
852 source "arch/mips/netlogic/Kconfig"
856 config RWSEM_GENERIC_SPINLOCK
860 config RWSEM_XCHGADD_ALGORITHM
863 config ARCH_HAS_ILOG2_U32
867 config ARCH_HAS_ILOG2_U64
871 config GENERIC_HWEIGHT
875 config GENERIC_CALIBRATE_DELAY
879 config SCHED_OMIT_FRAME_POINTER
884 # Select some configuration options automatically based on user selections.
889 config ARCH_MAY_HAVE_PC_FDC
938 select ARCH_REQUIRE_GPIOLIB
944 config ARCH_DMA_ADDR_T_64BIT
945 def_bool (HIGHMEM && 64BIT_PHYS_ADDR) || 64BIT
950 config DMA_NONCOHERENT
952 select NEED_DMA_MAP_STATE
954 config NEED_DMA_MAP_STATE
957 config SYS_HAS_EARLY_PRINTK
961 bool "Support for hot-pluggable CPUs"
962 depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU
964 Say Y here to allow turning CPUs off and on. CPUs can be
965 controlled through /sys/devices/system/cpu.
966 (Note: power management support will enable this option
967 automatically on SMP systems. )
968 Say N if you want to disable CPU hotplug.
970 config SYS_SUPPORTS_HOTPLUG_CPU
985 config MIPS_DISABLE_OBSOLETE_IDE
997 config GENERIC_ISA_DMA
999 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
1002 config GENERIC_ISA_DMA_SUPPORT_BROKEN
1004 select GENERIC_ISA_DMA
1012 config HOLES_IN_ZONE
1016 # Endianness selection. Sufficiently obscure so many users don't know what to
1017 # answer,so we try hard to limit the available choices. Also the use of a
1018 # choice statement should be more obvious to the user.
1021 prompt "Endianness selection"
1023 Some MIPS machines can be configured for either little or big endian
1024 byte order. These modes require different kernels and a different
1025 Linux distribution. In general there is one preferred byteorder for a
1026 particular system but some systems are just as commonly used in the
1027 one or the other endianness.
1029 config CPU_BIG_ENDIAN
1031 depends on SYS_SUPPORTS_BIG_ENDIAN
1033 config CPU_LITTLE_ENDIAN
1034 bool "Little endian"
1035 depends on SYS_SUPPORTS_LITTLE_ENDIAN
1043 config SYS_SUPPORTS_APM_EMULATION
1046 config SYS_SUPPORTS_BIG_ENDIAN
1049 config SYS_SUPPORTS_LITTLE_ENDIAN
1052 config SYS_SUPPORTS_HUGETLBFS
1054 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
1081 config MIPS_BOARDS_GEN
1084 config PCI_GT64XXX_PCI0
1087 config NO_EXCEPT_FILL
1092 select SERIAL_RM9000
1098 select DMA_NONCOHERENT
1100 select SWAP_IO_SPACE
1101 select SYS_HAS_CPU_R5500
1102 select SYS_SUPPORTS_32BIT_KERNEL
1103 select SYS_SUPPORTS_64BIT_KERNEL
1104 select SYS_SUPPORTS_BIG_ENDIAN
1111 select DMA_NONCOHERENT
1112 select SYS_HAS_CPU_MIPS32_R2
1113 select SYS_SUPPORTS_32BIT_KERNEL
1114 select SYS_SUPPORTS_LITTLE_ENDIAN
1115 select SYS_SUPPORTS_BIG_ENDIAN
1117 select CPU_MIPSR2_IRQ_VI
1129 select DMA_NONCOHERENT
1131 select SYS_HAS_CPU_MIPS32_R1
1132 select SYS_HAS_EARLY_PRINTK
1133 select SYS_SUPPORTS_32BIT_KERNEL
1136 config SWAP_IO_SPACE
1139 config SERIAL_RM9000
1142 config SGI_HAS_INDYDOG
1154 config SGI_HAS_ZILOG
1157 config SGI_HAS_I8042
1160 config DEFAULT_SGI_PARTITION
1172 config MIPS_L1_CACHE_SHIFT
1174 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL
1175 default "6" if MIPS_CPU_SCACHE
1176 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON
1179 config HAVE_STD_PC_SERIAL_PORT
1183 bool "ARC console support"
1184 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
1188 depends on MACH_JAZZ || SNI_RM || SGI_IP32
1193 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
1202 menu "CPU selection"
1208 config CPU_LOONGSON2E
1210 depends on SYS_HAS_CPU_LOONGSON2E
1211 select CPU_LOONGSON2
1213 The Loongson 2E processor implements the MIPS III instruction set
1214 with many extensions.
1216 It has an internal FPGA northbridge, which is compatible to
1219 config CPU_LOONGSON2F
1221 depends on SYS_HAS_CPU_LOONGSON2F
1222 select CPU_LOONGSON2
1224 select ARCH_REQUIRE_GPIOLIB
1226 The Loongson 2F processor implements the MIPS III instruction set
1227 with many extensions.
1229 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1230 have a similar programming interface with FPGA northbridge used in
1233 config CPU_LOONGSON1B
1235 depends on SYS_HAS_CPU_LOONGSON1B
1236 select CPU_LOONGSON1
1238 The Loongson 1B is a 32-bit SoC, which implements the MIPS32
1239 release 2 instruction set.
1241 config CPU_MIPS32_R1
1242 bool "MIPS32 Release 1"
1243 depends on SYS_HAS_CPU_MIPS32_R1
1244 select CPU_HAS_PREFETCH
1245 select CPU_SUPPORTS_32BIT_KERNEL
1246 select CPU_SUPPORTS_HIGHMEM
1248 Choose this option to build a kernel for release 1 or later of the
1249 MIPS32 architecture. Most modern embedded systems with a 32-bit
1250 MIPS processor are based on a MIPS32 processor. If you know the
1251 specific type of processor in your system, choose those that one
1252 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1253 Release 2 of the MIPS32 architecture is available since several
1254 years so chances are you even have a MIPS32 Release 2 processor
1255 in which case you should choose CPU_MIPS32_R2 instead for better
1258 config CPU_MIPS32_R2
1259 bool "MIPS32 Release 2"
1260 depends on SYS_HAS_CPU_MIPS32_R2
1261 select CPU_HAS_PREFETCH
1262 select CPU_SUPPORTS_32BIT_KERNEL
1263 select CPU_SUPPORTS_HIGHMEM
1265 Choose this option to build a kernel for release 2 or later of the
1266 MIPS32 architecture. Most modern embedded systems with a 32-bit
1267 MIPS processor are based on a MIPS32 processor. If you know the
1268 specific type of processor in your system, choose those that one
1269 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1271 config CPU_MIPS64_R1
1272 bool "MIPS64 Release 1"
1273 depends on SYS_HAS_CPU_MIPS64_R1
1274 select CPU_HAS_PREFETCH
1275 select CPU_SUPPORTS_32BIT_KERNEL
1276 select CPU_SUPPORTS_64BIT_KERNEL
1277 select CPU_SUPPORTS_HIGHMEM
1278 select CPU_SUPPORTS_HUGEPAGES
1280 Choose this option to build a kernel for release 1 or later of the
1281 MIPS64 architecture. Many modern embedded systems with a 64-bit
1282 MIPS processor are based on a MIPS64 processor. If you know the
1283 specific type of processor in your system, choose those that one
1284 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1285 Release 2 of the MIPS64 architecture is available since several
1286 years so chances are you even have a MIPS64 Release 2 processor
1287 in which case you should choose CPU_MIPS64_R2 instead for better
1290 config CPU_MIPS64_R2
1291 bool "MIPS64 Release 2"
1292 depends on SYS_HAS_CPU_MIPS64_R2
1293 select CPU_HAS_PREFETCH
1294 select CPU_SUPPORTS_32BIT_KERNEL
1295 select CPU_SUPPORTS_64BIT_KERNEL
1296 select CPU_SUPPORTS_HIGHMEM
1297 select CPU_SUPPORTS_HUGEPAGES
1299 Choose this option to build a kernel for release 2 or later of the
1300 MIPS64 architecture. Many modern embedded systems with a 64-bit
1301 MIPS processor are based on a MIPS64 processor. If you know the
1302 specific type of processor in your system, choose those that one
1303 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1307 depends on SYS_HAS_CPU_R3000
1309 select CPU_SUPPORTS_32BIT_KERNEL
1310 select CPU_SUPPORTS_HIGHMEM
1312 Please make sure to pick the right CPU type. Linux/MIPS is not
1313 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1314 *not* work on R4000 machines and vice versa. However, since most
1315 of the supported machines have an R4000 (or similar) CPU, R4x00
1316 might be a safe bet. If the resulting kernel does not work,
1317 try to recompile with R3000.
1321 depends on SYS_HAS_CPU_TX39XX
1322 select CPU_SUPPORTS_32BIT_KERNEL
1326 depends on SYS_HAS_CPU_VR41XX
1327 select CPU_SUPPORTS_32BIT_KERNEL
1328 select CPU_SUPPORTS_64BIT_KERNEL
1330 The options selects support for the NEC VR4100 series of processors.
1331 Only choose this option if you have one of these processors as a
1332 kernel built with this option will not run on any other type of
1333 processor or vice versa.
1337 depends on SYS_HAS_CPU_R4300
1338 select CPU_SUPPORTS_32BIT_KERNEL
1339 select CPU_SUPPORTS_64BIT_KERNEL
1341 MIPS Technologies R4300-series processors.
1345 depends on SYS_HAS_CPU_R4X00
1346 select CPU_SUPPORTS_32BIT_KERNEL
1347 select CPU_SUPPORTS_64BIT_KERNEL
1349 MIPS Technologies R4000-series processors other than 4300, including
1350 the R4000, R4400, R4600, and 4700.
1354 depends on SYS_HAS_CPU_TX49XX
1355 select CPU_HAS_PREFETCH
1356 select CPU_SUPPORTS_32BIT_KERNEL
1357 select CPU_SUPPORTS_64BIT_KERNEL
1361 depends on SYS_HAS_CPU_R5000
1362 select CPU_SUPPORTS_32BIT_KERNEL
1363 select CPU_SUPPORTS_64BIT_KERNEL
1365 MIPS Technologies R5000-series processors other than the Nevada.
1369 depends on SYS_HAS_CPU_R5432
1370 select CPU_SUPPORTS_32BIT_KERNEL
1371 select CPU_SUPPORTS_64BIT_KERNEL
1375 depends on SYS_HAS_CPU_R5500
1376 select CPU_SUPPORTS_32BIT_KERNEL
1377 select CPU_SUPPORTS_64BIT_KERNEL
1378 select CPU_SUPPORTS_HUGEPAGES
1380 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1385 depends on EXPERIMENTAL
1386 depends on SYS_HAS_CPU_R6000
1387 select CPU_SUPPORTS_32BIT_KERNEL
1389 MIPS Technologies R6000 and R6000A series processors. Note these
1390 processors are extremely rare and the support for them is incomplete.
1394 depends on SYS_HAS_CPU_NEVADA
1395 select CPU_SUPPORTS_32BIT_KERNEL
1396 select CPU_SUPPORTS_64BIT_KERNEL
1398 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1402 depends on EXPERIMENTAL
1403 depends on SYS_HAS_CPU_R8000
1404 select CPU_HAS_PREFETCH
1405 select CPU_SUPPORTS_64BIT_KERNEL
1407 MIPS Technologies R8000 processors. Note these processors are
1408 uncommon and the support for them is incomplete.
1412 depends on SYS_HAS_CPU_R10000
1413 select CPU_HAS_PREFETCH
1414 select CPU_SUPPORTS_32BIT_KERNEL
1415 select CPU_SUPPORTS_64BIT_KERNEL
1416 select CPU_SUPPORTS_HIGHMEM
1418 MIPS Technologies R10000-series processors.
1422 depends on SYS_HAS_CPU_RM7000
1423 select CPU_HAS_PREFETCH
1424 select CPU_SUPPORTS_32BIT_KERNEL
1425 select CPU_SUPPORTS_64BIT_KERNEL
1426 select CPU_SUPPORTS_HIGHMEM
1430 depends on SYS_HAS_CPU_RM9000
1431 select CPU_HAS_PREFETCH
1432 select CPU_SUPPORTS_32BIT_KERNEL
1433 select CPU_SUPPORTS_64BIT_KERNEL
1434 select CPU_SUPPORTS_HIGHMEM
1435 select WEAK_ORDERING
1439 depends on SYS_HAS_CPU_SB1
1440 select CPU_SUPPORTS_32BIT_KERNEL
1441 select CPU_SUPPORTS_64BIT_KERNEL
1442 select CPU_SUPPORTS_HIGHMEM
1443 select WEAK_ORDERING
1445 config CPU_CAVIUM_OCTEON
1446 bool "Cavium Octeon processor"
1447 depends on SYS_HAS_CPU_CAVIUM_OCTEON
1448 select ARCH_SPARSEMEM_ENABLE
1449 select CPU_HAS_PREFETCH
1450 select CPU_SUPPORTS_64BIT_KERNEL
1451 select SYS_SUPPORTS_SMP
1452 select NR_CPUS_DEFAULT_16
1453 select WEAK_ORDERING
1454 select CPU_SUPPORTS_HIGHMEM
1455 select CPU_SUPPORTS_HUGEPAGES
1459 The Cavium Octeon processor is a highly integrated chip containing
1460 many ethernet hardware widgets for networking tasks. The processor
1461 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1462 Full details can be found at http://www.caviumnetworks.com.
1464 config CPU_BMIPS3300
1466 depends on SYS_HAS_CPU_BMIPS3300
1469 Broadcom BMIPS3300 processors.
1471 config CPU_BMIPS4350
1473 depends on SYS_HAS_CPU_BMIPS4350
1475 select SYS_SUPPORTS_SMP
1476 select SYS_SUPPORTS_HOTPLUG_CPU
1478 Broadcom BMIPS4350 ("VIPER") processors.
1480 config CPU_BMIPS4380
1482 depends on SYS_HAS_CPU_BMIPS4380
1484 select SYS_SUPPORTS_SMP
1485 select SYS_SUPPORTS_HOTPLUG_CPU
1487 Broadcom BMIPS4380 processors.
1489 config CPU_BMIPS5000
1491 depends on SYS_HAS_CPU_BMIPS5000
1493 select CPU_SUPPORTS_HIGHMEM
1494 select MIPS_CPU_SCACHE
1495 select SYS_SUPPORTS_SMP
1496 select SYS_SUPPORTS_HOTPLUG_CPU
1498 Broadcom BMIPS5000 processors.
1501 bool "Netlogic XLR SoC"
1502 depends on SYS_HAS_CPU_XLR
1503 select CPU_SUPPORTS_32BIT_KERNEL
1504 select CPU_SUPPORTS_64BIT_KERNEL
1505 select CPU_SUPPORTS_HIGHMEM
1506 select WEAK_ORDERING
1507 select WEAK_REORDERING_BEYOND_LLSC
1508 select CPU_SUPPORTS_HUGEPAGES
1510 Netlogic Microsystems XLR/XLS processors.
1513 bool "Netlogic XLP SoC"
1514 depends on SYS_HAS_CPU_XLP
1515 select CPU_SUPPORTS_32BIT_KERNEL
1516 select CPU_SUPPORTS_64BIT_KERNEL
1517 select CPU_SUPPORTS_HIGHMEM
1519 select WEAK_ORDERING
1520 select WEAK_REORDERING_BEYOND_LLSC
1521 select CPU_HAS_PREFETCH
1523 Netlogic Microsystems XLP processors.
1527 config CPU_NOP_WORKAROUNDS
1530 config CPU_JUMP_WORKAROUNDS
1533 config CPU_LOONGSON2F_WORKAROUNDS
1534 bool "Loongson 2F Workarounds"
1536 select CPU_NOP_WORKAROUNDS
1537 select CPU_JUMP_WORKAROUNDS
1539 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1540 require workarounds. Without workarounds the system may hang
1541 unexpectedly. For more information please refer to the gas
1542 -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1544 Loongson 2F03 and later have fixed these issues and no workarounds
1545 are needed. The workarounds have no significant side effect on them
1546 but may decrease the performance of the system so this option should
1547 be disabled unless the kernel is intended to be run on 2F01 or 2F02
1550 If unsure, please say Y.
1551 endif # CPU_LOONGSON2F
1553 config SYS_SUPPORTS_ZBOOT
1555 select HAVE_KERNEL_GZIP
1556 select HAVE_KERNEL_BZIP2
1557 select HAVE_KERNEL_LZMA
1558 select HAVE_KERNEL_LZO
1560 config SYS_SUPPORTS_ZBOOT_UART16550
1562 select SYS_SUPPORTS_ZBOOT
1564 config CPU_LOONGSON2
1566 select CPU_SUPPORTS_32BIT_KERNEL
1567 select CPU_SUPPORTS_64BIT_KERNEL
1568 select CPU_SUPPORTS_HIGHMEM
1570 config CPU_LOONGSON1
1574 select CPU_HAS_PREFETCH
1575 select CPU_SUPPORTS_32BIT_KERNEL
1576 select CPU_SUPPORTS_HIGHMEM
1581 select CPU_SUPPORTS_32BIT_KERNEL
1582 select DMA_NONCOHERENT
1584 select SWAP_IO_SPACE
1585 select WEAK_ORDERING
1587 config SYS_HAS_CPU_LOONGSON2E
1590 config SYS_HAS_CPU_LOONGSON2F
1592 select CPU_SUPPORTS_CPUFREQ
1593 select CPU_SUPPORTS_ADDRWINCFG if 64BIT
1594 select CPU_SUPPORTS_UNCACHED_ACCELERATED
1596 config SYS_HAS_CPU_LOONGSON1B
1599 config SYS_HAS_CPU_MIPS32_R1
1602 config SYS_HAS_CPU_MIPS32_R2
1605 config SYS_HAS_CPU_MIPS64_R1
1608 config SYS_HAS_CPU_MIPS64_R2
1611 config SYS_HAS_CPU_R3000
1614 config SYS_HAS_CPU_TX39XX
1617 config SYS_HAS_CPU_VR41XX
1620 config SYS_HAS_CPU_R4300
1623 config SYS_HAS_CPU_R4X00
1626 config SYS_HAS_CPU_TX49XX
1629 config SYS_HAS_CPU_R5000
1632 config SYS_HAS_CPU_R5432
1635 config SYS_HAS_CPU_R5500
1638 config SYS_HAS_CPU_R6000
1641 config SYS_HAS_CPU_NEVADA
1644 config SYS_HAS_CPU_R8000
1647 config SYS_HAS_CPU_R10000
1650 config SYS_HAS_CPU_RM7000
1653 config SYS_HAS_CPU_RM9000
1656 config SYS_HAS_CPU_SB1
1659 config SYS_HAS_CPU_CAVIUM_OCTEON
1662 config SYS_HAS_CPU_BMIPS3300
1665 config SYS_HAS_CPU_BMIPS4350
1668 config SYS_HAS_CPU_BMIPS4380
1671 config SYS_HAS_CPU_BMIPS5000
1674 config SYS_HAS_CPU_XLR
1677 config SYS_HAS_CPU_XLP
1681 # CPU may reorder R->R, R->W, W->R, W->W
1682 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1684 config WEAK_ORDERING
1688 # CPU may reorder reads and writes beyond LL/SC
1689 # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1691 config WEAK_REORDERING_BEYOND_LLSC
1696 # These two indicate any level of the MIPS32 and MIPS64 architecture
1700 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1704 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1707 # These two indicate the revision of the architecture, either Release 1 or Release 2
1711 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1715 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1717 config SYS_SUPPORTS_32BIT_KERNEL
1719 config SYS_SUPPORTS_64BIT_KERNEL
1721 config CPU_SUPPORTS_32BIT_KERNEL
1723 config CPU_SUPPORTS_64BIT_KERNEL
1725 config CPU_SUPPORTS_CPUFREQ
1727 config CPU_SUPPORTS_ADDRWINCFG
1729 config CPU_SUPPORTS_HUGEPAGES
1731 config CPU_SUPPORTS_UNCACHED_ACCELERATED
1733 config MIPS_PGD_C0_CONTEXT
1735 default y if 64BIT && CPU_MIPSR2
1738 # Set to y for ptrace access to watch registers.
1740 config HARDWARE_WATCHPOINTS
1742 default y if CPU_MIPSR1 || CPU_MIPSR2
1748 prompt "Kernel code model"
1750 You should only select this option if you have a workload that
1751 actually benefits from 64-bit processing or if your machine has
1752 large memory. You will only be presented a single option in this
1753 menu if your system does not support both 32-bit and 64-bit kernels.
1756 bool "32-bit kernel"
1757 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1760 Select this option if you want to build a 32-bit kernel.
1762 bool "64-bit kernel"
1763 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1764 select HAVE_SYSCALL_WRAPPERS
1766 Select this option if you want to build a 64-bit kernel.
1771 prompt "Kernel page size"
1772 default PAGE_SIZE_4KB
1774 config PAGE_SIZE_4KB
1776 depends on !CPU_LOONGSON2
1778 This option select the standard 4kB Linux page size. On some
1779 R3000-family processors this is the only available page size. Using
1780 4kB page size will minimize memory consumption and is therefore
1781 recommended for low memory systems.
1783 config PAGE_SIZE_8KB
1785 depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
1787 Using 8kB page size will result in higher performance kernel at
1788 the price of higher memory consumption. This option is available
1789 only on R8000 and cnMIPS processors. Note that you will need a
1790 suitable Linux distribution to support this.
1792 config PAGE_SIZE_16KB
1794 depends on !CPU_R3000 && !CPU_TX39XX
1796 Using 16kB page size will result in higher performance kernel at
1797 the price of higher memory consumption. This option is available on
1798 all non-R3000 family processors. Note that you will need a suitable
1799 Linux distribution to support this.
1801 config PAGE_SIZE_32KB
1803 depends on CPU_CAVIUM_OCTEON
1805 Using 32kB page size will result in higher performance kernel at
1806 the price of higher memory consumption. This option is available
1807 only on cnMIPS cores. Note that you will need a suitable Linux
1808 distribution to support this.
1810 config PAGE_SIZE_64KB
1812 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1814 Using 64kB page size will result in higher performance kernel at
1815 the price of higher memory consumption. This option is available on
1816 all non-R3000 family processor. Not that at the time of this
1817 writing this option is still high experimental.
1821 config FORCE_MAX_ZONEORDER
1822 int "Maximum zone order"
1823 range 14 64 if HUGETLB_PAGE && PAGE_SIZE_64KB
1824 default "14" if HUGETLB_PAGE && PAGE_SIZE_64KB
1825 range 13 64 if HUGETLB_PAGE && PAGE_SIZE_32KB
1826 default "13" if HUGETLB_PAGE && PAGE_SIZE_32KB
1827 range 12 64 if HUGETLB_PAGE && PAGE_SIZE_16KB
1828 default "12" if HUGETLB_PAGE && PAGE_SIZE_16KB
1832 The kernel memory allocator divides physically contiguous memory
1833 blocks into "zones", where each zone is a power of two number of
1834 pages. This option selects the largest power of two that the kernel
1835 keeps in the memory allocator. If you need to allocate very large
1836 blocks of physically contiguous memory, then you may need to
1837 increase this value.
1839 This config option is actually maximum order plus one. For example,
1840 a value of 11 means that the largest free memory block is 2^10 pages.
1842 The page size is not necessarily 4KB. Keep this in mind
1843 when choosing a value for this option.
1848 config IP22_CPU_SCACHE
1853 # Support for a MIPS32 / MIPS64 style S-caches
1855 config MIPS_CPU_SCACHE
1859 config R5000_CPU_SCACHE
1863 config RM7000_CPU_SCACHE
1867 config SIBYTE_DMA_PAGEOPS
1868 bool "Use DMA to clear/copy pages"
1871 Instead of using the CPU to zero and copy pages, use a Data Mover
1872 channel. These DMA channels are otherwise unused by the standard
1873 SiByte Linux port. Seems to give a small performance benefit.
1875 config CPU_HAS_PREFETCH
1879 prompt "MIPS MT options"
1881 config MIPS_MT_DISABLED
1882 bool "Disable multithreading support."
1884 Use this option if your workload can't take advantage of
1885 MIPS hardware multithreading support. On systems that don't have
1886 the option of an MT-enabled processor this option will be the only
1887 option in this menu.
1890 bool "Use 1 TC on each available VPE for SMP"
1891 depends on SYS_SUPPORTS_MULTITHREADING
1892 select CPU_MIPSR2_IRQ_VI
1893 select CPU_MIPSR2_IRQ_EI
1895 select NR_CPUS_DEFAULT_2
1897 select SYS_SUPPORTS_SCHED_SMT if SMP
1898 select SYS_SUPPORTS_SMP
1901 This is a kernel model which is known a VSMP but lately has been
1902 marketesed into SMVP.
1903 Virtual SMP uses the processor's VPEs to implement virtual
1904 processors. In currently available configuration of the 34K processor
1905 this allows for a dual processor. Both processors will share the same
1906 primary caches; each will obtain the half of the TLB for it's own
1907 exclusive use. For a layman this model can be described as similar to
1908 what Intel calls Hyperthreading.
1910 For further information see http://www.linux-mips.org/wiki/34K#VSMP
1913 bool "SMTC: Use all TCs on all VPEs for SMP"
1914 depends on CPU_MIPS32_R2
1915 #depends on CPU_MIPS64_R2 # once there is hardware ...
1916 depends on SYS_SUPPORTS_MULTITHREADING
1917 select CPU_MIPSR2_IRQ_VI
1918 select CPU_MIPSR2_IRQ_EI
1920 select NR_CPUS_DEFAULT_8
1922 select SYS_SUPPORTS_SMP
1925 This is a kernel model which is known a SMTC or lately has been
1926 marketesed into SMVP.
1927 is presenting the available TC's of the core as processors to Linux.
1928 On currently available 34K processors this means a Linux system will
1929 see up to 5 processors. The implementation of the SMTC kernel differs
1930 significantly from VSMP and cannot efficiently coexist in the same
1931 kernel binary so the choice between VSMP and SMTC is a compile time
1934 For further information see http://www.linux-mips.org/wiki/34K#SMTC
1942 bool "SMT (multithreading) scheduler support"
1943 depends on SYS_SUPPORTS_SCHED_SMT
1946 SMT scheduler support improves the CPU scheduler's decision making
1947 when dealing with MIPS MT enabled cores at a cost of slightly
1948 increased overhead in some places. If unsure say N here.
1950 config SYS_SUPPORTS_SCHED_SMT
1954 config SYS_SUPPORTS_MULTITHREADING
1957 config MIPS_MT_FPAFF
1958 bool "Dynamic FPU affinity for FP-intensive threads"
1960 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1962 config MIPS_VPE_LOADER
1963 bool "VPE loader support."
1964 depends on SYS_SUPPORTS_MULTITHREADING
1965 select CPU_MIPSR2_IRQ_VI
1966 select CPU_MIPSR2_IRQ_EI
1969 Includes a loader for loading an elf relocatable object
1970 onto another VPE and running it.
1972 config MIPS_MT_SMTC_IM_BACKSTOP
1973 bool "Use per-TC register bits as backstop for inhibited IM bits"
1974 depends on MIPS_MT_SMTC
1977 To support multiple TC microthreads acting as "CPUs" within
1978 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1979 during interrupt handling. To support legacy drivers and interrupt
1980 controller management code, SMTC has a "backstop" to track and
1981 if necessary restore the interrupt mask. This has some performance
1982 impact on interrupt service overhead.
1984 config MIPS_MT_SMTC_IRQAFF
1985 bool "Support IRQ affinity API"
1986 depends on MIPS_MT_SMTC
1989 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1990 for SMTC Linux kernel. Requires platform support, of which
1991 an example can be found in the MIPS kernel i8259 and Malta
1992 platform code. Adds some overhead to interrupt dispatch, and
1993 should be used only if you know what you are doing.
1995 config MIPS_VPE_LOADER_TOM
1996 bool "Load VPE program into memory hidden from linux"
1997 depends on MIPS_VPE_LOADER
2000 The loader can use memory that is present but has been hidden from
2001 Linux using the kernel command line option "mem=xxMB". It's up to
2002 you to ensure the amount you put in the option and the space your
2003 program requires is less or equal to the amount physically present.
2005 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
2006 config MIPS_VPE_APSP_API
2007 bool "Enable support for AP/SP API (RTLX)"
2008 depends on MIPS_VPE_LOADER
2011 config MIPS_APSP_KSPD
2013 depends on MIPS_VPE_APSP_API
2016 KSPD is a kernel daemon that accepts syscall requests from the SP
2017 side, actions them and returns the results. It also handles the
2018 "exit" syscall notifying other kernel modules the SP program is
2019 exiting. You probably want to say yes here.
2022 bool "MIPS CMP framework support"
2023 depends on SYS_SUPPORTS_MIPS_CMP
2025 select SYS_SUPPORTS_SMP
2026 select SYS_SUPPORTS_SCHED_SMT if SMP
2027 select WEAK_ORDERING
2030 This is a placeholder option for the GCMP work. It will need to
2031 be handled differently...
2033 config SB1_PASS_1_WORKAROUNDS
2035 depends on CPU_SB1_PASS_1
2038 config SB1_PASS_2_WORKAROUNDS
2040 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
2043 config SB1_PASS_2_1_WORKAROUNDS
2045 depends on CPU_SB1 && CPU_SB1_PASS_2
2048 config 64BIT_PHYS_ADDR
2051 config ARCH_PHYS_ADDR_T_64BIT
2052 def_bool 64BIT_PHYS_ADDR
2054 config CPU_HAS_SMARTMIPS
2055 depends on SYS_SUPPORTS_SMARTMIPS
2056 bool "Support for the SmartMIPS ASE"
2058 SmartMIPS is a extension of the MIPS32 architecture aimed at
2059 increased security at both hardware and software level for
2060 smartcards. Enabling this option will allow proper use of the
2061 SmartMIPS instructions by Linux applications. However a kernel with
2062 this option will not work on a MIPS core without SmartMIPS core. If
2063 you don't know you probably don't have SmartMIPS and should say N
2073 # Vectored interrupt mode is an R2 feature
2075 config CPU_MIPSR2_IRQ_VI
2079 # Extended interrupt mode is an R2 feature
2081 config CPU_MIPSR2_IRQ_EI
2086 depends on !CPU_R3000
2092 config CPU_DADDI_WORKAROUNDS
2095 config CPU_R4000_WORKAROUNDS
2097 select CPU_R4400_WORKAROUNDS
2099 config CPU_R4400_WORKAROUNDS
2103 # - Highmem only makes sense for the 32-bit kernel.
2104 # - The current highmem code will only work properly on physically indexed
2105 # caches such as R3000, SB1, R7000 or those that look like they're virtually
2106 # indexed such as R4000/R4400 SC and MC versions or R10000. So for the
2107 # moment we protect the user and offer the highmem option only on machines
2108 # where it's known to be safe. This will not offer highmem on a few systems
2109 # such as MIPS32 and MIPS64 CPUs which may have virtual and physically
2110 # indexed CPUs but we're playing safe.
2111 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
2112 # know they might have memory configurations that could make use of highmem
2116 bool "High Memory Support"
2117 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
2119 config CPU_SUPPORTS_HIGHMEM
2122 config SYS_SUPPORTS_HIGHMEM
2125 config SYS_SUPPORTS_SMARTMIPS
2128 config ARCH_FLATMEM_ENABLE
2130 depends on !NUMA && !CPU_LOONGSON2
2132 config ARCH_DISCONTIGMEM_ENABLE
2134 default y if SGI_IP27
2136 Say Y to support efficient handling of discontiguous physical memory,
2137 for architectures which are either NUMA (Non-Uniform Memory Access)
2138 or have huge holes in the physical address space for other reasons.
2139 See <file:Documentation/vm/numa> for more.
2141 config ARCH_SPARSEMEM_ENABLE
2143 select SPARSEMEM_STATIC
2147 depends on SYS_SUPPORTS_NUMA
2149 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
2150 Access). This option improves performance on systems with more
2151 than two nodes; on two node systems it is generally better to
2152 leave it disabled; on single node systems disable this option
2155 config SYS_SUPPORTS_NUMA
2161 depends on NEED_MULTIPLE_NODES
2163 config HW_PERF_EVENTS
2164 bool "Enable hardware performance counter support for perf events"
2165 depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON)
2168 Enable hardware performance counter support for perf events. If
2169 disabled, perf events will use software events only.
2174 bool "Multi-Processing support"
2175 depends on SYS_SUPPORTS_SMP
2177 select USE_GENERIC_SMP_HELPERS
2179 This enables support for systems with more than one CPU. If you have
2180 a system with only one CPU, like most personal computers, say N. If
2181 you have a system with more than one CPU, say Y.
2183 If you say N here, the kernel will run on single and multiprocessor
2184 machines, but will use only one CPU of a multiprocessor machine. If
2185 you say Y here, the kernel will run on many, but not all,
2186 singleprocessor machines. On a singleprocessor machine, the kernel
2187 will run faster if you say N here.
2189 People using multiprocessor machines who say Y here should also say
2190 Y to "Enhanced Real Time Clock Support", below.
2192 See also the SMP-HOWTO available at
2193 <http://www.tldp.org/docs.html#howto>.
2195 If you don't know what to do here, say N.
2200 config SYS_SUPPORTS_MIPS_CMP
2203 config SYS_SUPPORTS_SMP
2206 config NR_CPUS_DEFAULT_1
2209 config NR_CPUS_DEFAULT_2
2212 config NR_CPUS_DEFAULT_4
2215 config NR_CPUS_DEFAULT_8
2218 config NR_CPUS_DEFAULT_16
2221 config NR_CPUS_DEFAULT_32
2224 config NR_CPUS_DEFAULT_64
2228 int "Maximum number of CPUs (2-64)"
2229 range 1 64 if NR_CPUS_DEFAULT_1
2231 default "1" if NR_CPUS_DEFAULT_1
2232 default "2" if NR_CPUS_DEFAULT_2
2233 default "4" if NR_CPUS_DEFAULT_4
2234 default "8" if NR_CPUS_DEFAULT_8
2235 default "16" if NR_CPUS_DEFAULT_16
2236 default "32" if NR_CPUS_DEFAULT_32
2237 default "64" if NR_CPUS_DEFAULT_64
2239 This allows you to specify the maximum number of CPUs which this
2240 kernel will support. The maximum supported value is 32 for 32-bit
2241 kernel and 64 for 64-bit kernels; the minimum value which makes
2242 sense is 1 for Qemu (useful only for kernel debugging purposes)
2243 and 2 for all others.
2245 This is purely to save memory - each supported CPU adds
2246 approximately eight kilobytes to the kernel image. For best
2247 performance should round up your number of processors to the next
2251 # Timer Interrupt Frequency Configuration
2255 prompt "Timer frequency"
2258 Allows the configuration of the timer frequency.
2261 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
2264 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
2267 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
2270 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
2273 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
2276 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
2279 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2283 config SYS_SUPPORTS_48HZ
2286 config SYS_SUPPORTS_100HZ
2289 config SYS_SUPPORTS_128HZ
2292 config SYS_SUPPORTS_250HZ
2295 config SYS_SUPPORTS_256HZ
2298 config SYS_SUPPORTS_1000HZ
2301 config SYS_SUPPORTS_1024HZ
2304 config SYS_SUPPORTS_ARBIT_HZ
2306 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2307 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2308 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2309 !SYS_SUPPORTS_1024HZ
2314 default 100 if HZ_100
2315 default 128 if HZ_128
2316 default 250 if HZ_250
2317 default 256 if HZ_256
2318 default 1000 if HZ_1000
2319 default 1024 if HZ_1024
2321 source "kernel/Kconfig.preempt"
2324 bool "Kexec system call (EXPERIMENTAL)"
2325 depends on EXPERIMENTAL
2327 kexec is a system call that implements the ability to shutdown your
2328 current kernel, and to start another kernel. It is like a reboot
2329 but it is independent of the system firmware. And like a reboot
2330 you can start any kernel with it, not just Linux.
2332 The name comes from the similarity to the exec system call.
2334 It is an ongoing process to be certain the hardware in a machine
2335 is properly shutdown, so do not be surprised if this code does not
2336 initially work for you. It may help to enable device hotplugging
2337 support. As of this writing the exact hardware interface is
2338 strongly in flux, so no good recommendation can be made.
2341 bool "Enable seccomp to safely compute untrusted bytecode"
2345 This kernel feature is useful for number crunching applications
2346 that may need to compute untrusted bytecode during their
2347 execution. By using pipes or other transports made available to
2348 the process as file descriptors supporting the read/write
2349 syscalls, it's possible to isolate those applications in
2350 their own address space using seccomp. Once seccomp is
2351 enabled via /proc/<pid>/seccomp, it cannot be disabled
2352 and the task is only allowed to execute a few safe syscalls
2353 defined by each seccomp mode.
2355 If unsure, say Y. Only embedded should say N here.
2358 bool "Flattened Device Tree support"
2360 select OF_EARLY_FLATTREE
2363 Include support for flattened device tree machine descriptions.
2367 config LOCKDEP_SUPPORT
2371 config STACKTRACE_SUPPORT
2375 source "init/Kconfig"
2377 source "kernel/Kconfig.freezer"
2379 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2387 bool "Support for PCI controller"
2388 depends on HW_HAS_PCI
2390 select GENERIC_PCI_IOMAP
2391 select NO_GENERIC_PCI_IOPORT_MAP
2393 Find out whether you have a PCI motherboard. PCI is the name of a
2394 bus system, i.e. the way the CPU talks to the other stuff inside
2395 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2401 source "drivers/pci/Kconfig"
2403 source "drivers/pci/pcie/Kconfig"
2406 # ISA support is now enabled via select. Too many systems still have the one
2407 # or other ISA chip on the board that users don't know about so don't expect
2408 # users to choose the right thing ...
2415 depends on HW_HAS_EISA
2417 select GENERIC_ISA_DMA
2419 The Extended Industry Standard Architecture (EISA) bus was
2420 developed as an open alternative to the IBM MicroChannel bus.
2422 The EISA bus provided some of the features of the IBM MicroChannel
2423 bus while maintaining backward compatibility with cards made for
2424 the older ISA bus. The EISA bus saw limited use between 1988 and
2425 1995 when it was made obsolete by the PCI bus.
2427 Say Y here if you are building a kernel for an EISA-based machine.
2431 source "drivers/eisa/Kconfig"
2434 bool "TURBOchannel support"
2435 depends on MACH_DECSTATION
2437 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2438 processors. TURBOchannel programming specifications are available
2440 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
2442 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
2443 Linux driver support status is documented at:
2444 <http://www.linux-mips.org/wiki/DECstation>
2454 select MIPS_EXTERNAL_TIMER
2459 source "drivers/pcmcia/Kconfig"
2461 source "drivers/pci/hotplug/Kconfig"
2464 bool "RapidIO support"
2468 If you say Y here, the kernel will include drivers and
2469 infrastructure code to support RapidIO interconnect devices.
2471 source "drivers/rapidio/Kconfig"
2475 menu "Executable file formats"
2477 source "fs/Kconfig.binfmt"
2482 config MIPS32_COMPAT
2483 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2486 Select this option if you want Linux/MIPS 32-bit binary
2487 compatibility. Since all software available for Linux/MIPS is
2488 currently 32-bit you should say Y here.
2492 depends on MIPS32_COMPAT
2493 select ARCH_WANT_OLD_COMPAT_IPC
2496 config SYSVIPC_COMPAT
2498 depends on COMPAT && SYSVIPC
2502 bool "Kernel support for o32 binaries"
2503 depends on MIPS32_COMPAT
2505 Select this option if you want to run o32 binaries. These are pure
2506 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2507 existing binaries are in this format.
2512 bool "Kernel support for n32 binaries"
2513 depends on MIPS32_COMPAT
2515 Select this option if you want to run n32 binaries. These are
2516 64-bit binaries using 32-bit quantities for addressing and certain
2517 data that would normally be 64-bit. They are used in special
2524 default y if MIPS32_O32 || MIPS32_N32
2528 menu "Power management options"
2530 config ARCH_HIBERNATION_POSSIBLE
2532 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2534 config ARCH_SUSPEND_POSSIBLE
2536 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2538 source "kernel/power/Kconfig"
2542 source "arch/mips/kernel/cpufreq/Kconfig"
2544 source "net/Kconfig"
2546 source "drivers/Kconfig"
2550 source "arch/mips/Kconfig.debug"
2552 source "security/Kconfig"
2554 source "crypto/Kconfig"
2556 source "lib/Kconfig"