4 select HAVE_GENERIC_DMA_COHERENT
7 select HAVE_PERF_EVENTS
8 select PERF_USE_VMALLOC
10 select HAVE_FUNCTION_TRACER
11 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
12 select HAVE_DYNAMIC_FTRACE
13 select HAVE_FTRACE_MCOUNT_RECORD
14 select HAVE_C_RECORDMCOUNT
15 select HAVE_FUNCTION_GRAPH_TRACER
17 select HAVE_KRETPROBES
18 select RTC_LIB if !MACH_LOONGSON
19 select GENERIC_ATOMIC64 if !64BIT
21 select HAVE_DMA_API_DEBUG
22 select HAVE_GENERIC_HARDIRQS
23 select GENERIC_IRQ_PROBE
25 menu "Machine selection"
35 bool "Alchemy processor based machines"
36 select 64BIT_PHYS_ADDR
40 select SYS_HAS_CPU_MIPS32_R1
41 select SYS_SUPPORTS_32BIT_KERNEL
42 select SYS_SUPPORTS_APM_EMULATION
44 select ARCH_WANT_OPTIONAL_GPIOLIB
45 select SYS_SUPPORTS_ZBOOT
48 bool "Texas Instruments AR7"
50 select DMA_NONCOHERENT
56 select SYS_HAS_CPU_MIPS32_R1
57 select SYS_HAS_EARLY_PRINTK
58 select SYS_SUPPORTS_32BIT_KERNEL
59 select SYS_SUPPORTS_LITTLE_ENDIAN
60 select SYS_SUPPORTS_ZBOOT_UART16550
61 select ARCH_REQUIRE_GPIOLIB
65 Support for the Texas Instruments AR7 System-on-a-Chip
66 family: TNETD7100, 7200 and 7300.
69 bool "Broadcom BCM47XX based boards"
72 select DMA_NONCOHERENT
75 select SYS_HAS_CPU_MIPS32_R1
76 select SYS_SUPPORTS_32BIT_KERNEL
77 select SYS_SUPPORTS_LITTLE_ENDIAN
79 select SSB_DRIVER_MIPS
80 select SSB_DRIVER_EXTIF
82 select SSB_B43_PCI_BRIDGE if PCI
83 select SSB_PCICORE_HOSTMODE if PCI
85 select SYS_HAS_EARLY_PRINTK
88 Support for BCM47XX based boards
91 bool "Broadcom BCM63XX based boards"
94 select DMA_NONCOHERENT
96 select SYS_HAS_CPU_MIPS32_R1
97 select SYS_SUPPORTS_32BIT_KERNEL
98 select SYS_SUPPORTS_BIG_ENDIAN
99 select SYS_HAS_EARLY_PRINTK
101 select ARCH_REQUIRE_GPIOLIB
103 Support for BCM63XX based boards
110 select DMA_NONCOHERENT
116 select PCI_GT64XXX_PCI0
118 select SYS_HAS_CPU_NEVADA
119 select SYS_HAS_EARLY_PRINTK
120 select SYS_SUPPORTS_32BIT_KERNEL
121 select SYS_SUPPORTS_64BIT_KERNEL
122 select SYS_SUPPORTS_LITTLE_ENDIAN
124 config MACH_DECSTATION
131 select CPU_DADDI_WORKAROUNDS if 64BIT
132 select CPU_R4000_WORKAROUNDS if 64BIT
133 select CPU_R4400_WORKAROUNDS if 64BIT
134 select DMA_NONCOHERENT
137 select SYS_HAS_CPU_R3000
138 select SYS_HAS_CPU_R4X00
139 select SYS_SUPPORTS_32BIT_KERNEL
140 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
141 select SYS_SUPPORTS_LITTLE_ENDIAN
142 select SYS_SUPPORTS_128HZ
143 select SYS_SUPPORTS_256HZ
144 select SYS_SUPPORTS_1024HZ
146 This enables support for DEC's MIPS based workstations. For details
147 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
148 DECstation porting pages on <http://decstation.unix-ag.org/>.
150 If you have one of the following DECstation Models you definitely
151 want to choose R4xx0 for the CPU Type:
158 otherwise choose R3000.
161 bool "Jazz family of machines"
164 select ARCH_MAY_HAVE_PC_FDC
167 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
168 select GENERIC_ISA_DMA
173 select SYS_HAS_CPU_R4X00
174 select SYS_SUPPORTS_32BIT_KERNEL
175 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
176 select SYS_SUPPORTS_100HZ
178 This a family of machines based on the MIPS R4030 chipset which was
179 used by several vendors to build RISC/os and Windows NT workstations.
180 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
181 Olivetti M700-10 workstations.
184 bool "Ingenic JZ4740 based machines"
185 select SYS_HAS_CPU_MIPS32_R1
186 select SYS_SUPPORTS_32BIT_KERNEL
187 select SYS_SUPPORTS_LITTLE_ENDIAN
188 select DMA_NONCOHERENT
191 select ARCH_REQUIRE_GPIOLIB
192 select SYS_HAS_EARLY_PRINTK
196 bool "LASAT Networks platforms"
199 select DMA_NONCOHERENT
200 select SYS_HAS_EARLY_PRINTK
203 select PCI_GT64XXX_PCI0
205 select R5000_CPU_SCACHE
206 select SYS_HAS_CPU_R5000
207 select SYS_SUPPORTS_32BIT_KERNEL
208 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
209 select SYS_SUPPORTS_LITTLE_ENDIAN
212 bool "Loongson family of machines"
213 select SYS_SUPPORTS_ZBOOT
215 This enables the support of Loongson family of machines.
217 Loongson is a family of general-purpose MIPS-compatible CPUs.
218 developed at Institute of Computing Technology (ICT),
219 Chinese Academy of Sciences (CAS) in the People's Republic
220 of China. The chief architect is Professor Weiwu Hu.
223 bool "MIPS Malta board"
224 select ARCH_MAY_HAVE_PC_FDC
229 select DMA_NONCOHERENT
230 select GENERIC_ISA_DMA
236 select MIPS_BOARDS_GEN
238 select MIPS_CPU_SCACHE
239 select PCI_GT64XXX_PCI0
242 select SYS_HAS_CPU_MIPS32_R1
243 select SYS_HAS_CPU_MIPS32_R2
244 select SYS_HAS_CPU_MIPS64_R1
245 select SYS_HAS_CPU_NEVADA
246 select SYS_HAS_CPU_RM7000
247 select SYS_HAS_EARLY_PRINTK
248 select SYS_SUPPORTS_32BIT_KERNEL
249 select SYS_SUPPORTS_64BIT_KERNEL
250 select SYS_SUPPORTS_BIG_ENDIAN
251 select SYS_SUPPORTS_LITTLE_ENDIAN
252 select SYS_SUPPORTS_MIPS_CMP
253 select SYS_SUPPORTS_MULTITHREADING
254 select SYS_SUPPORTS_SMARTMIPS
255 select SYS_SUPPORTS_ZBOOT
257 This enables support for the MIPS Technologies Malta evaluation
261 bool 'MIPS simulator (MIPSsim)'
264 select DMA_NONCOHERENT
265 select SYS_HAS_EARLY_PRINTK
268 select SYS_HAS_CPU_MIPS32_R1
269 select SYS_HAS_CPU_MIPS32_R2
270 select SYS_HAS_EARLY_PRINTK
271 select SYS_SUPPORTS_32BIT_KERNEL
272 select SYS_SUPPORTS_BIG_ENDIAN
273 select SYS_SUPPORTS_MULTITHREADING
274 select SYS_SUPPORTS_LITTLE_ENDIAN
276 This option enables support for MIPS Technologies MIPSsim software
280 bool "NEC EMMA2RH Mark-eins board"
284 This enables support for the NEC Electronics Mark-eins boards.
287 bool "NEC VR4100 series based machines"
290 select SYS_HAS_CPU_VR41XX
291 select ARCH_REQUIRE_GPIOLIB
294 bool "NXP STB220 board"
297 Support for NXP Semiconductors STB220 Development Board.
304 Support for NXP Semiconductors STB225 Development Board.
307 bool "NXP PNX8550 based JBS board"
309 select SYS_SUPPORTS_LITTLE_ENDIAN
311 config PNX8550_STB810
312 bool "NXP PNX8550 based STB810 board"
314 select SYS_SUPPORTS_LITTLE_ENDIAN
317 bool "PMC-Sierra MSP chipsets"
318 depends on EXPERIMENTAL
319 select DMA_NONCOHERENT
321 select NO_EXCEPT_FILL
323 select SYS_HAS_CPU_MIPS32_R1
324 select SYS_HAS_CPU_MIPS32_R2
325 select SYS_SUPPORTS_32BIT_KERNEL
326 select SYS_SUPPORTS_BIG_ENDIAN
329 select SERIAL_8250_CONSOLE
331 This adds support for the PMC-Sierra family of Multi-Service
332 Processor System-On-A-Chips. These parts include a number
333 of integrated peripherals, interfaces and DSPs in addition to
334 a variety of MIPS cores.
337 bool "PMC-Sierra Yosemite eval board"
346 select SYS_HAS_CPU_RM9000
347 select SYS_HAS_EARLY_PRINTK
348 select SYS_SUPPORTS_32BIT_KERNEL
349 select SYS_SUPPORTS_64BIT_KERNEL
350 select SYS_SUPPORTS_BIG_ENDIAN
351 select SYS_SUPPORTS_HIGHMEM
352 select SYS_SUPPORTS_SMP
354 Yosemite is an evaluation board for the RM9000x2 processor
355 manufactured by PMC-Sierra.
361 select CPU_MIPSR2_IRQ_VI
362 select CPU_MIPSR2_IRQ_EI
364 select DMA_NONCOHERENT
366 select SYS_HAS_EARLY_PRINTK
367 select SYS_HAS_CPU_MIPS32_R2
368 select SYS_SUPPORTS_32BIT_KERNEL
369 select SYS_SUPPORTS_BIG_ENDIAN
370 select SYS_SUPPORTS_HIGHMEM
371 select USB_OHCI_LITTLE_ENDIAN
373 This enables support for the Cisco PowerTV Platform.
376 bool "SGI IP22 (Indy/Indigo2)"
382 select DEFAULT_SGI_PARTITION
383 select DMA_NONCOHERENT
387 select IP22_CPU_SCACHE
389 select GENERIC_ISA_DMA_SUPPORT_BROKEN
391 select SGI_HAS_INDYDOG
397 select SYS_HAS_CPU_R4X00
398 select SYS_HAS_CPU_R5000
400 # Disable EARLY_PRINTK for now since it leads to overwritten prom
401 # memory during early boot on some machines.
403 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
404 # for a more details discussion
406 # select SYS_HAS_EARLY_PRINTK
407 select SYS_SUPPORTS_32BIT_KERNEL
408 select SYS_SUPPORTS_64BIT_KERNEL
409 select SYS_SUPPORTS_BIG_ENDIAN
411 This are the SGI Indy, Challenge S and Indigo2, as well as certain
412 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
413 that runs on these, say Y here.
416 bool "SGI IP27 (Origin200/2000)"
420 select DEFAULT_SGI_PARTITION
422 select SYS_HAS_EARLY_PRINTK
424 select NR_CPUS_DEFAULT_64
425 select SYS_HAS_CPU_R10000
426 select SYS_SUPPORTS_64BIT_KERNEL
427 select SYS_SUPPORTS_BIG_ENDIAN
428 select SYS_SUPPORTS_NUMA
429 select SYS_SUPPORTS_SMP
431 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
432 workstations. To compile a Linux kernel that runs on these, say Y
436 bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
437 depends on EXPERIMENTAL
443 select DEFAULT_SGI_PARTITION
444 select DMA_NONCOHERENT
445 select GENERIC_ISA_DMA_SUPPORT_BROKEN
451 select SGI_HAS_INDYDOG
457 select SYS_HAS_CPU_R10000
459 # Disable EARLY_PRINTK for now since it leads to overwritten prom
460 # memory during early boot on some machines.
462 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
463 # for a more details discussion
465 # select SYS_HAS_EARLY_PRINTK
466 select SYS_SUPPORTS_64BIT_KERNEL
467 select SYS_SUPPORTS_BIG_ENDIAN
469 This is the SGI Indigo2 with R10000 processor. To compile a Linux
470 kernel that runs on these, say Y here.
479 select DMA_NONCOHERENT
482 select R5000_CPU_SCACHE
483 select RM7000_CPU_SCACHE
484 select SYS_HAS_CPU_R5000
485 select SYS_HAS_CPU_R10000 if BROKEN
486 select SYS_HAS_CPU_RM7000
487 select SYS_HAS_CPU_NEVADA
488 select SYS_SUPPORTS_64BIT_KERNEL
489 select SYS_SUPPORTS_BIG_ENDIAN
491 If you want this kernel to run on SGI O2 workstation, say Y here.
494 bool "Sibyte BCM91120C-CRhine"
495 depends on EXPERIMENTAL
498 select SIBYTE_BCM1120
500 select SYS_HAS_CPU_SB1
501 select SYS_SUPPORTS_BIG_ENDIAN
502 select SYS_SUPPORTS_LITTLE_ENDIAN
505 bool "Sibyte BCM91120x-Carmel"
506 depends on EXPERIMENTAL
509 select SIBYTE_BCM1120
511 select SYS_HAS_CPU_SB1
512 select SYS_SUPPORTS_BIG_ENDIAN
513 select SYS_SUPPORTS_LITTLE_ENDIAN
516 bool "Sibyte BCM91125C-CRhone"
517 depends on EXPERIMENTAL
520 select SIBYTE_BCM1125
522 select SYS_HAS_CPU_SB1
523 select SYS_SUPPORTS_BIG_ENDIAN
524 select SYS_SUPPORTS_HIGHMEM
525 select SYS_SUPPORTS_LITTLE_ENDIAN
528 bool "Sibyte BCM91125E-Rhone"
529 depends on EXPERIMENTAL
532 select SIBYTE_BCM1125H
534 select SYS_HAS_CPU_SB1
535 select SYS_SUPPORTS_BIG_ENDIAN
536 select SYS_SUPPORTS_LITTLE_ENDIAN
539 bool "Sibyte BCM91250A-SWARM"
542 select HAVE_PATA_PLATFORM
543 select NR_CPUS_DEFAULT_2
546 select SYS_HAS_CPU_SB1
547 select SYS_SUPPORTS_BIG_ENDIAN
548 select SYS_SUPPORTS_HIGHMEM
549 select SYS_SUPPORTS_LITTLE_ENDIAN
550 select ZONE_DMA32 if 64BIT
552 config SIBYTE_LITTLESUR
553 bool "Sibyte BCM91250C2-LittleSur"
554 depends on EXPERIMENTAL
557 select HAVE_PATA_PLATFORM
558 select NR_CPUS_DEFAULT_2
561 select SYS_HAS_CPU_SB1
562 select SYS_SUPPORTS_BIG_ENDIAN
563 select SYS_SUPPORTS_HIGHMEM
564 select SYS_SUPPORTS_LITTLE_ENDIAN
566 config SIBYTE_SENTOSA
567 bool "Sibyte BCM91250E-Sentosa"
568 depends on EXPERIMENTAL
571 select NR_CPUS_DEFAULT_2
574 select SYS_HAS_CPU_SB1
575 select SYS_SUPPORTS_BIG_ENDIAN
576 select SYS_SUPPORTS_LITTLE_ENDIAN
579 bool "Sibyte BCM91480B-BigSur"
582 select NR_CPUS_DEFAULT_4
583 select SIBYTE_BCM1x80
585 select SYS_HAS_CPU_SB1
586 select SYS_SUPPORTS_BIG_ENDIAN
587 select SYS_SUPPORTS_HIGHMEM
588 select SYS_SUPPORTS_LITTLE_ENDIAN
589 select ZONE_DMA32 if 64BIT
592 bool "SNI RM200/300/400"
593 select ARC if CPU_LITTLE_ENDIAN
594 select ARC32 if CPU_LITTLE_ENDIAN
595 select SNIPROM if CPU_BIG_ENDIAN
596 select ARCH_MAY_HAVE_PC_FDC
600 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
601 select DMA_NONCOHERENT
602 select GENERIC_ISA_DMA
609 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
610 select SYS_HAS_CPU_R4X00
611 select SYS_HAS_CPU_R5000
612 select SYS_HAS_CPU_R10000
613 select R5000_CPU_SCACHE
614 select SYS_HAS_EARLY_PRINTK
615 select SYS_SUPPORTS_32BIT_KERNEL
616 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
617 select SYS_SUPPORTS_BIG_ENDIAN
618 select SYS_SUPPORTS_HIGHMEM
619 select SYS_SUPPORTS_LITTLE_ENDIAN
621 The SNI RM200/300/400 are MIPS-based machines manufactured by
622 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
623 Technology and now in turn merged with Fujitsu. Say Y here to
624 support this machine type.
627 bool "Toshiba TX39 series based machines"
630 bool "Toshiba TX49 series based machines"
632 config MIKROTIK_RB532
633 bool "Mikrotik RB532 boards"
636 select DMA_NONCOHERENT
639 select SYS_HAS_CPU_MIPS32_R1
640 select SYS_SUPPORTS_32BIT_KERNEL
641 select SYS_SUPPORTS_LITTLE_ENDIAN
644 select ARCH_REQUIRE_GPIOLIB
646 Support the Mikrotik(tm) RouterBoard 532 series,
647 based on the IDT RC32434 SoC.
650 bool "Wind River PPMC board"
655 select DMA_NONCOHERENT
657 select PCI_GT64XXX_PCI0
659 select SYS_HAS_CPU_MIPS32_R1
660 select SYS_HAS_CPU_MIPS32_R2
661 select SYS_HAS_CPU_MIPS64_R1
662 select SYS_HAS_CPU_NEVADA
663 select SYS_HAS_CPU_RM7000
664 select SYS_SUPPORTS_32BIT_KERNEL
665 select SYS_SUPPORTS_64BIT_KERNEL
666 select SYS_SUPPORTS_BIG_ENDIAN
667 select SYS_SUPPORTS_LITTLE_ENDIAN
669 This enables support for the Wind River MIPS32 4KC PPMC evaluation
670 board, which is based on GT64120 bridge chip.
672 config CAVIUM_OCTEON_SIMULATOR
673 bool "Cavium Networks Octeon Simulator"
675 select 64BIT_PHYS_ADDR
677 select SYS_SUPPORTS_64BIT_KERNEL
678 select SYS_SUPPORTS_BIG_ENDIAN
679 select SYS_SUPPORTS_HIGHMEM
680 select SYS_SUPPORTS_HOTPLUG_CPU
681 select SYS_HAS_CPU_CAVIUM_OCTEON
683 The Octeon simulator is software performance model of the Cavium
684 Octeon Processor. It supports simulating Octeon processors on x86
687 config CAVIUM_OCTEON_REFERENCE_BOARD
688 bool "Cavium Networks Octeon reference board"
690 select 64BIT_PHYS_ADDR
692 select SYS_SUPPORTS_64BIT_KERNEL
693 select SYS_SUPPORTS_BIG_ENDIAN
694 select SYS_SUPPORTS_HIGHMEM
695 select SYS_SUPPORTS_HOTPLUG_CPU
696 select SYS_HAS_EARLY_PRINTK
697 select SYS_HAS_CPU_CAVIUM_OCTEON
700 select ARCH_SUPPORTS_MSI
702 select USB_ARCH_HAS_OHCI
703 select USB_ARCH_HAS_EHCI
705 This option supports all of the Octeon reference boards from Cavium
706 Networks. It builds a kernel that dynamically determines the Octeon
707 CPU type and supports all known board reference implementations.
708 Some of the supported boards are:
715 Say Y here for most Octeon reference boards.
719 source "arch/mips/alchemy/Kconfig"
720 source "arch/mips/bcm63xx/Kconfig"
721 source "arch/mips/jazz/Kconfig"
722 source "arch/mips/jz4740/Kconfig"
723 source "arch/mips/lasat/Kconfig"
724 source "arch/mips/pmc-sierra/Kconfig"
725 source "arch/mips/powertv/Kconfig"
726 source "arch/mips/sgi-ip27/Kconfig"
727 source "arch/mips/sibyte/Kconfig"
728 source "arch/mips/txx9/Kconfig"
729 source "arch/mips/vr41xx/Kconfig"
730 source "arch/mips/cavium-octeon/Kconfig"
731 source "arch/mips/loongson/Kconfig"
735 config RWSEM_GENERIC_SPINLOCK
739 config RWSEM_XCHGADD_ALGORITHM
742 config ARCH_HAS_ILOG2_U32
746 config ARCH_HAS_ILOG2_U64
750 config ARCH_SUPPORTS_OPROFILE
752 default y if !MIPS_MT_SMTC
754 config GENERIC_FIND_NEXT_BIT
758 config GENERIC_HWEIGHT
762 config GENERIC_CALIBRATE_DELAY
766 config GENERIC_CLOCKEVENTS
770 config GENERIC_CMOS_UPDATE
774 config SCHED_OMIT_FRAME_POINTER
778 config GENERIC_HARDIRQS_NO__DO_IRQ
782 # Select some configuration options automatically based on user selections.
787 config ARCH_MAY_HAVE_PC_FDC
836 select ARCH_REQUIRE_GPIOLIB
845 config DMA_NONCOHERENT
847 select NEED_DMA_MAP_STATE
849 config NEED_DMA_MAP_STATE
852 config SYS_HAS_EARLY_PRINTK
856 bool "Support for hot-pluggable CPUs"
857 depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU
859 Say Y here to allow turning CPUs off and on. CPUs can be
860 controlled through /sys/devices/system/cpu.
861 (Note: power management support will enable this option
862 automatically on SMP systems. )
863 Say N if you want to disable CPU hotplug.
865 config SYS_SUPPORTS_HOTPLUG_CPU
880 config MIPS_DISABLE_OBSOLETE_IDE
892 config GENERIC_ISA_DMA
894 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
897 config GENERIC_ISA_DMA_SUPPORT_BROKEN
899 select GENERIC_ISA_DMA
908 # Endianess selection. Sufficiently obscure so many users don't know what to
909 # answer,so we try hard to limit the available choices. Also the use of a
910 # choice statement should be more obvious to the user.
913 prompt "Endianess selection"
915 Some MIPS machines can be configured for either little or big endian
916 byte order. These modes require different kernels and a different
917 Linux distribution. In general there is one preferred byteorder for a
918 particular system but some systems are just as commonly used in the
919 one or the other endianness.
921 config CPU_BIG_ENDIAN
923 depends on SYS_SUPPORTS_BIG_ENDIAN
925 config CPU_LITTLE_ENDIAN
927 depends on SYS_SUPPORTS_LITTLE_ENDIAN
935 config SYS_SUPPORTS_APM_EMULATION
938 config SYS_SUPPORTS_BIG_ENDIAN
941 config SYS_SUPPORTS_LITTLE_ENDIAN
944 config SYS_SUPPORTS_HUGETLBFS
946 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
973 config IRQ_CPU_OCTEON
976 config MIPS_BOARDS_GEN
979 config PCI_GT64XXX_PCI0
982 config NO_EXCEPT_FILL
993 select DMA_NONCOHERENT
996 select SYS_HAS_CPU_R5500
997 select SYS_SUPPORTS_32BIT_KERNEL
998 select SYS_SUPPORTS_64BIT_KERNEL
999 select SYS_SUPPORTS_BIG_ENDIAN
1006 select DMA_NONCOHERENT
1007 select SYS_HAS_CPU_MIPS32_R2
1008 select SYS_SUPPORTS_32BIT_KERNEL
1009 select SYS_SUPPORTS_LITTLE_ENDIAN
1010 select SYS_SUPPORTS_BIG_ENDIAN
1012 select CPU_MIPSR2_IRQ_VI
1024 select DMA_NONCOHERENT
1026 select SYS_HAS_CPU_MIPS32_R1
1027 select SYS_HAS_EARLY_PRINTK
1028 select SYS_SUPPORTS_32BIT_KERNEL
1031 config SWAP_IO_SPACE
1034 config SERIAL_RM9000
1037 config SGI_HAS_INDYDOG
1049 config SGI_HAS_ZILOG
1052 config SGI_HAS_I8042
1055 config DEFAULT_SGI_PARTITION
1067 config MIPS_L1_CACHE_SHIFT
1069 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL
1070 default "6" if MIPS_CPU_SCACHE
1071 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON
1074 config HAVE_STD_PC_SERIAL_PORT
1078 bool "ARC console support"
1079 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
1083 depends on MACH_JAZZ || SNI_RM || SGI_IP32
1088 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
1097 menu "CPU selection"
1103 config CPU_LOONGSON2E
1105 depends on SYS_HAS_CPU_LOONGSON2E
1106 select CPU_LOONGSON2
1108 The Loongson 2E processor implements the MIPS III instruction set
1109 with many extensions.
1111 It has an internal FPGA northbridge, which is compatiable to
1114 config CPU_LOONGSON2F
1116 depends on SYS_HAS_CPU_LOONGSON2F
1117 select CPU_LOONGSON2
1119 select ARCH_REQUIRE_GPIOLIB
1121 The Loongson 2F processor implements the MIPS III instruction set
1122 with many extensions.
1124 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1125 have a similar programming interface with FPGA northbridge used in
1128 config CPU_MIPS32_R1
1129 bool "MIPS32 Release 1"
1130 depends on SYS_HAS_CPU_MIPS32_R1
1131 select CPU_HAS_PREFETCH
1132 select CPU_SUPPORTS_32BIT_KERNEL
1133 select CPU_SUPPORTS_HIGHMEM
1135 Choose this option to build a kernel for release 1 or later of the
1136 MIPS32 architecture. Most modern embedded systems with a 32-bit
1137 MIPS processor are based on a MIPS32 processor. If you know the
1138 specific type of processor in your system, choose those that one
1139 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1140 Release 2 of the MIPS32 architecture is available since several
1141 years so chances are you even have a MIPS32 Release 2 processor
1142 in which case you should choose CPU_MIPS32_R2 instead for better
1145 config CPU_MIPS32_R2
1146 bool "MIPS32 Release 2"
1147 depends on SYS_HAS_CPU_MIPS32_R2
1148 select CPU_HAS_PREFETCH
1149 select CPU_SUPPORTS_32BIT_KERNEL
1150 select CPU_SUPPORTS_HIGHMEM
1152 Choose this option to build a kernel for release 2 or later of the
1153 MIPS32 architecture. Most modern embedded systems with a 32-bit
1154 MIPS processor are based on a MIPS32 processor. If you know the
1155 specific type of processor in your system, choose those that one
1156 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1158 config CPU_MIPS64_R1
1159 bool "MIPS64 Release 1"
1160 depends on SYS_HAS_CPU_MIPS64_R1
1161 select CPU_HAS_PREFETCH
1162 select CPU_SUPPORTS_32BIT_KERNEL
1163 select CPU_SUPPORTS_64BIT_KERNEL
1164 select CPU_SUPPORTS_HIGHMEM
1165 select CPU_SUPPORTS_HUGEPAGES
1167 Choose this option to build a kernel for release 1 or later of the
1168 MIPS64 architecture. Many modern embedded systems with a 64-bit
1169 MIPS processor are based on a MIPS64 processor. If you know the
1170 specific type of processor in your system, choose those that one
1171 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1172 Release 2 of the MIPS64 architecture is available since several
1173 years so chances are you even have a MIPS64 Release 2 processor
1174 in which case you should choose CPU_MIPS64_R2 instead for better
1177 config CPU_MIPS64_R2
1178 bool "MIPS64 Release 2"
1179 depends on SYS_HAS_CPU_MIPS64_R2
1180 select CPU_HAS_PREFETCH
1181 select CPU_SUPPORTS_32BIT_KERNEL
1182 select CPU_SUPPORTS_64BIT_KERNEL
1183 select CPU_SUPPORTS_HIGHMEM
1184 select CPU_SUPPORTS_HUGEPAGES
1186 Choose this option to build a kernel for release 2 or later of the
1187 MIPS64 architecture. Many modern embedded systems with a 64-bit
1188 MIPS processor are based on a MIPS64 processor. If you know the
1189 specific type of processor in your system, choose those that one
1190 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1194 depends on SYS_HAS_CPU_R3000
1196 select CPU_SUPPORTS_32BIT_KERNEL
1197 select CPU_SUPPORTS_HIGHMEM
1199 Please make sure to pick the right CPU type. Linux/MIPS is not
1200 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1201 *not* work on R4000 machines and vice versa. However, since most
1202 of the supported machines have an R4000 (or similar) CPU, R4x00
1203 might be a safe bet. If the resulting kernel does not work,
1204 try to recompile with R3000.
1208 depends on SYS_HAS_CPU_TX39XX
1209 select CPU_SUPPORTS_32BIT_KERNEL
1213 depends on SYS_HAS_CPU_VR41XX
1214 select CPU_SUPPORTS_32BIT_KERNEL
1215 select CPU_SUPPORTS_64BIT_KERNEL
1217 The options selects support for the NEC VR4100 series of processors.
1218 Only choose this option if you have one of these processors as a
1219 kernel built with this option will not run on any other type of
1220 processor or vice versa.
1224 depends on SYS_HAS_CPU_R4300
1225 select CPU_SUPPORTS_32BIT_KERNEL
1226 select CPU_SUPPORTS_64BIT_KERNEL
1228 MIPS Technologies R4300-series processors.
1232 depends on SYS_HAS_CPU_R4X00
1233 select CPU_SUPPORTS_32BIT_KERNEL
1234 select CPU_SUPPORTS_64BIT_KERNEL
1236 MIPS Technologies R4000-series processors other than 4300, including
1237 the R4000, R4400, R4600, and 4700.
1241 depends on SYS_HAS_CPU_TX49XX
1242 select CPU_HAS_PREFETCH
1243 select CPU_SUPPORTS_32BIT_KERNEL
1244 select CPU_SUPPORTS_64BIT_KERNEL
1248 depends on SYS_HAS_CPU_R5000
1249 select CPU_SUPPORTS_32BIT_KERNEL
1250 select CPU_SUPPORTS_64BIT_KERNEL
1252 MIPS Technologies R5000-series processors other than the Nevada.
1256 depends on SYS_HAS_CPU_R5432
1257 select CPU_SUPPORTS_32BIT_KERNEL
1258 select CPU_SUPPORTS_64BIT_KERNEL
1262 depends on SYS_HAS_CPU_R5500
1263 select CPU_SUPPORTS_32BIT_KERNEL
1264 select CPU_SUPPORTS_64BIT_KERNEL
1265 select CPU_SUPPORTS_HUGEPAGES
1267 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1272 depends on EXPERIMENTAL
1273 depends on SYS_HAS_CPU_R6000
1274 select CPU_SUPPORTS_32BIT_KERNEL
1276 MIPS Technologies R6000 and R6000A series processors. Note these
1277 processors are extremely rare and the support for them is incomplete.
1281 depends on SYS_HAS_CPU_NEVADA
1282 select CPU_SUPPORTS_32BIT_KERNEL
1283 select CPU_SUPPORTS_64BIT_KERNEL
1285 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1289 depends on EXPERIMENTAL
1290 depends on SYS_HAS_CPU_R8000
1291 select CPU_HAS_PREFETCH
1292 select CPU_SUPPORTS_64BIT_KERNEL
1294 MIPS Technologies R8000 processors. Note these processors are
1295 uncommon and the support for them is incomplete.
1299 depends on SYS_HAS_CPU_R10000
1300 select CPU_HAS_PREFETCH
1301 select CPU_SUPPORTS_32BIT_KERNEL
1302 select CPU_SUPPORTS_64BIT_KERNEL
1303 select CPU_SUPPORTS_HIGHMEM
1305 MIPS Technologies R10000-series processors.
1309 depends on SYS_HAS_CPU_RM7000
1310 select CPU_HAS_PREFETCH
1311 select CPU_SUPPORTS_32BIT_KERNEL
1312 select CPU_SUPPORTS_64BIT_KERNEL
1313 select CPU_SUPPORTS_HIGHMEM
1317 depends on SYS_HAS_CPU_RM9000
1318 select CPU_HAS_PREFETCH
1319 select CPU_SUPPORTS_32BIT_KERNEL
1320 select CPU_SUPPORTS_64BIT_KERNEL
1321 select CPU_SUPPORTS_HIGHMEM
1322 select WEAK_ORDERING
1326 depends on SYS_HAS_CPU_SB1
1327 select CPU_SUPPORTS_32BIT_KERNEL
1328 select CPU_SUPPORTS_64BIT_KERNEL
1329 select CPU_SUPPORTS_HIGHMEM
1330 select WEAK_ORDERING
1332 config CPU_CAVIUM_OCTEON
1333 bool "Cavium Octeon processor"
1334 depends on SYS_HAS_CPU_CAVIUM_OCTEON
1336 select IRQ_CPU_OCTEON
1337 select CPU_HAS_PREFETCH
1338 select CPU_SUPPORTS_64BIT_KERNEL
1339 select SYS_SUPPORTS_SMP
1340 select NR_CPUS_DEFAULT_16
1341 select WEAK_ORDERING
1342 select CPU_SUPPORTS_HIGHMEM
1343 select CPU_SUPPORTS_HUGEPAGES
1345 The Cavium Octeon processor is a highly integrated chip containing
1346 many ethernet hardware widgets for networking tasks. The processor
1347 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1348 Full details can be found at http://www.caviumnetworks.com.
1350 config CPU_BMIPS3300
1352 depends on SYS_HAS_CPU_BMIPS3300
1353 select DMA_NONCOHERENT
1355 select SWAP_IO_SPACE
1356 select SYS_SUPPORTS_32BIT_KERNEL
1357 select WEAK_ORDERING
1359 Broadcom BMIPS3300 processors.
1361 config CPU_BMIPS4350
1363 depends on SYS_HAS_CPU_BMIPS4350
1364 select CPU_SUPPORTS_32BIT_KERNEL
1365 select DMA_NONCOHERENT
1367 select SWAP_IO_SPACE
1368 select SYS_SUPPORTS_SMP
1369 select SYS_SUPPORTS_HOTPLUG_CPU
1370 select WEAK_ORDERING
1372 Broadcom BMIPS4350 ("VIPER") processors.
1374 config CPU_BMIPS4380
1376 depends on SYS_HAS_CPU_BMIPS4380
1377 select CPU_SUPPORTS_32BIT_KERNEL
1378 select DMA_NONCOHERENT
1380 select SWAP_IO_SPACE
1381 select SYS_SUPPORTS_SMP
1382 select SYS_SUPPORTS_HOTPLUG_CPU
1383 select WEAK_ORDERING
1385 Broadcom BMIPS4380 processors.
1387 config CPU_BMIPS5000
1389 depends on SYS_HAS_CPU_BMIPS5000
1390 select CPU_SUPPORTS_32BIT_KERNEL
1391 select CPU_SUPPORTS_HIGHMEM
1392 select DMA_NONCOHERENT
1394 select SWAP_IO_SPACE
1395 select SYS_SUPPORTS_SMP
1396 select SYS_SUPPORTS_HOTPLUG_CPU
1397 select WEAK_ORDERING
1399 Broadcom BMIPS5000 processors.
1404 config CPU_NOP_WORKAROUNDS
1407 config CPU_JUMP_WORKAROUNDS
1410 config CPU_LOONGSON2F_WORKAROUNDS
1411 bool "Loongson 2F Workarounds"
1413 select CPU_NOP_WORKAROUNDS
1414 select CPU_JUMP_WORKAROUNDS
1416 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1417 require workarounds. Without workarounds the system may hang
1418 unexpectedly. For more information please refer to the gas
1419 -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1421 Loongson 2F03 and later have fixed these issues and no workarounds
1422 are needed. The workarounds have no significant side effect on them
1423 but may decrease the performance of the system so this option should
1424 be disabled unless the kernel is intended to be run on 2F01 or 2F02
1427 If unsure, please say Y.
1428 endif # CPU_LOONGSON2F
1430 config SYS_SUPPORTS_ZBOOT
1432 select HAVE_KERNEL_GZIP
1433 select HAVE_KERNEL_BZIP2
1434 select HAVE_KERNEL_LZMA
1435 select HAVE_KERNEL_LZO
1437 config SYS_SUPPORTS_ZBOOT_UART16550
1439 select SYS_SUPPORTS_ZBOOT
1441 config CPU_LOONGSON2
1443 select CPU_SUPPORTS_32BIT_KERNEL
1444 select CPU_SUPPORTS_64BIT_KERNEL
1445 select CPU_SUPPORTS_HIGHMEM
1447 config SYS_HAS_CPU_LOONGSON2E
1450 config SYS_HAS_CPU_LOONGSON2F
1452 select CPU_SUPPORTS_CPUFREQ
1453 select CPU_SUPPORTS_ADDRWINCFG if 64BIT
1454 select CPU_SUPPORTS_UNCACHED_ACCELERATED
1456 config SYS_HAS_CPU_MIPS32_R1
1459 config SYS_HAS_CPU_MIPS32_R2
1462 config SYS_HAS_CPU_MIPS64_R1
1465 config SYS_HAS_CPU_MIPS64_R2
1468 config SYS_HAS_CPU_R3000
1471 config SYS_HAS_CPU_TX39XX
1474 config SYS_HAS_CPU_VR41XX
1477 config SYS_HAS_CPU_R4300
1480 config SYS_HAS_CPU_R4X00
1483 config SYS_HAS_CPU_TX49XX
1486 config SYS_HAS_CPU_R5000
1489 config SYS_HAS_CPU_R5432
1492 config SYS_HAS_CPU_R5500
1495 config SYS_HAS_CPU_R6000
1498 config SYS_HAS_CPU_NEVADA
1501 config SYS_HAS_CPU_R8000
1504 config SYS_HAS_CPU_R10000
1507 config SYS_HAS_CPU_RM7000
1510 config SYS_HAS_CPU_RM9000
1513 config SYS_HAS_CPU_SB1
1516 config SYS_HAS_CPU_CAVIUM_OCTEON
1519 config SYS_HAS_CPU_BMIPS3300
1522 config SYS_HAS_CPU_BMIPS4350
1525 config SYS_HAS_CPU_BMIPS4380
1528 config SYS_HAS_CPU_BMIPS5000
1532 # CPU may reorder R->R, R->W, W->R, W->W
1533 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1535 config WEAK_ORDERING
1539 # CPU may reorder reads and writes beyond LL/SC
1540 # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1542 config WEAK_REORDERING_BEYOND_LLSC
1547 # These two indicate any level of the MIPS32 and MIPS64 architecture
1551 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1555 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1558 # These two indicate the revision of the architecture, either Release 1 or Release 2
1562 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1566 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1568 config SYS_SUPPORTS_32BIT_KERNEL
1570 config SYS_SUPPORTS_64BIT_KERNEL
1572 config CPU_SUPPORTS_32BIT_KERNEL
1574 config CPU_SUPPORTS_64BIT_KERNEL
1576 config CPU_SUPPORTS_CPUFREQ
1578 config CPU_SUPPORTS_ADDRWINCFG
1580 config CPU_SUPPORTS_HUGEPAGES
1582 config CPU_SUPPORTS_UNCACHED_ACCELERATED
1584 config MIPS_PGD_C0_CONTEXT
1586 default y if 64BIT && CPU_MIPSR2
1589 # Set to y for ptrace access to watch registers.
1591 config HARDWARE_WATCHPOINTS
1593 default y if CPU_MIPSR1 || CPU_MIPSR2
1599 prompt "Kernel code model"
1601 You should only select this option if you have a workload that
1602 actually benefits from 64-bit processing or if your machine has
1603 large memory. You will only be presented a single option in this
1604 menu if your system does not support both 32-bit and 64-bit kernels.
1607 bool "32-bit kernel"
1608 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1611 Select this option if you want to build a 32-bit kernel.
1613 bool "64-bit kernel"
1614 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1615 select HAVE_SYSCALL_WRAPPERS
1617 Select this option if you want to build a 64-bit kernel.
1622 prompt "Kernel page size"
1623 default PAGE_SIZE_4KB
1625 config PAGE_SIZE_4KB
1627 depends on !CPU_LOONGSON2
1629 This option select the standard 4kB Linux page size. On some
1630 R3000-family processors this is the only available page size. Using
1631 4kB page size will minimize memory consumption and is therefore
1632 recommended for low memory systems.
1634 config PAGE_SIZE_8KB
1636 depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
1638 Using 8kB page size will result in higher performance kernel at
1639 the price of higher memory consumption. This option is available
1640 only on R8000 and cnMIPS processors. Note that you will need a
1641 suitable Linux distribution to support this.
1643 config PAGE_SIZE_16KB
1645 depends on !CPU_R3000 && !CPU_TX39XX
1647 Using 16kB page size will result in higher performance kernel at
1648 the price of higher memory consumption. This option is available on
1649 all non-R3000 family processors. Note that you will need a suitable
1650 Linux distribution to support this.
1652 config PAGE_SIZE_32KB
1654 depends on CPU_CAVIUM_OCTEON
1656 Using 32kB page size will result in higher performance kernel at
1657 the price of higher memory consumption. This option is available
1658 only on cnMIPS cores. Note that you will need a suitable Linux
1659 distribution to support this.
1661 config PAGE_SIZE_64KB
1663 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1665 Using 64kB page size will result in higher performance kernel at
1666 the price of higher memory consumption. This option is available on
1667 all non-R3000 family processor. Not that at the time of this
1668 writing this option is still high experimental.
1672 config FORCE_MAX_ZONEORDER
1673 int "Maximum zone order"
1674 range 13 64 if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_32KB
1675 default "13" if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_32KB
1676 range 12 64 if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_16KB
1677 default "12" if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_16KB
1681 The kernel memory allocator divides physically contiguous memory
1682 blocks into "zones", where each zone is a power of two number of
1683 pages. This option selects the largest power of two that the kernel
1684 keeps in the memory allocator. If you need to allocate very large
1685 blocks of physically contiguous memory, then you may need to
1686 increase this value.
1688 This config option is actually maximum order plus one. For example,
1689 a value of 11 means that the largest free memory block is 2^10 pages.
1691 The page size is not necessarily 4KB. Keep this in mind
1692 when choosing a value for this option.
1697 config IP22_CPU_SCACHE
1702 # Support for a MIPS32 / MIPS64 style S-caches
1704 config MIPS_CPU_SCACHE
1708 config R5000_CPU_SCACHE
1712 config RM7000_CPU_SCACHE
1716 config SIBYTE_DMA_PAGEOPS
1717 bool "Use DMA to clear/copy pages"
1720 Instead of using the CPU to zero and copy pages, use a Data Mover
1721 channel. These DMA channels are otherwise unused by the standard
1722 SiByte Linux port. Seems to give a small performance benefit.
1724 config CPU_HAS_PREFETCH
1728 prompt "MIPS MT options"
1730 config MIPS_MT_DISABLED
1731 bool "Disable multithreading support."
1733 Use this option if your workload can't take advantage of
1734 MIPS hardware multithreading support. On systems that don't have
1735 the option of an MT-enabled processor this option will be the only
1736 option in this menu.
1739 bool "Use 1 TC on each available VPE for SMP"
1740 depends on SYS_SUPPORTS_MULTITHREADING
1741 select CPU_MIPSR2_IRQ_VI
1742 select CPU_MIPSR2_IRQ_EI
1744 select NR_CPUS_DEFAULT_2
1746 select SYS_SUPPORTS_SCHED_SMT if SMP
1747 select SYS_SUPPORTS_SMP
1750 This is a kernel model which is known a VSMP but lately has been
1751 marketesed into SMVP.
1752 Virtual SMP uses the processor's VPEs to implement virtual
1753 processors. In currently available configuration of the 34K processor
1754 this allows for a dual processor. Both processors will share the same
1755 primary caches; each will obtain the half of the TLB for it's own
1756 exclusive use. For a layman this model can be described as similar to
1757 what Intel calls Hyperthreading.
1759 For further information see http://www.linux-mips.org/wiki/34K#VSMP
1762 bool "SMTC: Use all TCs on all VPEs for SMP"
1763 depends on CPU_MIPS32_R2
1764 #depends on CPU_MIPS64_R2 # once there is hardware ...
1765 depends on SYS_SUPPORTS_MULTITHREADING
1766 select CPU_MIPSR2_IRQ_VI
1767 select CPU_MIPSR2_IRQ_EI
1769 select NR_CPUS_DEFAULT_8
1771 select SYS_SUPPORTS_SMP
1774 This is a kernel model which is known a SMTC or lately has been
1775 marketesed into SMVP.
1776 is presenting the available TC's of the core as processors to Linux.
1777 On currently available 34K processors this means a Linux system will
1778 see up to 5 processors. The implementation of the SMTC kernel differs
1779 significantly from VSMP and cannot efficiently coexist in the same
1780 kernel binary so the choice between VSMP and SMTC is a compile time
1783 For further information see http://www.linux-mips.org/wiki/34K#SMTC
1791 bool "SMT (multithreading) scheduler support"
1792 depends on SYS_SUPPORTS_SCHED_SMT
1795 SMT scheduler support improves the CPU scheduler's decision making
1796 when dealing with MIPS MT enabled cores at a cost of slightly
1797 increased overhead in some places. If unsure say N here.
1799 config SYS_SUPPORTS_SCHED_SMT
1803 config SYS_SUPPORTS_MULTITHREADING
1806 config MIPS_MT_FPAFF
1807 bool "Dynamic FPU affinity for FP-intensive threads"
1809 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1811 config MIPS_VPE_LOADER
1812 bool "VPE loader support."
1813 depends on SYS_SUPPORTS_MULTITHREADING
1814 select CPU_MIPSR2_IRQ_VI
1815 select CPU_MIPSR2_IRQ_EI
1818 Includes a loader for loading an elf relocatable object
1819 onto another VPE and running it.
1821 config MIPS_MT_SMTC_IM_BACKSTOP
1822 bool "Use per-TC register bits as backstop for inhibited IM bits"
1823 depends on MIPS_MT_SMTC
1826 To support multiple TC microthreads acting as "CPUs" within
1827 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1828 during interrupt handling. To support legacy drivers and interrupt
1829 controller management code, SMTC has a "backstop" to track and
1830 if necessary restore the interrupt mask. This has some performance
1831 impact on interrupt service overhead.
1833 config MIPS_MT_SMTC_IRQAFF
1834 bool "Support IRQ affinity API"
1835 depends on MIPS_MT_SMTC
1838 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1839 for SMTC Linux kernel. Requires platform support, of which
1840 an example can be found in the MIPS kernel i8259 and Malta
1841 platform code. Adds some overhead to interrupt dispatch, and
1842 should be used only if you know what you are doing.
1844 config MIPS_VPE_LOADER_TOM
1845 bool "Load VPE program into memory hidden from linux"
1846 depends on MIPS_VPE_LOADER
1849 The loader can use memory that is present but has been hidden from
1850 Linux using the kernel command line option "mem=xxMB". It's up to
1851 you to ensure the amount you put in the option and the space your
1852 program requires is less or equal to the amount physically present.
1854 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1855 config MIPS_VPE_APSP_API
1856 bool "Enable support for AP/SP API (RTLX)"
1857 depends on MIPS_VPE_LOADER
1860 config MIPS_APSP_KSPD
1862 depends on MIPS_VPE_APSP_API
1865 KSPD is a kernel daemon that accepts syscall requests from the SP
1866 side, actions them and returns the results. It also handles the
1867 "exit" syscall notifying other kernel modules the SP program is
1868 exiting. You probably want to say yes here.
1871 bool "MIPS CMP framework support"
1872 depends on SYS_SUPPORTS_MIPS_CMP
1874 select SYS_SUPPORTS_SMP
1875 select SYS_SUPPORTS_SCHED_SMT if SMP
1876 select WEAK_ORDERING
1879 This is a placeholder option for the GCMP work. It will need to
1880 be handled differently...
1882 config SB1_PASS_1_WORKAROUNDS
1884 depends on CPU_SB1_PASS_1
1887 config SB1_PASS_2_WORKAROUNDS
1889 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1892 config SB1_PASS_2_1_WORKAROUNDS
1894 depends on CPU_SB1 && CPU_SB1_PASS_2
1897 config 64BIT_PHYS_ADDR
1900 config ARCH_PHYS_ADDR_T_64BIT
1901 def_bool 64BIT_PHYS_ADDR
1903 config CPU_HAS_SMARTMIPS
1904 depends on SYS_SUPPORTS_SMARTMIPS
1905 bool "Support for the SmartMIPS ASE"
1907 SmartMIPS is a extension of the MIPS32 architecture aimed at
1908 increased security at both hardware and software level for
1909 smartcards. Enabling this option will allow proper use of the
1910 SmartMIPS instructions by Linux applications. However a kernel with
1911 this option will not work on a MIPS core without SmartMIPS core. If
1912 you don't know you probably don't have SmartMIPS and should say N
1919 # Vectored interrupt mode is an R2 feature
1921 config CPU_MIPSR2_IRQ_VI
1925 # Extended interrupt mode is an R2 feature
1927 config CPU_MIPSR2_IRQ_EI
1932 depends on !CPU_R3000
1935 config GENERIC_CLOCKEVENTS_BROADCAST
1941 config CPU_DADDI_WORKAROUNDS
1944 config CPU_R4000_WORKAROUNDS
1946 select CPU_R4400_WORKAROUNDS
1948 config CPU_R4400_WORKAROUNDS
1952 # - Highmem only makes sense for the 32-bit kernel.
1953 # - The current highmem code will only work properly on physically indexed
1954 # caches such as R3000, SB1, R7000 or those that look like they're virtually
1955 # indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1956 # moment we protect the user and offer the highmem option only on machines
1957 # where it's known to be safe. This will not offer highmem on a few systems
1958 # such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1959 # indexed CPUs but we're playing safe.
1960 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1961 # know they might have memory configurations that could make use of highmem
1965 bool "High Memory Support"
1966 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1968 config CPU_SUPPORTS_HIGHMEM
1971 config SYS_SUPPORTS_HIGHMEM
1974 config SYS_SUPPORTS_SMARTMIPS
1977 config ARCH_FLATMEM_ENABLE
1979 depends on !NUMA && !CPU_LOONGSON2
1981 config ARCH_DISCONTIGMEM_ENABLE
1983 default y if SGI_IP27
1985 Say Y to support efficient handling of discontiguous physical memory,
1986 for architectures which are either NUMA (Non-Uniform Memory Access)
1987 or have huge holes in the physical address space for other reasons.
1988 See <file:Documentation/vm/numa> for more.
1990 config ARCH_POPULATES_NODE_MAP
1993 config ARCH_SPARSEMEM_ENABLE
1995 select SPARSEMEM_STATIC
1999 depends on SYS_SUPPORTS_NUMA
2001 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
2002 Access). This option improves performance on systems with more
2003 than two nodes; on two node systems it is generally better to
2004 leave it disabled; on single node systems disable this option
2007 config SYS_SUPPORTS_NUMA
2013 depends on NEED_MULTIPLE_NODES
2015 config HW_PERF_EVENTS
2016 bool "Enable hardware performance counter support for perf events"
2017 depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && CPU_MIPS32
2020 Enable hardware performance counter support for perf events. If
2021 disabled, perf events will use software events only.
2026 bool "Multi-Processing support"
2027 depends on SYS_SUPPORTS_SMP
2029 select USE_GENERIC_SMP_HELPERS
2031 This enables support for systems with more than one CPU. If you have
2032 a system with only one CPU, like most personal computers, say N. If
2033 you have a system with more than one CPU, say Y.
2035 If you say N here, the kernel will run on single and multiprocessor
2036 machines, but will use only one CPU of a multiprocessor machine. If
2037 you say Y here, the kernel will run on many, but not all,
2038 singleprocessor machines. On a singleprocessor machine, the kernel
2039 will run faster if you say N here.
2041 People using multiprocessor machines who say Y here should also say
2042 Y to "Enhanced Real Time Clock Support", below.
2044 See also the SMP-HOWTO available at
2045 <http://www.tldp.org/docs.html#howto>.
2047 If you don't know what to do here, say N.
2052 config SYS_SUPPORTS_MIPS_CMP
2055 config SYS_SUPPORTS_SMP
2058 config NR_CPUS_DEFAULT_1
2061 config NR_CPUS_DEFAULT_2
2064 config NR_CPUS_DEFAULT_4
2067 config NR_CPUS_DEFAULT_8
2070 config NR_CPUS_DEFAULT_16
2073 config NR_CPUS_DEFAULT_32
2076 config NR_CPUS_DEFAULT_64
2080 int "Maximum number of CPUs (2-64)"
2081 range 1 64 if NR_CPUS_DEFAULT_1
2083 default "1" if NR_CPUS_DEFAULT_1
2084 default "2" if NR_CPUS_DEFAULT_2
2085 default "4" if NR_CPUS_DEFAULT_4
2086 default "8" if NR_CPUS_DEFAULT_8
2087 default "16" if NR_CPUS_DEFAULT_16
2088 default "32" if NR_CPUS_DEFAULT_32
2089 default "64" if NR_CPUS_DEFAULT_64
2091 This allows you to specify the maximum number of CPUs which this
2092 kernel will support. The maximum supported value is 32 for 32-bit
2093 kernel and 64 for 64-bit kernels; the minimum value which makes
2094 sense is 1 for Qemu (useful only for kernel debugging purposes)
2095 and 2 for all others.
2097 This is purely to save memory - each supported CPU adds
2098 approximately eight kilobytes to the kernel image. For best
2099 performance should round up your number of processors to the next
2102 source "kernel/time/Kconfig"
2105 # Timer Interrupt Frequency Configuration
2109 prompt "Timer frequency"
2112 Allows the configuration of the timer frequency.
2115 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
2118 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
2121 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
2124 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
2127 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
2130 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
2133 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2137 config SYS_SUPPORTS_48HZ
2140 config SYS_SUPPORTS_100HZ
2143 config SYS_SUPPORTS_128HZ
2146 config SYS_SUPPORTS_250HZ
2149 config SYS_SUPPORTS_256HZ
2152 config SYS_SUPPORTS_1000HZ
2155 config SYS_SUPPORTS_1024HZ
2158 config SYS_SUPPORTS_ARBIT_HZ
2160 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2161 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2162 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2163 !SYS_SUPPORTS_1024HZ
2168 default 100 if HZ_100
2169 default 128 if HZ_128
2170 default 250 if HZ_250
2171 default 256 if HZ_256
2172 default 1000 if HZ_1000
2173 default 1024 if HZ_1024
2175 source "kernel/Kconfig.preempt"
2177 config MIPS_INSANE_LARGE
2178 bool "Support for large 64-bit configurations"
2179 depends on CPU_R10000 && 64BIT
2181 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
2182 previous 64-bit processors which only supported 40 bit / 1TB. If you
2183 need processes of more than 1TB virtual address space, say Y here.
2184 This will result in additional memory usage, so it is not
2185 recommended for normal users.
2188 bool "Kexec system call (EXPERIMENTAL)"
2189 depends on EXPERIMENTAL
2191 kexec is a system call that implements the ability to shutdown your
2192 current kernel, and to start another kernel. It is like a reboot
2193 but it is independent of the system firmware. And like a reboot
2194 you can start any kernel with it, not just Linux.
2196 The name comes from the similarity to the exec system call.
2198 It is an ongoing process to be certain the hardware in a machine
2199 is properly shutdown, so do not be surprised if this code does not
2200 initially work for you. It may help to enable device hotplugging
2201 support. As of this writing the exact hardware interface is
2202 strongly in flux, so no good recommendation can be made.
2205 bool "Enable seccomp to safely compute untrusted bytecode"
2209 This kernel feature is useful for number crunching applications
2210 that may need to compute untrusted bytecode during their
2211 execution. By using pipes or other transports made available to
2212 the process as file descriptors supporting the read/write
2213 syscalls, it's possible to isolate those applications in
2214 their own address space using seccomp. Once seccomp is
2215 enabled via /proc/<pid>/seccomp, it cannot be disabled
2216 and the task is only allowed to execute a few safe syscalls
2217 defined by each seccomp mode.
2219 If unsure, say Y. Only embedded should say N here.
2222 bool "Flattened Device Tree support"
2224 select OF_EARLY_FLATTREE
2226 Include support for flattened device tree machine descriptions.
2230 config LOCKDEP_SUPPORT
2234 config STACKTRACE_SUPPORT
2238 source "init/Kconfig"
2240 source "kernel/Kconfig.freezer"
2242 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2250 bool "Support for PCI controller"
2251 depends on HW_HAS_PCI
2254 Find out whether you have a PCI motherboard. PCI is the name of a
2255 bus system, i.e. the way the CPU talks to the other stuff inside
2256 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2262 source "drivers/pci/Kconfig"
2265 # ISA support is now enabled via select. Too many systems still have the one
2266 # or other ISA chip on the board that users don't know about so don't expect
2267 # users to choose the right thing ...
2274 depends on HW_HAS_EISA
2276 select GENERIC_ISA_DMA
2278 The Extended Industry Standard Architecture (EISA) bus was
2279 developed as an open alternative to the IBM MicroChannel bus.
2281 The EISA bus provided some of the features of the IBM MicroChannel
2282 bus while maintaining backward compatibility with cards made for
2283 the older ISA bus. The EISA bus saw limited use between 1988 and
2284 1995 when it was made obsolete by the PCI bus.
2286 Say Y here if you are building a kernel for an EISA-based machine.
2290 source "drivers/eisa/Kconfig"
2293 bool "TURBOchannel support"
2294 depends on MACH_DECSTATION
2296 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2297 processors. TURBOchannel programming specifications are available
2299 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
2301 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
2302 Linux driver support status is documented at:
2303 <http://www.linux-mips.org/wiki/DECstation>
2306 # bool "Access.Bus support"
2315 select MIPS_EXTERNAL_TIMER
2320 source "drivers/pcmcia/Kconfig"
2322 source "drivers/pci/hotplug/Kconfig"
2326 menu "Executable file formats"
2328 source "fs/Kconfig.binfmt"
2333 config MIPS32_COMPAT
2334 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2337 Select this option if you want Linux/MIPS 32-bit binary
2338 compatibility. Since all software available for Linux/MIPS is
2339 currently 32-bit you should say Y here.
2343 depends on MIPS32_COMPAT
2346 config SYSVIPC_COMPAT
2348 depends on COMPAT && SYSVIPC
2352 bool "Kernel support for o32 binaries"
2353 depends on MIPS32_COMPAT
2355 Select this option if you want to run o32 binaries. These are pure
2356 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2357 existing binaries are in this format.
2362 bool "Kernel support for n32 binaries"
2363 depends on MIPS32_COMPAT
2365 Select this option if you want to run n32 binaries. These are
2366 64-bit binaries using 32-bit quantities for addressing and certain
2367 data that would normally be 64-bit. They are used in special
2374 default y if MIPS32_O32 || MIPS32_N32
2378 menu "Power management options"
2380 config ARCH_HIBERNATION_POSSIBLE
2382 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2384 config ARCH_SUSPEND_POSSIBLE
2386 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2388 source "kernel/power/Kconfig"
2392 source "arch/mips/kernel/cpufreq/Kconfig"
2394 source "net/Kconfig"
2396 source "drivers/Kconfig"
2400 source "arch/mips/Kconfig.debug"
2402 source "security/Kconfig"
2404 source "crypto/Kconfig"
2406 source "lib/Kconfig"