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 HAVE_DEBUG_KMEMLEAK
21 select ARCH_BINFMT_ELF_RANDOMIZE_PIE
22 select HAVE_ARCH_TRANSPARENT_HUGEPAGE
23 select RTC_LIB if !MACH_LOONGSON
24 select GENERIC_ATOMIC64 if !64BIT
25 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
27 select HAVE_DMA_API_DEBUG
28 select HAVE_GENERIC_HARDIRQS
29 select GENERIC_IRQ_PROBE
30 select GENERIC_IRQ_SHOW
31 select HAVE_ARCH_JUMP_LABEL
32 select ARCH_WANT_IPC_PARSE_VERSION
33 select IRQ_FORCED_THREADING
35 select HAVE_MEMBLOCK_NODE_MAP
36 select ARCH_DISCARD_MEMBLOCK
37 select GENERIC_SMP_IDLE_THREAD
38 select BUILDTIME_EXTABLE_SORT
39 select GENERIC_CLOCKEVENTS
40 select GENERIC_CMOS_UPDATE
41 select HAVE_MOD_ARCH_SPECIFIC
42 select MODULES_USE_ELF_REL if MODULES
43 select MODULES_USE_ELF_RELA if MODULES && 64BIT
44 select GENERIC_SIGALTSTACK
46 menu "Machine selection"
56 bool "Alchemy processor based machines"
57 select 64BIT_PHYS_ADDR
61 select SYS_HAS_CPU_MIPS32_R1
62 select SYS_SUPPORTS_32BIT_KERNEL
63 select SYS_SUPPORTS_APM_EMULATION
65 select ARCH_WANT_OPTIONAL_GPIOLIB
66 select SYS_SUPPORTS_ZBOOT
67 select USB_ARCH_HAS_OHCI
68 select USB_ARCH_HAS_EHCI
71 bool "Texas Instruments AR7"
73 select DMA_NONCOHERENT
79 select SYS_HAS_CPU_MIPS32_R1
80 select SYS_HAS_EARLY_PRINTK
81 select SYS_SUPPORTS_32BIT_KERNEL
82 select SYS_SUPPORTS_LITTLE_ENDIAN
83 select SYS_SUPPORTS_ZBOOT_UART16550
84 select ARCH_REQUIRE_GPIOLIB
88 Support for the Texas Instruments AR7 System-on-a-Chip
89 family: TNETD7100, 7200 and 7300.
92 bool "Atheros AR71XX/AR724X/AR913X based boards"
93 select ARCH_REQUIRE_GPIOLIB
97 select DMA_NONCOHERENT
101 select SYS_HAS_CPU_MIPS32_R2
102 select SYS_HAS_EARLY_PRINTK
103 select SYS_SUPPORTS_32BIT_KERNEL
104 select SYS_SUPPORTS_BIG_ENDIAN
106 Support for the Atheros AR71XX/AR724X/AR913X SoCs.
109 bool "Broadcom BCM47XX based boards"
110 select ARCH_WANT_OPTIONAL_GPIOLIB
113 select DMA_NONCOHERENT
117 select SYS_SUPPORTS_32BIT_KERNEL
118 select SYS_SUPPORTS_LITTLE_ENDIAN
119 select SYS_HAS_EARLY_PRINTK
121 Support for BCM47XX based boards
124 bool "Broadcom BCM63XX based boards"
127 select DMA_NONCOHERENT
129 select SYS_HAS_CPU_MIPS32_R1
130 select SYS_SUPPORTS_32BIT_KERNEL
131 select SYS_SUPPORTS_BIG_ENDIAN
132 select SYS_HAS_EARLY_PRINTK
134 select ARCH_REQUIRE_GPIOLIB
137 Support for BCM63XX based boards
144 select DMA_NONCOHERENT
150 select PCI_GT64XXX_PCI0
152 select SYS_HAS_CPU_NEVADA
153 select SYS_HAS_EARLY_PRINTK
154 select SYS_SUPPORTS_32BIT_KERNEL
155 select SYS_SUPPORTS_64BIT_KERNEL
156 select SYS_SUPPORTS_LITTLE_ENDIAN
158 config MACH_DECSTATION
165 select CPU_DADDI_WORKAROUNDS if 64BIT
166 select CPU_R4000_WORKAROUNDS if 64BIT
167 select CPU_R4400_WORKAROUNDS if 64BIT
168 select DMA_NONCOHERENT
171 select SYS_HAS_CPU_R3000
172 select SYS_HAS_CPU_R4X00
173 select SYS_SUPPORTS_32BIT_KERNEL
174 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
175 select SYS_SUPPORTS_LITTLE_ENDIAN
176 select SYS_SUPPORTS_128HZ
177 select SYS_SUPPORTS_256HZ
178 select SYS_SUPPORTS_1024HZ
180 This enables support for DEC's MIPS based workstations. For details
181 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
182 DECstation porting pages on <http://decstation.unix-ag.org/>.
184 If you have one of the following DECstation Models you definitely
185 want to choose R4xx0 for the CPU Type:
192 otherwise choose R3000.
195 bool "Jazz family of machines"
198 select ARCH_MAY_HAVE_PC_FDC
201 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
202 select GENERIC_ISA_DMA
203 select HAVE_PCSPKR_PLATFORM
208 select SYS_HAS_CPU_R4X00
209 select SYS_SUPPORTS_32BIT_KERNEL
210 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
211 select SYS_SUPPORTS_100HZ
213 This a family of machines based on the MIPS R4030 chipset which was
214 used by several vendors to build RISC/os and Windows NT workstations.
215 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
216 Olivetti M700-10 workstations.
219 bool "Ingenic JZ4740 based machines"
220 select SYS_HAS_CPU_MIPS32_R1
221 select SYS_SUPPORTS_32BIT_KERNEL
222 select SYS_SUPPORTS_LITTLE_ENDIAN
223 select SYS_SUPPORTS_ZBOOT_UART16550
224 select DMA_NONCOHERENT
227 select ARCH_REQUIRE_GPIOLIB
228 select SYS_HAS_EARLY_PRINTK
231 select GENERIC_IRQ_CHIP
234 bool "Lantiq based platforms"
235 select DMA_NONCOHERENT
239 select SYS_HAS_CPU_MIPS32_R1
240 select SYS_HAS_CPU_MIPS32_R2
241 select SYS_SUPPORTS_BIG_ENDIAN
242 select SYS_SUPPORTS_32BIT_KERNEL
243 select SYS_SUPPORTS_MULTITHREADING
244 select SYS_HAS_EARLY_PRINTK
245 select ARCH_REQUIRE_GPIOLIB
248 select HAVE_MACH_CLKDEV
252 select PINCTRL_LANTIQ
255 bool "LASAT Networks platforms"
258 select DMA_NONCOHERENT
259 select SYS_HAS_EARLY_PRINTK
262 select PCI_GT64XXX_PCI0
264 select R5000_CPU_SCACHE
265 select SYS_HAS_CPU_R5000
266 select SYS_SUPPORTS_32BIT_KERNEL
267 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
268 select SYS_SUPPORTS_LITTLE_ENDIAN
271 bool "Loongson family of machines"
272 select SYS_SUPPORTS_ZBOOT
274 This enables the support of Loongson family of machines.
276 Loongson is a family of general-purpose MIPS-compatible CPUs.
277 developed at Institute of Computing Technology (ICT),
278 Chinese Academy of Sciences (CAS) in the People's Republic
279 of China. The chief architect is Professor Weiwu Hu.
281 config MACH_LOONGSON1
282 bool "Loongson 1 family of machines"
283 select SYS_SUPPORTS_ZBOOT
285 This enables support for the Loongson 1 based machines.
287 Loongson 1 is a family of 32-bit MIPS-compatible SoCs developed by
288 the ICT (Institute of Computing Technology) and the Chinese Academy
292 bool "MIPS Malta board"
293 select ARCH_MAY_HAVE_PC_FDC
298 select DMA_NONCOHERENT
299 select GENERIC_ISA_DMA
300 select HAVE_PCSPKR_PLATFORM
306 select MIPS_BOARDS_GEN
308 select MIPS_CPU_SCACHE
309 select PCI_GT64XXX_PCI0
312 select SYS_HAS_CPU_MIPS32_R1
313 select SYS_HAS_CPU_MIPS32_R2
314 select SYS_HAS_CPU_MIPS64_R1
315 select SYS_HAS_CPU_MIPS64_R2
316 select SYS_HAS_CPU_NEVADA
317 select SYS_HAS_CPU_RM7000
318 select SYS_HAS_EARLY_PRINTK
319 select SYS_SUPPORTS_32BIT_KERNEL
320 select SYS_SUPPORTS_64BIT_KERNEL
321 select SYS_SUPPORTS_BIG_ENDIAN
322 select SYS_SUPPORTS_LITTLE_ENDIAN
323 select SYS_SUPPORTS_MIPS_CMP
324 select SYS_SUPPORTS_MULTITHREADING
325 select SYS_SUPPORTS_SMARTMIPS
326 select SYS_SUPPORTS_ZBOOT
328 This enables support for the MIPS Technologies Malta evaluation
332 bool "MIPS SEAD3 board"
337 select CPU_MIPSR2_IRQ_VI
338 select CPU_MIPSR2_IRQ_EI
339 select DMA_NONCOHERENT
342 select MIPS_BOARDS_GEN
343 select MIPS_CPU_SCACHE
345 select SYS_HAS_CPU_MIPS32_R1
346 select SYS_HAS_CPU_MIPS32_R2
347 select SYS_HAS_CPU_MIPS64_R1
348 select SYS_HAS_EARLY_PRINTK
349 select SYS_SUPPORTS_32BIT_KERNEL
350 select SYS_SUPPORTS_64BIT_KERNEL
351 select SYS_SUPPORTS_BIG_ENDIAN
352 select SYS_SUPPORTS_LITTLE_ENDIAN
353 select SYS_SUPPORTS_SMARTMIPS
354 select USB_ARCH_HAS_EHCI
355 select USB_EHCI_BIG_ENDIAN_DESC
356 select USB_EHCI_BIG_ENDIAN_MMIO
358 This enables support for the MIPS Technologies SEAD3 evaluation
362 bool "NEC EMMA2RH Mark-eins board"
366 This enables support for the NEC Electronics Mark-eins boards.
369 bool "NEC VR4100 series based machines"
372 select SYS_HAS_CPU_VR41XX
373 select ARCH_REQUIRE_GPIOLIB
376 bool "NXP STB220 board"
379 Support for NXP Semiconductors STB220 Development Board.
386 Support for NXP Semiconductors STB225 Development Board.
389 bool "NXP PNX8550 based JBS board"
391 select SYS_SUPPORTS_LITTLE_ENDIAN
393 config PNX8550_STB810
394 bool "NXP PNX8550 based STB810 board"
396 select SYS_SUPPORTS_LITTLE_ENDIAN
399 bool "PMC-Sierra MSP chipsets"
400 depends on EXPERIMENTAL
403 select DMA_NONCOHERENT
405 select NO_EXCEPT_FILL
407 select SYS_HAS_CPU_MIPS32_R1
408 select SYS_HAS_CPU_MIPS32_R2
409 select SYS_SUPPORTS_32BIT_KERNEL
410 select SYS_SUPPORTS_BIG_ENDIAN
413 select SERIAL_8250_CONSOLE
415 This adds support for the PMC-Sierra family of Multi-Service
416 Processor System-On-A-Chips. These parts include a number
417 of integrated peripherals, interfaces and DSPs in addition to
418 a variety of MIPS cores.
424 select CPU_MIPSR2_IRQ_VI
425 select CPU_MIPSR2_IRQ_EI
427 select DMA_NONCOHERENT
429 select SYS_HAS_EARLY_PRINTK
430 select SYS_HAS_CPU_MIPS32_R2
431 select SYS_SUPPORTS_32BIT_KERNEL
432 select SYS_SUPPORTS_BIG_ENDIAN
433 select SYS_SUPPORTS_HIGHMEM
434 select USB_OHCI_LITTLE_ENDIAN
436 This enables support for the Cisco PowerTV Platform.
439 bool "SGI IP22 (Indy/Indigo2)"
445 select DEFAULT_SGI_PARTITION
446 select DMA_NONCOHERENT
450 select IP22_CPU_SCACHE
452 select GENERIC_ISA_DMA_SUPPORT_BROKEN
454 select SGI_HAS_INDYDOG
460 select SYS_HAS_CPU_R4X00
461 select SYS_HAS_CPU_R5000
463 # Disable EARLY_PRINTK for now since it leads to overwritten prom
464 # memory during early boot on some machines.
466 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
467 # for a more details discussion
469 # select SYS_HAS_EARLY_PRINTK
470 select SYS_SUPPORTS_32BIT_KERNEL
471 select SYS_SUPPORTS_64BIT_KERNEL
472 select SYS_SUPPORTS_BIG_ENDIAN
474 This are the SGI Indy, Challenge S and Indigo2, as well as certain
475 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
476 that runs on these, say Y here.
479 bool "SGI IP27 (Origin200/2000)"
483 select DEFAULT_SGI_PARTITION
485 select SYS_HAS_EARLY_PRINTK
487 select NR_CPUS_DEFAULT_64
488 select SYS_HAS_CPU_R10000
489 select SYS_SUPPORTS_64BIT_KERNEL
490 select SYS_SUPPORTS_BIG_ENDIAN
491 select SYS_SUPPORTS_NUMA
492 select SYS_SUPPORTS_SMP
494 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
495 workstations. To compile a Linux kernel that runs on these, say Y
499 bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
500 depends on EXPERIMENTAL
506 select DEFAULT_SGI_PARTITION
507 select DMA_NONCOHERENT
508 select GENERIC_ISA_DMA_SUPPORT_BROKEN
514 select SGI_HAS_INDYDOG
520 select SYS_HAS_CPU_R10000
522 # Disable EARLY_PRINTK for now since it leads to overwritten prom
523 # memory during early boot on some machines.
525 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
526 # for a more details discussion
528 # select SYS_HAS_EARLY_PRINTK
529 select SYS_SUPPORTS_64BIT_KERNEL
530 select SYS_SUPPORTS_BIG_ENDIAN
532 This is the SGI Indigo2 with R10000 processor. To compile a Linux
533 kernel that runs on these, say Y here.
542 select DMA_NONCOHERENT
545 select R5000_CPU_SCACHE
546 select RM7000_CPU_SCACHE
547 select SYS_HAS_CPU_R5000
548 select SYS_HAS_CPU_R10000 if BROKEN
549 select SYS_HAS_CPU_RM7000
550 select SYS_HAS_CPU_NEVADA
551 select SYS_SUPPORTS_64BIT_KERNEL
552 select SYS_SUPPORTS_BIG_ENDIAN
554 If you want this kernel to run on SGI O2 workstation, say Y here.
557 bool "Sibyte BCM91120C-CRhine"
558 depends on EXPERIMENTAL
561 select SIBYTE_BCM1120
563 select SYS_HAS_CPU_SB1
564 select SYS_SUPPORTS_BIG_ENDIAN
565 select SYS_SUPPORTS_LITTLE_ENDIAN
568 bool "Sibyte BCM91120x-Carmel"
569 depends on EXPERIMENTAL
572 select SIBYTE_BCM1120
574 select SYS_HAS_CPU_SB1
575 select SYS_SUPPORTS_BIG_ENDIAN
576 select SYS_SUPPORTS_LITTLE_ENDIAN
579 bool "Sibyte BCM91125C-CRhone"
580 depends on EXPERIMENTAL
583 select SIBYTE_BCM1125
585 select SYS_HAS_CPU_SB1
586 select SYS_SUPPORTS_BIG_ENDIAN
587 select SYS_SUPPORTS_HIGHMEM
588 select SYS_SUPPORTS_LITTLE_ENDIAN
591 bool "Sibyte BCM91125E-Rhone"
592 depends on EXPERIMENTAL
595 select SIBYTE_BCM1125H
597 select SYS_HAS_CPU_SB1
598 select SYS_SUPPORTS_BIG_ENDIAN
599 select SYS_SUPPORTS_LITTLE_ENDIAN
602 bool "Sibyte BCM91250A-SWARM"
605 select HAVE_PATA_PLATFORM
606 select NR_CPUS_DEFAULT_2
609 select SYS_HAS_CPU_SB1
610 select SYS_SUPPORTS_BIG_ENDIAN
611 select SYS_SUPPORTS_HIGHMEM
612 select SYS_SUPPORTS_LITTLE_ENDIAN
613 select ZONE_DMA32 if 64BIT
615 config SIBYTE_LITTLESUR
616 bool "Sibyte BCM91250C2-LittleSur"
617 depends on EXPERIMENTAL
620 select HAVE_PATA_PLATFORM
621 select NR_CPUS_DEFAULT_2
624 select SYS_HAS_CPU_SB1
625 select SYS_SUPPORTS_BIG_ENDIAN
626 select SYS_SUPPORTS_HIGHMEM
627 select SYS_SUPPORTS_LITTLE_ENDIAN
629 config SIBYTE_SENTOSA
630 bool "Sibyte BCM91250E-Sentosa"
631 depends on EXPERIMENTAL
634 select NR_CPUS_DEFAULT_2
637 select SYS_HAS_CPU_SB1
638 select SYS_SUPPORTS_BIG_ENDIAN
639 select SYS_SUPPORTS_LITTLE_ENDIAN
642 bool "Sibyte BCM91480B-BigSur"
645 select NR_CPUS_DEFAULT_4
646 select SIBYTE_BCM1x80
648 select SYS_HAS_CPU_SB1
649 select SYS_SUPPORTS_BIG_ENDIAN
650 select SYS_SUPPORTS_HIGHMEM
651 select SYS_SUPPORTS_LITTLE_ENDIAN
652 select ZONE_DMA32 if 64BIT
655 bool "SNI RM200/300/400"
656 select FW_ARC if CPU_LITTLE_ENDIAN
657 select FW_ARC32 if CPU_LITTLE_ENDIAN
658 select SNIPROM if CPU_BIG_ENDIAN
659 select ARCH_MAY_HAVE_PC_FDC
663 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
664 select DMA_NONCOHERENT
665 select GENERIC_ISA_DMA
666 select HAVE_PCSPKR_PLATFORM
673 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
674 select SYS_HAS_CPU_R4X00
675 select SYS_HAS_CPU_R5000
676 select SYS_HAS_CPU_R10000
677 select R5000_CPU_SCACHE
678 select SYS_HAS_EARLY_PRINTK
679 select SYS_SUPPORTS_32BIT_KERNEL
680 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
681 select SYS_SUPPORTS_BIG_ENDIAN
682 select SYS_SUPPORTS_HIGHMEM
683 select SYS_SUPPORTS_LITTLE_ENDIAN
685 The SNI RM200/300/400 are MIPS-based machines manufactured by
686 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
687 Technology and now in turn merged with Fujitsu. Say Y here to
688 support this machine type.
691 bool "Toshiba TX39 series based machines"
694 bool "Toshiba TX49 series based machines"
696 config MIKROTIK_RB532
697 bool "Mikrotik RB532 boards"
700 select DMA_NONCOHERENT
703 select SYS_HAS_CPU_MIPS32_R1
704 select SYS_SUPPORTS_32BIT_KERNEL
705 select SYS_SUPPORTS_LITTLE_ENDIAN
708 select ARCH_REQUIRE_GPIOLIB
710 Support the Mikrotik(tm) RouterBoard 532 series,
711 based on the IDT RC32434 SoC.
714 bool "Wind River PPMC board"
719 select DMA_NONCOHERENT
721 select PCI_GT64XXX_PCI0
723 select SYS_HAS_CPU_MIPS32_R1
724 select SYS_HAS_CPU_MIPS32_R2
725 select SYS_HAS_CPU_MIPS64_R1
726 select SYS_HAS_CPU_NEVADA
727 select SYS_HAS_CPU_RM7000
728 select SYS_SUPPORTS_32BIT_KERNEL
729 select SYS_SUPPORTS_64BIT_KERNEL
730 select SYS_SUPPORTS_BIG_ENDIAN
731 select SYS_SUPPORTS_LITTLE_ENDIAN
733 This enables support for the Wind River MIPS32 4KC PPMC evaluation
734 board, which is based on GT64120 bridge chip.
736 config CAVIUM_OCTEON_SIMULATOR
737 bool "Cavium Networks Octeon Simulator"
739 select 64BIT_PHYS_ADDR
741 select SYS_SUPPORTS_64BIT_KERNEL
742 select SYS_SUPPORTS_BIG_ENDIAN
743 select SYS_SUPPORTS_HOTPLUG_CPU
744 select SYS_HAS_CPU_CAVIUM_OCTEON
747 The Octeon simulator is software performance model of the Cavium
748 Octeon Processor. It supports simulating Octeon processors on x86
751 config CAVIUM_OCTEON_REFERENCE_BOARD
752 bool "Cavium Networks Octeon reference board"
754 select 64BIT_PHYS_ADDR
756 select SYS_SUPPORTS_64BIT_KERNEL
757 select SYS_SUPPORTS_BIG_ENDIAN
759 select SYS_SUPPORTS_HOTPLUG_CPU
760 select SYS_HAS_EARLY_PRINTK
761 select SYS_HAS_CPU_CAVIUM_OCTEON
764 select ARCH_SUPPORTS_MSI
766 select USB_ARCH_HAS_OHCI
767 select USB_ARCH_HAS_EHCI
770 This option supports all of the Octeon reference boards from Cavium
771 Networks. It builds a kernel that dynamically determines the Octeon
772 CPU type and supports all known board reference implementations.
773 Some of the supported boards are:
780 Say Y here for most Octeon reference boards.
783 bool "Netlogic XLR/XLS based systems"
784 depends on EXPERIMENTAL
787 select SYS_HAS_CPU_XLR
788 select SYS_SUPPORTS_SMP
791 select SYS_SUPPORTS_32BIT_KERNEL
792 select SYS_SUPPORTS_64BIT_KERNEL
793 select 64BIT_PHYS_ADDR
794 select SYS_SUPPORTS_BIG_ENDIAN
795 select SYS_SUPPORTS_HIGHMEM
797 select NR_CPUS_DEFAULT_32
801 select ARCH_SUPPORTS_MSI
802 select ZONE_DMA32 if 64BIT
804 select SYS_HAS_EARLY_PRINTK
805 select USB_ARCH_HAS_OHCI if USB_SUPPORT
806 select USB_ARCH_HAS_EHCI if USB_SUPPORT
808 Support for systems based on Netlogic XLR and XLS processors.
809 Say Y here if you have a XLR or XLS based board.
812 bool "Netlogic XLP based systems"
813 depends on EXPERIMENTAL
816 select SYS_HAS_CPU_XLP
817 select SYS_SUPPORTS_SMP
819 select SYS_SUPPORTS_32BIT_KERNEL
820 select SYS_SUPPORTS_64BIT_KERNEL
821 select 64BIT_PHYS_ADDR
822 select SYS_SUPPORTS_BIG_ENDIAN
823 select SYS_SUPPORTS_LITTLE_ENDIAN
824 select SYS_SUPPORTS_HIGHMEM
826 select NR_CPUS_DEFAULT_32
830 select ZONE_DMA32 if 64BIT
832 select SYS_HAS_EARLY_PRINTK
835 This board is based on Netlogic XLP Processor.
836 Say Y here if you have a XLP based board.
840 source "arch/mips/alchemy/Kconfig"
841 source "arch/mips/ath79/Kconfig"
842 source "arch/mips/bcm47xx/Kconfig"
843 source "arch/mips/bcm63xx/Kconfig"
844 source "arch/mips/jazz/Kconfig"
845 source "arch/mips/jz4740/Kconfig"
846 source "arch/mips/lantiq/Kconfig"
847 source "arch/mips/lasat/Kconfig"
848 source "arch/mips/pmc-sierra/Kconfig"
849 source "arch/mips/powertv/Kconfig"
850 source "arch/mips/sgi-ip27/Kconfig"
851 source "arch/mips/sibyte/Kconfig"
852 source "arch/mips/txx9/Kconfig"
853 source "arch/mips/vr41xx/Kconfig"
854 source "arch/mips/cavium-octeon/Kconfig"
855 source "arch/mips/loongson/Kconfig"
856 source "arch/mips/loongson1/Kconfig"
857 source "arch/mips/netlogic/Kconfig"
861 config RWSEM_GENERIC_SPINLOCK
865 config RWSEM_XCHGADD_ALGORITHM
868 config ARCH_HAS_ILOG2_U32
872 config ARCH_HAS_ILOG2_U64
876 config GENERIC_HWEIGHT
880 config GENERIC_CALIBRATE_DELAY
884 config SCHED_OMIT_FRAME_POINTER
889 # Select some configuration options automatically based on user selections.
894 config ARCH_MAY_HAVE_PC_FDC
935 select ARCH_REQUIRE_GPIOLIB
941 config ARCH_DMA_ADDR_T_64BIT
942 def_bool (HIGHMEM && 64BIT_PHYS_ADDR) || 64BIT
947 config DMA_NONCOHERENT
949 select NEED_DMA_MAP_STATE
951 config NEED_DMA_MAP_STATE
954 config SYS_HAS_EARLY_PRINTK
958 bool "Support for hot-pluggable CPUs"
959 depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU
961 Say Y here to allow turning CPUs off and on. CPUs can be
962 controlled through /sys/devices/system/cpu.
963 (Note: power management support will enable this option
964 automatically on SMP systems. )
965 Say N if you want to disable CPU hotplug.
967 config SYS_SUPPORTS_HOTPLUG_CPU
982 config MIPS_DISABLE_OBSOLETE_IDE
994 config GENERIC_ISA_DMA
996 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
999 config GENERIC_ISA_DMA_SUPPORT_BROKEN
1001 select GENERIC_ISA_DMA
1009 config HOLES_IN_ZONE
1013 # Endianness selection. Sufficiently obscure so many users don't know what to
1014 # answer,so we try hard to limit the available choices. Also the use of a
1015 # choice statement should be more obvious to the user.
1018 prompt "Endianness selection"
1020 Some MIPS machines can be configured for either little or big endian
1021 byte order. These modes require different kernels and a different
1022 Linux distribution. In general there is one preferred byteorder for a
1023 particular system but some systems are just as commonly used in the
1024 one or the other endianness.
1026 config CPU_BIG_ENDIAN
1028 depends on SYS_SUPPORTS_BIG_ENDIAN
1030 config CPU_LITTLE_ENDIAN
1031 bool "Little endian"
1032 depends on SYS_SUPPORTS_LITTLE_ENDIAN
1040 config SYS_SUPPORTS_APM_EMULATION
1043 config SYS_SUPPORTS_BIG_ENDIAN
1046 config SYS_SUPPORTS_LITTLE_ENDIAN
1049 config SYS_SUPPORTS_HUGETLBFS
1051 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
1054 config MIPS_HUGE_TLB_SUPPORT
1055 def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE
1078 config MIPS_BOARDS_GEN
1081 config PCI_GT64XXX_PCI0
1084 config NO_EXCEPT_FILL
1091 select DMA_NONCOHERENT
1093 select SWAP_IO_SPACE
1094 select SYS_HAS_CPU_R5500
1095 select SYS_SUPPORTS_32BIT_KERNEL
1096 select SYS_SUPPORTS_64BIT_KERNEL
1097 select SYS_SUPPORTS_BIG_ENDIAN
1104 select DMA_NONCOHERENT
1105 select SYS_HAS_CPU_MIPS32_R2
1106 select SYS_SUPPORTS_32BIT_KERNEL
1107 select SYS_SUPPORTS_LITTLE_ENDIAN
1108 select SYS_SUPPORTS_BIG_ENDIAN
1110 select CPU_MIPSR2_IRQ_VI
1122 select DMA_NONCOHERENT
1124 select SYS_HAS_CPU_MIPS32_R1
1125 select SYS_HAS_EARLY_PRINTK
1126 select SYS_SUPPORTS_32BIT_KERNEL
1129 config SWAP_IO_SPACE
1132 config SGI_HAS_INDYDOG
1144 config SGI_HAS_ZILOG
1147 config SGI_HAS_I8042
1150 config DEFAULT_SGI_PARTITION
1162 config MIPS_L1_CACHE_SHIFT
1164 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL
1165 default "6" if MIPS_CPU_SCACHE
1166 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON
1169 config HAVE_STD_PC_SERIAL_PORT
1173 bool "ARC console support"
1174 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
1178 depends on MACH_JAZZ || SNI_RM || SGI_IP32
1183 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
1192 menu "CPU selection"
1198 config CPU_LOONGSON2E
1200 depends on SYS_HAS_CPU_LOONGSON2E
1201 select CPU_LOONGSON2
1203 The Loongson 2E processor implements the MIPS III instruction set
1204 with many extensions.
1206 It has an internal FPGA northbridge, which is compatible to
1209 config CPU_LOONGSON2F
1211 depends on SYS_HAS_CPU_LOONGSON2F
1212 select CPU_LOONGSON2
1214 select ARCH_REQUIRE_GPIOLIB
1216 The Loongson 2F processor implements the MIPS III instruction set
1217 with many extensions.
1219 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1220 have a similar programming interface with FPGA northbridge used in
1223 config CPU_LOONGSON1B
1225 depends on SYS_HAS_CPU_LOONGSON1B
1226 select CPU_LOONGSON1
1228 The Loongson 1B is a 32-bit SoC, which implements the MIPS32
1229 release 2 instruction set.
1231 config CPU_MIPS32_R1
1232 bool "MIPS32 Release 1"
1233 depends on SYS_HAS_CPU_MIPS32_R1
1234 select CPU_HAS_PREFETCH
1235 select CPU_SUPPORTS_32BIT_KERNEL
1236 select CPU_SUPPORTS_HIGHMEM
1238 Choose this option to build a kernel for release 1 or later of the
1239 MIPS32 architecture. Most modern embedded systems with a 32-bit
1240 MIPS processor are based on a MIPS32 processor. If you know the
1241 specific type of processor in your system, choose those that one
1242 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1243 Release 2 of the MIPS32 architecture is available since several
1244 years so chances are you even have a MIPS32 Release 2 processor
1245 in which case you should choose CPU_MIPS32_R2 instead for better
1248 config CPU_MIPS32_R2
1249 bool "MIPS32 Release 2"
1250 depends on SYS_HAS_CPU_MIPS32_R2
1251 select CPU_HAS_PREFETCH
1252 select CPU_SUPPORTS_32BIT_KERNEL
1253 select CPU_SUPPORTS_HIGHMEM
1255 Choose this option to build a kernel for release 2 or later of the
1256 MIPS32 architecture. Most modern embedded systems with a 32-bit
1257 MIPS processor are based on a MIPS32 processor. If you know the
1258 specific type of processor in your system, choose those that one
1259 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1261 config CPU_MIPS64_R1
1262 bool "MIPS64 Release 1"
1263 depends on SYS_HAS_CPU_MIPS64_R1
1264 select CPU_HAS_PREFETCH
1265 select CPU_SUPPORTS_32BIT_KERNEL
1266 select CPU_SUPPORTS_64BIT_KERNEL
1267 select CPU_SUPPORTS_HIGHMEM
1268 select CPU_SUPPORTS_HUGEPAGES
1270 Choose this option to build a kernel for release 1 or later of the
1271 MIPS64 architecture. Many modern embedded systems with a 64-bit
1272 MIPS processor are based on a MIPS64 processor. If you know the
1273 specific type of processor in your system, choose those that one
1274 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1275 Release 2 of the MIPS64 architecture is available since several
1276 years so chances are you even have a MIPS64 Release 2 processor
1277 in which case you should choose CPU_MIPS64_R2 instead for better
1280 config CPU_MIPS64_R2
1281 bool "MIPS64 Release 2"
1282 depends on SYS_HAS_CPU_MIPS64_R2
1283 select CPU_HAS_PREFETCH
1284 select CPU_SUPPORTS_32BIT_KERNEL
1285 select CPU_SUPPORTS_64BIT_KERNEL
1286 select CPU_SUPPORTS_HIGHMEM
1287 select CPU_SUPPORTS_HUGEPAGES
1289 Choose this option to build a kernel for release 2 or later of the
1290 MIPS64 architecture. Many modern embedded systems with a 64-bit
1291 MIPS processor are based on a MIPS64 processor. If you know the
1292 specific type of processor in your system, choose those that one
1293 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1297 depends on SYS_HAS_CPU_R3000
1299 select CPU_SUPPORTS_32BIT_KERNEL
1300 select CPU_SUPPORTS_HIGHMEM
1302 Please make sure to pick the right CPU type. Linux/MIPS is not
1303 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1304 *not* work on R4000 machines and vice versa. However, since most
1305 of the supported machines have an R4000 (or similar) CPU, R4x00
1306 might be a safe bet. If the resulting kernel does not work,
1307 try to recompile with R3000.
1311 depends on SYS_HAS_CPU_TX39XX
1312 select CPU_SUPPORTS_32BIT_KERNEL
1316 depends on SYS_HAS_CPU_VR41XX
1317 select CPU_SUPPORTS_32BIT_KERNEL
1318 select CPU_SUPPORTS_64BIT_KERNEL
1320 The options selects support for the NEC VR4100 series of processors.
1321 Only choose this option if you have one of these processors as a
1322 kernel built with this option will not run on any other type of
1323 processor or vice versa.
1327 depends on SYS_HAS_CPU_R4300
1328 select CPU_SUPPORTS_32BIT_KERNEL
1329 select CPU_SUPPORTS_64BIT_KERNEL
1331 MIPS Technologies R4300-series processors.
1335 depends on SYS_HAS_CPU_R4X00
1336 select CPU_SUPPORTS_32BIT_KERNEL
1337 select CPU_SUPPORTS_64BIT_KERNEL
1338 select CPU_SUPPORTS_HUGEPAGES
1340 MIPS Technologies R4000-series processors other than 4300, including
1341 the R4000, R4400, R4600, and 4700.
1345 depends on SYS_HAS_CPU_TX49XX
1346 select CPU_HAS_PREFETCH
1347 select CPU_SUPPORTS_32BIT_KERNEL
1348 select CPU_SUPPORTS_64BIT_KERNEL
1349 select CPU_SUPPORTS_HUGEPAGES
1353 depends on SYS_HAS_CPU_R5000
1354 select CPU_SUPPORTS_32BIT_KERNEL
1355 select CPU_SUPPORTS_64BIT_KERNEL
1356 select CPU_SUPPORTS_HUGEPAGES
1358 MIPS Technologies R5000-series processors other than the Nevada.
1362 depends on SYS_HAS_CPU_R5432
1363 select CPU_SUPPORTS_32BIT_KERNEL
1364 select CPU_SUPPORTS_64BIT_KERNEL
1365 select CPU_SUPPORTS_HUGEPAGES
1369 depends on SYS_HAS_CPU_R5500
1370 select CPU_SUPPORTS_32BIT_KERNEL
1371 select CPU_SUPPORTS_64BIT_KERNEL
1372 select CPU_SUPPORTS_HUGEPAGES
1374 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1379 depends on EXPERIMENTAL
1380 depends on SYS_HAS_CPU_R6000
1381 select CPU_SUPPORTS_32BIT_KERNEL
1383 MIPS Technologies R6000 and R6000A series processors. Note these
1384 processors are extremely rare and the support for them is incomplete.
1388 depends on SYS_HAS_CPU_NEVADA
1389 select CPU_SUPPORTS_32BIT_KERNEL
1390 select CPU_SUPPORTS_64BIT_KERNEL
1391 select CPU_SUPPORTS_HUGEPAGES
1393 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1397 depends on EXPERIMENTAL
1398 depends on SYS_HAS_CPU_R8000
1399 select CPU_HAS_PREFETCH
1400 select CPU_SUPPORTS_64BIT_KERNEL
1402 MIPS Technologies R8000 processors. Note these processors are
1403 uncommon and the support for them is incomplete.
1407 depends on SYS_HAS_CPU_R10000
1408 select CPU_HAS_PREFETCH
1409 select CPU_SUPPORTS_32BIT_KERNEL
1410 select CPU_SUPPORTS_64BIT_KERNEL
1411 select CPU_SUPPORTS_HIGHMEM
1412 select CPU_SUPPORTS_HUGEPAGES
1414 MIPS Technologies R10000-series processors.
1418 depends on SYS_HAS_CPU_RM7000
1419 select CPU_HAS_PREFETCH
1420 select CPU_SUPPORTS_32BIT_KERNEL
1421 select CPU_SUPPORTS_64BIT_KERNEL
1422 select CPU_SUPPORTS_HIGHMEM
1423 select CPU_SUPPORTS_HUGEPAGES
1427 depends on SYS_HAS_CPU_SB1
1428 select CPU_SUPPORTS_32BIT_KERNEL
1429 select CPU_SUPPORTS_64BIT_KERNEL
1430 select CPU_SUPPORTS_HIGHMEM
1431 select CPU_SUPPORTS_HUGEPAGES
1432 select WEAK_ORDERING
1434 config CPU_CAVIUM_OCTEON
1435 bool "Cavium Octeon processor"
1436 depends on SYS_HAS_CPU_CAVIUM_OCTEON
1437 select ARCH_SPARSEMEM_ENABLE
1438 select CPU_HAS_PREFETCH
1439 select CPU_SUPPORTS_64BIT_KERNEL
1440 select SYS_SUPPORTS_SMP
1441 select NR_CPUS_DEFAULT_16
1442 select WEAK_ORDERING
1443 select CPU_SUPPORTS_HIGHMEM
1444 select CPU_SUPPORTS_HUGEPAGES
1448 The Cavium Octeon processor is a highly integrated chip containing
1449 many ethernet hardware widgets for networking tasks. The processor
1450 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1451 Full details can be found at http://www.caviumnetworks.com.
1453 config CPU_BMIPS3300
1455 depends on SYS_HAS_CPU_BMIPS3300
1458 Broadcom BMIPS3300 processors.
1460 config CPU_BMIPS4350
1462 depends on SYS_HAS_CPU_BMIPS4350
1464 select SYS_SUPPORTS_SMP
1465 select SYS_SUPPORTS_HOTPLUG_CPU
1467 Broadcom BMIPS4350 ("VIPER") processors.
1469 config CPU_BMIPS4380
1471 depends on SYS_HAS_CPU_BMIPS4380
1473 select SYS_SUPPORTS_SMP
1474 select SYS_SUPPORTS_HOTPLUG_CPU
1476 Broadcom BMIPS4380 processors.
1478 config CPU_BMIPS5000
1480 depends on SYS_HAS_CPU_BMIPS5000
1482 select CPU_SUPPORTS_HIGHMEM
1483 select MIPS_CPU_SCACHE
1484 select SYS_SUPPORTS_SMP
1485 select SYS_SUPPORTS_HOTPLUG_CPU
1487 Broadcom BMIPS5000 processors.
1490 bool "Netlogic XLR SoC"
1491 depends on SYS_HAS_CPU_XLR
1492 select CPU_SUPPORTS_32BIT_KERNEL
1493 select CPU_SUPPORTS_64BIT_KERNEL
1494 select CPU_SUPPORTS_HIGHMEM
1495 select CPU_SUPPORTS_HUGEPAGES
1496 select WEAK_ORDERING
1497 select WEAK_REORDERING_BEYOND_LLSC
1499 Netlogic Microsystems XLR/XLS processors.
1502 bool "Netlogic XLP SoC"
1503 depends on SYS_HAS_CPU_XLP
1504 select CPU_SUPPORTS_32BIT_KERNEL
1505 select CPU_SUPPORTS_64BIT_KERNEL
1506 select CPU_SUPPORTS_HIGHMEM
1508 select WEAK_ORDERING
1509 select WEAK_REORDERING_BEYOND_LLSC
1510 select CPU_HAS_PREFETCH
1513 Netlogic Microsystems XLP processors.
1517 config CPU_NOP_WORKAROUNDS
1520 config CPU_JUMP_WORKAROUNDS
1523 config CPU_LOONGSON2F_WORKAROUNDS
1524 bool "Loongson 2F Workarounds"
1526 select CPU_NOP_WORKAROUNDS
1527 select CPU_JUMP_WORKAROUNDS
1529 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1530 require workarounds. Without workarounds the system may hang
1531 unexpectedly. For more information please refer to the gas
1532 -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1534 Loongson 2F03 and later have fixed these issues and no workarounds
1535 are needed. The workarounds have no significant side effect on them
1536 but may decrease the performance of the system so this option should
1537 be disabled unless the kernel is intended to be run on 2F01 or 2F02
1540 If unsure, please say Y.
1541 endif # CPU_LOONGSON2F
1543 config SYS_SUPPORTS_ZBOOT
1545 select HAVE_KERNEL_GZIP
1546 select HAVE_KERNEL_BZIP2
1547 select HAVE_KERNEL_LZMA
1548 select HAVE_KERNEL_LZO
1550 config SYS_SUPPORTS_ZBOOT_UART16550
1552 select SYS_SUPPORTS_ZBOOT
1554 config CPU_LOONGSON2
1556 select CPU_SUPPORTS_32BIT_KERNEL
1557 select CPU_SUPPORTS_64BIT_KERNEL
1558 select CPU_SUPPORTS_HIGHMEM
1559 select CPU_SUPPORTS_HUGEPAGES
1561 config CPU_LOONGSON1
1565 select CPU_HAS_PREFETCH
1566 select CPU_SUPPORTS_32BIT_KERNEL
1567 select CPU_SUPPORTS_HIGHMEM
1572 select CPU_SUPPORTS_32BIT_KERNEL
1573 select DMA_NONCOHERENT
1575 select SWAP_IO_SPACE
1576 select WEAK_ORDERING
1578 config SYS_HAS_CPU_LOONGSON2E
1581 config SYS_HAS_CPU_LOONGSON2F
1583 select CPU_SUPPORTS_CPUFREQ
1584 select CPU_SUPPORTS_ADDRWINCFG if 64BIT
1585 select CPU_SUPPORTS_UNCACHED_ACCELERATED
1587 config SYS_HAS_CPU_LOONGSON1B
1590 config SYS_HAS_CPU_MIPS32_R1
1593 config SYS_HAS_CPU_MIPS32_R2
1596 config SYS_HAS_CPU_MIPS64_R1
1599 config SYS_HAS_CPU_MIPS64_R2
1602 config SYS_HAS_CPU_R3000
1605 config SYS_HAS_CPU_TX39XX
1608 config SYS_HAS_CPU_VR41XX
1611 config SYS_HAS_CPU_R4300
1614 config SYS_HAS_CPU_R4X00
1617 config SYS_HAS_CPU_TX49XX
1620 config SYS_HAS_CPU_R5000
1623 config SYS_HAS_CPU_R5432
1626 config SYS_HAS_CPU_R5500
1629 config SYS_HAS_CPU_R6000
1632 config SYS_HAS_CPU_NEVADA
1635 config SYS_HAS_CPU_R8000
1638 config SYS_HAS_CPU_R10000
1641 config SYS_HAS_CPU_RM7000
1644 config SYS_HAS_CPU_SB1
1647 config SYS_HAS_CPU_CAVIUM_OCTEON
1650 config SYS_HAS_CPU_BMIPS3300
1653 config SYS_HAS_CPU_BMIPS4350
1656 config SYS_HAS_CPU_BMIPS4380
1659 config SYS_HAS_CPU_BMIPS5000
1662 config SYS_HAS_CPU_XLR
1665 config SYS_HAS_CPU_XLP
1669 # CPU may reorder R->R, R->W, W->R, W->W
1670 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1672 config WEAK_ORDERING
1676 # CPU may reorder reads and writes beyond LL/SC
1677 # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1679 config WEAK_REORDERING_BEYOND_LLSC
1684 # These two indicate any level of the MIPS32 and MIPS64 architecture
1688 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1692 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1695 # These two indicate the revision of the architecture, either Release 1 or Release 2
1699 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1703 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1705 config SYS_SUPPORTS_32BIT_KERNEL
1707 config SYS_SUPPORTS_64BIT_KERNEL
1709 config CPU_SUPPORTS_32BIT_KERNEL
1711 config CPU_SUPPORTS_64BIT_KERNEL
1713 config CPU_SUPPORTS_CPUFREQ
1715 config CPU_SUPPORTS_ADDRWINCFG
1717 config CPU_SUPPORTS_HUGEPAGES
1719 config CPU_SUPPORTS_UNCACHED_ACCELERATED
1721 config MIPS_PGD_C0_CONTEXT
1723 default y if 64BIT && CPU_MIPSR2 && !CPU_XLP
1726 # Set to y for ptrace access to watch registers.
1728 config HARDWARE_WATCHPOINTS
1730 default y if CPU_MIPSR1 || CPU_MIPSR2
1735 prompt "Kernel code model"
1737 You should only select this option if you have a workload that
1738 actually benefits from 64-bit processing or if your machine has
1739 large memory. You will only be presented a single option in this
1740 menu if your system does not support both 32-bit and 64-bit kernels.
1743 bool "32-bit kernel"
1744 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1747 Select this option if you want to build a 32-bit kernel.
1749 bool "64-bit kernel"
1750 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1751 select HAVE_SYSCALL_WRAPPERS
1753 Select this option if you want to build a 64-bit kernel.
1758 prompt "Kernel page size"
1759 default PAGE_SIZE_4KB
1761 config PAGE_SIZE_4KB
1763 depends on !CPU_LOONGSON2
1765 This option select the standard 4kB Linux page size. On some
1766 R3000-family processors this is the only available page size. Using
1767 4kB page size will minimize memory consumption and is therefore
1768 recommended for low memory systems.
1770 config PAGE_SIZE_8KB
1772 depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
1774 Using 8kB page size will result in higher performance kernel at
1775 the price of higher memory consumption. This option is available
1776 only on R8000 and cnMIPS processors. Note that you will need a
1777 suitable Linux distribution to support this.
1779 config PAGE_SIZE_16KB
1781 depends on !CPU_R3000 && !CPU_TX39XX
1783 Using 16kB page size will result in higher performance kernel at
1784 the price of higher memory consumption. This option is available on
1785 all non-R3000 family processors. Note that you will need a suitable
1786 Linux distribution to support this.
1788 config PAGE_SIZE_32KB
1790 depends on CPU_CAVIUM_OCTEON
1792 Using 32kB page size will result in higher performance kernel at
1793 the price of higher memory consumption. This option is available
1794 only on cnMIPS cores. Note that you will need a suitable Linux
1795 distribution to support this.
1797 config PAGE_SIZE_64KB
1799 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1801 Using 64kB page size will result in higher performance kernel at
1802 the price of higher memory consumption. This option is available on
1803 all non-R3000 family processor. Not that at the time of this
1804 writing this option is still high experimental.
1808 config FORCE_MAX_ZONEORDER
1809 int "Maximum zone order"
1810 range 14 64 if HUGETLB_PAGE && PAGE_SIZE_64KB
1811 default "14" if HUGETLB_PAGE && PAGE_SIZE_64KB
1812 range 13 64 if HUGETLB_PAGE && PAGE_SIZE_32KB
1813 default "13" if HUGETLB_PAGE && PAGE_SIZE_32KB
1814 range 12 64 if HUGETLB_PAGE && PAGE_SIZE_16KB
1815 default "12" if HUGETLB_PAGE && PAGE_SIZE_16KB
1819 The kernel memory allocator divides physically contiguous memory
1820 blocks into "zones", where each zone is a power of two number of
1821 pages. This option selects the largest power of two that the kernel
1822 keeps in the memory allocator. If you need to allocate very large
1823 blocks of physically contiguous memory, then you may need to
1824 increase this value.
1826 This config option is actually maximum order plus one. For example,
1827 a value of 11 means that the largest free memory block is 2^10 pages.
1829 The page size is not necessarily 4KB. Keep this in mind
1830 when choosing a value for this option.
1835 config IP22_CPU_SCACHE
1840 # Support for a MIPS32 / MIPS64 style S-caches
1842 config MIPS_CPU_SCACHE
1846 config R5000_CPU_SCACHE
1850 config RM7000_CPU_SCACHE
1854 config SIBYTE_DMA_PAGEOPS
1855 bool "Use DMA to clear/copy pages"
1858 Instead of using the CPU to zero and copy pages, use a Data Mover
1859 channel. These DMA channels are otherwise unused by the standard
1860 SiByte Linux port. Seems to give a small performance benefit.
1862 config CPU_HAS_PREFETCH
1865 config CPU_GENERIC_DUMP_TLB
1867 default y if !(CPU_R3000 || CPU_R6000 || CPU_R8000 || CPU_TX39XX)
1871 default y if !(CPU_R3000 || CPU_R6000 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
1873 config CPU_R4K_CACHE_TLB
1875 default y if !(CPU_R3000 || CPU_R8000 || CPU_SB1 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
1878 prompt "MIPS MT options"
1880 config MIPS_MT_DISABLED
1881 bool "Disable multithreading support."
1883 Use this option if your workload can't take advantage of
1884 MIPS hardware multithreading support. On systems that don't have
1885 the option of an MT-enabled processor this option will be the only
1886 option in this menu.
1889 bool "Use 1 TC on each available VPE for SMP"
1890 depends on SYS_SUPPORTS_MULTITHREADING
1891 select CPU_MIPSR2_IRQ_VI
1892 select CPU_MIPSR2_IRQ_EI
1894 select NR_CPUS_DEFAULT_2
1896 select SYS_SUPPORTS_SCHED_SMT if SMP
1897 select SYS_SUPPORTS_SMP
1899 select MIPS_PERF_SHARED_TC_COUNTERS
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
1953 config SYS_SUPPORTS_MULTITHREADING
1956 config MIPS_MT_FPAFF
1957 bool "Dynamic FPU affinity for FP-intensive threads"
1959 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1961 config MIPS_VPE_LOADER
1962 bool "VPE loader support."
1963 depends on SYS_SUPPORTS_MULTITHREADING
1964 select CPU_MIPSR2_IRQ_VI
1965 select CPU_MIPSR2_IRQ_EI
1968 Includes a loader for loading an elf relocatable object
1969 onto another VPE and running it.
1971 config MIPS_MT_SMTC_IM_BACKSTOP
1972 bool "Use per-TC register bits as backstop for inhibited IM bits"
1973 depends on MIPS_MT_SMTC
1976 To support multiple TC microthreads acting as "CPUs" within
1977 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1978 during interrupt handling. To support legacy drivers and interrupt
1979 controller management code, SMTC has a "backstop" to track and
1980 if necessary restore the interrupt mask. This has some performance
1981 impact on interrupt service overhead.
1983 config MIPS_MT_SMTC_IRQAFF
1984 bool "Support IRQ affinity API"
1985 depends on MIPS_MT_SMTC
1988 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1989 for SMTC Linux kernel. Requires platform support, of which
1990 an example can be found in the MIPS kernel i8259 and Malta
1991 platform code. Adds some overhead to interrupt dispatch, and
1992 should be used only if you know what you are doing.
1994 config MIPS_VPE_LOADER_TOM
1995 bool "Load VPE program into memory hidden from linux"
1996 depends on MIPS_VPE_LOADER
1999 The loader can use memory that is present but has been hidden from
2000 Linux using the kernel command line option "mem=xxMB". It's up to
2001 you to ensure the amount you put in the option and the space your
2002 program requires is less or equal to the amount physically present.
2004 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
2005 config MIPS_VPE_APSP_API
2006 bool "Enable support for AP/SP API (RTLX)"
2007 depends on MIPS_VPE_LOADER
2011 bool "MIPS CMP framework support"
2012 depends on SYS_SUPPORTS_MIPS_CMP
2014 select SYS_SUPPORTS_SMP
2015 select SYS_SUPPORTS_SCHED_SMT if SMP
2016 select WEAK_ORDERING
2019 This is a placeholder option for the GCMP work. It will need to
2020 be handled differently...
2022 config SB1_PASS_1_WORKAROUNDS
2024 depends on CPU_SB1_PASS_1
2027 config SB1_PASS_2_WORKAROUNDS
2029 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
2032 config SB1_PASS_2_1_WORKAROUNDS
2034 depends on CPU_SB1 && CPU_SB1_PASS_2
2037 config 64BIT_PHYS_ADDR
2040 config ARCH_PHYS_ADDR_T_64BIT
2041 def_bool 64BIT_PHYS_ADDR
2043 config CPU_HAS_SMARTMIPS
2044 depends on SYS_SUPPORTS_SMARTMIPS
2045 bool "Support for the SmartMIPS ASE"
2047 SmartMIPS is a extension of the MIPS32 architecture aimed at
2048 increased security at both hardware and software level for
2049 smartcards. Enabling this option will allow proper use of the
2050 SmartMIPS instructions by Linux applications. However a kernel with
2051 this option will not work on a MIPS core without SmartMIPS core. If
2052 you don't know you probably don't have SmartMIPS and should say N
2062 # Vectored interrupt mode is an R2 feature
2064 config CPU_MIPSR2_IRQ_VI
2068 # Extended interrupt mode is an R2 feature
2070 config CPU_MIPSR2_IRQ_EI
2075 depends on !CPU_R3000
2081 config CPU_DADDI_WORKAROUNDS
2084 config CPU_R4000_WORKAROUNDS
2086 select CPU_R4400_WORKAROUNDS
2088 config CPU_R4400_WORKAROUNDS
2092 # - Highmem only makes sense for the 32-bit kernel.
2093 # - The current highmem code will only work properly on physically indexed
2094 # caches such as R3000, SB1, R7000 or those that look like they're virtually
2095 # indexed such as R4000/R4400 SC and MC versions or R10000. So for the
2096 # moment we protect the user and offer the highmem option only on machines
2097 # where it's known to be safe. This will not offer highmem on a few systems
2098 # such as MIPS32 and MIPS64 CPUs which may have virtual and physically
2099 # indexed CPUs but we're playing safe.
2100 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
2101 # know they might have memory configurations that could make use of highmem
2105 bool "High Memory Support"
2106 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
2108 config CPU_SUPPORTS_HIGHMEM
2111 config SYS_SUPPORTS_HIGHMEM
2114 config SYS_SUPPORTS_SMARTMIPS
2117 config ARCH_FLATMEM_ENABLE
2119 depends on !NUMA && !CPU_LOONGSON2
2121 config ARCH_DISCONTIGMEM_ENABLE
2123 default y if SGI_IP27
2125 Say Y to support efficient handling of discontiguous physical memory,
2126 for architectures which are either NUMA (Non-Uniform Memory Access)
2127 or have huge holes in the physical address space for other reasons.
2128 See <file:Documentation/vm/numa> for more.
2130 config ARCH_SPARSEMEM_ENABLE
2132 select SPARSEMEM_STATIC
2136 depends on SYS_SUPPORTS_NUMA
2138 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
2139 Access). This option improves performance on systems with more
2140 than two nodes; on two node systems it is generally better to
2141 leave it disabled; on single node systems disable this option
2144 config SYS_SUPPORTS_NUMA
2150 depends on NEED_MULTIPLE_NODES
2152 config HW_PERF_EVENTS
2153 bool "Enable hardware performance counter support for perf events"
2154 depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP)
2157 Enable hardware performance counter support for perf events. If
2158 disabled, perf events will use software events only.
2163 bool "Multi-Processing support"
2164 depends on SYS_SUPPORTS_SMP
2166 select USE_GENERIC_SMP_HELPERS
2168 This enables support for systems with more than one CPU. If you have
2169 a system with only one CPU, like most personal computers, say N. If
2170 you have a system with more than one CPU, say Y.
2172 If you say N here, the kernel will run on single and multiprocessor
2173 machines, but will use only one CPU of a multiprocessor machine. If
2174 you say Y here, the kernel will run on many, but not all,
2175 singleprocessor machines. On a singleprocessor machine, the kernel
2176 will run faster if you say N here.
2178 People using multiprocessor machines who say Y here should also say
2179 Y to "Enhanced Real Time Clock Support", below.
2181 See also the SMP-HOWTO available at
2182 <http://www.tldp.org/docs.html#howto>.
2184 If you don't know what to do here, say N.
2189 config SYS_SUPPORTS_MIPS_CMP
2192 config SYS_SUPPORTS_SMP
2195 config NR_CPUS_DEFAULT_1
2198 config NR_CPUS_DEFAULT_2
2201 config NR_CPUS_DEFAULT_4
2204 config NR_CPUS_DEFAULT_8
2207 config NR_CPUS_DEFAULT_16
2210 config NR_CPUS_DEFAULT_32
2213 config NR_CPUS_DEFAULT_64
2217 int "Maximum number of CPUs (2-64)"
2218 range 1 64 if NR_CPUS_DEFAULT_1
2220 default "1" if NR_CPUS_DEFAULT_1
2221 default "2" if NR_CPUS_DEFAULT_2
2222 default "4" if NR_CPUS_DEFAULT_4
2223 default "8" if NR_CPUS_DEFAULT_8
2224 default "16" if NR_CPUS_DEFAULT_16
2225 default "32" if NR_CPUS_DEFAULT_32
2226 default "64" if NR_CPUS_DEFAULT_64
2228 This allows you to specify the maximum number of CPUs which this
2229 kernel will support. The maximum supported value is 32 for 32-bit
2230 kernel and 64 for 64-bit kernels; the minimum value which makes
2231 sense is 1 for Qemu (useful only for kernel debugging purposes)
2232 and 2 for all others.
2234 This is purely to save memory - each supported CPU adds
2235 approximately eight kilobytes to the kernel image. For best
2236 performance should round up your number of processors to the next
2239 config MIPS_PERF_SHARED_TC_COUNTERS
2243 # Timer Interrupt Frequency Configuration
2247 prompt "Timer frequency"
2250 Allows the configuration of the timer frequency.
2253 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
2256 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
2259 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
2262 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
2265 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
2268 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
2271 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2275 config SYS_SUPPORTS_48HZ
2278 config SYS_SUPPORTS_100HZ
2281 config SYS_SUPPORTS_128HZ
2284 config SYS_SUPPORTS_250HZ
2287 config SYS_SUPPORTS_256HZ
2290 config SYS_SUPPORTS_1000HZ
2293 config SYS_SUPPORTS_1024HZ
2296 config SYS_SUPPORTS_ARBIT_HZ
2298 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2299 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2300 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2301 !SYS_SUPPORTS_1024HZ
2306 default 100 if HZ_100
2307 default 128 if HZ_128
2308 default 250 if HZ_250
2309 default 256 if HZ_256
2310 default 1000 if HZ_1000
2311 default 1024 if HZ_1024
2313 source "kernel/Kconfig.preempt"
2316 bool "Kexec system call (EXPERIMENTAL)"
2317 depends on EXPERIMENTAL
2319 kexec is a system call that implements the ability to shutdown your
2320 current kernel, and to start another kernel. It is like a reboot
2321 but it is independent of the system firmware. And like a reboot
2322 you can start any kernel with it, not just Linux.
2324 The name comes from the similarity to the exec system call.
2326 It is an ongoing process to be certain the hardware in a machine
2327 is properly shutdown, so do not be surprised if this code does not
2328 initially work for you. It may help to enable device hotplugging
2329 support. As of this writing the exact hardware interface is
2330 strongly in flux, so no good recommendation can be made.
2333 bool "Kernel crash dumps"
2335 Generate crash dump after being started by kexec.
2336 This should be normally only set in special crash dump kernels
2337 which are loaded in the main kernel with kexec-tools into
2338 a specially reserved region and then later executed after
2339 a crash by kdump/kexec. The crash dump kernel must be compiled
2340 to a memory address not used by the main kernel or firmware using
2343 config PHYSICAL_START
2344 hex "Physical address where the kernel is loaded"
2345 default "0xffffffff84000000" if 64BIT
2346 default "0x84000000" if 32BIT
2347 depends on CRASH_DUMP
2349 This gives the CKSEG0 or KSEG0 address where the kernel is loaded.
2350 If you plan to use kernel for capturing the crash dump change
2351 this value to start of the reserved region (the "X" value as
2352 specified in the "crashkernel=YM@XM" command line boot parameter
2353 passed to the panic-ed kernel).
2356 bool "Enable seccomp to safely compute untrusted bytecode"
2360 This kernel feature is useful for number crunching applications
2361 that may need to compute untrusted bytecode during their
2362 execution. By using pipes or other transports made available to
2363 the process as file descriptors supporting the read/write
2364 syscalls, it's possible to isolate those applications in
2365 their own address space using seccomp. Once seccomp is
2366 enabled via /proc/<pid>/seccomp, it cannot be disabled
2367 and the task is only allowed to execute a few safe syscalls
2368 defined by each seccomp mode.
2370 If unsure, say Y. Only embedded should say N here.
2375 select OF_EARLY_FLATTREE
2380 config LOCKDEP_SUPPORT
2384 config STACKTRACE_SUPPORT
2388 source "init/Kconfig"
2390 source "kernel/Kconfig.freezer"
2392 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2400 bool "Support for PCI controller"
2401 depends on HW_HAS_PCI
2403 select GENERIC_PCI_IOMAP
2404 select NO_GENERIC_PCI_IOPORT_MAP
2406 Find out whether you have a PCI motherboard. PCI is the name of a
2407 bus system, i.e. the way the CPU talks to the other stuff inside
2408 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2414 source "drivers/pci/Kconfig"
2416 source "drivers/pci/pcie/Kconfig"
2419 # ISA support is now enabled via select. Too many systems still have the one
2420 # or other ISA chip on the board that users don't know about so don't expect
2421 # users to choose the right thing ...
2428 depends on HW_HAS_EISA
2430 select GENERIC_ISA_DMA
2432 The Extended Industry Standard Architecture (EISA) bus was
2433 developed as an open alternative to the IBM MicroChannel bus.
2435 The EISA bus provided some of the features of the IBM MicroChannel
2436 bus while maintaining backward compatibility with cards made for
2437 the older ISA bus. The EISA bus saw limited use between 1988 and
2438 1995 when it was made obsolete by the PCI bus.
2440 Say Y here if you are building a kernel for an EISA-based machine.
2444 source "drivers/eisa/Kconfig"
2447 bool "TURBOchannel support"
2448 depends on MACH_DECSTATION
2450 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2451 processors. TURBOchannel programming specifications are available
2453 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
2455 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
2456 Linux driver support status is documented at:
2457 <http://www.linux-mips.org/wiki/DECstation>
2467 select MIPS_EXTERNAL_TIMER
2472 source "drivers/pcmcia/Kconfig"
2474 source "drivers/pci/hotplug/Kconfig"
2477 bool "RapidIO support"
2481 If you say Y here, the kernel will include drivers and
2482 infrastructure code to support RapidIO interconnect devices.
2484 source "drivers/rapidio/Kconfig"
2488 menu "Executable file formats"
2490 source "fs/Kconfig.binfmt"
2495 config MIPS32_COMPAT
2496 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2499 Select this option if you want Linux/MIPS 32-bit binary
2500 compatibility. Since all software available for Linux/MIPS is
2501 currently 32-bit you should say Y here.
2505 depends on MIPS32_COMPAT
2506 select ARCH_WANT_OLD_COMPAT_IPC
2509 config SYSVIPC_COMPAT
2511 depends on COMPAT && SYSVIPC
2515 bool "Kernel support for o32 binaries"
2516 depends on MIPS32_COMPAT
2518 Select this option if you want to run o32 binaries. These are pure
2519 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2520 existing binaries are in this format.
2525 bool "Kernel support for n32 binaries"
2526 depends on MIPS32_COMPAT
2528 Select this option if you want to run n32 binaries. These are
2529 64-bit binaries using 32-bit quantities for addressing and certain
2530 data that would normally be 64-bit. They are used in special
2537 default y if MIPS32_O32 || MIPS32_N32
2541 menu "Power management options"
2543 config ARCH_HIBERNATION_POSSIBLE
2545 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2547 config ARCH_SUSPEND_POSSIBLE
2549 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2551 source "kernel/power/Kconfig"
2555 source "arch/mips/kernel/cpufreq/Kconfig"
2557 source "net/Kconfig"
2559 source "drivers/Kconfig"
2561 source "drivers/firmware/Kconfig"
2565 source "arch/mips/Kconfig.debug"
2567 source "security/Kconfig"
2569 source "crypto/Kconfig"
2571 source "lib/Kconfig"