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 RTC_LIB if !MACH_LOONGSON
23 select GENERIC_ATOMIC64 if !64BIT
24 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
26 select HAVE_DMA_API_DEBUG
27 select HAVE_GENERIC_HARDIRQS
28 select GENERIC_IRQ_PROBE
29 select GENERIC_IRQ_SHOW
30 select HAVE_ARCH_JUMP_LABEL
31 select ARCH_WANT_IPC_PARSE_VERSION
32 select IRQ_FORCED_THREADING
34 select HAVE_MEMBLOCK_NODE_MAP
35 select ARCH_DISCARD_MEMBLOCK
36 select GENERIC_SMP_IDLE_THREAD
37 select BUILDTIME_EXTABLE_SORT
38 select GENERIC_CLOCKEVENTS
39 select GENERIC_CMOS_UPDATE
41 menu "Machine selection"
51 bool "Alchemy processor based machines"
52 select 64BIT_PHYS_ADDR
56 select SYS_HAS_CPU_MIPS32_R1
57 select SYS_SUPPORTS_32BIT_KERNEL
58 select SYS_SUPPORTS_APM_EMULATION
60 select ARCH_WANT_OPTIONAL_GPIOLIB
61 select SYS_SUPPORTS_ZBOOT
62 select USB_ARCH_HAS_OHCI
63 select USB_ARCH_HAS_EHCI
66 bool "Texas Instruments AR7"
68 select DMA_NONCOHERENT
74 select SYS_HAS_CPU_MIPS32_R1
75 select SYS_HAS_EARLY_PRINTK
76 select SYS_SUPPORTS_32BIT_KERNEL
77 select SYS_SUPPORTS_LITTLE_ENDIAN
78 select SYS_SUPPORTS_ZBOOT_UART16550
79 select ARCH_REQUIRE_GPIOLIB
83 Support for the Texas Instruments AR7 System-on-a-Chip
84 family: TNETD7100, 7200 and 7300.
87 bool "Atheros AR71XX/AR724X/AR913X based boards"
88 select ARCH_REQUIRE_GPIOLIB
92 select DMA_NONCOHERENT
96 select SYS_HAS_CPU_MIPS32_R2
97 select SYS_HAS_EARLY_PRINTK
98 select SYS_SUPPORTS_32BIT_KERNEL
99 select SYS_SUPPORTS_BIG_ENDIAN
101 Support for the Atheros AR71XX/AR724X/AR913X SoCs.
104 bool "Broadcom BCM47XX based boards"
107 select DMA_NONCOHERENT
110 select SYS_SUPPORTS_32BIT_KERNEL
111 select SYS_SUPPORTS_LITTLE_ENDIAN
113 select SYS_HAS_EARLY_PRINTK
116 Support for BCM47XX based boards
119 bool "Broadcom BCM63XX based boards"
122 select DMA_NONCOHERENT
124 select SYS_HAS_CPU_MIPS32_R1
125 select SYS_SUPPORTS_32BIT_KERNEL
126 select SYS_SUPPORTS_BIG_ENDIAN
127 select SYS_HAS_EARLY_PRINTK
129 select ARCH_REQUIRE_GPIOLIB
132 Support for BCM63XX based boards
139 select DMA_NONCOHERENT
145 select PCI_GT64XXX_PCI0
147 select SYS_HAS_CPU_NEVADA
148 select SYS_HAS_EARLY_PRINTK
149 select SYS_SUPPORTS_32BIT_KERNEL
150 select SYS_SUPPORTS_64BIT_KERNEL
151 select SYS_SUPPORTS_LITTLE_ENDIAN
153 config MACH_DECSTATION
160 select CPU_DADDI_WORKAROUNDS if 64BIT
161 select CPU_R4000_WORKAROUNDS if 64BIT
162 select CPU_R4400_WORKAROUNDS if 64BIT
163 select DMA_NONCOHERENT
166 select SYS_HAS_CPU_R3000
167 select SYS_HAS_CPU_R4X00
168 select SYS_SUPPORTS_32BIT_KERNEL
169 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
170 select SYS_SUPPORTS_LITTLE_ENDIAN
171 select SYS_SUPPORTS_128HZ
172 select SYS_SUPPORTS_256HZ
173 select SYS_SUPPORTS_1024HZ
175 This enables support for DEC's MIPS based workstations. For details
176 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
177 DECstation porting pages on <http://decstation.unix-ag.org/>.
179 If you have one of the following DECstation Models you definitely
180 want to choose R4xx0 for the CPU Type:
187 otherwise choose R3000.
190 bool "Jazz family of machines"
193 select ARCH_MAY_HAVE_PC_FDC
196 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
197 select GENERIC_ISA_DMA
198 select HAVE_PCSPKR_PLATFORM
203 select SYS_HAS_CPU_R4X00
204 select SYS_SUPPORTS_32BIT_KERNEL
205 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
206 select SYS_SUPPORTS_100HZ
208 This a family of machines based on the MIPS R4030 chipset which was
209 used by several vendors to build RISC/os and Windows NT workstations.
210 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
211 Olivetti M700-10 workstations.
214 bool "Ingenic JZ4740 based machines"
215 select SYS_HAS_CPU_MIPS32_R1
216 select SYS_SUPPORTS_32BIT_KERNEL
217 select SYS_SUPPORTS_LITTLE_ENDIAN
218 select SYS_SUPPORTS_ZBOOT_UART16550
219 select DMA_NONCOHERENT
222 select ARCH_REQUIRE_GPIOLIB
223 select SYS_HAS_EARLY_PRINTK
226 select GENERIC_IRQ_CHIP
229 bool "Lantiq based platforms"
230 select DMA_NONCOHERENT
234 select SYS_HAS_CPU_MIPS32_R1
235 select SYS_HAS_CPU_MIPS32_R2
236 select SYS_SUPPORTS_BIG_ENDIAN
237 select SYS_SUPPORTS_32BIT_KERNEL
238 select SYS_SUPPORTS_MULTITHREADING
239 select SYS_HAS_EARLY_PRINTK
240 select ARCH_REQUIRE_GPIOLIB
243 select HAVE_MACH_CLKDEV
247 select PINCTRL_LANTIQ
250 bool "LASAT Networks platforms"
253 select DMA_NONCOHERENT
254 select SYS_HAS_EARLY_PRINTK
257 select PCI_GT64XXX_PCI0
259 select R5000_CPU_SCACHE
260 select SYS_HAS_CPU_R5000
261 select SYS_SUPPORTS_32BIT_KERNEL
262 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
263 select SYS_SUPPORTS_LITTLE_ENDIAN
266 bool "Loongson family of machines"
267 select SYS_SUPPORTS_ZBOOT
269 This enables the support of Loongson family of machines.
271 Loongson is a family of general-purpose MIPS-compatible CPUs.
272 developed at Institute of Computing Technology (ICT),
273 Chinese Academy of Sciences (CAS) in the People's Republic
274 of China. The chief architect is Professor Weiwu Hu.
276 config MACH_LOONGSON1
277 bool "Loongson 1 family of machines"
278 select SYS_SUPPORTS_ZBOOT
280 This enables support for the Loongson 1 based machines.
282 Loongson 1 is a family of 32-bit MIPS-compatible SoCs developed by
283 the ICT (Institute of Computing Technology) and the Chinese Academy
287 bool "MIPS Malta board"
288 select ARCH_MAY_HAVE_PC_FDC
293 select DMA_NONCOHERENT
294 select GENERIC_ISA_DMA
295 select HAVE_PCSPKR_PLATFORM
301 select MIPS_BOARDS_GEN
303 select MIPS_CPU_SCACHE
304 select PCI_GT64XXX_PCI0
307 select SYS_HAS_CPU_MIPS32_R1
308 select SYS_HAS_CPU_MIPS32_R2
309 select SYS_HAS_CPU_MIPS64_R1
310 select SYS_HAS_CPU_MIPS64_R2
311 select SYS_HAS_CPU_NEVADA
312 select SYS_HAS_CPU_RM7000
313 select SYS_HAS_EARLY_PRINTK
314 select SYS_SUPPORTS_32BIT_KERNEL
315 select SYS_SUPPORTS_64BIT_KERNEL
316 select SYS_SUPPORTS_BIG_ENDIAN
317 select SYS_SUPPORTS_LITTLE_ENDIAN
318 select SYS_SUPPORTS_MIPS_CMP
319 select SYS_SUPPORTS_MULTITHREADING
320 select SYS_SUPPORTS_SMARTMIPS
321 select SYS_SUPPORTS_ZBOOT
323 This enables support for the MIPS Technologies Malta evaluation
327 bool "MIPS SEAD3 board"
332 select CPU_MIPSR2_IRQ_VI
333 select CPU_MIPSR2_IRQ_EI
334 select DMA_NONCOHERENT
337 select MIPS_BOARDS_GEN
338 select MIPS_CPU_SCACHE
340 select SYS_HAS_CPU_MIPS32_R1
341 select SYS_HAS_CPU_MIPS32_R2
342 select SYS_HAS_CPU_MIPS64_R1
343 select SYS_HAS_EARLY_PRINTK
344 select SYS_SUPPORTS_32BIT_KERNEL
345 select SYS_SUPPORTS_64BIT_KERNEL
346 select SYS_SUPPORTS_BIG_ENDIAN
347 select SYS_SUPPORTS_LITTLE_ENDIAN
348 select SYS_SUPPORTS_SMARTMIPS
349 select USB_ARCH_HAS_EHCI
350 select USB_EHCI_BIG_ENDIAN_DESC
351 select USB_EHCI_BIG_ENDIAN_MMIO
353 This enables support for the MIPS Technologies SEAD3 evaluation
357 bool "NEC EMMA2RH Mark-eins board"
361 This enables support for the NEC Electronics Mark-eins boards.
364 bool "NEC VR4100 series based machines"
367 select SYS_HAS_CPU_VR41XX
368 select ARCH_REQUIRE_GPIOLIB
371 bool "NXP STB220 board"
374 Support for NXP Semiconductors STB220 Development Board.
381 Support for NXP Semiconductors STB225 Development Board.
384 bool "NXP PNX8550 based JBS board"
386 select SYS_SUPPORTS_LITTLE_ENDIAN
388 config PNX8550_STB810
389 bool "NXP PNX8550 based STB810 board"
391 select SYS_SUPPORTS_LITTLE_ENDIAN
394 bool "PMC-Sierra MSP chipsets"
395 depends on EXPERIMENTAL
398 select DMA_NONCOHERENT
400 select NO_EXCEPT_FILL
402 select SYS_HAS_CPU_MIPS32_R1
403 select SYS_HAS_CPU_MIPS32_R2
404 select SYS_SUPPORTS_32BIT_KERNEL
405 select SYS_SUPPORTS_BIG_ENDIAN
408 select SERIAL_8250_CONSOLE
410 This adds support for the PMC-Sierra family of Multi-Service
411 Processor System-On-A-Chips. These parts include a number
412 of integrated peripherals, interfaces and DSPs in addition to
413 a variety of MIPS cores.
416 bool "PMC-Sierra Yosemite eval board"
425 select SYS_HAS_CPU_RM9000
426 select SYS_HAS_EARLY_PRINTK
427 select SYS_SUPPORTS_32BIT_KERNEL
428 select SYS_SUPPORTS_64BIT_KERNEL
429 select SYS_SUPPORTS_BIG_ENDIAN
430 select SYS_SUPPORTS_HIGHMEM
431 select SYS_SUPPORTS_SMP
433 Yosemite is an evaluation board for the RM9000x2 processor
434 manufactured by PMC-Sierra.
440 select CPU_MIPSR2_IRQ_VI
441 select CPU_MIPSR2_IRQ_EI
443 select DMA_NONCOHERENT
445 select SYS_HAS_EARLY_PRINTK
446 select SYS_HAS_CPU_MIPS32_R2
447 select SYS_SUPPORTS_32BIT_KERNEL
448 select SYS_SUPPORTS_BIG_ENDIAN
449 select SYS_SUPPORTS_HIGHMEM
450 select USB_OHCI_LITTLE_ENDIAN
452 This enables support for the Cisco PowerTV Platform.
455 bool "SGI IP22 (Indy/Indigo2)"
461 select DEFAULT_SGI_PARTITION
462 select DMA_NONCOHERENT
466 select IP22_CPU_SCACHE
468 select GENERIC_ISA_DMA_SUPPORT_BROKEN
470 select SGI_HAS_INDYDOG
476 select SYS_HAS_CPU_R4X00
477 select SYS_HAS_CPU_R5000
479 # Disable EARLY_PRINTK for now since it leads to overwritten prom
480 # memory during early boot on some machines.
482 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
483 # for a more details discussion
485 # select SYS_HAS_EARLY_PRINTK
486 select SYS_SUPPORTS_32BIT_KERNEL
487 select SYS_SUPPORTS_64BIT_KERNEL
488 select SYS_SUPPORTS_BIG_ENDIAN
490 This are the SGI Indy, Challenge S and Indigo2, as well as certain
491 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
492 that runs on these, say Y here.
495 bool "SGI IP27 (Origin200/2000)"
499 select DEFAULT_SGI_PARTITION
501 select SYS_HAS_EARLY_PRINTK
503 select NR_CPUS_DEFAULT_64
504 select SYS_HAS_CPU_R10000
505 select SYS_SUPPORTS_64BIT_KERNEL
506 select SYS_SUPPORTS_BIG_ENDIAN
507 select SYS_SUPPORTS_NUMA
508 select SYS_SUPPORTS_SMP
510 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
511 workstations. To compile a Linux kernel that runs on these, say Y
515 bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
516 depends on EXPERIMENTAL
522 select DEFAULT_SGI_PARTITION
523 select DMA_NONCOHERENT
524 select GENERIC_ISA_DMA_SUPPORT_BROKEN
530 select SGI_HAS_INDYDOG
536 select SYS_HAS_CPU_R10000
538 # Disable EARLY_PRINTK for now since it leads to overwritten prom
539 # memory during early boot on some machines.
541 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
542 # for a more details discussion
544 # select SYS_HAS_EARLY_PRINTK
545 select SYS_SUPPORTS_64BIT_KERNEL
546 select SYS_SUPPORTS_BIG_ENDIAN
548 This is the SGI Indigo2 with R10000 processor. To compile a Linux
549 kernel that runs on these, say Y here.
558 select DMA_NONCOHERENT
561 select R5000_CPU_SCACHE
562 select RM7000_CPU_SCACHE
563 select SYS_HAS_CPU_R5000
564 select SYS_HAS_CPU_R10000 if BROKEN
565 select SYS_HAS_CPU_RM7000
566 select SYS_HAS_CPU_NEVADA
567 select SYS_SUPPORTS_64BIT_KERNEL
568 select SYS_SUPPORTS_BIG_ENDIAN
570 If you want this kernel to run on SGI O2 workstation, say Y here.
573 bool "Sibyte BCM91120C-CRhine"
574 depends on EXPERIMENTAL
577 select SIBYTE_BCM1120
579 select SYS_HAS_CPU_SB1
580 select SYS_SUPPORTS_BIG_ENDIAN
581 select SYS_SUPPORTS_LITTLE_ENDIAN
584 bool "Sibyte BCM91120x-Carmel"
585 depends on EXPERIMENTAL
588 select SIBYTE_BCM1120
590 select SYS_HAS_CPU_SB1
591 select SYS_SUPPORTS_BIG_ENDIAN
592 select SYS_SUPPORTS_LITTLE_ENDIAN
595 bool "Sibyte BCM91125C-CRhone"
596 depends on EXPERIMENTAL
599 select SIBYTE_BCM1125
601 select SYS_HAS_CPU_SB1
602 select SYS_SUPPORTS_BIG_ENDIAN
603 select SYS_SUPPORTS_HIGHMEM
604 select SYS_SUPPORTS_LITTLE_ENDIAN
607 bool "Sibyte BCM91125E-Rhone"
608 depends on EXPERIMENTAL
611 select SIBYTE_BCM1125H
613 select SYS_HAS_CPU_SB1
614 select SYS_SUPPORTS_BIG_ENDIAN
615 select SYS_SUPPORTS_LITTLE_ENDIAN
618 bool "Sibyte BCM91250A-SWARM"
621 select HAVE_PATA_PLATFORM
622 select NR_CPUS_DEFAULT_2
625 select SYS_HAS_CPU_SB1
626 select SYS_SUPPORTS_BIG_ENDIAN
627 select SYS_SUPPORTS_HIGHMEM
628 select SYS_SUPPORTS_LITTLE_ENDIAN
629 select ZONE_DMA32 if 64BIT
631 config SIBYTE_LITTLESUR
632 bool "Sibyte BCM91250C2-LittleSur"
633 depends on EXPERIMENTAL
636 select HAVE_PATA_PLATFORM
637 select NR_CPUS_DEFAULT_2
640 select SYS_HAS_CPU_SB1
641 select SYS_SUPPORTS_BIG_ENDIAN
642 select SYS_SUPPORTS_HIGHMEM
643 select SYS_SUPPORTS_LITTLE_ENDIAN
645 config SIBYTE_SENTOSA
646 bool "Sibyte BCM91250E-Sentosa"
647 depends on EXPERIMENTAL
650 select NR_CPUS_DEFAULT_2
653 select SYS_HAS_CPU_SB1
654 select SYS_SUPPORTS_BIG_ENDIAN
655 select SYS_SUPPORTS_LITTLE_ENDIAN
658 bool "Sibyte BCM91480B-BigSur"
661 select NR_CPUS_DEFAULT_4
662 select SIBYTE_BCM1x80
664 select SYS_HAS_CPU_SB1
665 select SYS_SUPPORTS_BIG_ENDIAN
666 select SYS_SUPPORTS_HIGHMEM
667 select SYS_SUPPORTS_LITTLE_ENDIAN
668 select ZONE_DMA32 if 64BIT
671 bool "SNI RM200/300/400"
672 select ARC if CPU_LITTLE_ENDIAN
673 select ARC32 if CPU_LITTLE_ENDIAN
674 select SNIPROM if CPU_BIG_ENDIAN
675 select ARCH_MAY_HAVE_PC_FDC
679 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
680 select DMA_NONCOHERENT
681 select GENERIC_ISA_DMA
682 select HAVE_PCSPKR_PLATFORM
689 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
690 select SYS_HAS_CPU_R4X00
691 select SYS_HAS_CPU_R5000
692 select SYS_HAS_CPU_R10000
693 select R5000_CPU_SCACHE
694 select SYS_HAS_EARLY_PRINTK
695 select SYS_SUPPORTS_32BIT_KERNEL
696 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
697 select SYS_SUPPORTS_BIG_ENDIAN
698 select SYS_SUPPORTS_HIGHMEM
699 select SYS_SUPPORTS_LITTLE_ENDIAN
701 The SNI RM200/300/400 are MIPS-based machines manufactured by
702 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
703 Technology and now in turn merged with Fujitsu. Say Y here to
704 support this machine type.
707 bool "Toshiba TX39 series based machines"
710 bool "Toshiba TX49 series based machines"
712 config MIKROTIK_RB532
713 bool "Mikrotik RB532 boards"
716 select DMA_NONCOHERENT
719 select SYS_HAS_CPU_MIPS32_R1
720 select SYS_SUPPORTS_32BIT_KERNEL
721 select SYS_SUPPORTS_LITTLE_ENDIAN
724 select ARCH_REQUIRE_GPIOLIB
726 Support the Mikrotik(tm) RouterBoard 532 series,
727 based on the IDT RC32434 SoC.
730 bool "Wind River PPMC board"
735 select DMA_NONCOHERENT
737 select PCI_GT64XXX_PCI0
739 select SYS_HAS_CPU_MIPS32_R1
740 select SYS_HAS_CPU_MIPS32_R2
741 select SYS_HAS_CPU_MIPS64_R1
742 select SYS_HAS_CPU_NEVADA
743 select SYS_HAS_CPU_RM7000
744 select SYS_SUPPORTS_32BIT_KERNEL
745 select SYS_SUPPORTS_64BIT_KERNEL
746 select SYS_SUPPORTS_BIG_ENDIAN
747 select SYS_SUPPORTS_LITTLE_ENDIAN
749 This enables support for the Wind River MIPS32 4KC PPMC evaluation
750 board, which is based on GT64120 bridge chip.
752 config CAVIUM_OCTEON_SIMULATOR
753 bool "Cavium Networks Octeon Simulator"
755 select 64BIT_PHYS_ADDR
757 select SYS_SUPPORTS_64BIT_KERNEL
758 select SYS_SUPPORTS_BIG_ENDIAN
759 select SYS_SUPPORTS_HOTPLUG_CPU
760 select SYS_HAS_CPU_CAVIUM_OCTEON
763 The Octeon simulator is software performance model of the Cavium
764 Octeon Processor. It supports simulating Octeon processors on x86
767 config CAVIUM_OCTEON_REFERENCE_BOARD
768 bool "Cavium Networks Octeon reference board"
770 select 64BIT_PHYS_ADDR
772 select SYS_SUPPORTS_64BIT_KERNEL
773 select SYS_SUPPORTS_BIG_ENDIAN
774 select SYS_SUPPORTS_HOTPLUG_CPU
775 select SYS_HAS_EARLY_PRINTK
776 select SYS_HAS_CPU_CAVIUM_OCTEON
779 select ARCH_SUPPORTS_MSI
781 select USB_ARCH_HAS_OHCI
782 select USB_ARCH_HAS_EHCI
785 This option supports all of the Octeon reference boards from Cavium
786 Networks. It builds a kernel that dynamically determines the Octeon
787 CPU type and supports all known board reference implementations.
788 Some of the supported boards are:
795 Say Y here for most Octeon reference boards.
798 bool "Netlogic XLR/XLS based systems"
799 depends on EXPERIMENTAL
802 select SYS_HAS_CPU_XLR
803 select SYS_SUPPORTS_SMP
806 select SYS_SUPPORTS_32BIT_KERNEL
807 select SYS_SUPPORTS_64BIT_KERNEL
808 select 64BIT_PHYS_ADDR
809 select SYS_SUPPORTS_BIG_ENDIAN
810 select SYS_SUPPORTS_HIGHMEM
812 select NR_CPUS_DEFAULT_32
816 select ARCH_SUPPORTS_MSI
817 select ZONE_DMA if 64BIT
819 select SYS_HAS_EARLY_PRINTK
820 select USB_ARCH_HAS_OHCI if USB_SUPPORT
821 select USB_ARCH_HAS_EHCI if USB_SUPPORT
823 Support for systems based on Netlogic XLR and XLS processors.
824 Say Y here if you have a XLR or XLS based board.
827 bool "Netlogic XLP based systems"
828 depends on EXPERIMENTAL
831 select SYS_HAS_CPU_XLP
832 select SYS_SUPPORTS_SMP
834 select SYS_SUPPORTS_32BIT_KERNEL
835 select SYS_SUPPORTS_64BIT_KERNEL
836 select 64BIT_PHYS_ADDR
837 select SYS_SUPPORTS_BIG_ENDIAN
838 select SYS_SUPPORTS_LITTLE_ENDIAN
839 select SYS_SUPPORTS_HIGHMEM
841 select NR_CPUS_DEFAULT_32
845 select ZONE_DMA if 64BIT
847 select SYS_HAS_EARLY_PRINTK
850 This board is based on Netlogic XLP Processor.
851 Say Y here if you have a XLP based board.
855 source "arch/mips/alchemy/Kconfig"
856 source "arch/mips/ath79/Kconfig"
857 source "arch/mips/bcm47xx/Kconfig"
858 source "arch/mips/bcm63xx/Kconfig"
859 source "arch/mips/jazz/Kconfig"
860 source "arch/mips/jz4740/Kconfig"
861 source "arch/mips/lantiq/Kconfig"
862 source "arch/mips/lasat/Kconfig"
863 source "arch/mips/pmc-sierra/Kconfig"
864 source "arch/mips/powertv/Kconfig"
865 source "arch/mips/sgi-ip27/Kconfig"
866 source "arch/mips/sibyte/Kconfig"
867 source "arch/mips/txx9/Kconfig"
868 source "arch/mips/vr41xx/Kconfig"
869 source "arch/mips/cavium-octeon/Kconfig"
870 source "arch/mips/loongson/Kconfig"
871 source "arch/mips/loongson1/Kconfig"
872 source "arch/mips/netlogic/Kconfig"
876 config RWSEM_GENERIC_SPINLOCK
880 config RWSEM_XCHGADD_ALGORITHM
883 config ARCH_HAS_ILOG2_U32
887 config ARCH_HAS_ILOG2_U64
891 config GENERIC_HWEIGHT
895 config GENERIC_CALIBRATE_DELAY
899 config SCHED_OMIT_FRAME_POINTER
904 # Select some configuration options automatically based on user selections.
909 config ARCH_MAY_HAVE_PC_FDC
958 select ARCH_REQUIRE_GPIOLIB
964 config ARCH_DMA_ADDR_T_64BIT
965 def_bool (HIGHMEM && 64BIT_PHYS_ADDR) || 64BIT
970 config DMA_NONCOHERENT
972 select NEED_DMA_MAP_STATE
974 config NEED_DMA_MAP_STATE
977 config SYS_HAS_EARLY_PRINTK
981 bool "Support for hot-pluggable CPUs"
982 depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU
984 Say Y here to allow turning CPUs off and on. CPUs can be
985 controlled through /sys/devices/system/cpu.
986 (Note: power management support will enable this option
987 automatically on SMP systems. )
988 Say N if you want to disable CPU hotplug.
990 config SYS_SUPPORTS_HOTPLUG_CPU
1005 config MIPS_DISABLE_OBSOLETE_IDE
1017 config GENERIC_ISA_DMA
1019 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
1022 config GENERIC_ISA_DMA_SUPPORT_BROKEN
1024 select GENERIC_ISA_DMA
1032 config HOLES_IN_ZONE
1036 # Endianness selection. Sufficiently obscure so many users don't know what to
1037 # answer,so we try hard to limit the available choices. Also the use of a
1038 # choice statement should be more obvious to the user.
1041 prompt "Endianness selection"
1043 Some MIPS machines can be configured for either little or big endian
1044 byte order. These modes require different kernels and a different
1045 Linux distribution. In general there is one preferred byteorder for a
1046 particular system but some systems are just as commonly used in the
1047 one or the other endianness.
1049 config CPU_BIG_ENDIAN
1051 depends on SYS_SUPPORTS_BIG_ENDIAN
1053 config CPU_LITTLE_ENDIAN
1054 bool "Little endian"
1055 depends on SYS_SUPPORTS_LITTLE_ENDIAN
1063 config SYS_SUPPORTS_APM_EMULATION
1066 config SYS_SUPPORTS_BIG_ENDIAN
1069 config SYS_SUPPORTS_LITTLE_ENDIAN
1072 config SYS_SUPPORTS_HUGETLBFS
1074 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
1101 config MIPS_BOARDS_GEN
1104 config PCI_GT64XXX_PCI0
1107 config NO_EXCEPT_FILL
1112 select SERIAL_RM9000
1118 select DMA_NONCOHERENT
1120 select SWAP_IO_SPACE
1121 select SYS_HAS_CPU_R5500
1122 select SYS_SUPPORTS_32BIT_KERNEL
1123 select SYS_SUPPORTS_64BIT_KERNEL
1124 select SYS_SUPPORTS_BIG_ENDIAN
1131 select DMA_NONCOHERENT
1132 select SYS_HAS_CPU_MIPS32_R2
1133 select SYS_SUPPORTS_32BIT_KERNEL
1134 select SYS_SUPPORTS_LITTLE_ENDIAN
1135 select SYS_SUPPORTS_BIG_ENDIAN
1137 select CPU_MIPSR2_IRQ_VI
1149 select DMA_NONCOHERENT
1151 select SYS_HAS_CPU_MIPS32_R1
1152 select SYS_HAS_EARLY_PRINTK
1153 select SYS_SUPPORTS_32BIT_KERNEL
1156 config SWAP_IO_SPACE
1159 config SERIAL_RM9000
1162 config SGI_HAS_INDYDOG
1174 config SGI_HAS_ZILOG
1177 config SGI_HAS_I8042
1180 config DEFAULT_SGI_PARTITION
1192 config MIPS_L1_CACHE_SHIFT
1194 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL
1195 default "6" if MIPS_CPU_SCACHE
1196 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON
1199 config HAVE_STD_PC_SERIAL_PORT
1203 bool "ARC console support"
1204 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
1208 depends on MACH_JAZZ || SNI_RM || SGI_IP32
1213 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
1222 menu "CPU selection"
1228 config CPU_LOONGSON2E
1230 depends on SYS_HAS_CPU_LOONGSON2E
1231 select CPU_LOONGSON2
1233 The Loongson 2E processor implements the MIPS III instruction set
1234 with many extensions.
1236 It has an internal FPGA northbridge, which is compatible to
1239 config CPU_LOONGSON2F
1241 depends on SYS_HAS_CPU_LOONGSON2F
1242 select CPU_LOONGSON2
1244 select ARCH_REQUIRE_GPIOLIB
1246 The Loongson 2F processor implements the MIPS III instruction set
1247 with many extensions.
1249 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1250 have a similar programming interface with FPGA northbridge used in
1253 config CPU_LOONGSON1B
1255 depends on SYS_HAS_CPU_LOONGSON1B
1256 select CPU_LOONGSON1
1258 The Loongson 1B is a 32-bit SoC, which implements the MIPS32
1259 release 2 instruction set.
1261 config CPU_MIPS32_R1
1262 bool "MIPS32 Release 1"
1263 depends on SYS_HAS_CPU_MIPS32_R1
1264 select CPU_HAS_PREFETCH
1265 select CPU_SUPPORTS_32BIT_KERNEL
1266 select CPU_SUPPORTS_HIGHMEM
1268 Choose this option to build a kernel for release 1 or later of the
1269 MIPS32 architecture. Most modern embedded systems with a 32-bit
1270 MIPS processor are based on a MIPS32 processor. If you know the
1271 specific type of processor in your system, choose those that one
1272 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1273 Release 2 of the MIPS32 architecture is available since several
1274 years so chances are you even have a MIPS32 Release 2 processor
1275 in which case you should choose CPU_MIPS32_R2 instead for better
1278 config CPU_MIPS32_R2
1279 bool "MIPS32 Release 2"
1280 depends on SYS_HAS_CPU_MIPS32_R2
1281 select CPU_HAS_PREFETCH
1282 select CPU_SUPPORTS_32BIT_KERNEL
1283 select CPU_SUPPORTS_HIGHMEM
1285 Choose this option to build a kernel for release 2 or later of the
1286 MIPS32 architecture. Most modern embedded systems with a 32-bit
1287 MIPS processor are based on a MIPS32 processor. If you know the
1288 specific type of processor in your system, choose those that one
1289 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1291 config CPU_MIPS64_R1
1292 bool "MIPS64 Release 1"
1293 depends on SYS_HAS_CPU_MIPS64_R1
1294 select CPU_HAS_PREFETCH
1295 select CPU_SUPPORTS_32BIT_KERNEL
1296 select CPU_SUPPORTS_64BIT_KERNEL
1297 select CPU_SUPPORTS_HIGHMEM
1298 select CPU_SUPPORTS_HUGEPAGES
1300 Choose this option to build a kernel for release 1 or later of the
1301 MIPS64 architecture. Many modern embedded systems with a 64-bit
1302 MIPS processor are based on a MIPS64 processor. If you know the
1303 specific type of processor in your system, choose those that one
1304 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1305 Release 2 of the MIPS64 architecture is available since several
1306 years so chances are you even have a MIPS64 Release 2 processor
1307 in which case you should choose CPU_MIPS64_R2 instead for better
1310 config CPU_MIPS64_R2
1311 bool "MIPS64 Release 2"
1312 depends on SYS_HAS_CPU_MIPS64_R2
1313 select CPU_HAS_PREFETCH
1314 select CPU_SUPPORTS_32BIT_KERNEL
1315 select CPU_SUPPORTS_64BIT_KERNEL
1316 select CPU_SUPPORTS_HIGHMEM
1317 select CPU_SUPPORTS_HUGEPAGES
1319 Choose this option to build a kernel for release 2 or later of the
1320 MIPS64 architecture. Many modern embedded systems with a 64-bit
1321 MIPS processor are based on a MIPS64 processor. If you know the
1322 specific type of processor in your system, choose those that one
1323 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1327 depends on SYS_HAS_CPU_R3000
1329 select CPU_SUPPORTS_32BIT_KERNEL
1330 select CPU_SUPPORTS_HIGHMEM
1332 Please make sure to pick the right CPU type. Linux/MIPS is not
1333 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1334 *not* work on R4000 machines and vice versa. However, since most
1335 of the supported machines have an R4000 (or similar) CPU, R4x00
1336 might be a safe bet. If the resulting kernel does not work,
1337 try to recompile with R3000.
1341 depends on SYS_HAS_CPU_TX39XX
1342 select CPU_SUPPORTS_32BIT_KERNEL
1346 depends on SYS_HAS_CPU_VR41XX
1347 select CPU_SUPPORTS_32BIT_KERNEL
1348 select CPU_SUPPORTS_64BIT_KERNEL
1350 The options selects support for the NEC VR4100 series of processors.
1351 Only choose this option if you have one of these processors as a
1352 kernel built with this option will not run on any other type of
1353 processor or vice versa.
1357 depends on SYS_HAS_CPU_R4300
1358 select CPU_SUPPORTS_32BIT_KERNEL
1359 select CPU_SUPPORTS_64BIT_KERNEL
1361 MIPS Technologies R4300-series processors.
1365 depends on SYS_HAS_CPU_R4X00
1366 select CPU_SUPPORTS_32BIT_KERNEL
1367 select CPU_SUPPORTS_64BIT_KERNEL
1369 MIPS Technologies R4000-series processors other than 4300, including
1370 the R4000, R4400, R4600, and 4700.
1374 depends on SYS_HAS_CPU_TX49XX
1375 select CPU_HAS_PREFETCH
1376 select CPU_SUPPORTS_32BIT_KERNEL
1377 select CPU_SUPPORTS_64BIT_KERNEL
1381 depends on SYS_HAS_CPU_R5000
1382 select CPU_SUPPORTS_32BIT_KERNEL
1383 select CPU_SUPPORTS_64BIT_KERNEL
1385 MIPS Technologies R5000-series processors other than the Nevada.
1389 depends on SYS_HAS_CPU_R5432
1390 select CPU_SUPPORTS_32BIT_KERNEL
1391 select CPU_SUPPORTS_64BIT_KERNEL
1395 depends on SYS_HAS_CPU_R5500
1396 select CPU_SUPPORTS_32BIT_KERNEL
1397 select CPU_SUPPORTS_64BIT_KERNEL
1398 select CPU_SUPPORTS_HUGEPAGES
1400 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1405 depends on EXPERIMENTAL
1406 depends on SYS_HAS_CPU_R6000
1407 select CPU_SUPPORTS_32BIT_KERNEL
1409 MIPS Technologies R6000 and R6000A series processors. Note these
1410 processors are extremely rare and the support for them is incomplete.
1414 depends on SYS_HAS_CPU_NEVADA
1415 select CPU_SUPPORTS_32BIT_KERNEL
1416 select CPU_SUPPORTS_64BIT_KERNEL
1418 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1422 depends on EXPERIMENTAL
1423 depends on SYS_HAS_CPU_R8000
1424 select CPU_HAS_PREFETCH
1425 select CPU_SUPPORTS_64BIT_KERNEL
1427 MIPS Technologies R8000 processors. Note these processors are
1428 uncommon and the support for them is incomplete.
1432 depends on SYS_HAS_CPU_R10000
1433 select CPU_HAS_PREFETCH
1434 select CPU_SUPPORTS_32BIT_KERNEL
1435 select CPU_SUPPORTS_64BIT_KERNEL
1436 select CPU_SUPPORTS_HIGHMEM
1438 MIPS Technologies R10000-series processors.
1442 depends on SYS_HAS_CPU_RM7000
1443 select CPU_HAS_PREFETCH
1444 select CPU_SUPPORTS_32BIT_KERNEL
1445 select CPU_SUPPORTS_64BIT_KERNEL
1446 select CPU_SUPPORTS_HIGHMEM
1450 depends on SYS_HAS_CPU_RM9000
1451 select CPU_HAS_PREFETCH
1452 select CPU_SUPPORTS_32BIT_KERNEL
1453 select CPU_SUPPORTS_64BIT_KERNEL
1454 select CPU_SUPPORTS_HIGHMEM
1455 select WEAK_ORDERING
1459 depends on SYS_HAS_CPU_SB1
1460 select CPU_SUPPORTS_32BIT_KERNEL
1461 select CPU_SUPPORTS_64BIT_KERNEL
1462 select CPU_SUPPORTS_HIGHMEM
1463 select WEAK_ORDERING
1465 config CPU_CAVIUM_OCTEON
1466 bool "Cavium Octeon processor"
1467 depends on SYS_HAS_CPU_CAVIUM_OCTEON
1468 select ARCH_SPARSEMEM_ENABLE
1469 select CPU_HAS_PREFETCH
1470 select CPU_SUPPORTS_64BIT_KERNEL
1471 select SYS_SUPPORTS_SMP
1472 select NR_CPUS_DEFAULT_16
1473 select WEAK_ORDERING
1474 select CPU_SUPPORTS_HIGHMEM
1475 select CPU_SUPPORTS_HUGEPAGES
1479 The Cavium Octeon processor is a highly integrated chip containing
1480 many ethernet hardware widgets for networking tasks. The processor
1481 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1482 Full details can be found at http://www.caviumnetworks.com.
1484 config CPU_BMIPS3300
1486 depends on SYS_HAS_CPU_BMIPS3300
1489 Broadcom BMIPS3300 processors.
1491 config CPU_BMIPS4350
1493 depends on SYS_HAS_CPU_BMIPS4350
1495 select SYS_SUPPORTS_SMP
1496 select SYS_SUPPORTS_HOTPLUG_CPU
1498 Broadcom BMIPS4350 ("VIPER") processors.
1500 config CPU_BMIPS4380
1502 depends on SYS_HAS_CPU_BMIPS4380
1504 select SYS_SUPPORTS_SMP
1505 select SYS_SUPPORTS_HOTPLUG_CPU
1507 Broadcom BMIPS4380 processors.
1509 config CPU_BMIPS5000
1511 depends on SYS_HAS_CPU_BMIPS5000
1513 select CPU_SUPPORTS_HIGHMEM
1514 select MIPS_CPU_SCACHE
1515 select SYS_SUPPORTS_SMP
1516 select SYS_SUPPORTS_HOTPLUG_CPU
1518 Broadcom BMIPS5000 processors.
1521 bool "Netlogic XLR SoC"
1522 depends on SYS_HAS_CPU_XLR
1523 select CPU_SUPPORTS_32BIT_KERNEL
1524 select CPU_SUPPORTS_64BIT_KERNEL
1525 select CPU_SUPPORTS_HIGHMEM
1526 select WEAK_ORDERING
1527 select WEAK_REORDERING_BEYOND_LLSC
1528 select CPU_SUPPORTS_HUGEPAGES
1530 Netlogic Microsystems XLR/XLS processors.
1533 bool "Netlogic XLP SoC"
1534 depends on SYS_HAS_CPU_XLP
1535 select CPU_SUPPORTS_32BIT_KERNEL
1536 select CPU_SUPPORTS_64BIT_KERNEL
1537 select CPU_SUPPORTS_HIGHMEM
1539 select WEAK_ORDERING
1540 select WEAK_REORDERING_BEYOND_LLSC
1541 select CPU_HAS_PREFETCH
1543 Netlogic Microsystems XLP processors.
1547 config CPU_NOP_WORKAROUNDS
1550 config CPU_JUMP_WORKAROUNDS
1553 config CPU_LOONGSON2F_WORKAROUNDS
1554 bool "Loongson 2F Workarounds"
1556 select CPU_NOP_WORKAROUNDS
1557 select CPU_JUMP_WORKAROUNDS
1559 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1560 require workarounds. Without workarounds the system may hang
1561 unexpectedly. For more information please refer to the gas
1562 -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1564 Loongson 2F03 and later have fixed these issues and no workarounds
1565 are needed. The workarounds have no significant side effect on them
1566 but may decrease the performance of the system so this option should
1567 be disabled unless the kernel is intended to be run on 2F01 or 2F02
1570 If unsure, please say Y.
1571 endif # CPU_LOONGSON2F
1573 config SYS_SUPPORTS_ZBOOT
1575 select HAVE_KERNEL_GZIP
1576 select HAVE_KERNEL_BZIP2
1577 select HAVE_KERNEL_LZMA
1578 select HAVE_KERNEL_LZO
1580 config SYS_SUPPORTS_ZBOOT_UART16550
1582 select SYS_SUPPORTS_ZBOOT
1584 config CPU_LOONGSON2
1586 select CPU_SUPPORTS_32BIT_KERNEL
1587 select CPU_SUPPORTS_64BIT_KERNEL
1588 select CPU_SUPPORTS_HIGHMEM
1590 config CPU_LOONGSON1
1594 select CPU_HAS_PREFETCH
1595 select CPU_SUPPORTS_32BIT_KERNEL
1596 select CPU_SUPPORTS_HIGHMEM
1601 select CPU_SUPPORTS_32BIT_KERNEL
1602 select DMA_NONCOHERENT
1604 select SWAP_IO_SPACE
1605 select WEAK_ORDERING
1607 config SYS_HAS_CPU_LOONGSON2E
1610 config SYS_HAS_CPU_LOONGSON2F
1612 select CPU_SUPPORTS_CPUFREQ
1613 select CPU_SUPPORTS_ADDRWINCFG if 64BIT
1614 select CPU_SUPPORTS_UNCACHED_ACCELERATED
1616 config SYS_HAS_CPU_LOONGSON1B
1619 config SYS_HAS_CPU_MIPS32_R1
1622 config SYS_HAS_CPU_MIPS32_R2
1625 config SYS_HAS_CPU_MIPS64_R1
1628 config SYS_HAS_CPU_MIPS64_R2
1631 config SYS_HAS_CPU_R3000
1634 config SYS_HAS_CPU_TX39XX
1637 config SYS_HAS_CPU_VR41XX
1640 config SYS_HAS_CPU_R4300
1643 config SYS_HAS_CPU_R4X00
1646 config SYS_HAS_CPU_TX49XX
1649 config SYS_HAS_CPU_R5000
1652 config SYS_HAS_CPU_R5432
1655 config SYS_HAS_CPU_R5500
1658 config SYS_HAS_CPU_R6000
1661 config SYS_HAS_CPU_NEVADA
1664 config SYS_HAS_CPU_R8000
1667 config SYS_HAS_CPU_R10000
1670 config SYS_HAS_CPU_RM7000
1673 config SYS_HAS_CPU_RM9000
1676 config SYS_HAS_CPU_SB1
1679 config SYS_HAS_CPU_CAVIUM_OCTEON
1682 config SYS_HAS_CPU_BMIPS3300
1685 config SYS_HAS_CPU_BMIPS4350
1688 config SYS_HAS_CPU_BMIPS4380
1691 config SYS_HAS_CPU_BMIPS5000
1694 config SYS_HAS_CPU_XLR
1697 config SYS_HAS_CPU_XLP
1701 # CPU may reorder R->R, R->W, W->R, W->W
1702 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1704 config WEAK_ORDERING
1708 # CPU may reorder reads and writes beyond LL/SC
1709 # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1711 config WEAK_REORDERING_BEYOND_LLSC
1716 # These two indicate any level of the MIPS32 and MIPS64 architecture
1720 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1724 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1727 # These two indicate the revision of the architecture, either Release 1 or Release 2
1731 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1735 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1737 config SYS_SUPPORTS_32BIT_KERNEL
1739 config SYS_SUPPORTS_64BIT_KERNEL
1741 config CPU_SUPPORTS_32BIT_KERNEL
1743 config CPU_SUPPORTS_64BIT_KERNEL
1745 config CPU_SUPPORTS_CPUFREQ
1747 config CPU_SUPPORTS_ADDRWINCFG
1749 config CPU_SUPPORTS_HUGEPAGES
1751 config CPU_SUPPORTS_UNCACHED_ACCELERATED
1753 config MIPS_PGD_C0_CONTEXT
1755 default y if 64BIT && CPU_MIPSR2
1758 # Set to y for ptrace access to watch registers.
1760 config HARDWARE_WATCHPOINTS
1762 default y if CPU_MIPSR1 || CPU_MIPSR2
1767 prompt "Kernel code model"
1769 You should only select this option if you have a workload that
1770 actually benefits from 64-bit processing or if your machine has
1771 large memory. You will only be presented a single option in this
1772 menu if your system does not support both 32-bit and 64-bit kernels.
1775 bool "32-bit kernel"
1776 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1779 Select this option if you want to build a 32-bit kernel.
1781 bool "64-bit kernel"
1782 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1783 select HAVE_SYSCALL_WRAPPERS
1785 Select this option if you want to build a 64-bit kernel.
1790 prompt "Kernel page size"
1791 default PAGE_SIZE_4KB
1793 config PAGE_SIZE_4KB
1795 depends on !CPU_LOONGSON2
1797 This option select the standard 4kB Linux page size. On some
1798 R3000-family processors this is the only available page size. Using
1799 4kB page size will minimize memory consumption and is therefore
1800 recommended for low memory systems.
1802 config PAGE_SIZE_8KB
1804 depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
1806 Using 8kB page size will result in higher performance kernel at
1807 the price of higher memory consumption. This option is available
1808 only on R8000 and cnMIPS processors. Note that you will need a
1809 suitable Linux distribution to support this.
1811 config PAGE_SIZE_16KB
1813 depends on !CPU_R3000 && !CPU_TX39XX
1815 Using 16kB page size will result in higher performance kernel at
1816 the price of higher memory consumption. This option is available on
1817 all non-R3000 family processors. Note that you will need a suitable
1818 Linux distribution to support this.
1820 config PAGE_SIZE_32KB
1822 depends on CPU_CAVIUM_OCTEON
1824 Using 32kB page size will result in higher performance kernel at
1825 the price of higher memory consumption. This option is available
1826 only on cnMIPS cores. Note that you will need a suitable Linux
1827 distribution to support this.
1829 config PAGE_SIZE_64KB
1831 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1833 Using 64kB page size will result in higher performance kernel at
1834 the price of higher memory consumption. This option is available on
1835 all non-R3000 family processor. Not that at the time of this
1836 writing this option is still high experimental.
1840 config FORCE_MAX_ZONEORDER
1841 int "Maximum zone order"
1842 range 14 64 if HUGETLB_PAGE && PAGE_SIZE_64KB
1843 default "14" if HUGETLB_PAGE && PAGE_SIZE_64KB
1844 range 13 64 if HUGETLB_PAGE && PAGE_SIZE_32KB
1845 default "13" if HUGETLB_PAGE && PAGE_SIZE_32KB
1846 range 12 64 if HUGETLB_PAGE && PAGE_SIZE_16KB
1847 default "12" if HUGETLB_PAGE && PAGE_SIZE_16KB
1851 The kernel memory allocator divides physically contiguous memory
1852 blocks into "zones", where each zone is a power of two number of
1853 pages. This option selects the largest power of two that the kernel
1854 keeps in the memory allocator. If you need to allocate very large
1855 blocks of physically contiguous memory, then you may need to
1856 increase this value.
1858 This config option is actually maximum order plus one. For example,
1859 a value of 11 means that the largest free memory block is 2^10 pages.
1861 The page size is not necessarily 4KB. Keep this in mind
1862 when choosing a value for this option.
1867 config IP22_CPU_SCACHE
1872 # Support for a MIPS32 / MIPS64 style S-caches
1874 config MIPS_CPU_SCACHE
1878 config R5000_CPU_SCACHE
1882 config RM7000_CPU_SCACHE
1886 config SIBYTE_DMA_PAGEOPS
1887 bool "Use DMA to clear/copy pages"
1890 Instead of using the CPU to zero and copy pages, use a Data Mover
1891 channel. These DMA channels are otherwise unused by the standard
1892 SiByte Linux port. Seems to give a small performance benefit.
1894 config CPU_HAS_PREFETCH
1897 config CPU_GENERIC_DUMP_TLB
1899 default y if !(CPU_R3000 || CPU_R6000 || CPU_R8000 || CPU_TX39XX)
1903 default y if !(CPU_R3000 || CPU_R6000 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
1905 config CPU_R4K_CACHE_TLB
1907 default y if !(CPU_R3000 || CPU_R8000 || CPU_SB1 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
1910 prompt "MIPS MT options"
1912 config MIPS_MT_DISABLED
1913 bool "Disable multithreading support."
1915 Use this option if your workload can't take advantage of
1916 MIPS hardware multithreading support. On systems that don't have
1917 the option of an MT-enabled processor this option will be the only
1918 option in this menu.
1921 bool "Use 1 TC on each available VPE for SMP"
1922 depends on SYS_SUPPORTS_MULTITHREADING
1923 select CPU_MIPSR2_IRQ_VI
1924 select CPU_MIPSR2_IRQ_EI
1926 select NR_CPUS_DEFAULT_2
1928 select SYS_SUPPORTS_SCHED_SMT if SMP
1929 select SYS_SUPPORTS_SMP
1932 This is a kernel model which is known a VSMP but lately has been
1933 marketesed into SMVP.
1934 Virtual SMP uses the processor's VPEs to implement virtual
1935 processors. In currently available configuration of the 34K processor
1936 this allows for a dual processor. Both processors will share the same
1937 primary caches; each will obtain the half of the TLB for it's own
1938 exclusive use. For a layman this model can be described as similar to
1939 what Intel calls Hyperthreading.
1941 For further information see http://www.linux-mips.org/wiki/34K#VSMP
1944 bool "SMTC: Use all TCs on all VPEs for SMP"
1945 depends on CPU_MIPS32_R2
1946 #depends on CPU_MIPS64_R2 # once there is hardware ...
1947 depends on SYS_SUPPORTS_MULTITHREADING
1948 select CPU_MIPSR2_IRQ_VI
1949 select CPU_MIPSR2_IRQ_EI
1951 select NR_CPUS_DEFAULT_8
1953 select SYS_SUPPORTS_SMP
1956 This is a kernel model which is known a SMTC or lately has been
1957 marketesed into SMVP.
1958 is presenting the available TC's of the core as processors to Linux.
1959 On currently available 34K processors this means a Linux system will
1960 see up to 5 processors. The implementation of the SMTC kernel differs
1961 significantly from VSMP and cannot efficiently coexist in the same
1962 kernel binary so the choice between VSMP and SMTC is a compile time
1965 For further information see http://www.linux-mips.org/wiki/34K#SMTC
1973 bool "SMT (multithreading) scheduler support"
1974 depends on SYS_SUPPORTS_SCHED_SMT
1977 SMT scheduler support improves the CPU scheduler's decision making
1978 when dealing with MIPS MT enabled cores at a cost of slightly
1979 increased overhead in some places. If unsure say N here.
1981 config SYS_SUPPORTS_SCHED_SMT
1984 config SYS_SUPPORTS_MULTITHREADING
1987 config MIPS_MT_FPAFF
1988 bool "Dynamic FPU affinity for FP-intensive threads"
1990 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1992 config MIPS_VPE_LOADER
1993 bool "VPE loader support."
1994 depends on SYS_SUPPORTS_MULTITHREADING
1995 select CPU_MIPSR2_IRQ_VI
1996 select CPU_MIPSR2_IRQ_EI
1999 Includes a loader for loading an elf relocatable object
2000 onto another VPE and running it.
2002 config MIPS_MT_SMTC_IM_BACKSTOP
2003 bool "Use per-TC register bits as backstop for inhibited IM bits"
2004 depends on MIPS_MT_SMTC
2007 To support multiple TC microthreads acting as "CPUs" within
2008 a VPE, VPE-wide interrupt mask bits must be specially manipulated
2009 during interrupt handling. To support legacy drivers and interrupt
2010 controller management code, SMTC has a "backstop" to track and
2011 if necessary restore the interrupt mask. This has some performance
2012 impact on interrupt service overhead.
2014 config MIPS_MT_SMTC_IRQAFF
2015 bool "Support IRQ affinity API"
2016 depends on MIPS_MT_SMTC
2019 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
2020 for SMTC Linux kernel. Requires platform support, of which
2021 an example can be found in the MIPS kernel i8259 and Malta
2022 platform code. Adds some overhead to interrupt dispatch, and
2023 should be used only if you know what you are doing.
2025 config MIPS_VPE_LOADER_TOM
2026 bool "Load VPE program into memory hidden from linux"
2027 depends on MIPS_VPE_LOADER
2030 The loader can use memory that is present but has been hidden from
2031 Linux using the kernel command line option "mem=xxMB". It's up to
2032 you to ensure the amount you put in the option and the space your
2033 program requires is less or equal to the amount physically present.
2035 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
2036 config MIPS_VPE_APSP_API
2037 bool "Enable support for AP/SP API (RTLX)"
2038 depends on MIPS_VPE_LOADER
2041 config MIPS_APSP_KSPD
2043 depends on MIPS_VPE_APSP_API
2046 KSPD is a kernel daemon that accepts syscall requests from the SP
2047 side, actions them and returns the results. It also handles the
2048 "exit" syscall notifying other kernel modules the SP program is
2049 exiting. You probably want to say yes here.
2052 bool "MIPS CMP framework support"
2053 depends on SYS_SUPPORTS_MIPS_CMP
2055 select SYS_SUPPORTS_SMP
2056 select SYS_SUPPORTS_SCHED_SMT if SMP
2057 select WEAK_ORDERING
2060 This is a placeholder option for the GCMP work. It will need to
2061 be handled differently...
2063 config SB1_PASS_1_WORKAROUNDS
2065 depends on CPU_SB1_PASS_1
2068 config SB1_PASS_2_WORKAROUNDS
2070 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
2073 config SB1_PASS_2_1_WORKAROUNDS
2075 depends on CPU_SB1 && CPU_SB1_PASS_2
2078 config 64BIT_PHYS_ADDR
2081 config ARCH_PHYS_ADDR_T_64BIT
2082 def_bool 64BIT_PHYS_ADDR
2084 config CPU_HAS_SMARTMIPS
2085 depends on SYS_SUPPORTS_SMARTMIPS
2086 bool "Support for the SmartMIPS ASE"
2088 SmartMIPS is a extension of the MIPS32 architecture aimed at
2089 increased security at both hardware and software level for
2090 smartcards. Enabling this option will allow proper use of the
2091 SmartMIPS instructions by Linux applications. However a kernel with
2092 this option will not work on a MIPS core without SmartMIPS core. If
2093 you don't know you probably don't have SmartMIPS and should say N
2103 # Vectored interrupt mode is an R2 feature
2105 config CPU_MIPSR2_IRQ_VI
2109 # Extended interrupt mode is an R2 feature
2111 config CPU_MIPSR2_IRQ_EI
2116 depends on !CPU_R3000
2122 config CPU_DADDI_WORKAROUNDS
2125 config CPU_R4000_WORKAROUNDS
2127 select CPU_R4400_WORKAROUNDS
2129 config CPU_R4400_WORKAROUNDS
2133 # - Highmem only makes sense for the 32-bit kernel.
2134 # - The current highmem code will only work properly on physically indexed
2135 # caches such as R3000, SB1, R7000 or those that look like they're virtually
2136 # indexed such as R4000/R4400 SC and MC versions or R10000. So for the
2137 # moment we protect the user and offer the highmem option only on machines
2138 # where it's known to be safe. This will not offer highmem on a few systems
2139 # such as MIPS32 and MIPS64 CPUs which may have virtual and physically
2140 # indexed CPUs but we're playing safe.
2141 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
2142 # know they might have memory configurations that could make use of highmem
2146 bool "High Memory Support"
2147 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
2149 config CPU_SUPPORTS_HIGHMEM
2152 config SYS_SUPPORTS_HIGHMEM
2155 config SYS_SUPPORTS_SMARTMIPS
2158 config ARCH_FLATMEM_ENABLE
2160 depends on !NUMA && !CPU_LOONGSON2
2162 config ARCH_DISCONTIGMEM_ENABLE
2164 default y if SGI_IP27
2166 Say Y to support efficient handling of discontiguous physical memory,
2167 for architectures which are either NUMA (Non-Uniform Memory Access)
2168 or have huge holes in the physical address space for other reasons.
2169 See <file:Documentation/vm/numa> for more.
2171 config ARCH_SPARSEMEM_ENABLE
2173 select SPARSEMEM_STATIC
2177 depends on SYS_SUPPORTS_NUMA
2179 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
2180 Access). This option improves performance on systems with more
2181 than two nodes; on two node systems it is generally better to
2182 leave it disabled; on single node systems disable this option
2185 config SYS_SUPPORTS_NUMA
2191 depends on NEED_MULTIPLE_NODES
2193 config HW_PERF_EVENTS
2194 bool "Enable hardware performance counter support for perf events"
2195 depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON)
2198 Enable hardware performance counter support for perf events. If
2199 disabled, perf events will use software events only.
2204 bool "Multi-Processing support"
2205 depends on SYS_SUPPORTS_SMP
2207 select USE_GENERIC_SMP_HELPERS
2209 This enables support for systems with more than one CPU. If you have
2210 a system with only one CPU, like most personal computers, say N. If
2211 you have a system with more than one CPU, say Y.
2213 If you say N here, the kernel will run on single and multiprocessor
2214 machines, but will use only one CPU of a multiprocessor machine. If
2215 you say Y here, the kernel will run on many, but not all,
2216 singleprocessor machines. On a singleprocessor machine, the kernel
2217 will run faster if you say N here.
2219 People using multiprocessor machines who say Y here should also say
2220 Y to "Enhanced Real Time Clock Support", below.
2222 See also the SMP-HOWTO available at
2223 <http://www.tldp.org/docs.html#howto>.
2225 If you don't know what to do here, say N.
2230 config SYS_SUPPORTS_MIPS_CMP
2233 config SYS_SUPPORTS_SMP
2236 config NR_CPUS_DEFAULT_1
2239 config NR_CPUS_DEFAULT_2
2242 config NR_CPUS_DEFAULT_4
2245 config NR_CPUS_DEFAULT_8
2248 config NR_CPUS_DEFAULT_16
2251 config NR_CPUS_DEFAULT_32
2254 config NR_CPUS_DEFAULT_64
2258 int "Maximum number of CPUs (2-64)"
2259 range 1 64 if NR_CPUS_DEFAULT_1
2261 default "1" if NR_CPUS_DEFAULT_1
2262 default "2" if NR_CPUS_DEFAULT_2
2263 default "4" if NR_CPUS_DEFAULT_4
2264 default "8" if NR_CPUS_DEFAULT_8
2265 default "16" if NR_CPUS_DEFAULT_16
2266 default "32" if NR_CPUS_DEFAULT_32
2267 default "64" if NR_CPUS_DEFAULT_64
2269 This allows you to specify the maximum number of CPUs which this
2270 kernel will support. The maximum supported value is 32 for 32-bit
2271 kernel and 64 for 64-bit kernels; the minimum value which makes
2272 sense is 1 for Qemu (useful only for kernel debugging purposes)
2273 and 2 for all others.
2275 This is purely to save memory - each supported CPU adds
2276 approximately eight kilobytes to the kernel image. For best
2277 performance should round up your number of processors to the next
2281 # Timer Interrupt Frequency Configuration
2285 prompt "Timer frequency"
2288 Allows the configuration of the timer frequency.
2291 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
2294 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
2297 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
2300 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
2303 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
2306 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
2309 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2313 config SYS_SUPPORTS_48HZ
2316 config SYS_SUPPORTS_100HZ
2319 config SYS_SUPPORTS_128HZ
2322 config SYS_SUPPORTS_250HZ
2325 config SYS_SUPPORTS_256HZ
2328 config SYS_SUPPORTS_1000HZ
2331 config SYS_SUPPORTS_1024HZ
2334 config SYS_SUPPORTS_ARBIT_HZ
2336 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2337 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2338 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2339 !SYS_SUPPORTS_1024HZ
2344 default 100 if HZ_100
2345 default 128 if HZ_128
2346 default 250 if HZ_250
2347 default 256 if HZ_256
2348 default 1000 if HZ_1000
2349 default 1024 if HZ_1024
2351 source "kernel/Kconfig.preempt"
2354 bool "Kexec system call (EXPERIMENTAL)"
2355 depends on EXPERIMENTAL
2357 kexec is a system call that implements the ability to shutdown your
2358 current kernel, and to start another kernel. It is like a reboot
2359 but it is independent of the system firmware. And like a reboot
2360 you can start any kernel with it, not just Linux.
2362 The name comes from the similarity to the exec system call.
2364 It is an ongoing process to be certain the hardware in a machine
2365 is properly shutdown, so do not be surprised if this code does not
2366 initially work for you. It may help to enable device hotplugging
2367 support. As of this writing the exact hardware interface is
2368 strongly in flux, so no good recommendation can be made.
2371 bool "Enable seccomp to safely compute untrusted bytecode"
2375 This kernel feature is useful for number crunching applications
2376 that may need to compute untrusted bytecode during their
2377 execution. By using pipes or other transports made available to
2378 the process as file descriptors supporting the read/write
2379 syscalls, it's possible to isolate those applications in
2380 their own address space using seccomp. Once seccomp is
2381 enabled via /proc/<pid>/seccomp, it cannot be disabled
2382 and the task is only allowed to execute a few safe syscalls
2383 defined by each seccomp mode.
2385 If unsure, say Y. Only embedded should say N here.
2390 select OF_EARLY_FLATTREE
2395 config LOCKDEP_SUPPORT
2399 config STACKTRACE_SUPPORT
2403 source "init/Kconfig"
2405 source "kernel/Kconfig.freezer"
2407 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2415 bool "Support for PCI controller"
2416 depends on HW_HAS_PCI
2418 select GENERIC_PCI_IOMAP
2419 select NO_GENERIC_PCI_IOPORT_MAP
2421 Find out whether you have a PCI motherboard. PCI is the name of a
2422 bus system, i.e. the way the CPU talks to the other stuff inside
2423 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2429 source "drivers/pci/Kconfig"
2431 source "drivers/pci/pcie/Kconfig"
2434 # ISA support is now enabled via select. Too many systems still have the one
2435 # or other ISA chip on the board that users don't know about so don't expect
2436 # users to choose the right thing ...
2443 depends on HW_HAS_EISA
2445 select GENERIC_ISA_DMA
2447 The Extended Industry Standard Architecture (EISA) bus was
2448 developed as an open alternative to the IBM MicroChannel bus.
2450 The EISA bus provided some of the features of the IBM MicroChannel
2451 bus while maintaining backward compatibility with cards made for
2452 the older ISA bus. The EISA bus saw limited use between 1988 and
2453 1995 when it was made obsolete by the PCI bus.
2455 Say Y here if you are building a kernel for an EISA-based machine.
2459 source "drivers/eisa/Kconfig"
2462 bool "TURBOchannel support"
2463 depends on MACH_DECSTATION
2465 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2466 processors. TURBOchannel programming specifications are available
2468 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
2470 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
2471 Linux driver support status is documented at:
2472 <http://www.linux-mips.org/wiki/DECstation>
2482 select MIPS_EXTERNAL_TIMER
2487 source "drivers/pcmcia/Kconfig"
2489 source "drivers/pci/hotplug/Kconfig"
2492 bool "RapidIO support"
2496 If you say Y here, the kernel will include drivers and
2497 infrastructure code to support RapidIO interconnect devices.
2499 source "drivers/rapidio/Kconfig"
2503 menu "Executable file formats"
2505 source "fs/Kconfig.binfmt"
2510 config MIPS32_COMPAT
2511 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2514 Select this option if you want Linux/MIPS 32-bit binary
2515 compatibility. Since all software available for Linux/MIPS is
2516 currently 32-bit you should say Y here.
2520 depends on MIPS32_COMPAT
2521 select ARCH_WANT_OLD_COMPAT_IPC
2524 config SYSVIPC_COMPAT
2526 depends on COMPAT && SYSVIPC
2530 bool "Kernel support for o32 binaries"
2531 depends on MIPS32_COMPAT
2533 Select this option if you want to run o32 binaries. These are pure
2534 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2535 existing binaries are in this format.
2540 bool "Kernel support for n32 binaries"
2541 depends on MIPS32_COMPAT
2543 Select this option if you want to run n32 binaries. These are
2544 64-bit binaries using 32-bit quantities for addressing and certain
2545 data that would normally be 64-bit. They are used in special
2552 default y if MIPS32_O32 || MIPS32_N32
2556 menu "Power management options"
2558 config ARCH_HIBERNATION_POSSIBLE
2560 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2562 config ARCH_SUSPEND_POSSIBLE
2564 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2566 source "kernel/power/Kconfig"
2570 source "arch/mips/kernel/cpufreq/Kconfig"
2572 source "net/Kconfig"
2574 source "drivers/Kconfig"
2578 source "arch/mips/Kconfig.debug"
2580 source "security/Kconfig"
2582 source "crypto/Kconfig"
2584 source "lib/Kconfig"