4 select HAVE_GENERIC_DMA_COHERENT
8 select HAVE_PERF_EVENTS
9 select PERF_USE_VMALLOC
11 select ARCH_HAVE_CUSTOM_GPIO_H
12 select HAVE_FUNCTION_TRACER
13 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
14 select HAVE_DYNAMIC_FTRACE
15 select HAVE_FTRACE_MCOUNT_RECORD
16 select HAVE_C_RECORDMCOUNT
17 select HAVE_FUNCTION_GRAPH_TRACER
19 select HAVE_KRETPROBES
20 select ARCH_BINFMT_ELF_RANDOMIZE_PIE
21 select RTC_LIB if !MACH_LOONGSON
22 select GENERIC_ATOMIC64 if !64BIT
23 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
25 select HAVE_DMA_API_DEBUG
26 select HAVE_GENERIC_HARDIRQS
27 select GENERIC_IRQ_PROBE
28 select GENERIC_IRQ_SHOW
29 select HAVE_ARCH_JUMP_LABEL
30 select ARCH_WANT_IPC_PARSE_VERSION
31 select IRQ_FORCED_THREADING
33 select HAVE_MEMBLOCK_NODE_MAP
34 select ARCH_DISCARD_MEMBLOCK
35 select GENERIC_SMP_IDLE_THREAD
36 select BUILDTIME_EXTABLE_SORT
37 select GENERIC_CLOCKEVENTS
38 select GENERIC_CMOS_UPDATE
40 menu "Machine selection"
50 bool "Alchemy processor based machines"
51 select 64BIT_PHYS_ADDR
55 select SYS_HAS_CPU_MIPS32_R1
56 select SYS_SUPPORTS_32BIT_KERNEL
57 select SYS_SUPPORTS_APM_EMULATION
59 select ARCH_WANT_OPTIONAL_GPIOLIB
60 select SYS_SUPPORTS_ZBOOT
61 select USB_ARCH_HAS_OHCI
62 select USB_ARCH_HAS_EHCI
65 bool "Texas Instruments AR7"
67 select DMA_NONCOHERENT
73 select SYS_HAS_CPU_MIPS32_R1
74 select SYS_HAS_EARLY_PRINTK
75 select SYS_SUPPORTS_32BIT_KERNEL
76 select SYS_SUPPORTS_LITTLE_ENDIAN
77 select SYS_SUPPORTS_ZBOOT_UART16550
78 select ARCH_REQUIRE_GPIOLIB
81 Support for the Texas Instruments AR7 System-on-a-Chip
82 family: TNETD7100, 7200 and 7300.
85 bool "Atheros AR71XX/AR724X/AR913X based boards"
86 select ARCH_REQUIRE_GPIOLIB
90 select DMA_NONCOHERENT
93 select SYS_HAS_CPU_MIPS32_R2
94 select SYS_HAS_EARLY_PRINTK
95 select SYS_SUPPORTS_32BIT_KERNEL
96 select SYS_SUPPORTS_BIG_ENDIAN
98 Support for the Atheros AR71XX/AR724X/AR913X SoCs.
101 bool "Broadcom BCM47XX based boards"
104 select DMA_NONCOHERENT
107 select SYS_SUPPORTS_32BIT_KERNEL
108 select SYS_SUPPORTS_LITTLE_ENDIAN
110 select SYS_HAS_EARLY_PRINTK
113 Support for BCM47XX based boards
116 bool "Broadcom BCM63XX based boards"
119 select DMA_NONCOHERENT
121 select SYS_HAS_CPU_MIPS32_R1
122 select SYS_SUPPORTS_32BIT_KERNEL
123 select SYS_SUPPORTS_BIG_ENDIAN
124 select SYS_HAS_EARLY_PRINTK
126 select ARCH_REQUIRE_GPIOLIB
128 Support for BCM63XX based boards
135 select DMA_NONCOHERENT
141 select PCI_GT64XXX_PCI0
143 select SYS_HAS_CPU_NEVADA
144 select SYS_HAS_EARLY_PRINTK
145 select SYS_SUPPORTS_32BIT_KERNEL
146 select SYS_SUPPORTS_64BIT_KERNEL
147 select SYS_SUPPORTS_LITTLE_ENDIAN
149 config MACH_DECSTATION
156 select CPU_DADDI_WORKAROUNDS if 64BIT
157 select CPU_R4000_WORKAROUNDS if 64BIT
158 select CPU_R4400_WORKAROUNDS if 64BIT
159 select DMA_NONCOHERENT
162 select SYS_HAS_CPU_R3000
163 select SYS_HAS_CPU_R4X00
164 select SYS_SUPPORTS_32BIT_KERNEL
165 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
166 select SYS_SUPPORTS_LITTLE_ENDIAN
167 select SYS_SUPPORTS_128HZ
168 select SYS_SUPPORTS_256HZ
169 select SYS_SUPPORTS_1024HZ
171 This enables support for DEC's MIPS based workstations. For details
172 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
173 DECstation porting pages on <http://decstation.unix-ag.org/>.
175 If you have one of the following DECstation Models you definitely
176 want to choose R4xx0 for the CPU Type:
183 otherwise choose R3000.
186 bool "Jazz family of machines"
189 select ARCH_MAY_HAVE_PC_FDC
192 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
193 select GENERIC_ISA_DMA
194 select HAVE_PCSPKR_PLATFORM
199 select SYS_HAS_CPU_R4X00
200 select SYS_SUPPORTS_32BIT_KERNEL
201 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
202 select SYS_SUPPORTS_100HZ
204 This a family of machines based on the MIPS R4030 chipset which was
205 used by several vendors to build RISC/os and Windows NT workstations.
206 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
207 Olivetti M700-10 workstations.
210 bool "Ingenic JZ4740 based machines"
211 select SYS_HAS_CPU_MIPS32_R1
212 select SYS_SUPPORTS_32BIT_KERNEL
213 select SYS_SUPPORTS_LITTLE_ENDIAN
214 select DMA_NONCOHERENT
217 select ARCH_REQUIRE_GPIOLIB
218 select SYS_HAS_EARLY_PRINTK
221 select GENERIC_IRQ_CHIP
224 bool "Lantiq based platforms"
225 select DMA_NONCOHERENT
229 select SYS_HAS_CPU_MIPS32_R1
230 select SYS_HAS_CPU_MIPS32_R2
231 select SYS_SUPPORTS_BIG_ENDIAN
232 select SYS_SUPPORTS_32BIT_KERNEL
233 select SYS_SUPPORTS_MULTITHREADING
234 select SYS_HAS_EARLY_PRINTK
235 select ARCH_REQUIRE_GPIOLIB
238 select HAVE_MACH_CLKDEV
243 bool "LASAT Networks platforms"
246 select DMA_NONCOHERENT
247 select SYS_HAS_EARLY_PRINTK
250 select PCI_GT64XXX_PCI0
252 select R5000_CPU_SCACHE
253 select SYS_HAS_CPU_R5000
254 select SYS_SUPPORTS_32BIT_KERNEL
255 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
256 select SYS_SUPPORTS_LITTLE_ENDIAN
259 bool "Loongson family of machines"
260 select SYS_SUPPORTS_ZBOOT
262 This enables the support of Loongson family of machines.
264 Loongson is a family of general-purpose MIPS-compatible CPUs.
265 developed at Institute of Computing Technology (ICT),
266 Chinese Academy of Sciences (CAS) in the People's Republic
267 of China. The chief architect is Professor Weiwu Hu.
270 bool "MIPS Malta board"
271 select ARCH_MAY_HAVE_PC_FDC
276 select DMA_NONCOHERENT
277 select GENERIC_ISA_DMA
278 select HAVE_PCSPKR_PLATFORM
284 select MIPS_BOARDS_GEN
286 select MIPS_CPU_SCACHE
287 select PCI_GT64XXX_PCI0
290 select SYS_HAS_CPU_MIPS32_R1
291 select SYS_HAS_CPU_MIPS32_R2
292 select SYS_HAS_CPU_MIPS64_R1
293 select SYS_HAS_CPU_MIPS64_R2
294 select SYS_HAS_CPU_NEVADA
295 select SYS_HAS_CPU_RM7000
296 select SYS_HAS_EARLY_PRINTK
297 select SYS_SUPPORTS_32BIT_KERNEL
298 select SYS_SUPPORTS_64BIT_KERNEL
299 select SYS_SUPPORTS_BIG_ENDIAN
300 select SYS_SUPPORTS_LITTLE_ENDIAN
301 select SYS_SUPPORTS_MIPS_CMP
302 select SYS_SUPPORTS_MULTITHREADING
303 select SYS_SUPPORTS_SMARTMIPS
304 select SYS_SUPPORTS_ZBOOT
306 This enables support for the MIPS Technologies Malta evaluation
310 bool 'MIPS simulator (MIPSsim)'
313 select DMA_NONCOHERENT
314 select SYS_HAS_EARLY_PRINTK
317 select SYS_HAS_CPU_MIPS32_R1
318 select SYS_HAS_CPU_MIPS32_R2
319 select SYS_HAS_EARLY_PRINTK
320 select SYS_SUPPORTS_32BIT_KERNEL
321 select SYS_SUPPORTS_BIG_ENDIAN
322 select SYS_SUPPORTS_MULTITHREADING
323 select SYS_SUPPORTS_LITTLE_ENDIAN
325 This option enables support for MIPS Technologies MIPSsim software
329 bool "NEC EMMA2RH Mark-eins board"
333 This enables support for the NEC Electronics Mark-eins boards.
336 bool "NEC VR4100 series based machines"
339 select SYS_HAS_CPU_VR41XX
340 select ARCH_REQUIRE_GPIOLIB
343 bool "NXP STB220 board"
346 Support for NXP Semiconductors STB220 Development Board.
353 Support for NXP Semiconductors STB225 Development Board.
356 bool "NXP PNX8550 based JBS board"
358 select SYS_SUPPORTS_LITTLE_ENDIAN
360 config PNX8550_STB810
361 bool "NXP PNX8550 based STB810 board"
363 select SYS_SUPPORTS_LITTLE_ENDIAN
366 bool "PMC-Sierra MSP chipsets"
367 depends on EXPERIMENTAL
370 select DMA_NONCOHERENT
372 select NO_EXCEPT_FILL
374 select SYS_HAS_CPU_MIPS32_R1
375 select SYS_HAS_CPU_MIPS32_R2
376 select SYS_SUPPORTS_32BIT_KERNEL
377 select SYS_SUPPORTS_BIG_ENDIAN
380 select SERIAL_8250_CONSOLE
382 This adds support for the PMC-Sierra family of Multi-Service
383 Processor System-On-A-Chips. These parts include a number
384 of integrated peripherals, interfaces and DSPs in addition to
385 a variety of MIPS cores.
388 bool "PMC-Sierra Yosemite eval board"
397 select SYS_HAS_CPU_RM9000
398 select SYS_HAS_EARLY_PRINTK
399 select SYS_SUPPORTS_32BIT_KERNEL
400 select SYS_SUPPORTS_64BIT_KERNEL
401 select SYS_SUPPORTS_BIG_ENDIAN
402 select SYS_SUPPORTS_HIGHMEM
403 select SYS_SUPPORTS_SMP
405 Yosemite is an evaluation board for the RM9000x2 processor
406 manufactured by PMC-Sierra.
412 select CPU_MIPSR2_IRQ_VI
413 select CPU_MIPSR2_IRQ_EI
415 select DMA_NONCOHERENT
417 select SYS_HAS_EARLY_PRINTK
418 select SYS_HAS_CPU_MIPS32_R2
419 select SYS_SUPPORTS_32BIT_KERNEL
420 select SYS_SUPPORTS_BIG_ENDIAN
421 select SYS_SUPPORTS_HIGHMEM
422 select USB_OHCI_LITTLE_ENDIAN
424 This enables support for the Cisco PowerTV Platform.
427 bool "SGI IP22 (Indy/Indigo2)"
433 select DEFAULT_SGI_PARTITION
434 select DMA_NONCOHERENT
438 select IP22_CPU_SCACHE
440 select GENERIC_ISA_DMA_SUPPORT_BROKEN
442 select SGI_HAS_INDYDOG
448 select SYS_HAS_CPU_R4X00
449 select SYS_HAS_CPU_R5000
451 # Disable EARLY_PRINTK for now since it leads to overwritten prom
452 # memory during early boot on some machines.
454 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
455 # for a more details discussion
457 # select SYS_HAS_EARLY_PRINTK
458 select SYS_SUPPORTS_32BIT_KERNEL
459 select SYS_SUPPORTS_64BIT_KERNEL
460 select SYS_SUPPORTS_BIG_ENDIAN
462 This are the SGI Indy, Challenge S and Indigo2, as well as certain
463 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
464 that runs on these, say Y here.
467 bool "SGI IP27 (Origin200/2000)"
471 select DEFAULT_SGI_PARTITION
473 select SYS_HAS_EARLY_PRINTK
475 select NR_CPUS_DEFAULT_64
476 select SYS_HAS_CPU_R10000
477 select SYS_SUPPORTS_64BIT_KERNEL
478 select SYS_SUPPORTS_BIG_ENDIAN
479 select SYS_SUPPORTS_NUMA
480 select SYS_SUPPORTS_SMP
482 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
483 workstations. To compile a Linux kernel that runs on these, say Y
487 bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
488 depends on EXPERIMENTAL
494 select DEFAULT_SGI_PARTITION
495 select DMA_NONCOHERENT
496 select GENERIC_ISA_DMA_SUPPORT_BROKEN
502 select SGI_HAS_INDYDOG
508 select SYS_HAS_CPU_R10000
510 # Disable EARLY_PRINTK for now since it leads to overwritten prom
511 # memory during early boot on some machines.
513 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
514 # for a more details discussion
516 # select SYS_HAS_EARLY_PRINTK
517 select SYS_SUPPORTS_64BIT_KERNEL
518 select SYS_SUPPORTS_BIG_ENDIAN
520 This is the SGI Indigo2 with R10000 processor. To compile a Linux
521 kernel that runs on these, say Y here.
530 select DMA_NONCOHERENT
533 select R5000_CPU_SCACHE
534 select RM7000_CPU_SCACHE
535 select SYS_HAS_CPU_R5000
536 select SYS_HAS_CPU_R10000 if BROKEN
537 select SYS_HAS_CPU_RM7000
538 select SYS_HAS_CPU_NEVADA
539 select SYS_SUPPORTS_64BIT_KERNEL
540 select SYS_SUPPORTS_BIG_ENDIAN
542 If you want this kernel to run on SGI O2 workstation, say Y here.
545 bool "Sibyte BCM91120C-CRhine"
546 depends on EXPERIMENTAL
549 select SIBYTE_BCM1120
551 select SYS_HAS_CPU_SB1
552 select SYS_SUPPORTS_BIG_ENDIAN
553 select SYS_SUPPORTS_LITTLE_ENDIAN
556 bool "Sibyte BCM91120x-Carmel"
557 depends on EXPERIMENTAL
560 select SIBYTE_BCM1120
562 select SYS_HAS_CPU_SB1
563 select SYS_SUPPORTS_BIG_ENDIAN
564 select SYS_SUPPORTS_LITTLE_ENDIAN
567 bool "Sibyte BCM91125C-CRhone"
568 depends on EXPERIMENTAL
571 select SIBYTE_BCM1125
573 select SYS_HAS_CPU_SB1
574 select SYS_SUPPORTS_BIG_ENDIAN
575 select SYS_SUPPORTS_HIGHMEM
576 select SYS_SUPPORTS_LITTLE_ENDIAN
579 bool "Sibyte BCM91125E-Rhone"
580 depends on EXPERIMENTAL
583 select SIBYTE_BCM1125H
585 select SYS_HAS_CPU_SB1
586 select SYS_SUPPORTS_BIG_ENDIAN
587 select SYS_SUPPORTS_LITTLE_ENDIAN
590 bool "Sibyte BCM91250A-SWARM"
593 select HAVE_PATA_PLATFORM
594 select NR_CPUS_DEFAULT_2
597 select SYS_HAS_CPU_SB1
598 select SYS_SUPPORTS_BIG_ENDIAN
599 select SYS_SUPPORTS_HIGHMEM
600 select SYS_SUPPORTS_LITTLE_ENDIAN
601 select ZONE_DMA32 if 64BIT
603 config SIBYTE_LITTLESUR
604 bool "Sibyte BCM91250C2-LittleSur"
605 depends on EXPERIMENTAL
608 select HAVE_PATA_PLATFORM
609 select NR_CPUS_DEFAULT_2
612 select SYS_HAS_CPU_SB1
613 select SYS_SUPPORTS_BIG_ENDIAN
614 select SYS_SUPPORTS_HIGHMEM
615 select SYS_SUPPORTS_LITTLE_ENDIAN
617 config SIBYTE_SENTOSA
618 bool "Sibyte BCM91250E-Sentosa"
619 depends on EXPERIMENTAL
622 select NR_CPUS_DEFAULT_2
625 select SYS_HAS_CPU_SB1
626 select SYS_SUPPORTS_BIG_ENDIAN
627 select SYS_SUPPORTS_LITTLE_ENDIAN
630 bool "Sibyte BCM91480B-BigSur"
633 select NR_CPUS_DEFAULT_4
634 select SIBYTE_BCM1x80
636 select SYS_HAS_CPU_SB1
637 select SYS_SUPPORTS_BIG_ENDIAN
638 select SYS_SUPPORTS_HIGHMEM
639 select SYS_SUPPORTS_LITTLE_ENDIAN
640 select ZONE_DMA32 if 64BIT
643 bool "SNI RM200/300/400"
644 select ARC if CPU_LITTLE_ENDIAN
645 select ARC32 if CPU_LITTLE_ENDIAN
646 select SNIPROM if CPU_BIG_ENDIAN
647 select ARCH_MAY_HAVE_PC_FDC
651 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
652 select DMA_NONCOHERENT
653 select GENERIC_ISA_DMA
654 select HAVE_PCSPKR_PLATFORM
661 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
662 select SYS_HAS_CPU_R4X00
663 select SYS_HAS_CPU_R5000
664 select SYS_HAS_CPU_R10000
665 select R5000_CPU_SCACHE
666 select SYS_HAS_EARLY_PRINTK
667 select SYS_SUPPORTS_32BIT_KERNEL
668 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
669 select SYS_SUPPORTS_BIG_ENDIAN
670 select SYS_SUPPORTS_HIGHMEM
671 select SYS_SUPPORTS_LITTLE_ENDIAN
673 The SNI RM200/300/400 are MIPS-based machines manufactured by
674 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
675 Technology and now in turn merged with Fujitsu. Say Y here to
676 support this machine type.
679 bool "Toshiba TX39 series based machines"
682 bool "Toshiba TX49 series based machines"
684 config MIKROTIK_RB532
685 bool "Mikrotik RB532 boards"
688 select DMA_NONCOHERENT
691 select SYS_HAS_CPU_MIPS32_R1
692 select SYS_SUPPORTS_32BIT_KERNEL
693 select SYS_SUPPORTS_LITTLE_ENDIAN
696 select ARCH_REQUIRE_GPIOLIB
698 Support the Mikrotik(tm) RouterBoard 532 series,
699 based on the IDT RC32434 SoC.
702 bool "Wind River PPMC board"
707 select DMA_NONCOHERENT
709 select PCI_GT64XXX_PCI0
711 select SYS_HAS_CPU_MIPS32_R1
712 select SYS_HAS_CPU_MIPS32_R2
713 select SYS_HAS_CPU_MIPS64_R1
714 select SYS_HAS_CPU_NEVADA
715 select SYS_HAS_CPU_RM7000
716 select SYS_SUPPORTS_32BIT_KERNEL
717 select SYS_SUPPORTS_64BIT_KERNEL
718 select SYS_SUPPORTS_BIG_ENDIAN
719 select SYS_SUPPORTS_LITTLE_ENDIAN
721 This enables support for the Wind River MIPS32 4KC PPMC evaluation
722 board, which is based on GT64120 bridge chip.
724 config CAVIUM_OCTEON_SIMULATOR
725 bool "Cavium Networks Octeon Simulator"
727 select 64BIT_PHYS_ADDR
729 select SYS_SUPPORTS_64BIT_KERNEL
730 select SYS_SUPPORTS_BIG_ENDIAN
731 select SYS_SUPPORTS_HOTPLUG_CPU
732 select SYS_HAS_CPU_CAVIUM_OCTEON
735 The Octeon simulator is software performance model of the Cavium
736 Octeon Processor. It supports simulating Octeon processors on x86
739 config CAVIUM_OCTEON_REFERENCE_BOARD
740 bool "Cavium Networks Octeon reference board"
742 select 64BIT_PHYS_ADDR
744 select SYS_SUPPORTS_64BIT_KERNEL
745 select SYS_SUPPORTS_BIG_ENDIAN
746 select SYS_SUPPORTS_HOTPLUG_CPU
747 select SYS_HAS_EARLY_PRINTK
748 select SYS_HAS_CPU_CAVIUM_OCTEON
751 select ARCH_SUPPORTS_MSI
753 select USB_ARCH_HAS_OHCI
754 select USB_ARCH_HAS_EHCI
757 This option supports all of the Octeon reference boards from Cavium
758 Networks. It builds a kernel that dynamically determines the Octeon
759 CPU type and supports all known board reference implementations.
760 Some of the supported boards are:
767 Say Y here for most Octeon reference boards.
770 bool "Netlogic XLR/XLS based systems"
771 depends on EXPERIMENTAL
774 select SYS_HAS_CPU_XLR
775 select SYS_SUPPORTS_SMP
778 select SYS_SUPPORTS_32BIT_KERNEL
779 select SYS_SUPPORTS_64BIT_KERNEL
780 select 64BIT_PHYS_ADDR
781 select SYS_SUPPORTS_BIG_ENDIAN
782 select SYS_SUPPORTS_HIGHMEM
784 select NR_CPUS_DEFAULT_32
788 select ARCH_SUPPORTS_MSI
789 select ZONE_DMA if 64BIT
791 select SYS_HAS_EARLY_PRINTK
793 Support for systems based on Netlogic XLR and XLS processors.
794 Say Y here if you have a XLR or XLS based board.
797 bool "Netlogic XLP based systems"
798 depends on EXPERIMENTAL
801 select SYS_HAS_CPU_XLP
802 select SYS_SUPPORTS_SMP
805 select SYS_SUPPORTS_32BIT_KERNEL
806 select SYS_SUPPORTS_64BIT_KERNEL
807 select 64BIT_PHYS_ADDR
808 select SYS_SUPPORTS_BIG_ENDIAN
809 select SYS_SUPPORTS_LITTLE_ENDIAN
810 select SYS_SUPPORTS_HIGHMEM
812 select NR_CPUS_DEFAULT_32
816 select ZONE_DMA if 64BIT
818 select SYS_HAS_EARLY_PRINTK
820 This board is based on Netlogic XLP Processor.
821 Say Y here if you have a XLP based board.
825 source "arch/mips/alchemy/Kconfig"
826 source "arch/mips/ath79/Kconfig"
827 source "arch/mips/bcm47xx/Kconfig"
828 source "arch/mips/bcm63xx/Kconfig"
829 source "arch/mips/jazz/Kconfig"
830 source "arch/mips/jz4740/Kconfig"
831 source "arch/mips/lantiq/Kconfig"
832 source "arch/mips/lasat/Kconfig"
833 source "arch/mips/pmc-sierra/Kconfig"
834 source "arch/mips/powertv/Kconfig"
835 source "arch/mips/sgi-ip27/Kconfig"
836 source "arch/mips/sibyte/Kconfig"
837 source "arch/mips/txx9/Kconfig"
838 source "arch/mips/vr41xx/Kconfig"
839 source "arch/mips/cavium-octeon/Kconfig"
840 source "arch/mips/loongson/Kconfig"
841 source "arch/mips/netlogic/Kconfig"
845 config RWSEM_GENERIC_SPINLOCK
849 config RWSEM_XCHGADD_ALGORITHM
852 config ARCH_HAS_ILOG2_U32
856 config ARCH_HAS_ILOG2_U64
860 config GENERIC_HWEIGHT
864 config GENERIC_CALIBRATE_DELAY
868 config SCHED_OMIT_FRAME_POINTER
873 # Select some configuration options automatically based on user selections.
878 config ARCH_MAY_HAVE_PC_FDC
927 select ARCH_REQUIRE_GPIOLIB
933 config ARCH_DMA_ADDR_T_64BIT
934 def_bool (HIGHMEM && 64BIT_PHYS_ADDR) || 64BIT
939 config DMA_NONCOHERENT
941 select NEED_DMA_MAP_STATE
943 config NEED_DMA_MAP_STATE
946 config SYS_HAS_EARLY_PRINTK
950 bool "Support for hot-pluggable CPUs"
951 depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU
953 Say Y here to allow turning CPUs off and on. CPUs can be
954 controlled through /sys/devices/system/cpu.
955 (Note: power management support will enable this option
956 automatically on SMP systems. )
957 Say N if you want to disable CPU hotplug.
959 config SYS_SUPPORTS_HOTPLUG_CPU
974 config MIPS_DISABLE_OBSOLETE_IDE
986 config GENERIC_ISA_DMA
988 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
991 config GENERIC_ISA_DMA_SUPPORT_BROKEN
993 select GENERIC_ISA_DMA
1001 config HOLES_IN_ZONE
1005 # Endianness selection. Sufficiently obscure so many users don't know what to
1006 # answer,so we try hard to limit the available choices. Also the use of a
1007 # choice statement should be more obvious to the user.
1010 prompt "Endianness selection"
1012 Some MIPS machines can be configured for either little or big endian
1013 byte order. These modes require different kernels and a different
1014 Linux distribution. In general there is one preferred byteorder for a
1015 particular system but some systems are just as commonly used in the
1016 one or the other endianness.
1018 config CPU_BIG_ENDIAN
1020 depends on SYS_SUPPORTS_BIG_ENDIAN
1022 config CPU_LITTLE_ENDIAN
1023 bool "Little endian"
1024 depends on SYS_SUPPORTS_LITTLE_ENDIAN
1032 config SYS_SUPPORTS_APM_EMULATION
1035 config SYS_SUPPORTS_BIG_ENDIAN
1038 config SYS_SUPPORTS_LITTLE_ENDIAN
1041 config SYS_SUPPORTS_HUGETLBFS
1043 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
1070 config MIPS_BOARDS_GEN
1073 config PCI_GT64XXX_PCI0
1076 config NO_EXCEPT_FILL
1081 select SERIAL_RM9000
1087 select DMA_NONCOHERENT
1089 select SWAP_IO_SPACE
1090 select SYS_HAS_CPU_R5500
1091 select SYS_SUPPORTS_32BIT_KERNEL
1092 select SYS_SUPPORTS_64BIT_KERNEL
1093 select SYS_SUPPORTS_BIG_ENDIAN
1100 select DMA_NONCOHERENT
1101 select SYS_HAS_CPU_MIPS32_R2
1102 select SYS_SUPPORTS_32BIT_KERNEL
1103 select SYS_SUPPORTS_LITTLE_ENDIAN
1104 select SYS_SUPPORTS_BIG_ENDIAN
1106 select CPU_MIPSR2_IRQ_VI
1118 select DMA_NONCOHERENT
1120 select SYS_HAS_CPU_MIPS32_R1
1121 select SYS_HAS_EARLY_PRINTK
1122 select SYS_SUPPORTS_32BIT_KERNEL
1125 config SWAP_IO_SPACE
1128 config SERIAL_RM9000
1131 config SGI_HAS_INDYDOG
1143 config SGI_HAS_ZILOG
1146 config SGI_HAS_I8042
1149 config DEFAULT_SGI_PARTITION
1161 config MIPS_L1_CACHE_SHIFT
1163 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL
1164 default "6" if MIPS_CPU_SCACHE
1165 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON
1168 config HAVE_STD_PC_SERIAL_PORT
1172 bool "ARC console support"
1173 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
1177 depends on MACH_JAZZ || SNI_RM || SGI_IP32
1182 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
1191 menu "CPU selection"
1197 config CPU_LOONGSON2E
1199 depends on SYS_HAS_CPU_LOONGSON2E
1200 select CPU_LOONGSON2
1202 The Loongson 2E processor implements the MIPS III instruction set
1203 with many extensions.
1205 It has an internal FPGA northbridge, which is compatible to
1208 config CPU_LOONGSON2F
1210 depends on SYS_HAS_CPU_LOONGSON2F
1211 select CPU_LOONGSON2
1213 select ARCH_REQUIRE_GPIOLIB
1215 The Loongson 2F processor implements the MIPS III instruction set
1216 with many extensions.
1218 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1219 have a similar programming interface with FPGA northbridge used in
1222 config CPU_MIPS32_R1
1223 bool "MIPS32 Release 1"
1224 depends on SYS_HAS_CPU_MIPS32_R1
1225 select CPU_HAS_PREFETCH
1226 select CPU_SUPPORTS_32BIT_KERNEL
1227 select CPU_SUPPORTS_HIGHMEM
1229 Choose this option to build a kernel for release 1 or later of the
1230 MIPS32 architecture. Most modern embedded systems with a 32-bit
1231 MIPS processor are based on a MIPS32 processor. If you know the
1232 specific type of processor in your system, choose those that one
1233 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1234 Release 2 of the MIPS32 architecture is available since several
1235 years so chances are you even have a MIPS32 Release 2 processor
1236 in which case you should choose CPU_MIPS32_R2 instead for better
1239 config CPU_MIPS32_R2
1240 bool "MIPS32 Release 2"
1241 depends on SYS_HAS_CPU_MIPS32_R2
1242 select CPU_HAS_PREFETCH
1243 select CPU_SUPPORTS_32BIT_KERNEL
1244 select CPU_SUPPORTS_HIGHMEM
1246 Choose this option to build a kernel for release 2 or later of the
1247 MIPS32 architecture. Most modern embedded systems with a 32-bit
1248 MIPS processor are based on a MIPS32 processor. If you know the
1249 specific type of processor in your system, choose those that one
1250 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1252 config CPU_MIPS64_R1
1253 bool "MIPS64 Release 1"
1254 depends on SYS_HAS_CPU_MIPS64_R1
1255 select CPU_HAS_PREFETCH
1256 select CPU_SUPPORTS_32BIT_KERNEL
1257 select CPU_SUPPORTS_64BIT_KERNEL
1258 select CPU_SUPPORTS_HIGHMEM
1259 select CPU_SUPPORTS_HUGEPAGES
1261 Choose this option to build a kernel for release 1 or later of the
1262 MIPS64 architecture. Many modern embedded systems with a 64-bit
1263 MIPS processor are based on a MIPS64 processor. If you know the
1264 specific type of processor in your system, choose those that one
1265 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1266 Release 2 of the MIPS64 architecture is available since several
1267 years so chances are you even have a MIPS64 Release 2 processor
1268 in which case you should choose CPU_MIPS64_R2 instead for better
1271 config CPU_MIPS64_R2
1272 bool "MIPS64 Release 2"
1273 depends on SYS_HAS_CPU_MIPS64_R2
1274 select CPU_HAS_PREFETCH
1275 select CPU_SUPPORTS_32BIT_KERNEL
1276 select CPU_SUPPORTS_64BIT_KERNEL
1277 select CPU_SUPPORTS_HIGHMEM
1278 select CPU_SUPPORTS_HUGEPAGES
1280 Choose this option to build a kernel for release 2 or later of the
1281 MIPS64 architecture. Many modern embedded systems with a 64-bit
1282 MIPS processor are based on a MIPS64 processor. If you know the
1283 specific type of processor in your system, choose those that one
1284 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1288 depends on SYS_HAS_CPU_R3000
1290 select CPU_SUPPORTS_32BIT_KERNEL
1291 select CPU_SUPPORTS_HIGHMEM
1293 Please make sure to pick the right CPU type. Linux/MIPS is not
1294 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1295 *not* work on R4000 machines and vice versa. However, since most
1296 of the supported machines have an R4000 (or similar) CPU, R4x00
1297 might be a safe bet. If the resulting kernel does not work,
1298 try to recompile with R3000.
1302 depends on SYS_HAS_CPU_TX39XX
1303 select CPU_SUPPORTS_32BIT_KERNEL
1307 depends on SYS_HAS_CPU_VR41XX
1308 select CPU_SUPPORTS_32BIT_KERNEL
1309 select CPU_SUPPORTS_64BIT_KERNEL
1311 The options selects support for the NEC VR4100 series of processors.
1312 Only choose this option if you have one of these processors as a
1313 kernel built with this option will not run on any other type of
1314 processor or vice versa.
1318 depends on SYS_HAS_CPU_R4300
1319 select CPU_SUPPORTS_32BIT_KERNEL
1320 select CPU_SUPPORTS_64BIT_KERNEL
1322 MIPS Technologies R4300-series processors.
1326 depends on SYS_HAS_CPU_R4X00
1327 select CPU_SUPPORTS_32BIT_KERNEL
1328 select CPU_SUPPORTS_64BIT_KERNEL
1330 MIPS Technologies R4000-series processors other than 4300, including
1331 the R4000, R4400, R4600, and 4700.
1335 depends on SYS_HAS_CPU_TX49XX
1336 select CPU_HAS_PREFETCH
1337 select CPU_SUPPORTS_32BIT_KERNEL
1338 select CPU_SUPPORTS_64BIT_KERNEL
1342 depends on SYS_HAS_CPU_R5000
1343 select CPU_SUPPORTS_32BIT_KERNEL
1344 select CPU_SUPPORTS_64BIT_KERNEL
1346 MIPS Technologies R5000-series processors other than the Nevada.
1350 depends on SYS_HAS_CPU_R5432
1351 select CPU_SUPPORTS_32BIT_KERNEL
1352 select CPU_SUPPORTS_64BIT_KERNEL
1356 depends on SYS_HAS_CPU_R5500
1357 select CPU_SUPPORTS_32BIT_KERNEL
1358 select CPU_SUPPORTS_64BIT_KERNEL
1359 select CPU_SUPPORTS_HUGEPAGES
1361 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1366 depends on EXPERIMENTAL
1367 depends on SYS_HAS_CPU_R6000
1368 select CPU_SUPPORTS_32BIT_KERNEL
1370 MIPS Technologies R6000 and R6000A series processors. Note these
1371 processors are extremely rare and the support for them is incomplete.
1375 depends on SYS_HAS_CPU_NEVADA
1376 select CPU_SUPPORTS_32BIT_KERNEL
1377 select CPU_SUPPORTS_64BIT_KERNEL
1379 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1383 depends on EXPERIMENTAL
1384 depends on SYS_HAS_CPU_R8000
1385 select CPU_HAS_PREFETCH
1386 select CPU_SUPPORTS_64BIT_KERNEL
1388 MIPS Technologies R8000 processors. Note these processors are
1389 uncommon and the support for them is incomplete.
1393 depends on SYS_HAS_CPU_R10000
1394 select CPU_HAS_PREFETCH
1395 select CPU_SUPPORTS_32BIT_KERNEL
1396 select CPU_SUPPORTS_64BIT_KERNEL
1397 select CPU_SUPPORTS_HIGHMEM
1399 MIPS Technologies R10000-series processors.
1403 depends on SYS_HAS_CPU_RM7000
1404 select CPU_HAS_PREFETCH
1405 select CPU_SUPPORTS_32BIT_KERNEL
1406 select CPU_SUPPORTS_64BIT_KERNEL
1407 select CPU_SUPPORTS_HIGHMEM
1411 depends on SYS_HAS_CPU_RM9000
1412 select CPU_HAS_PREFETCH
1413 select CPU_SUPPORTS_32BIT_KERNEL
1414 select CPU_SUPPORTS_64BIT_KERNEL
1415 select CPU_SUPPORTS_HIGHMEM
1416 select WEAK_ORDERING
1420 depends on SYS_HAS_CPU_SB1
1421 select CPU_SUPPORTS_32BIT_KERNEL
1422 select CPU_SUPPORTS_64BIT_KERNEL
1423 select CPU_SUPPORTS_HIGHMEM
1424 select WEAK_ORDERING
1426 config CPU_CAVIUM_OCTEON
1427 bool "Cavium Octeon processor"
1428 depends on SYS_HAS_CPU_CAVIUM_OCTEON
1429 select ARCH_SPARSEMEM_ENABLE
1430 select CPU_HAS_PREFETCH
1431 select CPU_SUPPORTS_64BIT_KERNEL
1432 select SYS_SUPPORTS_SMP
1433 select NR_CPUS_DEFAULT_16
1434 select WEAK_ORDERING
1435 select CPU_SUPPORTS_HIGHMEM
1436 select CPU_SUPPORTS_HUGEPAGES
1438 The Cavium Octeon processor is a highly integrated chip containing
1439 many ethernet hardware widgets for networking tasks. The processor
1440 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1441 Full details can be found at http://www.caviumnetworks.com.
1443 config CPU_BMIPS3300
1445 depends on SYS_HAS_CPU_BMIPS3300
1448 Broadcom BMIPS3300 processors.
1450 config CPU_BMIPS4350
1452 depends on SYS_HAS_CPU_BMIPS4350
1454 select SYS_SUPPORTS_SMP
1455 select SYS_SUPPORTS_HOTPLUG_CPU
1457 Broadcom BMIPS4350 ("VIPER") processors.
1459 config CPU_BMIPS4380
1461 depends on SYS_HAS_CPU_BMIPS4380
1463 select SYS_SUPPORTS_SMP
1464 select SYS_SUPPORTS_HOTPLUG_CPU
1466 Broadcom BMIPS4380 processors.
1468 config CPU_BMIPS5000
1470 depends on SYS_HAS_CPU_BMIPS5000
1472 select CPU_SUPPORTS_HIGHMEM
1473 select MIPS_CPU_SCACHE
1474 select SYS_SUPPORTS_SMP
1475 select SYS_SUPPORTS_HOTPLUG_CPU
1477 Broadcom BMIPS5000 processors.
1480 bool "Netlogic XLR SoC"
1481 depends on SYS_HAS_CPU_XLR
1482 select CPU_SUPPORTS_32BIT_KERNEL
1483 select CPU_SUPPORTS_64BIT_KERNEL
1484 select CPU_SUPPORTS_HIGHMEM
1485 select WEAK_ORDERING
1486 select WEAK_REORDERING_BEYOND_LLSC
1487 select CPU_SUPPORTS_HUGEPAGES
1489 Netlogic Microsystems XLR/XLS processors.
1492 bool "Netlogic XLP SoC"
1493 depends on SYS_HAS_CPU_XLP
1494 select CPU_SUPPORTS_32BIT_KERNEL
1495 select CPU_SUPPORTS_64BIT_KERNEL
1496 select CPU_SUPPORTS_HIGHMEM
1498 select WEAK_ORDERING
1499 select WEAK_REORDERING_BEYOND_LLSC
1500 select CPU_HAS_PREFETCH
1502 Netlogic Microsystems XLP processors.
1506 config CPU_NOP_WORKAROUNDS
1509 config CPU_JUMP_WORKAROUNDS
1512 config CPU_LOONGSON2F_WORKAROUNDS
1513 bool "Loongson 2F Workarounds"
1515 select CPU_NOP_WORKAROUNDS
1516 select CPU_JUMP_WORKAROUNDS
1518 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1519 require workarounds. Without workarounds the system may hang
1520 unexpectedly. For more information please refer to the gas
1521 -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1523 Loongson 2F03 and later have fixed these issues and no workarounds
1524 are needed. The workarounds have no significant side effect on them
1525 but may decrease the performance of the system so this option should
1526 be disabled unless the kernel is intended to be run on 2F01 or 2F02
1529 If unsure, please say Y.
1530 endif # CPU_LOONGSON2F
1532 config SYS_SUPPORTS_ZBOOT
1534 select HAVE_KERNEL_GZIP
1535 select HAVE_KERNEL_BZIP2
1536 select HAVE_KERNEL_LZMA
1537 select HAVE_KERNEL_LZO
1539 config SYS_SUPPORTS_ZBOOT_UART16550
1541 select SYS_SUPPORTS_ZBOOT
1543 config CPU_LOONGSON2
1545 select CPU_SUPPORTS_32BIT_KERNEL
1546 select CPU_SUPPORTS_64BIT_KERNEL
1547 select CPU_SUPPORTS_HIGHMEM
1552 select CPU_SUPPORTS_32BIT_KERNEL
1553 select DMA_NONCOHERENT
1555 select SWAP_IO_SPACE
1556 select WEAK_ORDERING
1558 config SYS_HAS_CPU_LOONGSON2E
1561 config SYS_HAS_CPU_LOONGSON2F
1563 select CPU_SUPPORTS_CPUFREQ
1564 select CPU_SUPPORTS_ADDRWINCFG if 64BIT
1565 select CPU_SUPPORTS_UNCACHED_ACCELERATED
1567 config SYS_HAS_CPU_MIPS32_R1
1570 config SYS_HAS_CPU_MIPS32_R2
1573 config SYS_HAS_CPU_MIPS64_R1
1576 config SYS_HAS_CPU_MIPS64_R2
1579 config SYS_HAS_CPU_R3000
1582 config SYS_HAS_CPU_TX39XX
1585 config SYS_HAS_CPU_VR41XX
1588 config SYS_HAS_CPU_R4300
1591 config SYS_HAS_CPU_R4X00
1594 config SYS_HAS_CPU_TX49XX
1597 config SYS_HAS_CPU_R5000
1600 config SYS_HAS_CPU_R5432
1603 config SYS_HAS_CPU_R5500
1606 config SYS_HAS_CPU_R6000
1609 config SYS_HAS_CPU_NEVADA
1612 config SYS_HAS_CPU_R8000
1615 config SYS_HAS_CPU_R10000
1618 config SYS_HAS_CPU_RM7000
1621 config SYS_HAS_CPU_RM9000
1624 config SYS_HAS_CPU_SB1
1627 config SYS_HAS_CPU_CAVIUM_OCTEON
1630 config SYS_HAS_CPU_BMIPS3300
1633 config SYS_HAS_CPU_BMIPS4350
1636 config SYS_HAS_CPU_BMIPS4380
1639 config SYS_HAS_CPU_BMIPS5000
1642 config SYS_HAS_CPU_XLR
1645 config SYS_HAS_CPU_XLP
1649 # CPU may reorder R->R, R->W, W->R, W->W
1650 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1652 config WEAK_ORDERING
1656 # CPU may reorder reads and writes beyond LL/SC
1657 # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1659 config WEAK_REORDERING_BEYOND_LLSC
1664 # These two indicate any level of the MIPS32 and MIPS64 architecture
1668 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1672 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1675 # These two indicate the revision of the architecture, either Release 1 or Release 2
1679 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1683 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1685 config SYS_SUPPORTS_32BIT_KERNEL
1687 config SYS_SUPPORTS_64BIT_KERNEL
1689 config CPU_SUPPORTS_32BIT_KERNEL
1691 config CPU_SUPPORTS_64BIT_KERNEL
1693 config CPU_SUPPORTS_CPUFREQ
1695 config CPU_SUPPORTS_ADDRWINCFG
1697 config CPU_SUPPORTS_HUGEPAGES
1699 config CPU_SUPPORTS_UNCACHED_ACCELERATED
1701 config MIPS_PGD_C0_CONTEXT
1703 default y if 64BIT && CPU_MIPSR2
1706 # Set to y for ptrace access to watch registers.
1708 config HARDWARE_WATCHPOINTS
1710 default y if CPU_MIPSR1 || CPU_MIPSR2
1716 prompt "Kernel code model"
1718 You should only select this option if you have a workload that
1719 actually benefits from 64-bit processing or if your machine has
1720 large memory. You will only be presented a single option in this
1721 menu if your system does not support both 32-bit and 64-bit kernels.
1724 bool "32-bit kernel"
1725 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1728 Select this option if you want to build a 32-bit kernel.
1730 bool "64-bit kernel"
1731 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1732 select HAVE_SYSCALL_WRAPPERS
1734 Select this option if you want to build a 64-bit kernel.
1739 prompt "Kernel page size"
1740 default PAGE_SIZE_4KB
1742 config PAGE_SIZE_4KB
1744 depends on !CPU_LOONGSON2
1746 This option select the standard 4kB Linux page size. On some
1747 R3000-family processors this is the only available page size. Using
1748 4kB page size will minimize memory consumption and is therefore
1749 recommended for low memory systems.
1751 config PAGE_SIZE_8KB
1753 depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
1755 Using 8kB page size will result in higher performance kernel at
1756 the price of higher memory consumption. This option is available
1757 only on R8000 and cnMIPS processors. Note that you will need a
1758 suitable Linux distribution to support this.
1760 config PAGE_SIZE_16KB
1762 depends on !CPU_R3000 && !CPU_TX39XX
1764 Using 16kB page size will result in higher performance kernel at
1765 the price of higher memory consumption. This option is available on
1766 all non-R3000 family processors. Note that you will need a suitable
1767 Linux distribution to support this.
1769 config PAGE_SIZE_32KB
1771 depends on CPU_CAVIUM_OCTEON
1773 Using 32kB page size will result in higher performance kernel at
1774 the price of higher memory consumption. This option is available
1775 only on cnMIPS cores. Note that you will need a suitable Linux
1776 distribution to support this.
1778 config PAGE_SIZE_64KB
1780 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1782 Using 64kB page size will result in higher performance kernel at
1783 the price of higher memory consumption. This option is available on
1784 all non-R3000 family processor. Not that at the time of this
1785 writing this option is still high experimental.
1789 config FORCE_MAX_ZONEORDER
1790 int "Maximum zone order"
1791 range 14 64 if HUGETLB_PAGE && PAGE_SIZE_64KB
1792 default "14" if HUGETLB_PAGE && PAGE_SIZE_64KB
1793 range 13 64 if HUGETLB_PAGE && PAGE_SIZE_32KB
1794 default "13" if HUGETLB_PAGE && PAGE_SIZE_32KB
1795 range 12 64 if HUGETLB_PAGE && PAGE_SIZE_16KB
1796 default "12" if HUGETLB_PAGE && PAGE_SIZE_16KB
1800 The kernel memory allocator divides physically contiguous memory
1801 blocks into "zones", where each zone is a power of two number of
1802 pages. This option selects the largest power of two that the kernel
1803 keeps in the memory allocator. If you need to allocate very large
1804 blocks of physically contiguous memory, then you may need to
1805 increase this value.
1807 This config option is actually maximum order plus one. For example,
1808 a value of 11 means that the largest free memory block is 2^10 pages.
1810 The page size is not necessarily 4KB. Keep this in mind
1811 when choosing a value for this option.
1816 config IP22_CPU_SCACHE
1821 # Support for a MIPS32 / MIPS64 style S-caches
1823 config MIPS_CPU_SCACHE
1827 config R5000_CPU_SCACHE
1831 config RM7000_CPU_SCACHE
1835 config SIBYTE_DMA_PAGEOPS
1836 bool "Use DMA to clear/copy pages"
1839 Instead of using the CPU to zero and copy pages, use a Data Mover
1840 channel. These DMA channels are otherwise unused by the standard
1841 SiByte Linux port. Seems to give a small performance benefit.
1843 config CPU_HAS_PREFETCH
1847 prompt "MIPS MT options"
1849 config MIPS_MT_DISABLED
1850 bool "Disable multithreading support."
1852 Use this option if your workload can't take advantage of
1853 MIPS hardware multithreading support. On systems that don't have
1854 the option of an MT-enabled processor this option will be the only
1855 option in this menu.
1858 bool "Use 1 TC on each available VPE for SMP"
1859 depends on SYS_SUPPORTS_MULTITHREADING
1860 select CPU_MIPSR2_IRQ_VI
1861 select CPU_MIPSR2_IRQ_EI
1863 select NR_CPUS_DEFAULT_2
1865 select SYS_SUPPORTS_SCHED_SMT if SMP
1866 select SYS_SUPPORTS_SMP
1869 This is a kernel model which is known a VSMP but lately has been
1870 marketesed into SMVP.
1871 Virtual SMP uses the processor's VPEs to implement virtual
1872 processors. In currently available configuration of the 34K processor
1873 this allows for a dual processor. Both processors will share the same
1874 primary caches; each will obtain the half of the TLB for it's own
1875 exclusive use. For a layman this model can be described as similar to
1876 what Intel calls Hyperthreading.
1878 For further information see http://www.linux-mips.org/wiki/34K#VSMP
1881 bool "SMTC: Use all TCs on all VPEs for SMP"
1882 depends on CPU_MIPS32_R2
1883 #depends on CPU_MIPS64_R2 # once there is hardware ...
1884 depends on SYS_SUPPORTS_MULTITHREADING
1885 select CPU_MIPSR2_IRQ_VI
1886 select CPU_MIPSR2_IRQ_EI
1888 select NR_CPUS_DEFAULT_8
1890 select SYS_SUPPORTS_SMP
1893 This is a kernel model which is known a SMTC or lately has been
1894 marketesed into SMVP.
1895 is presenting the available TC's of the core as processors to Linux.
1896 On currently available 34K processors this means a Linux system will
1897 see up to 5 processors. The implementation of the SMTC kernel differs
1898 significantly from VSMP and cannot efficiently coexist in the same
1899 kernel binary so the choice between VSMP and SMTC is a compile time
1902 For further information see http://www.linux-mips.org/wiki/34K#SMTC
1910 bool "SMT (multithreading) scheduler support"
1911 depends on SYS_SUPPORTS_SCHED_SMT
1914 SMT scheduler support improves the CPU scheduler's decision making
1915 when dealing with MIPS MT enabled cores at a cost of slightly
1916 increased overhead in some places. If unsure say N here.
1918 config SYS_SUPPORTS_SCHED_SMT
1922 config SYS_SUPPORTS_MULTITHREADING
1925 config MIPS_MT_FPAFF
1926 bool "Dynamic FPU affinity for FP-intensive threads"
1928 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1930 config MIPS_VPE_LOADER
1931 bool "VPE loader support."
1932 depends on SYS_SUPPORTS_MULTITHREADING
1933 select CPU_MIPSR2_IRQ_VI
1934 select CPU_MIPSR2_IRQ_EI
1937 Includes a loader for loading an elf relocatable object
1938 onto another VPE and running it.
1940 config MIPS_MT_SMTC_IM_BACKSTOP
1941 bool "Use per-TC register bits as backstop for inhibited IM bits"
1942 depends on MIPS_MT_SMTC
1945 To support multiple TC microthreads acting as "CPUs" within
1946 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1947 during interrupt handling. To support legacy drivers and interrupt
1948 controller management code, SMTC has a "backstop" to track and
1949 if necessary restore the interrupt mask. This has some performance
1950 impact on interrupt service overhead.
1952 config MIPS_MT_SMTC_IRQAFF
1953 bool "Support IRQ affinity API"
1954 depends on MIPS_MT_SMTC
1957 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1958 for SMTC Linux kernel. Requires platform support, of which
1959 an example can be found in the MIPS kernel i8259 and Malta
1960 platform code. Adds some overhead to interrupt dispatch, and
1961 should be used only if you know what you are doing.
1963 config MIPS_VPE_LOADER_TOM
1964 bool "Load VPE program into memory hidden from linux"
1965 depends on MIPS_VPE_LOADER
1968 The loader can use memory that is present but has been hidden from
1969 Linux using the kernel command line option "mem=xxMB". It's up to
1970 you to ensure the amount you put in the option and the space your
1971 program requires is less or equal to the amount physically present.
1973 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1974 config MIPS_VPE_APSP_API
1975 bool "Enable support for AP/SP API (RTLX)"
1976 depends on MIPS_VPE_LOADER
1979 config MIPS_APSP_KSPD
1981 depends on MIPS_VPE_APSP_API
1984 KSPD is a kernel daemon that accepts syscall requests from the SP
1985 side, actions them and returns the results. It also handles the
1986 "exit" syscall notifying other kernel modules the SP program is
1987 exiting. You probably want to say yes here.
1990 bool "MIPS CMP framework support"
1991 depends on SYS_SUPPORTS_MIPS_CMP
1993 select SYS_SUPPORTS_SMP
1994 select SYS_SUPPORTS_SCHED_SMT if SMP
1995 select WEAK_ORDERING
1998 This is a placeholder option for the GCMP work. It will need to
1999 be handled differently...
2001 config SB1_PASS_1_WORKAROUNDS
2003 depends on CPU_SB1_PASS_1
2006 config SB1_PASS_2_WORKAROUNDS
2008 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
2011 config SB1_PASS_2_1_WORKAROUNDS
2013 depends on CPU_SB1 && CPU_SB1_PASS_2
2016 config 64BIT_PHYS_ADDR
2019 config ARCH_PHYS_ADDR_T_64BIT
2020 def_bool 64BIT_PHYS_ADDR
2022 config CPU_HAS_SMARTMIPS
2023 depends on SYS_SUPPORTS_SMARTMIPS
2024 bool "Support for the SmartMIPS ASE"
2026 SmartMIPS is a extension of the MIPS32 architecture aimed at
2027 increased security at both hardware and software level for
2028 smartcards. Enabling this option will allow proper use of the
2029 SmartMIPS instructions by Linux applications. However a kernel with
2030 this option will not work on a MIPS core without SmartMIPS core. If
2031 you don't know you probably don't have SmartMIPS and should say N
2041 # Vectored interrupt mode is an R2 feature
2043 config CPU_MIPSR2_IRQ_VI
2047 # Extended interrupt mode is an R2 feature
2049 config CPU_MIPSR2_IRQ_EI
2054 depends on !CPU_R3000
2060 config CPU_DADDI_WORKAROUNDS
2063 config CPU_R4000_WORKAROUNDS
2065 select CPU_R4400_WORKAROUNDS
2067 config CPU_R4400_WORKAROUNDS
2071 # - Highmem only makes sense for the 32-bit kernel.
2072 # - The current highmem code will only work properly on physically indexed
2073 # caches such as R3000, SB1, R7000 or those that look like they're virtually
2074 # indexed such as R4000/R4400 SC and MC versions or R10000. So for the
2075 # moment we protect the user and offer the highmem option only on machines
2076 # where it's known to be safe. This will not offer highmem on a few systems
2077 # such as MIPS32 and MIPS64 CPUs which may have virtual and physically
2078 # indexed CPUs but we're playing safe.
2079 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
2080 # know they might have memory configurations that could make use of highmem
2084 bool "High Memory Support"
2085 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
2087 config CPU_SUPPORTS_HIGHMEM
2090 config SYS_SUPPORTS_HIGHMEM
2093 config SYS_SUPPORTS_SMARTMIPS
2096 config ARCH_FLATMEM_ENABLE
2098 depends on !NUMA && !CPU_LOONGSON2
2100 config ARCH_DISCONTIGMEM_ENABLE
2102 default y if SGI_IP27
2104 Say Y to support efficient handling of discontiguous physical memory,
2105 for architectures which are either NUMA (Non-Uniform Memory Access)
2106 or have huge holes in the physical address space for other reasons.
2107 See <file:Documentation/vm/numa> for more.
2109 config ARCH_SPARSEMEM_ENABLE
2111 select SPARSEMEM_STATIC
2115 depends on SYS_SUPPORTS_NUMA
2117 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
2118 Access). This option improves performance on systems with more
2119 than two nodes; on two node systems it is generally better to
2120 leave it disabled; on single node systems disable this option
2123 config SYS_SUPPORTS_NUMA
2129 depends on NEED_MULTIPLE_NODES
2131 config HW_PERF_EVENTS
2132 bool "Enable hardware performance counter support for perf events"
2133 depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON)
2136 Enable hardware performance counter support for perf events. If
2137 disabled, perf events will use software events only.
2142 bool "Multi-Processing support"
2143 depends on SYS_SUPPORTS_SMP
2145 select USE_GENERIC_SMP_HELPERS
2147 This enables support for systems with more than one CPU. If you have
2148 a system with only one CPU, like most personal computers, say N. If
2149 you have a system with more than one CPU, say Y.
2151 If you say N here, the kernel will run on single and multiprocessor
2152 machines, but will use only one CPU of a multiprocessor machine. If
2153 you say Y here, the kernel will run on many, but not all,
2154 singleprocessor machines. On a singleprocessor machine, the kernel
2155 will run faster if you say N here.
2157 People using multiprocessor machines who say Y here should also say
2158 Y to "Enhanced Real Time Clock Support", below.
2160 See also the SMP-HOWTO available at
2161 <http://www.tldp.org/docs.html#howto>.
2163 If you don't know what to do here, say N.
2168 config SYS_SUPPORTS_MIPS_CMP
2171 config SYS_SUPPORTS_SMP
2174 config NR_CPUS_DEFAULT_1
2177 config NR_CPUS_DEFAULT_2
2180 config NR_CPUS_DEFAULT_4
2183 config NR_CPUS_DEFAULT_8
2186 config NR_CPUS_DEFAULT_16
2189 config NR_CPUS_DEFAULT_32
2192 config NR_CPUS_DEFAULT_64
2196 int "Maximum number of CPUs (2-64)"
2197 range 1 64 if NR_CPUS_DEFAULT_1
2199 default "1" if NR_CPUS_DEFAULT_1
2200 default "2" if NR_CPUS_DEFAULT_2
2201 default "4" if NR_CPUS_DEFAULT_4
2202 default "8" if NR_CPUS_DEFAULT_8
2203 default "16" if NR_CPUS_DEFAULT_16
2204 default "32" if NR_CPUS_DEFAULT_32
2205 default "64" if NR_CPUS_DEFAULT_64
2207 This allows you to specify the maximum number of CPUs which this
2208 kernel will support. The maximum supported value is 32 for 32-bit
2209 kernel and 64 for 64-bit kernels; the minimum value which makes
2210 sense is 1 for Qemu (useful only for kernel debugging purposes)
2211 and 2 for all others.
2213 This is purely to save memory - each supported CPU adds
2214 approximately eight kilobytes to the kernel image. For best
2215 performance should round up your number of processors to the next
2219 # Timer Interrupt Frequency Configuration
2223 prompt "Timer frequency"
2226 Allows the configuration of the timer frequency.
2229 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
2232 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
2235 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
2238 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
2241 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
2244 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
2247 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2251 config SYS_SUPPORTS_48HZ
2254 config SYS_SUPPORTS_100HZ
2257 config SYS_SUPPORTS_128HZ
2260 config SYS_SUPPORTS_250HZ
2263 config SYS_SUPPORTS_256HZ
2266 config SYS_SUPPORTS_1000HZ
2269 config SYS_SUPPORTS_1024HZ
2272 config SYS_SUPPORTS_ARBIT_HZ
2274 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2275 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2276 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2277 !SYS_SUPPORTS_1024HZ
2282 default 100 if HZ_100
2283 default 128 if HZ_128
2284 default 250 if HZ_250
2285 default 256 if HZ_256
2286 default 1000 if HZ_1000
2287 default 1024 if HZ_1024
2289 source "kernel/Kconfig.preempt"
2292 bool "Kexec system call (EXPERIMENTAL)"
2293 depends on EXPERIMENTAL
2295 kexec is a system call that implements the ability to shutdown your
2296 current kernel, and to start another kernel. It is like a reboot
2297 but it is independent of the system firmware. And like a reboot
2298 you can start any kernel with it, not just Linux.
2300 The name comes from the similarity to the exec system call.
2302 It is an ongoing process to be certain the hardware in a machine
2303 is properly shutdown, so do not be surprised if this code does not
2304 initially work for you. It may help to enable device hotplugging
2305 support. As of this writing the exact hardware interface is
2306 strongly in flux, so no good recommendation can be made.
2309 bool "Enable seccomp to safely compute untrusted bytecode"
2313 This kernel feature is useful for number crunching applications
2314 that may need to compute untrusted bytecode during their
2315 execution. By using pipes or other transports made available to
2316 the process as file descriptors supporting the read/write
2317 syscalls, it's possible to isolate those applications in
2318 their own address space using seccomp. Once seccomp is
2319 enabled via /proc/<pid>/seccomp, it cannot be disabled
2320 and the task is only allowed to execute a few safe syscalls
2321 defined by each seccomp mode.
2323 If unsure, say Y. Only embedded should say N here.
2326 bool "Flattened Device Tree support"
2328 select OF_EARLY_FLATTREE
2331 Include support for flattened device tree machine descriptions.
2335 config LOCKDEP_SUPPORT
2339 config STACKTRACE_SUPPORT
2343 source "init/Kconfig"
2345 source "kernel/Kconfig.freezer"
2347 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2355 bool "Support for PCI controller"
2356 depends on HW_HAS_PCI
2358 select GENERIC_PCI_IOMAP
2359 select NO_GENERIC_PCI_IOPORT_MAP
2361 Find out whether you have a PCI motherboard. PCI is the name of a
2362 bus system, i.e. the way the CPU talks to the other stuff inside
2363 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2369 source "drivers/pci/Kconfig"
2372 # ISA support is now enabled via select. Too many systems still have the one
2373 # or other ISA chip on the board that users don't know about so don't expect
2374 # users to choose the right thing ...
2381 depends on HW_HAS_EISA
2383 select GENERIC_ISA_DMA
2385 The Extended Industry Standard Architecture (EISA) bus was
2386 developed as an open alternative to the IBM MicroChannel bus.
2388 The EISA bus provided some of the features of the IBM MicroChannel
2389 bus while maintaining backward compatibility with cards made for
2390 the older ISA bus. The EISA bus saw limited use between 1988 and
2391 1995 when it was made obsolete by the PCI bus.
2393 Say Y here if you are building a kernel for an EISA-based machine.
2397 source "drivers/eisa/Kconfig"
2400 bool "TURBOchannel support"
2401 depends on MACH_DECSTATION
2403 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2404 processors. TURBOchannel programming specifications are available
2406 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
2408 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
2409 Linux driver support status is documented at:
2410 <http://www.linux-mips.org/wiki/DECstation>
2420 select MIPS_EXTERNAL_TIMER
2425 source "drivers/pcmcia/Kconfig"
2427 source "drivers/pci/hotplug/Kconfig"
2430 bool "RapidIO support"
2434 If you say Y here, the kernel will include drivers and
2435 infrastructure code to support RapidIO interconnect devices.
2437 source "drivers/rapidio/Kconfig"
2441 menu "Executable file formats"
2443 source "fs/Kconfig.binfmt"
2448 config MIPS32_COMPAT
2449 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2452 Select this option if you want Linux/MIPS 32-bit binary
2453 compatibility. Since all software available for Linux/MIPS is
2454 currently 32-bit you should say Y here.
2458 depends on MIPS32_COMPAT
2459 select ARCH_WANT_OLD_COMPAT_IPC
2462 config SYSVIPC_COMPAT
2464 depends on COMPAT && SYSVIPC
2468 bool "Kernel support for o32 binaries"
2469 depends on MIPS32_COMPAT
2471 Select this option if you want to run o32 binaries. These are pure
2472 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2473 existing binaries are in this format.
2478 bool "Kernel support for n32 binaries"
2479 depends on MIPS32_COMPAT
2481 Select this option if you want to run n32 binaries. These are
2482 64-bit binaries using 32-bit quantities for addressing and certain
2483 data that would normally be 64-bit. They are used in special
2490 default y if MIPS32_O32 || MIPS32_N32
2494 menu "Power management options"
2496 config ARCH_HIBERNATION_POSSIBLE
2498 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2500 config ARCH_SUSPEND_POSSIBLE
2502 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2504 source "kernel/power/Kconfig"
2508 source "arch/mips/kernel/cpufreq/Kconfig"
2510 source "net/Kconfig"
2512 source "drivers/Kconfig"
2516 source "arch/mips/Kconfig.debug"
2518 source "security/Kconfig"
2520 source "crypto/Kconfig"
2522 source "lib/Kconfig"