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
23 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
25 select HAVE_DMA_API_DEBUG
26 select HAVE_GENERIC_HARDIRQS
27 select GENERIC_IRQ_PROBE
28 select GENERIC_IRQ_SHOW
29 select HAVE_ARCH_JUMP_LABEL
30 select ARCH_WANT_IPC_PARSE_VERSION
31 select IRQ_FORCED_THREADING
33 select HAVE_MEMBLOCK_NODE_MAP
34 select ARCH_DISCARD_MEMBLOCK
35 select GENERIC_SMP_IDLE_THREAD
36 select BUILDTIME_EXTABLE_SORT
37 select GENERIC_CLOCKEVENTS
38 select GENERIC_CMOS_UPDATE
40 menu "Machine selection"
50 bool "Alchemy processor based machines"
51 select 64BIT_PHYS_ADDR
55 select SYS_HAS_CPU_MIPS32_R1
56 select SYS_SUPPORTS_32BIT_KERNEL
57 select SYS_SUPPORTS_APM_EMULATION
59 select ARCH_WANT_OPTIONAL_GPIOLIB
60 select SYS_SUPPORTS_ZBOOT
61 select USB_ARCH_HAS_OHCI
62 select USB_ARCH_HAS_EHCI
65 bool "Texas Instruments AR7"
67 select DMA_NONCOHERENT
73 select SYS_HAS_CPU_MIPS32_R1
74 select SYS_HAS_EARLY_PRINTK
75 select SYS_SUPPORTS_32BIT_KERNEL
76 select SYS_SUPPORTS_LITTLE_ENDIAN
77 select SYS_SUPPORTS_ZBOOT_UART16550
78 select ARCH_REQUIRE_GPIOLIB
82 Support for the Texas Instruments AR7 System-on-a-Chip
83 family: TNETD7100, 7200 and 7300.
86 bool "Atheros AR71XX/AR724X/AR913X based boards"
87 select ARCH_REQUIRE_GPIOLIB
91 select DMA_NONCOHERENT
94 select SYS_HAS_CPU_MIPS32_R2
95 select SYS_HAS_EARLY_PRINTK
96 select SYS_SUPPORTS_32BIT_KERNEL
97 select SYS_SUPPORTS_BIG_ENDIAN
99 Support for the Atheros AR71XX/AR724X/AR913X SoCs.
102 bool "Broadcom BCM47XX based boards"
105 select DMA_NONCOHERENT
108 select SYS_SUPPORTS_32BIT_KERNEL
109 select SYS_SUPPORTS_LITTLE_ENDIAN
111 select SYS_HAS_EARLY_PRINTK
114 Support for BCM47XX based boards
117 bool "Broadcom BCM63XX based boards"
120 select DMA_NONCOHERENT
122 select SYS_HAS_CPU_MIPS32_R1
123 select SYS_SUPPORTS_32BIT_KERNEL
124 select SYS_SUPPORTS_BIG_ENDIAN
125 select SYS_HAS_EARLY_PRINTK
127 select ARCH_REQUIRE_GPIOLIB
130 Support for BCM63XX based boards
137 select DMA_NONCOHERENT
143 select PCI_GT64XXX_PCI0
145 select SYS_HAS_CPU_NEVADA
146 select SYS_HAS_EARLY_PRINTK
147 select SYS_SUPPORTS_32BIT_KERNEL
148 select SYS_SUPPORTS_64BIT_KERNEL
149 select SYS_SUPPORTS_LITTLE_ENDIAN
151 config MACH_DECSTATION
158 select CPU_DADDI_WORKAROUNDS if 64BIT
159 select CPU_R4000_WORKAROUNDS if 64BIT
160 select CPU_R4400_WORKAROUNDS if 64BIT
161 select DMA_NONCOHERENT
164 select SYS_HAS_CPU_R3000
165 select SYS_HAS_CPU_R4X00
166 select SYS_SUPPORTS_32BIT_KERNEL
167 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
168 select SYS_SUPPORTS_LITTLE_ENDIAN
169 select SYS_SUPPORTS_128HZ
170 select SYS_SUPPORTS_256HZ
171 select SYS_SUPPORTS_1024HZ
173 This enables support for DEC's MIPS based workstations. For details
174 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
175 DECstation porting pages on <http://decstation.unix-ag.org/>.
177 If you have one of the following DECstation Models you definitely
178 want to choose R4xx0 for the CPU Type:
185 otherwise choose R3000.
188 bool "Jazz family of machines"
191 select ARCH_MAY_HAVE_PC_FDC
194 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
195 select GENERIC_ISA_DMA
196 select HAVE_PCSPKR_PLATFORM
201 select SYS_HAS_CPU_R4X00
202 select SYS_SUPPORTS_32BIT_KERNEL
203 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
204 select SYS_SUPPORTS_100HZ
206 This a family of machines based on the MIPS R4030 chipset which was
207 used by several vendors to build RISC/os and Windows NT workstations.
208 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
209 Olivetti M700-10 workstations.
212 bool "Ingenic JZ4740 based machines"
213 select SYS_HAS_CPU_MIPS32_R1
214 select SYS_SUPPORTS_32BIT_KERNEL
215 select SYS_SUPPORTS_LITTLE_ENDIAN
216 select SYS_SUPPORTS_ZBOOT_UART16550
217 select DMA_NONCOHERENT
220 select ARCH_REQUIRE_GPIOLIB
221 select SYS_HAS_EARLY_PRINTK
224 select GENERIC_IRQ_CHIP
227 bool "Lantiq based platforms"
228 select DMA_NONCOHERENT
232 select SYS_HAS_CPU_MIPS32_R1
233 select SYS_HAS_CPU_MIPS32_R2
234 select SYS_SUPPORTS_BIG_ENDIAN
235 select SYS_SUPPORTS_32BIT_KERNEL
236 select SYS_SUPPORTS_MULTITHREADING
237 select SYS_HAS_EARLY_PRINTK
238 select ARCH_REQUIRE_GPIOLIB
241 select HAVE_MACH_CLKDEV
246 bool "LASAT Networks platforms"
249 select DMA_NONCOHERENT
250 select SYS_HAS_EARLY_PRINTK
253 select PCI_GT64XXX_PCI0
255 select R5000_CPU_SCACHE
256 select SYS_HAS_CPU_R5000
257 select SYS_SUPPORTS_32BIT_KERNEL
258 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
259 select SYS_SUPPORTS_LITTLE_ENDIAN
262 bool "Loongson family of machines"
263 select SYS_SUPPORTS_ZBOOT
265 This enables the support of Loongson family of machines.
267 Loongson is a family of general-purpose MIPS-compatible CPUs.
268 developed at Institute of Computing Technology (ICT),
269 Chinese Academy of Sciences (CAS) in the People's Republic
270 of China. The chief architect is Professor Weiwu Hu.
272 config MACH_LOONGSON1
273 bool "Loongson 1 family of machines"
274 select SYS_SUPPORTS_ZBOOT
276 This enables support for the Loongson 1 based machines.
278 Loongson 1 is a family of 32-bit MIPS-compatible SoCs developed by
279 the ICT (Institute of Computing Technology) and the Chinese Academy
283 bool "MIPS Malta board"
284 select ARCH_MAY_HAVE_PC_FDC
289 select DMA_NONCOHERENT
290 select GENERIC_ISA_DMA
291 select HAVE_PCSPKR_PLATFORM
297 select MIPS_BOARDS_GEN
299 select MIPS_CPU_SCACHE
300 select PCI_GT64XXX_PCI0
303 select SYS_HAS_CPU_MIPS32_R1
304 select SYS_HAS_CPU_MIPS32_R2
305 select SYS_HAS_CPU_MIPS64_R1
306 select SYS_HAS_CPU_MIPS64_R2
307 select SYS_HAS_CPU_NEVADA
308 select SYS_HAS_CPU_RM7000
309 select SYS_HAS_EARLY_PRINTK
310 select SYS_SUPPORTS_32BIT_KERNEL
311 select SYS_SUPPORTS_64BIT_KERNEL
312 select SYS_SUPPORTS_BIG_ENDIAN
313 select SYS_SUPPORTS_LITTLE_ENDIAN
314 select SYS_SUPPORTS_MIPS_CMP
315 select SYS_SUPPORTS_MULTITHREADING
316 select SYS_SUPPORTS_SMARTMIPS
317 select SYS_SUPPORTS_ZBOOT
319 This enables support for the MIPS Technologies Malta evaluation
323 bool "NEC EMMA2RH Mark-eins board"
327 This enables support for the NEC Electronics Mark-eins boards.
330 bool "NEC VR4100 series based machines"
333 select SYS_HAS_CPU_VR41XX
334 select ARCH_REQUIRE_GPIOLIB
337 bool "NXP STB220 board"
340 Support for NXP Semiconductors STB220 Development Board.
347 Support for NXP Semiconductors STB225 Development Board.
350 bool "NXP PNX8550 based JBS board"
352 select SYS_SUPPORTS_LITTLE_ENDIAN
354 config PNX8550_STB810
355 bool "NXP PNX8550 based STB810 board"
357 select SYS_SUPPORTS_LITTLE_ENDIAN
360 bool "PMC-Sierra MSP chipsets"
361 depends on EXPERIMENTAL
364 select DMA_NONCOHERENT
366 select NO_EXCEPT_FILL
368 select SYS_HAS_CPU_MIPS32_R1
369 select SYS_HAS_CPU_MIPS32_R2
370 select SYS_SUPPORTS_32BIT_KERNEL
371 select SYS_SUPPORTS_BIG_ENDIAN
374 select SERIAL_8250_CONSOLE
376 This adds support for the PMC-Sierra family of Multi-Service
377 Processor System-On-A-Chips. These parts include a number
378 of integrated peripherals, interfaces and DSPs in addition to
379 a variety of MIPS cores.
382 bool "PMC-Sierra Yosemite eval board"
391 select SYS_HAS_CPU_RM9000
392 select SYS_HAS_EARLY_PRINTK
393 select SYS_SUPPORTS_32BIT_KERNEL
394 select SYS_SUPPORTS_64BIT_KERNEL
395 select SYS_SUPPORTS_BIG_ENDIAN
396 select SYS_SUPPORTS_HIGHMEM
397 select SYS_SUPPORTS_SMP
399 Yosemite is an evaluation board for the RM9000x2 processor
400 manufactured by PMC-Sierra.
406 select CPU_MIPSR2_IRQ_VI
407 select CPU_MIPSR2_IRQ_EI
409 select DMA_NONCOHERENT
411 select SYS_HAS_EARLY_PRINTK
412 select SYS_HAS_CPU_MIPS32_R2
413 select SYS_SUPPORTS_32BIT_KERNEL
414 select SYS_SUPPORTS_BIG_ENDIAN
415 select SYS_SUPPORTS_HIGHMEM
416 select USB_OHCI_LITTLE_ENDIAN
418 This enables support for the Cisco PowerTV Platform.
421 bool "SGI IP22 (Indy/Indigo2)"
427 select DEFAULT_SGI_PARTITION
428 select DMA_NONCOHERENT
432 select IP22_CPU_SCACHE
434 select GENERIC_ISA_DMA_SUPPORT_BROKEN
436 select SGI_HAS_INDYDOG
442 select SYS_HAS_CPU_R4X00
443 select SYS_HAS_CPU_R5000
445 # Disable EARLY_PRINTK for now since it leads to overwritten prom
446 # memory during early boot on some machines.
448 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
449 # for a more details discussion
451 # select SYS_HAS_EARLY_PRINTK
452 select SYS_SUPPORTS_32BIT_KERNEL
453 select SYS_SUPPORTS_64BIT_KERNEL
454 select SYS_SUPPORTS_BIG_ENDIAN
456 This are the SGI Indy, Challenge S and Indigo2, as well as certain
457 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
458 that runs on these, say Y here.
461 bool "SGI IP27 (Origin200/2000)"
465 select DEFAULT_SGI_PARTITION
467 select SYS_HAS_EARLY_PRINTK
469 select NR_CPUS_DEFAULT_64
470 select SYS_HAS_CPU_R10000
471 select SYS_SUPPORTS_64BIT_KERNEL
472 select SYS_SUPPORTS_BIG_ENDIAN
473 select SYS_SUPPORTS_NUMA
474 select SYS_SUPPORTS_SMP
476 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
477 workstations. To compile a Linux kernel that runs on these, say Y
481 bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
482 depends on EXPERIMENTAL
488 select DEFAULT_SGI_PARTITION
489 select DMA_NONCOHERENT
490 select GENERIC_ISA_DMA_SUPPORT_BROKEN
496 select SGI_HAS_INDYDOG
502 select SYS_HAS_CPU_R10000
504 # Disable EARLY_PRINTK for now since it leads to overwritten prom
505 # memory during early boot on some machines.
507 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
508 # for a more details discussion
510 # select SYS_HAS_EARLY_PRINTK
511 select SYS_SUPPORTS_64BIT_KERNEL
512 select SYS_SUPPORTS_BIG_ENDIAN
514 This is the SGI Indigo2 with R10000 processor. To compile a Linux
515 kernel that runs on these, say Y here.
524 select DMA_NONCOHERENT
527 select R5000_CPU_SCACHE
528 select RM7000_CPU_SCACHE
529 select SYS_HAS_CPU_R5000
530 select SYS_HAS_CPU_R10000 if BROKEN
531 select SYS_HAS_CPU_RM7000
532 select SYS_HAS_CPU_NEVADA
533 select SYS_SUPPORTS_64BIT_KERNEL
534 select SYS_SUPPORTS_BIG_ENDIAN
536 If you want this kernel to run on SGI O2 workstation, say Y here.
539 bool "Sibyte BCM91120C-CRhine"
540 depends on EXPERIMENTAL
543 select SIBYTE_BCM1120
545 select SYS_HAS_CPU_SB1
546 select SYS_SUPPORTS_BIG_ENDIAN
547 select SYS_SUPPORTS_LITTLE_ENDIAN
550 bool "Sibyte BCM91120x-Carmel"
551 depends on EXPERIMENTAL
554 select SIBYTE_BCM1120
556 select SYS_HAS_CPU_SB1
557 select SYS_SUPPORTS_BIG_ENDIAN
558 select SYS_SUPPORTS_LITTLE_ENDIAN
561 bool "Sibyte BCM91125C-CRhone"
562 depends on EXPERIMENTAL
565 select SIBYTE_BCM1125
567 select SYS_HAS_CPU_SB1
568 select SYS_SUPPORTS_BIG_ENDIAN
569 select SYS_SUPPORTS_HIGHMEM
570 select SYS_SUPPORTS_LITTLE_ENDIAN
573 bool "Sibyte BCM91125E-Rhone"
574 depends on EXPERIMENTAL
577 select SIBYTE_BCM1125H
579 select SYS_HAS_CPU_SB1
580 select SYS_SUPPORTS_BIG_ENDIAN
581 select SYS_SUPPORTS_LITTLE_ENDIAN
584 bool "Sibyte BCM91250A-SWARM"
587 select HAVE_PATA_PLATFORM
588 select NR_CPUS_DEFAULT_2
591 select SYS_HAS_CPU_SB1
592 select SYS_SUPPORTS_BIG_ENDIAN
593 select SYS_SUPPORTS_HIGHMEM
594 select SYS_SUPPORTS_LITTLE_ENDIAN
595 select ZONE_DMA32 if 64BIT
597 config SIBYTE_LITTLESUR
598 bool "Sibyte BCM91250C2-LittleSur"
599 depends on EXPERIMENTAL
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
611 config SIBYTE_SENTOSA
612 bool "Sibyte BCM91250E-Sentosa"
613 depends on EXPERIMENTAL
616 select NR_CPUS_DEFAULT_2
619 select SYS_HAS_CPU_SB1
620 select SYS_SUPPORTS_BIG_ENDIAN
621 select SYS_SUPPORTS_LITTLE_ENDIAN
624 bool "Sibyte BCM91480B-BigSur"
627 select NR_CPUS_DEFAULT_4
628 select SIBYTE_BCM1x80
630 select SYS_HAS_CPU_SB1
631 select SYS_SUPPORTS_BIG_ENDIAN
632 select SYS_SUPPORTS_HIGHMEM
633 select SYS_SUPPORTS_LITTLE_ENDIAN
634 select ZONE_DMA32 if 64BIT
637 bool "SNI RM200/300/400"
638 select ARC if CPU_LITTLE_ENDIAN
639 select ARC32 if CPU_LITTLE_ENDIAN
640 select SNIPROM if CPU_BIG_ENDIAN
641 select ARCH_MAY_HAVE_PC_FDC
645 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
646 select DMA_NONCOHERENT
647 select GENERIC_ISA_DMA
648 select HAVE_PCSPKR_PLATFORM
655 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
656 select SYS_HAS_CPU_R4X00
657 select SYS_HAS_CPU_R5000
658 select SYS_HAS_CPU_R10000
659 select R5000_CPU_SCACHE
660 select SYS_HAS_EARLY_PRINTK
661 select SYS_SUPPORTS_32BIT_KERNEL
662 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
663 select SYS_SUPPORTS_BIG_ENDIAN
664 select SYS_SUPPORTS_HIGHMEM
665 select SYS_SUPPORTS_LITTLE_ENDIAN
667 The SNI RM200/300/400 are MIPS-based machines manufactured by
668 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
669 Technology and now in turn merged with Fujitsu. Say Y here to
670 support this machine type.
673 bool "Toshiba TX39 series based machines"
676 bool "Toshiba TX49 series based machines"
678 config MIKROTIK_RB532
679 bool "Mikrotik RB532 boards"
682 select DMA_NONCOHERENT
685 select SYS_HAS_CPU_MIPS32_R1
686 select SYS_SUPPORTS_32BIT_KERNEL
687 select SYS_SUPPORTS_LITTLE_ENDIAN
690 select ARCH_REQUIRE_GPIOLIB
692 Support the Mikrotik(tm) RouterBoard 532 series,
693 based on the IDT RC32434 SoC.
696 bool "Wind River PPMC board"
701 select DMA_NONCOHERENT
703 select PCI_GT64XXX_PCI0
705 select SYS_HAS_CPU_MIPS32_R1
706 select SYS_HAS_CPU_MIPS32_R2
707 select SYS_HAS_CPU_MIPS64_R1
708 select SYS_HAS_CPU_NEVADA
709 select SYS_HAS_CPU_RM7000
710 select SYS_SUPPORTS_32BIT_KERNEL
711 select SYS_SUPPORTS_64BIT_KERNEL
712 select SYS_SUPPORTS_BIG_ENDIAN
713 select SYS_SUPPORTS_LITTLE_ENDIAN
715 This enables support for the Wind River MIPS32 4KC PPMC evaluation
716 board, which is based on GT64120 bridge chip.
718 config CAVIUM_OCTEON_SIMULATOR
719 bool "Cavium Networks Octeon Simulator"
721 select 64BIT_PHYS_ADDR
723 select SYS_SUPPORTS_64BIT_KERNEL
724 select SYS_SUPPORTS_BIG_ENDIAN
725 select SYS_SUPPORTS_HOTPLUG_CPU
726 select SYS_HAS_CPU_CAVIUM_OCTEON
729 The Octeon simulator is software performance model of the Cavium
730 Octeon Processor. It supports simulating Octeon processors on x86
733 config CAVIUM_OCTEON_REFERENCE_BOARD
734 bool "Cavium Networks Octeon reference board"
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_EARLY_PRINTK
742 select SYS_HAS_CPU_CAVIUM_OCTEON
745 select ARCH_SUPPORTS_MSI
747 select USB_ARCH_HAS_OHCI
748 select USB_ARCH_HAS_EHCI
751 This option supports all of the Octeon reference boards from Cavium
752 Networks. It builds a kernel that dynamically determines the Octeon
753 CPU type and supports all known board reference implementations.
754 Some of the supported boards are:
761 Say Y here for most Octeon reference boards.
764 bool "Netlogic XLR/XLS based systems"
765 depends on EXPERIMENTAL
768 select SYS_HAS_CPU_XLR
769 select SYS_SUPPORTS_SMP
772 select SYS_SUPPORTS_32BIT_KERNEL
773 select SYS_SUPPORTS_64BIT_KERNEL
774 select 64BIT_PHYS_ADDR
775 select SYS_SUPPORTS_BIG_ENDIAN
776 select SYS_SUPPORTS_HIGHMEM
778 select NR_CPUS_DEFAULT_32
782 select ARCH_SUPPORTS_MSI
783 select ZONE_DMA if 64BIT
785 select SYS_HAS_EARLY_PRINTK
786 select USB_ARCH_HAS_OHCI if USB_SUPPORT
787 select USB_ARCH_HAS_EHCI if USB_SUPPORT
789 Support for systems based on Netlogic XLR and XLS processors.
790 Say Y here if you have a XLR or XLS based board.
793 bool "Netlogic XLP based systems"
794 depends on EXPERIMENTAL
797 select SYS_HAS_CPU_XLP
798 select SYS_SUPPORTS_SMP
800 select SYS_SUPPORTS_32BIT_KERNEL
801 select SYS_SUPPORTS_64BIT_KERNEL
802 select 64BIT_PHYS_ADDR
803 select SYS_SUPPORTS_BIG_ENDIAN
804 select SYS_SUPPORTS_LITTLE_ENDIAN
805 select SYS_SUPPORTS_HIGHMEM
807 select NR_CPUS_DEFAULT_32
811 select ZONE_DMA if 64BIT
813 select SYS_HAS_EARLY_PRINTK
815 This board is based on Netlogic XLP Processor.
816 Say Y here if you have a XLP based board.
820 source "arch/mips/alchemy/Kconfig"
821 source "arch/mips/ath79/Kconfig"
822 source "arch/mips/bcm47xx/Kconfig"
823 source "arch/mips/bcm63xx/Kconfig"
824 source "arch/mips/jazz/Kconfig"
825 source "arch/mips/jz4740/Kconfig"
826 source "arch/mips/lantiq/Kconfig"
827 source "arch/mips/lasat/Kconfig"
828 source "arch/mips/pmc-sierra/Kconfig"
829 source "arch/mips/powertv/Kconfig"
830 source "arch/mips/sgi-ip27/Kconfig"
831 source "arch/mips/sibyte/Kconfig"
832 source "arch/mips/txx9/Kconfig"
833 source "arch/mips/vr41xx/Kconfig"
834 source "arch/mips/cavium-octeon/Kconfig"
835 source "arch/mips/loongson/Kconfig"
836 source "arch/mips/loongson1/Kconfig"
837 source "arch/mips/netlogic/Kconfig"
841 config RWSEM_GENERIC_SPINLOCK
845 config RWSEM_XCHGADD_ALGORITHM
848 config ARCH_HAS_ILOG2_U32
852 config ARCH_HAS_ILOG2_U64
856 config GENERIC_HWEIGHT
860 config GENERIC_CALIBRATE_DELAY
864 config SCHED_OMIT_FRAME_POINTER
869 # Select some configuration options automatically based on user selections.
874 config ARCH_MAY_HAVE_PC_FDC
923 select ARCH_REQUIRE_GPIOLIB
929 config ARCH_DMA_ADDR_T_64BIT
930 def_bool (HIGHMEM && 64BIT_PHYS_ADDR) || 64BIT
935 config DMA_NONCOHERENT
937 select NEED_DMA_MAP_STATE
939 config NEED_DMA_MAP_STATE
942 config SYS_HAS_EARLY_PRINTK
946 bool "Support for hot-pluggable CPUs"
947 depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU
949 Say Y here to allow turning CPUs off and on. CPUs can be
950 controlled through /sys/devices/system/cpu.
951 (Note: power management support will enable this option
952 automatically on SMP systems. )
953 Say N if you want to disable CPU hotplug.
955 config SYS_SUPPORTS_HOTPLUG_CPU
970 config MIPS_DISABLE_OBSOLETE_IDE
982 config GENERIC_ISA_DMA
984 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
987 config GENERIC_ISA_DMA_SUPPORT_BROKEN
989 select GENERIC_ISA_DMA
1001 # Endianness selection. Sufficiently obscure so many users don't know what to
1002 # answer,so we try hard to limit the available choices. Also the use of a
1003 # choice statement should be more obvious to the user.
1006 prompt "Endianness selection"
1008 Some MIPS machines can be configured for either little or big endian
1009 byte order. These modes require different kernels and a different
1010 Linux distribution. In general there is one preferred byteorder for a
1011 particular system but some systems are just as commonly used in the
1012 one or the other endianness.
1014 config CPU_BIG_ENDIAN
1016 depends on SYS_SUPPORTS_BIG_ENDIAN
1018 config CPU_LITTLE_ENDIAN
1019 bool "Little endian"
1020 depends on SYS_SUPPORTS_LITTLE_ENDIAN
1028 config SYS_SUPPORTS_APM_EMULATION
1031 config SYS_SUPPORTS_BIG_ENDIAN
1034 config SYS_SUPPORTS_LITTLE_ENDIAN
1037 config SYS_SUPPORTS_HUGETLBFS
1039 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
1066 config MIPS_BOARDS_GEN
1069 config PCI_GT64XXX_PCI0
1072 config NO_EXCEPT_FILL
1077 select SERIAL_RM9000
1083 select DMA_NONCOHERENT
1085 select SWAP_IO_SPACE
1086 select SYS_HAS_CPU_R5500
1087 select SYS_SUPPORTS_32BIT_KERNEL
1088 select SYS_SUPPORTS_64BIT_KERNEL
1089 select SYS_SUPPORTS_BIG_ENDIAN
1096 select DMA_NONCOHERENT
1097 select SYS_HAS_CPU_MIPS32_R2
1098 select SYS_SUPPORTS_32BIT_KERNEL
1099 select SYS_SUPPORTS_LITTLE_ENDIAN
1100 select SYS_SUPPORTS_BIG_ENDIAN
1102 select CPU_MIPSR2_IRQ_VI
1114 select DMA_NONCOHERENT
1116 select SYS_HAS_CPU_MIPS32_R1
1117 select SYS_HAS_EARLY_PRINTK
1118 select SYS_SUPPORTS_32BIT_KERNEL
1121 config SWAP_IO_SPACE
1124 config SERIAL_RM9000
1127 config SGI_HAS_INDYDOG
1139 config SGI_HAS_ZILOG
1142 config SGI_HAS_I8042
1145 config DEFAULT_SGI_PARTITION
1157 config MIPS_L1_CACHE_SHIFT
1159 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL
1160 default "6" if MIPS_CPU_SCACHE
1161 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON
1164 config HAVE_STD_PC_SERIAL_PORT
1168 bool "ARC console support"
1169 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
1173 depends on MACH_JAZZ || SNI_RM || SGI_IP32
1178 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
1187 menu "CPU selection"
1193 config CPU_LOONGSON2E
1195 depends on SYS_HAS_CPU_LOONGSON2E
1196 select CPU_LOONGSON2
1198 The Loongson 2E processor implements the MIPS III instruction set
1199 with many extensions.
1201 It has an internal FPGA northbridge, which is compatible to
1204 config CPU_LOONGSON2F
1206 depends on SYS_HAS_CPU_LOONGSON2F
1207 select CPU_LOONGSON2
1209 select ARCH_REQUIRE_GPIOLIB
1211 The Loongson 2F processor implements the MIPS III instruction set
1212 with many extensions.
1214 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1215 have a similar programming interface with FPGA northbridge used in
1218 config CPU_LOONGSON1B
1220 depends on SYS_HAS_CPU_LOONGSON1B
1221 select CPU_LOONGSON1
1223 The Loongson 1B is a 32-bit SoC, which implements the MIPS32
1224 release 2 instruction set.
1226 config CPU_MIPS32_R1
1227 bool "MIPS32 Release 1"
1228 depends on SYS_HAS_CPU_MIPS32_R1
1229 select CPU_HAS_PREFETCH
1230 select CPU_SUPPORTS_32BIT_KERNEL
1231 select CPU_SUPPORTS_HIGHMEM
1233 Choose this option to build a kernel for release 1 or later of the
1234 MIPS32 architecture. Most modern embedded systems with a 32-bit
1235 MIPS processor are based on a MIPS32 processor. If you know the
1236 specific type of processor in your system, choose those that one
1237 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1238 Release 2 of the MIPS32 architecture is available since several
1239 years so chances are you even have a MIPS32 Release 2 processor
1240 in which case you should choose CPU_MIPS32_R2 instead for better
1243 config CPU_MIPS32_R2
1244 bool "MIPS32 Release 2"
1245 depends on SYS_HAS_CPU_MIPS32_R2
1246 select CPU_HAS_PREFETCH
1247 select CPU_SUPPORTS_32BIT_KERNEL
1248 select CPU_SUPPORTS_HIGHMEM
1250 Choose this option to build a kernel for release 2 or later of the
1251 MIPS32 architecture. Most modern embedded systems with a 32-bit
1252 MIPS processor are based on a MIPS32 processor. If you know the
1253 specific type of processor in your system, choose those that one
1254 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1256 config CPU_MIPS64_R1
1257 bool "MIPS64 Release 1"
1258 depends on SYS_HAS_CPU_MIPS64_R1
1259 select CPU_HAS_PREFETCH
1260 select CPU_SUPPORTS_32BIT_KERNEL
1261 select CPU_SUPPORTS_64BIT_KERNEL
1262 select CPU_SUPPORTS_HIGHMEM
1263 select CPU_SUPPORTS_HUGEPAGES
1265 Choose this option to build a kernel for release 1 or later of the
1266 MIPS64 architecture. Many modern embedded systems with a 64-bit
1267 MIPS processor are based on a MIPS64 processor. If you know the
1268 specific type of processor in your system, choose those that one
1269 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1270 Release 2 of the MIPS64 architecture is available since several
1271 years so chances are you even have a MIPS64 Release 2 processor
1272 in which case you should choose CPU_MIPS64_R2 instead for better
1275 config CPU_MIPS64_R2
1276 bool "MIPS64 Release 2"
1277 depends on SYS_HAS_CPU_MIPS64_R2
1278 select CPU_HAS_PREFETCH
1279 select CPU_SUPPORTS_32BIT_KERNEL
1280 select CPU_SUPPORTS_64BIT_KERNEL
1281 select CPU_SUPPORTS_HIGHMEM
1282 select CPU_SUPPORTS_HUGEPAGES
1284 Choose this option to build a kernel for release 2 or later of the
1285 MIPS64 architecture. Many modern embedded systems with a 64-bit
1286 MIPS processor are based on a MIPS64 processor. If you know the
1287 specific type of processor in your system, choose those that one
1288 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1292 depends on SYS_HAS_CPU_R3000
1294 select CPU_SUPPORTS_32BIT_KERNEL
1295 select CPU_SUPPORTS_HIGHMEM
1297 Please make sure to pick the right CPU type. Linux/MIPS is not
1298 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1299 *not* work on R4000 machines and vice versa. However, since most
1300 of the supported machines have an R4000 (or similar) CPU, R4x00
1301 might be a safe bet. If the resulting kernel does not work,
1302 try to recompile with R3000.
1306 depends on SYS_HAS_CPU_TX39XX
1307 select CPU_SUPPORTS_32BIT_KERNEL
1311 depends on SYS_HAS_CPU_VR41XX
1312 select CPU_SUPPORTS_32BIT_KERNEL
1313 select CPU_SUPPORTS_64BIT_KERNEL
1315 The options selects support for the NEC VR4100 series of processors.
1316 Only choose this option if you have one of these processors as a
1317 kernel built with this option will not run on any other type of
1318 processor or vice versa.
1322 depends on SYS_HAS_CPU_R4300
1323 select CPU_SUPPORTS_32BIT_KERNEL
1324 select CPU_SUPPORTS_64BIT_KERNEL
1326 MIPS Technologies R4300-series processors.
1330 depends on SYS_HAS_CPU_R4X00
1331 select CPU_SUPPORTS_32BIT_KERNEL
1332 select CPU_SUPPORTS_64BIT_KERNEL
1334 MIPS Technologies R4000-series processors other than 4300, including
1335 the R4000, R4400, R4600, and 4700.
1339 depends on SYS_HAS_CPU_TX49XX
1340 select CPU_HAS_PREFETCH
1341 select CPU_SUPPORTS_32BIT_KERNEL
1342 select CPU_SUPPORTS_64BIT_KERNEL
1346 depends on SYS_HAS_CPU_R5000
1347 select CPU_SUPPORTS_32BIT_KERNEL
1348 select CPU_SUPPORTS_64BIT_KERNEL
1350 MIPS Technologies R5000-series processors other than the Nevada.
1354 depends on SYS_HAS_CPU_R5432
1355 select CPU_SUPPORTS_32BIT_KERNEL
1356 select CPU_SUPPORTS_64BIT_KERNEL
1360 depends on SYS_HAS_CPU_R5500
1361 select CPU_SUPPORTS_32BIT_KERNEL
1362 select CPU_SUPPORTS_64BIT_KERNEL
1363 select CPU_SUPPORTS_HUGEPAGES
1365 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1370 depends on EXPERIMENTAL
1371 depends on SYS_HAS_CPU_R6000
1372 select CPU_SUPPORTS_32BIT_KERNEL
1374 MIPS Technologies R6000 and R6000A series processors. Note these
1375 processors are extremely rare and the support for them is incomplete.
1379 depends on SYS_HAS_CPU_NEVADA
1380 select CPU_SUPPORTS_32BIT_KERNEL
1381 select CPU_SUPPORTS_64BIT_KERNEL
1383 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1387 depends on EXPERIMENTAL
1388 depends on SYS_HAS_CPU_R8000
1389 select CPU_HAS_PREFETCH
1390 select CPU_SUPPORTS_64BIT_KERNEL
1392 MIPS Technologies R8000 processors. Note these processors are
1393 uncommon and the support for them is incomplete.
1397 depends on SYS_HAS_CPU_R10000
1398 select CPU_HAS_PREFETCH
1399 select CPU_SUPPORTS_32BIT_KERNEL
1400 select CPU_SUPPORTS_64BIT_KERNEL
1401 select CPU_SUPPORTS_HIGHMEM
1403 MIPS Technologies R10000-series processors.
1407 depends on SYS_HAS_CPU_RM7000
1408 select CPU_HAS_PREFETCH
1409 select CPU_SUPPORTS_32BIT_KERNEL
1410 select CPU_SUPPORTS_64BIT_KERNEL
1411 select CPU_SUPPORTS_HIGHMEM
1415 depends on SYS_HAS_CPU_RM9000
1416 select CPU_HAS_PREFETCH
1417 select CPU_SUPPORTS_32BIT_KERNEL
1418 select CPU_SUPPORTS_64BIT_KERNEL
1419 select CPU_SUPPORTS_HIGHMEM
1420 select WEAK_ORDERING
1424 depends on SYS_HAS_CPU_SB1
1425 select CPU_SUPPORTS_32BIT_KERNEL
1426 select CPU_SUPPORTS_64BIT_KERNEL
1427 select CPU_SUPPORTS_HIGHMEM
1428 select WEAK_ORDERING
1430 config CPU_CAVIUM_OCTEON
1431 bool "Cavium Octeon processor"
1432 depends on SYS_HAS_CPU_CAVIUM_OCTEON
1433 select ARCH_SPARSEMEM_ENABLE
1434 select CPU_HAS_PREFETCH
1435 select CPU_SUPPORTS_64BIT_KERNEL
1436 select SYS_SUPPORTS_SMP
1437 select NR_CPUS_DEFAULT_16
1438 select WEAK_ORDERING
1439 select CPU_SUPPORTS_HIGHMEM
1440 select CPU_SUPPORTS_HUGEPAGES
1444 The Cavium Octeon processor is a highly integrated chip containing
1445 many ethernet hardware widgets for networking tasks. The processor
1446 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1447 Full details can be found at http://www.caviumnetworks.com.
1449 config CPU_BMIPS3300
1451 depends on SYS_HAS_CPU_BMIPS3300
1454 Broadcom BMIPS3300 processors.
1456 config CPU_BMIPS4350
1458 depends on SYS_HAS_CPU_BMIPS4350
1460 select SYS_SUPPORTS_SMP
1461 select SYS_SUPPORTS_HOTPLUG_CPU
1463 Broadcom BMIPS4350 ("VIPER") processors.
1465 config CPU_BMIPS4380
1467 depends on SYS_HAS_CPU_BMIPS4380
1469 select SYS_SUPPORTS_SMP
1470 select SYS_SUPPORTS_HOTPLUG_CPU
1472 Broadcom BMIPS4380 processors.
1474 config CPU_BMIPS5000
1476 depends on SYS_HAS_CPU_BMIPS5000
1478 select CPU_SUPPORTS_HIGHMEM
1479 select MIPS_CPU_SCACHE
1480 select SYS_SUPPORTS_SMP
1481 select SYS_SUPPORTS_HOTPLUG_CPU
1483 Broadcom BMIPS5000 processors.
1486 bool "Netlogic XLR SoC"
1487 depends on SYS_HAS_CPU_XLR
1488 select CPU_SUPPORTS_32BIT_KERNEL
1489 select CPU_SUPPORTS_64BIT_KERNEL
1490 select CPU_SUPPORTS_HIGHMEM
1491 select WEAK_ORDERING
1492 select WEAK_REORDERING_BEYOND_LLSC
1493 select CPU_SUPPORTS_HUGEPAGES
1495 Netlogic Microsystems XLR/XLS processors.
1498 bool "Netlogic XLP SoC"
1499 depends on SYS_HAS_CPU_XLP
1500 select CPU_SUPPORTS_32BIT_KERNEL
1501 select CPU_SUPPORTS_64BIT_KERNEL
1502 select CPU_SUPPORTS_HIGHMEM
1504 select WEAK_ORDERING
1505 select WEAK_REORDERING_BEYOND_LLSC
1506 select CPU_HAS_PREFETCH
1508 Netlogic Microsystems XLP processors.
1512 config CPU_NOP_WORKAROUNDS
1515 config CPU_JUMP_WORKAROUNDS
1518 config CPU_LOONGSON2F_WORKAROUNDS
1519 bool "Loongson 2F Workarounds"
1521 select CPU_NOP_WORKAROUNDS
1522 select CPU_JUMP_WORKAROUNDS
1524 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1525 require workarounds. Without workarounds the system may hang
1526 unexpectedly. For more information please refer to the gas
1527 -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1529 Loongson 2F03 and later have fixed these issues and no workarounds
1530 are needed. The workarounds have no significant side effect on them
1531 but may decrease the performance of the system so this option should
1532 be disabled unless the kernel is intended to be run on 2F01 or 2F02
1535 If unsure, please say Y.
1536 endif # CPU_LOONGSON2F
1538 config SYS_SUPPORTS_ZBOOT
1540 select HAVE_KERNEL_GZIP
1541 select HAVE_KERNEL_BZIP2
1542 select HAVE_KERNEL_LZMA
1543 select HAVE_KERNEL_LZO
1545 config SYS_SUPPORTS_ZBOOT_UART16550
1547 select SYS_SUPPORTS_ZBOOT
1549 config CPU_LOONGSON2
1551 select CPU_SUPPORTS_32BIT_KERNEL
1552 select CPU_SUPPORTS_64BIT_KERNEL
1553 select CPU_SUPPORTS_HIGHMEM
1555 config CPU_LOONGSON1
1559 select CPU_HAS_PREFETCH
1560 select CPU_SUPPORTS_32BIT_KERNEL
1561 select CPU_SUPPORTS_HIGHMEM
1566 select CPU_SUPPORTS_32BIT_KERNEL
1567 select DMA_NONCOHERENT
1569 select SWAP_IO_SPACE
1570 select WEAK_ORDERING
1572 config SYS_HAS_CPU_LOONGSON2E
1575 config SYS_HAS_CPU_LOONGSON2F
1577 select CPU_SUPPORTS_CPUFREQ
1578 select CPU_SUPPORTS_ADDRWINCFG if 64BIT
1579 select CPU_SUPPORTS_UNCACHED_ACCELERATED
1581 config SYS_HAS_CPU_LOONGSON1B
1584 config SYS_HAS_CPU_MIPS32_R1
1587 config SYS_HAS_CPU_MIPS32_R2
1590 config SYS_HAS_CPU_MIPS64_R1
1593 config SYS_HAS_CPU_MIPS64_R2
1596 config SYS_HAS_CPU_R3000
1599 config SYS_HAS_CPU_TX39XX
1602 config SYS_HAS_CPU_VR41XX
1605 config SYS_HAS_CPU_R4300
1608 config SYS_HAS_CPU_R4X00
1611 config SYS_HAS_CPU_TX49XX
1614 config SYS_HAS_CPU_R5000
1617 config SYS_HAS_CPU_R5432
1620 config SYS_HAS_CPU_R5500
1623 config SYS_HAS_CPU_R6000
1626 config SYS_HAS_CPU_NEVADA
1629 config SYS_HAS_CPU_R8000
1632 config SYS_HAS_CPU_R10000
1635 config SYS_HAS_CPU_RM7000
1638 config SYS_HAS_CPU_RM9000
1641 config SYS_HAS_CPU_SB1
1644 config SYS_HAS_CPU_CAVIUM_OCTEON
1647 config SYS_HAS_CPU_BMIPS3300
1650 config SYS_HAS_CPU_BMIPS4350
1653 config SYS_HAS_CPU_BMIPS4380
1656 config SYS_HAS_CPU_BMIPS5000
1659 config SYS_HAS_CPU_XLR
1662 config SYS_HAS_CPU_XLP
1666 # CPU may reorder R->R, R->W, W->R, W->W
1667 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1669 config WEAK_ORDERING
1673 # CPU may reorder reads and writes beyond LL/SC
1674 # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1676 config WEAK_REORDERING_BEYOND_LLSC
1681 # These two indicate any level of the MIPS32 and MIPS64 architecture
1685 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1689 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1692 # These two indicate the revision of the architecture, either Release 1 or Release 2
1696 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1700 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1702 config SYS_SUPPORTS_32BIT_KERNEL
1704 config SYS_SUPPORTS_64BIT_KERNEL
1706 config CPU_SUPPORTS_32BIT_KERNEL
1708 config CPU_SUPPORTS_64BIT_KERNEL
1710 config CPU_SUPPORTS_CPUFREQ
1712 config CPU_SUPPORTS_ADDRWINCFG
1714 config CPU_SUPPORTS_HUGEPAGES
1716 config CPU_SUPPORTS_UNCACHED_ACCELERATED
1718 config MIPS_PGD_C0_CONTEXT
1720 default y if 64BIT && CPU_MIPSR2
1723 # Set to y for ptrace access to watch registers.
1725 config HARDWARE_WATCHPOINTS
1727 default y if CPU_MIPSR1 || CPU_MIPSR2
1733 prompt "Kernel code model"
1735 You should only select this option if you have a workload that
1736 actually benefits from 64-bit processing or if your machine has
1737 large memory. You will only be presented a single option in this
1738 menu if your system does not support both 32-bit and 64-bit kernels.
1741 bool "32-bit kernel"
1742 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1745 Select this option if you want to build a 32-bit kernel.
1747 bool "64-bit kernel"
1748 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1749 select HAVE_SYSCALL_WRAPPERS
1751 Select this option if you want to build a 64-bit kernel.
1756 prompt "Kernel page size"
1757 default PAGE_SIZE_4KB
1759 config PAGE_SIZE_4KB
1761 depends on !CPU_LOONGSON2
1763 This option select the standard 4kB Linux page size. On some
1764 R3000-family processors this is the only available page size. Using
1765 4kB page size will minimize memory consumption and is therefore
1766 recommended for low memory systems.
1768 config PAGE_SIZE_8KB
1770 depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
1772 Using 8kB page size will result in higher performance kernel at
1773 the price of higher memory consumption. This option is available
1774 only on R8000 and cnMIPS processors. Note that you will need a
1775 suitable Linux distribution to support this.
1777 config PAGE_SIZE_16KB
1779 depends on !CPU_R3000 && !CPU_TX39XX
1781 Using 16kB page size will result in higher performance kernel at
1782 the price of higher memory consumption. This option is available on
1783 all non-R3000 family processors. Note that you will need a suitable
1784 Linux distribution to support this.
1786 config PAGE_SIZE_32KB
1788 depends on CPU_CAVIUM_OCTEON
1790 Using 32kB page size will result in higher performance kernel at
1791 the price of higher memory consumption. This option is available
1792 only on cnMIPS cores. Note that you will need a suitable Linux
1793 distribution to support this.
1795 config PAGE_SIZE_64KB
1797 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1799 Using 64kB page size will result in higher performance kernel at
1800 the price of higher memory consumption. This option is available on
1801 all non-R3000 family processor. Not that at the time of this
1802 writing this option is still high experimental.
1806 config FORCE_MAX_ZONEORDER
1807 int "Maximum zone order"
1808 range 14 64 if HUGETLB_PAGE && PAGE_SIZE_64KB
1809 default "14" if HUGETLB_PAGE && PAGE_SIZE_64KB
1810 range 13 64 if HUGETLB_PAGE && PAGE_SIZE_32KB
1811 default "13" if HUGETLB_PAGE && PAGE_SIZE_32KB
1812 range 12 64 if HUGETLB_PAGE && PAGE_SIZE_16KB
1813 default "12" if HUGETLB_PAGE && PAGE_SIZE_16KB
1817 The kernel memory allocator divides physically contiguous memory
1818 blocks into "zones", where each zone is a power of two number of
1819 pages. This option selects the largest power of two that the kernel
1820 keeps in the memory allocator. If you need to allocate very large
1821 blocks of physically contiguous memory, then you may need to
1822 increase this value.
1824 This config option is actually maximum order plus one. For example,
1825 a value of 11 means that the largest free memory block is 2^10 pages.
1827 The page size is not necessarily 4KB. Keep this in mind
1828 when choosing a value for this option.
1833 config IP22_CPU_SCACHE
1838 # Support for a MIPS32 / MIPS64 style S-caches
1840 config MIPS_CPU_SCACHE
1844 config R5000_CPU_SCACHE
1848 config RM7000_CPU_SCACHE
1852 config SIBYTE_DMA_PAGEOPS
1853 bool "Use DMA to clear/copy pages"
1856 Instead of using the CPU to zero and copy pages, use a Data Mover
1857 channel. These DMA channels are otherwise unused by the standard
1858 SiByte Linux port. Seems to give a small performance benefit.
1860 config CPU_HAS_PREFETCH
1864 prompt "MIPS MT options"
1866 config MIPS_MT_DISABLED
1867 bool "Disable multithreading support."
1869 Use this option if your workload can't take advantage of
1870 MIPS hardware multithreading support. On systems that don't have
1871 the option of an MT-enabled processor this option will be the only
1872 option in this menu.
1875 bool "Use 1 TC on each available VPE for SMP"
1876 depends on SYS_SUPPORTS_MULTITHREADING
1877 select CPU_MIPSR2_IRQ_VI
1878 select CPU_MIPSR2_IRQ_EI
1880 select NR_CPUS_DEFAULT_2
1882 select SYS_SUPPORTS_SCHED_SMT if SMP
1883 select SYS_SUPPORTS_SMP
1886 This is a kernel model which is known a VSMP but lately has been
1887 marketesed into SMVP.
1888 Virtual SMP uses the processor's VPEs to implement virtual
1889 processors. In currently available configuration of the 34K processor
1890 this allows for a dual processor. Both processors will share the same
1891 primary caches; each will obtain the half of the TLB for it's own
1892 exclusive use. For a layman this model can be described as similar to
1893 what Intel calls Hyperthreading.
1895 For further information see http://www.linux-mips.org/wiki/34K#VSMP
1898 bool "SMTC: Use all TCs on all VPEs for SMP"
1899 depends on CPU_MIPS32_R2
1900 #depends on CPU_MIPS64_R2 # once there is hardware ...
1901 depends on SYS_SUPPORTS_MULTITHREADING
1902 select CPU_MIPSR2_IRQ_VI
1903 select CPU_MIPSR2_IRQ_EI
1905 select NR_CPUS_DEFAULT_8
1907 select SYS_SUPPORTS_SMP
1910 This is a kernel model which is known a SMTC or lately has been
1911 marketesed into SMVP.
1912 is presenting the available TC's of the core as processors to Linux.
1913 On currently available 34K processors this means a Linux system will
1914 see up to 5 processors. The implementation of the SMTC kernel differs
1915 significantly from VSMP and cannot efficiently coexist in the same
1916 kernel binary so the choice between VSMP and SMTC is a compile time
1919 For further information see http://www.linux-mips.org/wiki/34K#SMTC
1927 bool "SMT (multithreading) scheduler support"
1928 depends on SYS_SUPPORTS_SCHED_SMT
1931 SMT scheduler support improves the CPU scheduler's decision making
1932 when dealing with MIPS MT enabled cores at a cost of slightly
1933 increased overhead in some places. If unsure say N here.
1935 config SYS_SUPPORTS_SCHED_SMT
1939 config SYS_SUPPORTS_MULTITHREADING
1942 config MIPS_MT_FPAFF
1943 bool "Dynamic FPU affinity for FP-intensive threads"
1945 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1947 config MIPS_VPE_LOADER
1948 bool "VPE loader support."
1949 depends on SYS_SUPPORTS_MULTITHREADING
1950 select CPU_MIPSR2_IRQ_VI
1951 select CPU_MIPSR2_IRQ_EI
1954 Includes a loader for loading an elf relocatable object
1955 onto another VPE and running it.
1957 config MIPS_MT_SMTC_IM_BACKSTOP
1958 bool "Use per-TC register bits as backstop for inhibited IM bits"
1959 depends on MIPS_MT_SMTC
1962 To support multiple TC microthreads acting as "CPUs" within
1963 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1964 during interrupt handling. To support legacy drivers and interrupt
1965 controller management code, SMTC has a "backstop" to track and
1966 if necessary restore the interrupt mask. This has some performance
1967 impact on interrupt service overhead.
1969 config MIPS_MT_SMTC_IRQAFF
1970 bool "Support IRQ affinity API"
1971 depends on MIPS_MT_SMTC
1974 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1975 for SMTC Linux kernel. Requires platform support, of which
1976 an example can be found in the MIPS kernel i8259 and Malta
1977 platform code. Adds some overhead to interrupt dispatch, and
1978 should be used only if you know what you are doing.
1980 config MIPS_VPE_LOADER_TOM
1981 bool "Load VPE program into memory hidden from linux"
1982 depends on MIPS_VPE_LOADER
1985 The loader can use memory that is present but has been hidden from
1986 Linux using the kernel command line option "mem=xxMB". It's up to
1987 you to ensure the amount you put in the option and the space your
1988 program requires is less or equal to the amount physically present.
1990 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1991 config MIPS_VPE_APSP_API
1992 bool "Enable support for AP/SP API (RTLX)"
1993 depends on MIPS_VPE_LOADER
1996 config MIPS_APSP_KSPD
1998 depends on MIPS_VPE_APSP_API
2001 KSPD is a kernel daemon that accepts syscall requests from the SP
2002 side, actions them and returns the results. It also handles the
2003 "exit" syscall notifying other kernel modules the SP program is
2004 exiting. You probably want to say yes here.
2007 bool "MIPS CMP framework support"
2008 depends on SYS_SUPPORTS_MIPS_CMP
2010 select SYS_SUPPORTS_SMP
2011 select SYS_SUPPORTS_SCHED_SMT if SMP
2012 select WEAK_ORDERING
2015 This is a placeholder option for the GCMP work. It will need to
2016 be handled differently...
2018 config SB1_PASS_1_WORKAROUNDS
2020 depends on CPU_SB1_PASS_1
2023 config SB1_PASS_2_WORKAROUNDS
2025 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
2028 config SB1_PASS_2_1_WORKAROUNDS
2030 depends on CPU_SB1 && CPU_SB1_PASS_2
2033 config 64BIT_PHYS_ADDR
2036 config ARCH_PHYS_ADDR_T_64BIT
2037 def_bool 64BIT_PHYS_ADDR
2039 config CPU_HAS_SMARTMIPS
2040 depends on SYS_SUPPORTS_SMARTMIPS
2041 bool "Support for the SmartMIPS ASE"
2043 SmartMIPS is a extension of the MIPS32 architecture aimed at
2044 increased security at both hardware and software level for
2045 smartcards. Enabling this option will allow proper use of the
2046 SmartMIPS instructions by Linux applications. However a kernel with
2047 this option will not work on a MIPS core without SmartMIPS core. If
2048 you don't know you probably don't have SmartMIPS and should say N
2058 # Vectored interrupt mode is an R2 feature
2060 config CPU_MIPSR2_IRQ_VI
2064 # Extended interrupt mode is an R2 feature
2066 config CPU_MIPSR2_IRQ_EI
2071 depends on !CPU_R3000
2077 config CPU_DADDI_WORKAROUNDS
2080 config CPU_R4000_WORKAROUNDS
2082 select CPU_R4400_WORKAROUNDS
2084 config CPU_R4400_WORKAROUNDS
2088 # - Highmem only makes sense for the 32-bit kernel.
2089 # - The current highmem code will only work properly on physically indexed
2090 # caches such as R3000, SB1, R7000 or those that look like they're virtually
2091 # indexed such as R4000/R4400 SC and MC versions or R10000. So for the
2092 # moment we protect the user and offer the highmem option only on machines
2093 # where it's known to be safe. This will not offer highmem on a few systems
2094 # such as MIPS32 and MIPS64 CPUs which may have virtual and physically
2095 # indexed CPUs but we're playing safe.
2096 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
2097 # know they might have memory configurations that could make use of highmem
2101 bool "High Memory Support"
2102 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
2104 config CPU_SUPPORTS_HIGHMEM
2107 config SYS_SUPPORTS_HIGHMEM
2110 config SYS_SUPPORTS_SMARTMIPS
2113 config ARCH_FLATMEM_ENABLE
2115 depends on !NUMA && !CPU_LOONGSON2
2117 config ARCH_DISCONTIGMEM_ENABLE
2119 default y if SGI_IP27
2121 Say Y to support efficient handling of discontiguous physical memory,
2122 for architectures which are either NUMA (Non-Uniform Memory Access)
2123 or have huge holes in the physical address space for other reasons.
2124 See <file:Documentation/vm/numa> for more.
2126 config ARCH_SPARSEMEM_ENABLE
2128 select SPARSEMEM_STATIC
2132 depends on SYS_SUPPORTS_NUMA
2134 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
2135 Access). This option improves performance on systems with more
2136 than two nodes; on two node systems it is generally better to
2137 leave it disabled; on single node systems disable this option
2140 config SYS_SUPPORTS_NUMA
2146 depends on NEED_MULTIPLE_NODES
2148 config HW_PERF_EVENTS
2149 bool "Enable hardware performance counter support for perf events"
2150 depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON)
2153 Enable hardware performance counter support for perf events. If
2154 disabled, perf events will use software events only.
2159 bool "Multi-Processing support"
2160 depends on SYS_SUPPORTS_SMP
2162 select USE_GENERIC_SMP_HELPERS
2164 This enables support for systems with more than one CPU. If you have
2165 a system with only one CPU, like most personal computers, say N. If
2166 you have a system with more than one CPU, say Y.
2168 If you say N here, the kernel will run on single and multiprocessor
2169 machines, but will use only one CPU of a multiprocessor machine. If
2170 you say Y here, the kernel will run on many, but not all,
2171 singleprocessor machines. On a singleprocessor machine, the kernel
2172 will run faster if you say N here.
2174 People using multiprocessor machines who say Y here should also say
2175 Y to "Enhanced Real Time Clock Support", below.
2177 See also the SMP-HOWTO available at
2178 <http://www.tldp.org/docs.html#howto>.
2180 If you don't know what to do here, say N.
2185 config SYS_SUPPORTS_MIPS_CMP
2188 config SYS_SUPPORTS_SMP
2191 config NR_CPUS_DEFAULT_1
2194 config NR_CPUS_DEFAULT_2
2197 config NR_CPUS_DEFAULT_4
2200 config NR_CPUS_DEFAULT_8
2203 config NR_CPUS_DEFAULT_16
2206 config NR_CPUS_DEFAULT_32
2209 config NR_CPUS_DEFAULT_64
2213 int "Maximum number of CPUs (2-64)"
2214 range 1 64 if NR_CPUS_DEFAULT_1
2216 default "1" if NR_CPUS_DEFAULT_1
2217 default "2" if NR_CPUS_DEFAULT_2
2218 default "4" if NR_CPUS_DEFAULT_4
2219 default "8" if NR_CPUS_DEFAULT_8
2220 default "16" if NR_CPUS_DEFAULT_16
2221 default "32" if NR_CPUS_DEFAULT_32
2222 default "64" if NR_CPUS_DEFAULT_64
2224 This allows you to specify the maximum number of CPUs which this
2225 kernel will support. The maximum supported value is 32 for 32-bit
2226 kernel and 64 for 64-bit kernels; the minimum value which makes
2227 sense is 1 for Qemu (useful only for kernel debugging purposes)
2228 and 2 for all others.
2230 This is purely to save memory - each supported CPU adds
2231 approximately eight kilobytes to the kernel image. For best
2232 performance should round up your number of processors to the next
2236 # Timer Interrupt Frequency Configuration
2240 prompt "Timer frequency"
2243 Allows the configuration of the timer frequency.
2246 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
2249 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
2252 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
2255 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
2258 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
2261 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
2264 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2268 config SYS_SUPPORTS_48HZ
2271 config SYS_SUPPORTS_100HZ
2274 config SYS_SUPPORTS_128HZ
2277 config SYS_SUPPORTS_250HZ
2280 config SYS_SUPPORTS_256HZ
2283 config SYS_SUPPORTS_1000HZ
2286 config SYS_SUPPORTS_1024HZ
2289 config SYS_SUPPORTS_ARBIT_HZ
2291 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2292 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2293 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2294 !SYS_SUPPORTS_1024HZ
2299 default 100 if HZ_100
2300 default 128 if HZ_128
2301 default 250 if HZ_250
2302 default 256 if HZ_256
2303 default 1000 if HZ_1000
2304 default 1024 if HZ_1024
2306 source "kernel/Kconfig.preempt"
2309 bool "Kexec system call (EXPERIMENTAL)"
2310 depends on EXPERIMENTAL
2312 kexec is a system call that implements the ability to shutdown your
2313 current kernel, and to start another kernel. It is like a reboot
2314 but it is independent of the system firmware. And like a reboot
2315 you can start any kernel with it, not just Linux.
2317 The name comes from the similarity to the exec system call.
2319 It is an ongoing process to be certain the hardware in a machine
2320 is properly shutdown, so do not be surprised if this code does not
2321 initially work for you. It may help to enable device hotplugging
2322 support. As of this writing the exact hardware interface is
2323 strongly in flux, so no good recommendation can be made.
2326 bool "Enable seccomp to safely compute untrusted bytecode"
2330 This kernel feature is useful for number crunching applications
2331 that may need to compute untrusted bytecode during their
2332 execution. By using pipes or other transports made available to
2333 the process as file descriptors supporting the read/write
2334 syscalls, it's possible to isolate those applications in
2335 their own address space using seccomp. Once seccomp is
2336 enabled via /proc/<pid>/seccomp, it cannot be disabled
2337 and the task is only allowed to execute a few safe syscalls
2338 defined by each seccomp mode.
2340 If unsure, say Y. Only embedded should say N here.
2343 bool "Flattened Device Tree support"
2345 select OF_EARLY_FLATTREE
2348 Include support for flattened device tree machine descriptions.
2352 config LOCKDEP_SUPPORT
2356 config STACKTRACE_SUPPORT
2360 source "init/Kconfig"
2362 source "kernel/Kconfig.freezer"
2364 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2372 bool "Support for PCI controller"
2373 depends on HW_HAS_PCI
2375 select GENERIC_PCI_IOMAP
2376 select NO_GENERIC_PCI_IOPORT_MAP
2378 Find out whether you have a PCI motherboard. PCI is the name of a
2379 bus system, i.e. the way the CPU talks to the other stuff inside
2380 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2386 source "drivers/pci/Kconfig"
2388 source "drivers/pci/pcie/Kconfig"
2391 # ISA support is now enabled via select. Too many systems still have the one
2392 # or other ISA chip on the board that users don't know about so don't expect
2393 # users to choose the right thing ...
2400 depends on HW_HAS_EISA
2402 select GENERIC_ISA_DMA
2404 The Extended Industry Standard Architecture (EISA) bus was
2405 developed as an open alternative to the IBM MicroChannel bus.
2407 The EISA bus provided some of the features of the IBM MicroChannel
2408 bus while maintaining backward compatibility with cards made for
2409 the older ISA bus. The EISA bus saw limited use between 1988 and
2410 1995 when it was made obsolete by the PCI bus.
2412 Say Y here if you are building a kernel for an EISA-based machine.
2416 source "drivers/eisa/Kconfig"
2419 bool "TURBOchannel support"
2420 depends on MACH_DECSTATION
2422 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2423 processors. TURBOchannel programming specifications are available
2425 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
2427 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
2428 Linux driver support status is documented at:
2429 <http://www.linux-mips.org/wiki/DECstation>
2439 select MIPS_EXTERNAL_TIMER
2444 source "drivers/pcmcia/Kconfig"
2446 source "drivers/pci/hotplug/Kconfig"
2449 bool "RapidIO support"
2453 If you say Y here, the kernel will include drivers and
2454 infrastructure code to support RapidIO interconnect devices.
2456 source "drivers/rapidio/Kconfig"
2460 menu "Executable file formats"
2462 source "fs/Kconfig.binfmt"
2467 config MIPS32_COMPAT
2468 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2471 Select this option if you want Linux/MIPS 32-bit binary
2472 compatibility. Since all software available for Linux/MIPS is
2473 currently 32-bit you should say Y here.
2477 depends on MIPS32_COMPAT
2478 select ARCH_WANT_OLD_COMPAT_IPC
2481 config SYSVIPC_COMPAT
2483 depends on COMPAT && SYSVIPC
2487 bool "Kernel support for o32 binaries"
2488 depends on MIPS32_COMPAT
2490 Select this option if you want to run o32 binaries. These are pure
2491 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2492 existing binaries are in this format.
2497 bool "Kernel support for n32 binaries"
2498 depends on MIPS32_COMPAT
2500 Select this option if you want to run n32 binaries. These are
2501 64-bit binaries using 32-bit quantities for addressing and certain
2502 data that would normally be 64-bit. They are used in special
2509 default y if MIPS32_O32 || MIPS32_N32
2513 menu "Power management options"
2515 config ARCH_HIBERNATION_POSSIBLE
2517 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2519 config ARCH_SUSPEND_POSSIBLE
2521 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2523 source "kernel/power/Kconfig"
2527 source "arch/mips/kernel/cpufreq/Kconfig"
2529 source "net/Kconfig"
2531 source "drivers/Kconfig"
2535 source "arch/mips/Kconfig.debug"
2537 source "security/Kconfig"
2539 source "crypto/Kconfig"
2541 source "lib/Kconfig"