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
24 select HAVE_ARCH_JUMP_LABEL
26 menu "Machine selection"
36 bool "Alchemy processor based machines"
37 select 64BIT_PHYS_ADDR
41 select SYS_HAS_CPU_MIPS32_R1
42 select SYS_SUPPORTS_32BIT_KERNEL
43 select SYS_SUPPORTS_APM_EMULATION
45 select ARCH_WANT_OPTIONAL_GPIOLIB
46 select SYS_SUPPORTS_ZBOOT
49 bool "Texas Instruments AR7"
51 select DMA_NONCOHERENT
57 select SYS_HAS_CPU_MIPS32_R1
58 select SYS_HAS_EARLY_PRINTK
59 select SYS_SUPPORTS_32BIT_KERNEL
60 select SYS_SUPPORTS_LITTLE_ENDIAN
61 select SYS_SUPPORTS_ZBOOT_UART16550
62 select ARCH_REQUIRE_GPIOLIB
66 Support for the Texas Instruments AR7 System-on-a-Chip
67 family: TNETD7100, 7200 and 7300.
70 bool "Atheros AR71XX/AR724X/AR913X based boards"
71 select ARCH_REQUIRE_GPIOLIB
75 select DMA_NONCOHERENT
77 select SYS_HAS_CPU_MIPS32_R2
78 select SYS_HAS_EARLY_PRINTK
79 select SYS_SUPPORTS_32BIT_KERNEL
80 select SYS_SUPPORTS_BIG_ENDIAN
82 Support for the Atheros AR71XX/AR724X/AR913X SoCs.
85 bool "Broadcom BCM47XX based boards"
88 select DMA_NONCOHERENT
91 select SYS_HAS_CPU_MIPS32_R1
92 select SYS_SUPPORTS_32BIT_KERNEL
93 select SYS_SUPPORTS_LITTLE_ENDIAN
95 select SSB_DRIVER_MIPS
96 select SSB_DRIVER_EXTIF
98 select SSB_B43_PCI_BRIDGE if PCI
99 select SSB_PCICORE_HOSTMODE if PCI
101 select SYS_HAS_EARLY_PRINTK
104 Support for BCM47XX based boards
107 bool "Broadcom BCM63XX based boards"
110 select DMA_NONCOHERENT
112 select SYS_HAS_CPU_MIPS32_R1
113 select SYS_SUPPORTS_32BIT_KERNEL
114 select SYS_SUPPORTS_BIG_ENDIAN
115 select SYS_HAS_EARLY_PRINTK
117 select ARCH_REQUIRE_GPIOLIB
119 Support for BCM63XX based boards
126 select DMA_NONCOHERENT
132 select PCI_GT64XXX_PCI0
134 select SYS_HAS_CPU_NEVADA
135 select SYS_HAS_EARLY_PRINTK
136 select SYS_SUPPORTS_32BIT_KERNEL
137 select SYS_SUPPORTS_64BIT_KERNEL
138 select SYS_SUPPORTS_LITTLE_ENDIAN
140 config MACH_DECSTATION
147 select CPU_DADDI_WORKAROUNDS if 64BIT
148 select CPU_R4000_WORKAROUNDS if 64BIT
149 select CPU_R4400_WORKAROUNDS if 64BIT
150 select DMA_NONCOHERENT
153 select SYS_HAS_CPU_R3000
154 select SYS_HAS_CPU_R4X00
155 select SYS_SUPPORTS_32BIT_KERNEL
156 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
157 select SYS_SUPPORTS_LITTLE_ENDIAN
158 select SYS_SUPPORTS_128HZ
159 select SYS_SUPPORTS_256HZ
160 select SYS_SUPPORTS_1024HZ
162 This enables support for DEC's MIPS based workstations. For details
163 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
164 DECstation porting pages on <http://decstation.unix-ag.org/>.
166 If you have one of the following DECstation Models you definitely
167 want to choose R4xx0 for the CPU Type:
174 otherwise choose R3000.
177 bool "Jazz family of machines"
180 select ARCH_MAY_HAVE_PC_FDC
183 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
184 select GENERIC_ISA_DMA
189 select SYS_HAS_CPU_R4X00
190 select SYS_SUPPORTS_32BIT_KERNEL
191 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
192 select SYS_SUPPORTS_100HZ
194 This a family of machines based on the MIPS R4030 chipset which was
195 used by several vendors to build RISC/os and Windows NT workstations.
196 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
197 Olivetti M700-10 workstations.
200 bool "Ingenic JZ4740 based machines"
201 select SYS_HAS_CPU_MIPS32_R1
202 select SYS_SUPPORTS_32BIT_KERNEL
203 select SYS_SUPPORTS_LITTLE_ENDIAN
204 select DMA_NONCOHERENT
207 select ARCH_REQUIRE_GPIOLIB
208 select SYS_HAS_EARLY_PRINTK
212 bool "LASAT Networks platforms"
215 select DMA_NONCOHERENT
216 select SYS_HAS_EARLY_PRINTK
219 select PCI_GT64XXX_PCI0
221 select R5000_CPU_SCACHE
222 select SYS_HAS_CPU_R5000
223 select SYS_SUPPORTS_32BIT_KERNEL
224 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
225 select SYS_SUPPORTS_LITTLE_ENDIAN
228 bool "Loongson family of machines"
229 select SYS_SUPPORTS_ZBOOT
231 This enables the support of Loongson family of machines.
233 Loongson is a family of general-purpose MIPS-compatible CPUs.
234 developed at Institute of Computing Technology (ICT),
235 Chinese Academy of Sciences (CAS) in the People's Republic
236 of China. The chief architect is Professor Weiwu Hu.
239 bool "MIPS Malta board"
240 select ARCH_MAY_HAVE_PC_FDC
245 select DMA_NONCOHERENT
246 select GENERIC_ISA_DMA
252 select MIPS_BOARDS_GEN
254 select MIPS_CPU_SCACHE
255 select PCI_GT64XXX_PCI0
258 select SYS_HAS_CPU_MIPS32_R1
259 select SYS_HAS_CPU_MIPS32_R2
260 select SYS_HAS_CPU_MIPS64_R1
261 select SYS_HAS_CPU_NEVADA
262 select SYS_HAS_CPU_RM7000
263 select SYS_HAS_EARLY_PRINTK
264 select SYS_SUPPORTS_32BIT_KERNEL
265 select SYS_SUPPORTS_64BIT_KERNEL
266 select SYS_SUPPORTS_BIG_ENDIAN
267 select SYS_SUPPORTS_LITTLE_ENDIAN
268 select SYS_SUPPORTS_MIPS_CMP
269 select SYS_SUPPORTS_MULTITHREADING
270 select SYS_SUPPORTS_SMARTMIPS
271 select SYS_SUPPORTS_ZBOOT
273 This enables support for the MIPS Technologies Malta evaluation
277 bool 'MIPS simulator (MIPSsim)'
280 select DMA_NONCOHERENT
281 select SYS_HAS_EARLY_PRINTK
284 select SYS_HAS_CPU_MIPS32_R1
285 select SYS_HAS_CPU_MIPS32_R2
286 select SYS_HAS_EARLY_PRINTK
287 select SYS_SUPPORTS_32BIT_KERNEL
288 select SYS_SUPPORTS_BIG_ENDIAN
289 select SYS_SUPPORTS_MULTITHREADING
290 select SYS_SUPPORTS_LITTLE_ENDIAN
292 This option enables support for MIPS Technologies MIPSsim software
296 bool "NEC EMMA2RH Mark-eins board"
300 This enables support for the NEC Electronics Mark-eins boards.
303 bool "NEC VR4100 series based machines"
306 select SYS_HAS_CPU_VR41XX
307 select ARCH_REQUIRE_GPIOLIB
310 bool "NXP STB220 board"
313 Support for NXP Semiconductors STB220 Development Board.
320 Support for NXP Semiconductors STB225 Development Board.
323 bool "NXP PNX8550 based JBS board"
325 select SYS_SUPPORTS_LITTLE_ENDIAN
327 config PNX8550_STB810
328 bool "NXP PNX8550 based STB810 board"
330 select SYS_SUPPORTS_LITTLE_ENDIAN
333 bool "PMC-Sierra MSP chipsets"
334 depends on EXPERIMENTAL
335 select DMA_NONCOHERENT
337 select NO_EXCEPT_FILL
339 select SYS_HAS_CPU_MIPS32_R1
340 select SYS_HAS_CPU_MIPS32_R2
341 select SYS_SUPPORTS_32BIT_KERNEL
342 select SYS_SUPPORTS_BIG_ENDIAN
345 select SERIAL_8250_CONSOLE
347 This adds support for the PMC-Sierra family of Multi-Service
348 Processor System-On-A-Chips. These parts include a number
349 of integrated peripherals, interfaces and DSPs in addition to
350 a variety of MIPS cores.
353 bool "PMC-Sierra Yosemite eval board"
362 select SYS_HAS_CPU_RM9000
363 select SYS_HAS_EARLY_PRINTK
364 select SYS_SUPPORTS_32BIT_KERNEL
365 select SYS_SUPPORTS_64BIT_KERNEL
366 select SYS_SUPPORTS_BIG_ENDIAN
367 select SYS_SUPPORTS_HIGHMEM
368 select SYS_SUPPORTS_SMP
370 Yosemite is an evaluation board for the RM9000x2 processor
371 manufactured by PMC-Sierra.
377 select CPU_MIPSR2_IRQ_VI
378 select CPU_MIPSR2_IRQ_EI
380 select DMA_NONCOHERENT
382 select SYS_HAS_EARLY_PRINTK
383 select SYS_HAS_CPU_MIPS32_R2
384 select SYS_SUPPORTS_32BIT_KERNEL
385 select SYS_SUPPORTS_BIG_ENDIAN
386 select SYS_SUPPORTS_HIGHMEM
387 select USB_OHCI_LITTLE_ENDIAN
389 This enables support for the Cisco PowerTV Platform.
392 bool "SGI IP22 (Indy/Indigo2)"
398 select DEFAULT_SGI_PARTITION
399 select DMA_NONCOHERENT
403 select IP22_CPU_SCACHE
405 select GENERIC_ISA_DMA_SUPPORT_BROKEN
407 select SGI_HAS_INDYDOG
413 select SYS_HAS_CPU_R4X00
414 select SYS_HAS_CPU_R5000
416 # Disable EARLY_PRINTK for now since it leads to overwritten prom
417 # memory during early boot on some machines.
419 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
420 # for a more details discussion
422 # select SYS_HAS_EARLY_PRINTK
423 select SYS_SUPPORTS_32BIT_KERNEL
424 select SYS_SUPPORTS_64BIT_KERNEL
425 select SYS_SUPPORTS_BIG_ENDIAN
427 This are the SGI Indy, Challenge S and Indigo2, as well as certain
428 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
429 that runs on these, say Y here.
432 bool "SGI IP27 (Origin200/2000)"
436 select DEFAULT_SGI_PARTITION
438 select SYS_HAS_EARLY_PRINTK
440 select NR_CPUS_DEFAULT_64
441 select SYS_HAS_CPU_R10000
442 select SYS_SUPPORTS_64BIT_KERNEL
443 select SYS_SUPPORTS_BIG_ENDIAN
444 select SYS_SUPPORTS_NUMA
445 select SYS_SUPPORTS_SMP
447 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
448 workstations. To compile a Linux kernel that runs on these, say Y
452 bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
453 depends on EXPERIMENTAL
459 select DEFAULT_SGI_PARTITION
460 select DMA_NONCOHERENT
461 select GENERIC_ISA_DMA_SUPPORT_BROKEN
467 select SGI_HAS_INDYDOG
473 select SYS_HAS_CPU_R10000
475 # Disable EARLY_PRINTK for now since it leads to overwritten prom
476 # memory during early boot on some machines.
478 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
479 # for a more details discussion
481 # select SYS_HAS_EARLY_PRINTK
482 select SYS_SUPPORTS_64BIT_KERNEL
483 select SYS_SUPPORTS_BIG_ENDIAN
485 This is the SGI Indigo2 with R10000 processor. To compile a Linux
486 kernel that runs on these, say Y here.
495 select DMA_NONCOHERENT
498 select R5000_CPU_SCACHE
499 select RM7000_CPU_SCACHE
500 select SYS_HAS_CPU_R5000
501 select SYS_HAS_CPU_R10000 if BROKEN
502 select SYS_HAS_CPU_RM7000
503 select SYS_HAS_CPU_NEVADA
504 select SYS_SUPPORTS_64BIT_KERNEL
505 select SYS_SUPPORTS_BIG_ENDIAN
507 If you want this kernel to run on SGI O2 workstation, say Y here.
510 bool "Sibyte BCM91120C-CRhine"
511 depends on EXPERIMENTAL
514 select SIBYTE_BCM1120
516 select SYS_HAS_CPU_SB1
517 select SYS_SUPPORTS_BIG_ENDIAN
518 select SYS_SUPPORTS_LITTLE_ENDIAN
521 bool "Sibyte BCM91120x-Carmel"
522 depends on EXPERIMENTAL
525 select SIBYTE_BCM1120
527 select SYS_HAS_CPU_SB1
528 select SYS_SUPPORTS_BIG_ENDIAN
529 select SYS_SUPPORTS_LITTLE_ENDIAN
532 bool "Sibyte BCM91125C-CRhone"
533 depends on EXPERIMENTAL
536 select SIBYTE_BCM1125
538 select SYS_HAS_CPU_SB1
539 select SYS_SUPPORTS_BIG_ENDIAN
540 select SYS_SUPPORTS_HIGHMEM
541 select SYS_SUPPORTS_LITTLE_ENDIAN
544 bool "Sibyte BCM91125E-Rhone"
545 depends on EXPERIMENTAL
548 select SIBYTE_BCM1125H
550 select SYS_HAS_CPU_SB1
551 select SYS_SUPPORTS_BIG_ENDIAN
552 select SYS_SUPPORTS_LITTLE_ENDIAN
555 bool "Sibyte BCM91250A-SWARM"
558 select HAVE_PATA_PLATFORM
559 select NR_CPUS_DEFAULT_2
562 select SYS_HAS_CPU_SB1
563 select SYS_SUPPORTS_BIG_ENDIAN
564 select SYS_SUPPORTS_HIGHMEM
565 select SYS_SUPPORTS_LITTLE_ENDIAN
566 select ZONE_DMA32 if 64BIT
568 config SIBYTE_LITTLESUR
569 bool "Sibyte BCM91250C2-LittleSur"
570 depends on EXPERIMENTAL
573 select HAVE_PATA_PLATFORM
574 select NR_CPUS_DEFAULT_2
577 select SYS_HAS_CPU_SB1
578 select SYS_SUPPORTS_BIG_ENDIAN
579 select SYS_SUPPORTS_HIGHMEM
580 select SYS_SUPPORTS_LITTLE_ENDIAN
582 config SIBYTE_SENTOSA
583 bool "Sibyte BCM91250E-Sentosa"
584 depends on EXPERIMENTAL
587 select NR_CPUS_DEFAULT_2
590 select SYS_HAS_CPU_SB1
591 select SYS_SUPPORTS_BIG_ENDIAN
592 select SYS_SUPPORTS_LITTLE_ENDIAN
595 bool "Sibyte BCM91480B-BigSur"
598 select NR_CPUS_DEFAULT_4
599 select SIBYTE_BCM1x80
601 select SYS_HAS_CPU_SB1
602 select SYS_SUPPORTS_BIG_ENDIAN
603 select SYS_SUPPORTS_HIGHMEM
604 select SYS_SUPPORTS_LITTLE_ENDIAN
605 select ZONE_DMA32 if 64BIT
608 bool "SNI RM200/300/400"
609 select ARC if CPU_LITTLE_ENDIAN
610 select ARC32 if CPU_LITTLE_ENDIAN
611 select SNIPROM if CPU_BIG_ENDIAN
612 select ARCH_MAY_HAVE_PC_FDC
616 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
617 select DMA_NONCOHERENT
618 select GENERIC_ISA_DMA
625 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
626 select SYS_HAS_CPU_R4X00
627 select SYS_HAS_CPU_R5000
628 select SYS_HAS_CPU_R10000
629 select R5000_CPU_SCACHE
630 select SYS_HAS_EARLY_PRINTK
631 select SYS_SUPPORTS_32BIT_KERNEL
632 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
633 select SYS_SUPPORTS_BIG_ENDIAN
634 select SYS_SUPPORTS_HIGHMEM
635 select SYS_SUPPORTS_LITTLE_ENDIAN
637 The SNI RM200/300/400 are MIPS-based machines manufactured by
638 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
639 Technology and now in turn merged with Fujitsu. Say Y here to
640 support this machine type.
643 bool "Toshiba TX39 series based machines"
646 bool "Toshiba TX49 series based machines"
648 config MIKROTIK_RB532
649 bool "Mikrotik RB532 boards"
652 select DMA_NONCOHERENT
655 select SYS_HAS_CPU_MIPS32_R1
656 select SYS_SUPPORTS_32BIT_KERNEL
657 select SYS_SUPPORTS_LITTLE_ENDIAN
660 select ARCH_REQUIRE_GPIOLIB
662 Support the Mikrotik(tm) RouterBoard 532 series,
663 based on the IDT RC32434 SoC.
666 bool "Wind River PPMC board"
671 select DMA_NONCOHERENT
673 select PCI_GT64XXX_PCI0
675 select SYS_HAS_CPU_MIPS32_R1
676 select SYS_HAS_CPU_MIPS32_R2
677 select SYS_HAS_CPU_MIPS64_R1
678 select SYS_HAS_CPU_NEVADA
679 select SYS_HAS_CPU_RM7000
680 select SYS_SUPPORTS_32BIT_KERNEL
681 select SYS_SUPPORTS_64BIT_KERNEL
682 select SYS_SUPPORTS_BIG_ENDIAN
683 select SYS_SUPPORTS_LITTLE_ENDIAN
685 This enables support for the Wind River MIPS32 4KC PPMC evaluation
686 board, which is based on GT64120 bridge chip.
688 config CAVIUM_OCTEON_SIMULATOR
689 bool "Cavium Networks Octeon Simulator"
691 select 64BIT_PHYS_ADDR
693 select SYS_SUPPORTS_64BIT_KERNEL
694 select SYS_SUPPORTS_BIG_ENDIAN
695 select SYS_SUPPORTS_HIGHMEM
696 select SYS_SUPPORTS_HOTPLUG_CPU
697 select SYS_HAS_CPU_CAVIUM_OCTEON
699 The Octeon simulator is software performance model of the Cavium
700 Octeon Processor. It supports simulating Octeon processors on x86
703 config CAVIUM_OCTEON_REFERENCE_BOARD
704 bool "Cavium Networks Octeon reference board"
706 select 64BIT_PHYS_ADDR
708 select SYS_SUPPORTS_64BIT_KERNEL
709 select SYS_SUPPORTS_BIG_ENDIAN
710 select SYS_SUPPORTS_HIGHMEM
711 select SYS_SUPPORTS_HOTPLUG_CPU
712 select SYS_HAS_EARLY_PRINTK
713 select SYS_HAS_CPU_CAVIUM_OCTEON
716 select ARCH_SUPPORTS_MSI
718 select USB_ARCH_HAS_OHCI
719 select USB_ARCH_HAS_EHCI
721 This option supports all of the Octeon reference boards from Cavium
722 Networks. It builds a kernel that dynamically determines the Octeon
723 CPU type and supports all known board reference implementations.
724 Some of the supported boards are:
731 Say Y here for most Octeon reference boards.
735 source "arch/mips/alchemy/Kconfig"
736 source "arch/mips/ath79/Kconfig"
737 source "arch/mips/bcm63xx/Kconfig"
738 source "arch/mips/jazz/Kconfig"
739 source "arch/mips/jz4740/Kconfig"
740 source "arch/mips/lasat/Kconfig"
741 source "arch/mips/pmc-sierra/Kconfig"
742 source "arch/mips/powertv/Kconfig"
743 source "arch/mips/sgi-ip27/Kconfig"
744 source "arch/mips/sibyte/Kconfig"
745 source "arch/mips/txx9/Kconfig"
746 source "arch/mips/vr41xx/Kconfig"
747 source "arch/mips/cavium-octeon/Kconfig"
748 source "arch/mips/loongson/Kconfig"
752 config RWSEM_GENERIC_SPINLOCK
756 config RWSEM_XCHGADD_ALGORITHM
759 config ARCH_HAS_ILOG2_U32
763 config ARCH_HAS_ILOG2_U64
767 config ARCH_SUPPORTS_OPROFILE
769 default y if !MIPS_MT_SMTC
771 config GENERIC_FIND_NEXT_BIT
775 config GENERIC_HWEIGHT
779 config GENERIC_CALIBRATE_DELAY
783 config GENERIC_CLOCKEVENTS
787 config GENERIC_CMOS_UPDATE
791 config SCHED_OMIT_FRAME_POINTER
795 config GENERIC_HARDIRQS_NO__DO_IRQ
799 # Select some configuration options automatically based on user selections.
804 config ARCH_MAY_HAVE_PC_FDC
853 select ARCH_REQUIRE_GPIOLIB
862 config DMA_NONCOHERENT
864 select NEED_DMA_MAP_STATE
866 config NEED_DMA_MAP_STATE
869 config SYS_HAS_EARLY_PRINTK
873 bool "Support for hot-pluggable CPUs"
874 depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU
876 Say Y here to allow turning CPUs off and on. CPUs can be
877 controlled through /sys/devices/system/cpu.
878 (Note: power management support will enable this option
879 automatically on SMP systems. )
880 Say N if you want to disable CPU hotplug.
882 config SYS_SUPPORTS_HOTPLUG_CPU
897 config MIPS_DISABLE_OBSOLETE_IDE
909 config GENERIC_ISA_DMA
911 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
914 config GENERIC_ISA_DMA_SUPPORT_BROKEN
916 select GENERIC_ISA_DMA
925 # Endianess selection. Sufficiently obscure so many users don't know what to
926 # answer,so we try hard to limit the available choices. Also the use of a
927 # choice statement should be more obvious to the user.
930 prompt "Endianess selection"
932 Some MIPS machines can be configured for either little or big endian
933 byte order. These modes require different kernels and a different
934 Linux distribution. In general there is one preferred byteorder for a
935 particular system but some systems are just as commonly used in the
936 one or the other endianness.
938 config CPU_BIG_ENDIAN
940 depends on SYS_SUPPORTS_BIG_ENDIAN
942 config CPU_LITTLE_ENDIAN
944 depends on SYS_SUPPORTS_LITTLE_ENDIAN
952 config SYS_SUPPORTS_APM_EMULATION
955 config SYS_SUPPORTS_BIG_ENDIAN
958 config SYS_SUPPORTS_LITTLE_ENDIAN
961 config SYS_SUPPORTS_HUGETLBFS
963 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
990 config IRQ_CPU_OCTEON
993 config MIPS_BOARDS_GEN
996 config PCI_GT64XXX_PCI0
999 config NO_EXCEPT_FILL
1004 select SERIAL_RM9000
1010 select DMA_NONCOHERENT
1012 select SWAP_IO_SPACE
1013 select SYS_HAS_CPU_R5500
1014 select SYS_SUPPORTS_32BIT_KERNEL
1015 select SYS_SUPPORTS_64BIT_KERNEL
1016 select SYS_SUPPORTS_BIG_ENDIAN
1023 select DMA_NONCOHERENT
1024 select SYS_HAS_CPU_MIPS32_R2
1025 select SYS_SUPPORTS_32BIT_KERNEL
1026 select SYS_SUPPORTS_LITTLE_ENDIAN
1027 select SYS_SUPPORTS_BIG_ENDIAN
1029 select CPU_MIPSR2_IRQ_VI
1041 select DMA_NONCOHERENT
1043 select SYS_HAS_CPU_MIPS32_R1
1044 select SYS_HAS_EARLY_PRINTK
1045 select SYS_SUPPORTS_32BIT_KERNEL
1048 config SWAP_IO_SPACE
1051 config SERIAL_RM9000
1054 config SGI_HAS_INDYDOG
1066 config SGI_HAS_ZILOG
1069 config SGI_HAS_I8042
1072 config DEFAULT_SGI_PARTITION
1084 config MIPS_L1_CACHE_SHIFT
1086 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL
1087 default "6" if MIPS_CPU_SCACHE
1088 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON
1091 config HAVE_STD_PC_SERIAL_PORT
1095 bool "ARC console support"
1096 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
1100 depends on MACH_JAZZ || SNI_RM || SGI_IP32
1105 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
1114 menu "CPU selection"
1120 config CPU_LOONGSON2E
1122 depends on SYS_HAS_CPU_LOONGSON2E
1123 select CPU_LOONGSON2
1125 The Loongson 2E processor implements the MIPS III instruction set
1126 with many extensions.
1128 It has an internal FPGA northbridge, which is compatiable to
1131 config CPU_LOONGSON2F
1133 depends on SYS_HAS_CPU_LOONGSON2F
1134 select CPU_LOONGSON2
1136 select ARCH_REQUIRE_GPIOLIB
1138 The Loongson 2F processor implements the MIPS III instruction set
1139 with many extensions.
1141 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1142 have a similar programming interface with FPGA northbridge used in
1145 config CPU_MIPS32_R1
1146 bool "MIPS32 Release 1"
1147 depends on SYS_HAS_CPU_MIPS32_R1
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 1 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.
1157 Release 2 of the MIPS32 architecture is available since several
1158 years so chances are you even have a MIPS32 Release 2 processor
1159 in which case you should choose CPU_MIPS32_R2 instead for better
1162 config CPU_MIPS32_R2
1163 bool "MIPS32 Release 2"
1164 depends on SYS_HAS_CPU_MIPS32_R2
1165 select CPU_HAS_PREFETCH
1166 select CPU_SUPPORTS_32BIT_KERNEL
1167 select CPU_SUPPORTS_HIGHMEM
1169 Choose this option to build a kernel for release 2 or later of the
1170 MIPS32 architecture. Most modern embedded systems with a 32-bit
1171 MIPS processor are based on a MIPS32 processor. If you know the
1172 specific type of processor in your system, choose those that one
1173 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1175 config CPU_MIPS64_R1
1176 bool "MIPS64 Release 1"
1177 depends on SYS_HAS_CPU_MIPS64_R1
1178 select CPU_HAS_PREFETCH
1179 select CPU_SUPPORTS_32BIT_KERNEL
1180 select CPU_SUPPORTS_64BIT_KERNEL
1181 select CPU_SUPPORTS_HIGHMEM
1182 select CPU_SUPPORTS_HUGEPAGES
1184 Choose this option to build a kernel for release 1 or later of the
1185 MIPS64 architecture. Many modern embedded systems with a 64-bit
1186 MIPS processor are based on a MIPS64 processor. If you know the
1187 specific type of processor in your system, choose those that one
1188 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1189 Release 2 of the MIPS64 architecture is available since several
1190 years so chances are you even have a MIPS64 Release 2 processor
1191 in which case you should choose CPU_MIPS64_R2 instead for better
1194 config CPU_MIPS64_R2
1195 bool "MIPS64 Release 2"
1196 depends on SYS_HAS_CPU_MIPS64_R2
1197 select CPU_HAS_PREFETCH
1198 select CPU_SUPPORTS_32BIT_KERNEL
1199 select CPU_SUPPORTS_64BIT_KERNEL
1200 select CPU_SUPPORTS_HIGHMEM
1201 select CPU_SUPPORTS_HUGEPAGES
1203 Choose this option to build a kernel for release 2 or later of the
1204 MIPS64 architecture. Many modern embedded systems with a 64-bit
1205 MIPS processor are based on a MIPS64 processor. If you know the
1206 specific type of processor in your system, choose those that one
1207 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1211 depends on SYS_HAS_CPU_R3000
1213 select CPU_SUPPORTS_32BIT_KERNEL
1214 select CPU_SUPPORTS_HIGHMEM
1216 Please make sure to pick the right CPU type. Linux/MIPS is not
1217 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1218 *not* work on R4000 machines and vice versa. However, since most
1219 of the supported machines have an R4000 (or similar) CPU, R4x00
1220 might be a safe bet. If the resulting kernel does not work,
1221 try to recompile with R3000.
1225 depends on SYS_HAS_CPU_TX39XX
1226 select CPU_SUPPORTS_32BIT_KERNEL
1230 depends on SYS_HAS_CPU_VR41XX
1231 select CPU_SUPPORTS_32BIT_KERNEL
1232 select CPU_SUPPORTS_64BIT_KERNEL
1234 The options selects support for the NEC VR4100 series of processors.
1235 Only choose this option if you have one of these processors as a
1236 kernel built with this option will not run on any other type of
1237 processor or vice versa.
1241 depends on SYS_HAS_CPU_R4300
1242 select CPU_SUPPORTS_32BIT_KERNEL
1243 select CPU_SUPPORTS_64BIT_KERNEL
1245 MIPS Technologies R4300-series processors.
1249 depends on SYS_HAS_CPU_R4X00
1250 select CPU_SUPPORTS_32BIT_KERNEL
1251 select CPU_SUPPORTS_64BIT_KERNEL
1253 MIPS Technologies R4000-series processors other than 4300, including
1254 the R4000, R4400, R4600, and 4700.
1258 depends on SYS_HAS_CPU_TX49XX
1259 select CPU_HAS_PREFETCH
1260 select CPU_SUPPORTS_32BIT_KERNEL
1261 select CPU_SUPPORTS_64BIT_KERNEL
1265 depends on SYS_HAS_CPU_R5000
1266 select CPU_SUPPORTS_32BIT_KERNEL
1267 select CPU_SUPPORTS_64BIT_KERNEL
1269 MIPS Technologies R5000-series processors other than the Nevada.
1273 depends on SYS_HAS_CPU_R5432
1274 select CPU_SUPPORTS_32BIT_KERNEL
1275 select CPU_SUPPORTS_64BIT_KERNEL
1279 depends on SYS_HAS_CPU_R5500
1280 select CPU_SUPPORTS_32BIT_KERNEL
1281 select CPU_SUPPORTS_64BIT_KERNEL
1282 select CPU_SUPPORTS_HUGEPAGES
1284 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1289 depends on EXPERIMENTAL
1290 depends on SYS_HAS_CPU_R6000
1291 select CPU_SUPPORTS_32BIT_KERNEL
1293 MIPS Technologies R6000 and R6000A series processors. Note these
1294 processors are extremely rare and the support for them is incomplete.
1298 depends on SYS_HAS_CPU_NEVADA
1299 select CPU_SUPPORTS_32BIT_KERNEL
1300 select CPU_SUPPORTS_64BIT_KERNEL
1302 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1306 depends on EXPERIMENTAL
1307 depends on SYS_HAS_CPU_R8000
1308 select CPU_HAS_PREFETCH
1309 select CPU_SUPPORTS_64BIT_KERNEL
1311 MIPS Technologies R8000 processors. Note these processors are
1312 uncommon and the support for them is incomplete.
1316 depends on SYS_HAS_CPU_R10000
1317 select CPU_HAS_PREFETCH
1318 select CPU_SUPPORTS_32BIT_KERNEL
1319 select CPU_SUPPORTS_64BIT_KERNEL
1320 select CPU_SUPPORTS_HIGHMEM
1322 MIPS Technologies R10000-series processors.
1326 depends on SYS_HAS_CPU_RM7000
1327 select CPU_HAS_PREFETCH
1328 select CPU_SUPPORTS_32BIT_KERNEL
1329 select CPU_SUPPORTS_64BIT_KERNEL
1330 select CPU_SUPPORTS_HIGHMEM
1334 depends on SYS_HAS_CPU_RM9000
1335 select CPU_HAS_PREFETCH
1336 select CPU_SUPPORTS_32BIT_KERNEL
1337 select CPU_SUPPORTS_64BIT_KERNEL
1338 select CPU_SUPPORTS_HIGHMEM
1339 select WEAK_ORDERING
1343 depends on SYS_HAS_CPU_SB1
1344 select CPU_SUPPORTS_32BIT_KERNEL
1345 select CPU_SUPPORTS_64BIT_KERNEL
1346 select CPU_SUPPORTS_HIGHMEM
1347 select WEAK_ORDERING
1349 config CPU_CAVIUM_OCTEON
1350 bool "Cavium Octeon processor"
1351 depends on SYS_HAS_CPU_CAVIUM_OCTEON
1353 select IRQ_CPU_OCTEON
1354 select CPU_HAS_PREFETCH
1355 select CPU_SUPPORTS_64BIT_KERNEL
1356 select SYS_SUPPORTS_SMP
1357 select NR_CPUS_DEFAULT_16
1358 select WEAK_ORDERING
1359 select CPU_SUPPORTS_HIGHMEM
1360 select CPU_SUPPORTS_HUGEPAGES
1362 The Cavium Octeon processor is a highly integrated chip containing
1363 many ethernet hardware widgets for networking tasks. The processor
1364 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1365 Full details can be found at http://www.caviumnetworks.com.
1367 config CPU_BMIPS3300
1369 depends on SYS_HAS_CPU_BMIPS3300
1370 select DMA_NONCOHERENT
1372 select SWAP_IO_SPACE
1373 select SYS_SUPPORTS_32BIT_KERNEL
1374 select WEAK_ORDERING
1376 Broadcom BMIPS3300 processors.
1378 config CPU_BMIPS4350
1380 depends on SYS_HAS_CPU_BMIPS4350
1381 select CPU_SUPPORTS_32BIT_KERNEL
1382 select DMA_NONCOHERENT
1384 select SWAP_IO_SPACE
1385 select SYS_SUPPORTS_SMP
1386 select SYS_SUPPORTS_HOTPLUG_CPU
1387 select WEAK_ORDERING
1389 Broadcom BMIPS4350 ("VIPER") processors.
1391 config CPU_BMIPS4380
1393 depends on SYS_HAS_CPU_BMIPS4380
1394 select CPU_SUPPORTS_32BIT_KERNEL
1395 select DMA_NONCOHERENT
1397 select SWAP_IO_SPACE
1398 select SYS_SUPPORTS_SMP
1399 select SYS_SUPPORTS_HOTPLUG_CPU
1400 select WEAK_ORDERING
1402 Broadcom BMIPS4380 processors.
1404 config CPU_BMIPS5000
1406 depends on SYS_HAS_CPU_BMIPS5000
1407 select CPU_SUPPORTS_32BIT_KERNEL
1408 select CPU_SUPPORTS_HIGHMEM
1409 select DMA_NONCOHERENT
1411 select SWAP_IO_SPACE
1412 select SYS_SUPPORTS_SMP
1413 select SYS_SUPPORTS_HOTPLUG_CPU
1414 select WEAK_ORDERING
1416 Broadcom BMIPS5000 processors.
1421 config CPU_NOP_WORKAROUNDS
1424 config CPU_JUMP_WORKAROUNDS
1427 config CPU_LOONGSON2F_WORKAROUNDS
1428 bool "Loongson 2F Workarounds"
1430 select CPU_NOP_WORKAROUNDS
1431 select CPU_JUMP_WORKAROUNDS
1433 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1434 require workarounds. Without workarounds the system may hang
1435 unexpectedly. For more information please refer to the gas
1436 -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1438 Loongson 2F03 and later have fixed these issues and no workarounds
1439 are needed. The workarounds have no significant side effect on them
1440 but may decrease the performance of the system so this option should
1441 be disabled unless the kernel is intended to be run on 2F01 or 2F02
1444 If unsure, please say Y.
1445 endif # CPU_LOONGSON2F
1447 config SYS_SUPPORTS_ZBOOT
1449 select HAVE_KERNEL_GZIP
1450 select HAVE_KERNEL_BZIP2
1451 select HAVE_KERNEL_LZMA
1452 select HAVE_KERNEL_LZO
1454 config SYS_SUPPORTS_ZBOOT_UART16550
1456 select SYS_SUPPORTS_ZBOOT
1458 config CPU_LOONGSON2
1460 select CPU_SUPPORTS_32BIT_KERNEL
1461 select CPU_SUPPORTS_64BIT_KERNEL
1462 select CPU_SUPPORTS_HIGHMEM
1464 config SYS_HAS_CPU_LOONGSON2E
1467 config SYS_HAS_CPU_LOONGSON2F
1469 select CPU_SUPPORTS_CPUFREQ
1470 select CPU_SUPPORTS_ADDRWINCFG if 64BIT
1471 select CPU_SUPPORTS_UNCACHED_ACCELERATED
1473 config SYS_HAS_CPU_MIPS32_R1
1476 config SYS_HAS_CPU_MIPS32_R2
1479 config SYS_HAS_CPU_MIPS64_R1
1482 config SYS_HAS_CPU_MIPS64_R2
1485 config SYS_HAS_CPU_R3000
1488 config SYS_HAS_CPU_TX39XX
1491 config SYS_HAS_CPU_VR41XX
1494 config SYS_HAS_CPU_R4300
1497 config SYS_HAS_CPU_R4X00
1500 config SYS_HAS_CPU_TX49XX
1503 config SYS_HAS_CPU_R5000
1506 config SYS_HAS_CPU_R5432
1509 config SYS_HAS_CPU_R5500
1512 config SYS_HAS_CPU_R6000
1515 config SYS_HAS_CPU_NEVADA
1518 config SYS_HAS_CPU_R8000
1521 config SYS_HAS_CPU_R10000
1524 config SYS_HAS_CPU_RM7000
1527 config SYS_HAS_CPU_RM9000
1530 config SYS_HAS_CPU_SB1
1533 config SYS_HAS_CPU_CAVIUM_OCTEON
1536 config SYS_HAS_CPU_BMIPS3300
1539 config SYS_HAS_CPU_BMIPS4350
1542 config SYS_HAS_CPU_BMIPS4380
1545 config SYS_HAS_CPU_BMIPS5000
1549 # CPU may reorder R->R, R->W, W->R, W->W
1550 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1552 config WEAK_ORDERING
1556 # CPU may reorder reads and writes beyond LL/SC
1557 # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1559 config WEAK_REORDERING_BEYOND_LLSC
1564 # These two indicate any level of the MIPS32 and MIPS64 architecture
1568 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1572 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1575 # These two indicate the revision of the architecture, either Release 1 or Release 2
1579 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1583 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1585 config SYS_SUPPORTS_32BIT_KERNEL
1587 config SYS_SUPPORTS_64BIT_KERNEL
1589 config CPU_SUPPORTS_32BIT_KERNEL
1591 config CPU_SUPPORTS_64BIT_KERNEL
1593 config CPU_SUPPORTS_CPUFREQ
1595 config CPU_SUPPORTS_ADDRWINCFG
1597 config CPU_SUPPORTS_HUGEPAGES
1599 config CPU_SUPPORTS_UNCACHED_ACCELERATED
1601 config MIPS_PGD_C0_CONTEXT
1603 default y if 64BIT && CPU_MIPSR2
1606 # Set to y for ptrace access to watch registers.
1608 config HARDWARE_WATCHPOINTS
1610 default y if CPU_MIPSR1 || CPU_MIPSR2
1616 prompt "Kernel code model"
1618 You should only select this option if you have a workload that
1619 actually benefits from 64-bit processing or if your machine has
1620 large memory. You will only be presented a single option in this
1621 menu if your system does not support both 32-bit and 64-bit kernels.
1624 bool "32-bit kernel"
1625 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1628 Select this option if you want to build a 32-bit kernel.
1630 bool "64-bit kernel"
1631 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1632 select HAVE_SYSCALL_WRAPPERS
1634 Select this option if you want to build a 64-bit kernel.
1639 prompt "Kernel page size"
1640 default PAGE_SIZE_4KB
1642 config PAGE_SIZE_4KB
1644 depends on !CPU_LOONGSON2
1646 This option select the standard 4kB Linux page size. On some
1647 R3000-family processors this is the only available page size. Using
1648 4kB page size will minimize memory consumption and is therefore
1649 recommended for low memory systems.
1651 config PAGE_SIZE_8KB
1653 depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
1655 Using 8kB page size will result in higher performance kernel at
1656 the price of higher memory consumption. This option is available
1657 only on R8000 and cnMIPS processors. Note that you will need a
1658 suitable Linux distribution to support this.
1660 config PAGE_SIZE_16KB
1662 depends on !CPU_R3000 && !CPU_TX39XX
1664 Using 16kB page size will result in higher performance kernel at
1665 the price of higher memory consumption. This option is available on
1666 all non-R3000 family processors. Note that you will need a suitable
1667 Linux distribution to support this.
1669 config PAGE_SIZE_32KB
1671 depends on CPU_CAVIUM_OCTEON
1673 Using 32kB page size will result in higher performance kernel at
1674 the price of higher memory consumption. This option is available
1675 only on cnMIPS cores. Note that you will need a suitable Linux
1676 distribution to support this.
1678 config PAGE_SIZE_64KB
1680 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1682 Using 64kB page size will result in higher performance kernel at
1683 the price of higher memory consumption. This option is available on
1684 all non-R3000 family processor. Not that at the time of this
1685 writing this option is still high experimental.
1689 config FORCE_MAX_ZONEORDER
1690 int "Maximum zone order"
1691 range 13 64 if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_32KB
1692 default "13" if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_32KB
1693 range 12 64 if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_16KB
1694 default "12" if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_16KB
1698 The kernel memory allocator divides physically contiguous memory
1699 blocks into "zones", where each zone is a power of two number of
1700 pages. This option selects the largest power of two that the kernel
1701 keeps in the memory allocator. If you need to allocate very large
1702 blocks of physically contiguous memory, then you may need to
1703 increase this value.
1705 This config option is actually maximum order plus one. For example,
1706 a value of 11 means that the largest free memory block is 2^10 pages.
1708 The page size is not necessarily 4KB. Keep this in mind
1709 when choosing a value for this option.
1714 config IP22_CPU_SCACHE
1719 # Support for a MIPS32 / MIPS64 style S-caches
1721 config MIPS_CPU_SCACHE
1725 config R5000_CPU_SCACHE
1729 config RM7000_CPU_SCACHE
1733 config SIBYTE_DMA_PAGEOPS
1734 bool "Use DMA to clear/copy pages"
1737 Instead of using the CPU to zero and copy pages, use a Data Mover
1738 channel. These DMA channels are otherwise unused by the standard
1739 SiByte Linux port. Seems to give a small performance benefit.
1741 config CPU_HAS_PREFETCH
1745 prompt "MIPS MT options"
1747 config MIPS_MT_DISABLED
1748 bool "Disable multithreading support."
1750 Use this option if your workload can't take advantage of
1751 MIPS hardware multithreading support. On systems that don't have
1752 the option of an MT-enabled processor this option will be the only
1753 option in this menu.
1756 bool "Use 1 TC on each available VPE for SMP"
1757 depends on SYS_SUPPORTS_MULTITHREADING
1758 select CPU_MIPSR2_IRQ_VI
1759 select CPU_MIPSR2_IRQ_EI
1761 select NR_CPUS_DEFAULT_2
1763 select SYS_SUPPORTS_SCHED_SMT if SMP
1764 select SYS_SUPPORTS_SMP
1767 This is a kernel model which is known a VSMP but lately has been
1768 marketesed into SMVP.
1769 Virtual SMP uses the processor's VPEs to implement virtual
1770 processors. In currently available configuration of the 34K processor
1771 this allows for a dual processor. Both processors will share the same
1772 primary caches; each will obtain the half of the TLB for it's own
1773 exclusive use. For a layman this model can be described as similar to
1774 what Intel calls Hyperthreading.
1776 For further information see http://www.linux-mips.org/wiki/34K#VSMP
1779 bool "SMTC: Use all TCs on all VPEs for SMP"
1780 depends on CPU_MIPS32_R2
1781 #depends on CPU_MIPS64_R2 # once there is hardware ...
1782 depends on SYS_SUPPORTS_MULTITHREADING
1783 select CPU_MIPSR2_IRQ_VI
1784 select CPU_MIPSR2_IRQ_EI
1786 select NR_CPUS_DEFAULT_8
1788 select SYS_SUPPORTS_SMP
1791 This is a kernel model which is known a SMTC or lately has been
1792 marketesed into SMVP.
1793 is presenting the available TC's of the core as processors to Linux.
1794 On currently available 34K processors this means a Linux system will
1795 see up to 5 processors. The implementation of the SMTC kernel differs
1796 significantly from VSMP and cannot efficiently coexist in the same
1797 kernel binary so the choice between VSMP and SMTC is a compile time
1800 For further information see http://www.linux-mips.org/wiki/34K#SMTC
1808 bool "SMT (multithreading) scheduler support"
1809 depends on SYS_SUPPORTS_SCHED_SMT
1812 SMT scheduler support improves the CPU scheduler's decision making
1813 when dealing with MIPS MT enabled cores at a cost of slightly
1814 increased overhead in some places. If unsure say N here.
1816 config SYS_SUPPORTS_SCHED_SMT
1820 config SYS_SUPPORTS_MULTITHREADING
1823 config MIPS_MT_FPAFF
1824 bool "Dynamic FPU affinity for FP-intensive threads"
1826 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1828 config MIPS_VPE_LOADER
1829 bool "VPE loader support."
1830 depends on SYS_SUPPORTS_MULTITHREADING
1831 select CPU_MIPSR2_IRQ_VI
1832 select CPU_MIPSR2_IRQ_EI
1835 Includes a loader for loading an elf relocatable object
1836 onto another VPE and running it.
1838 config MIPS_MT_SMTC_IM_BACKSTOP
1839 bool "Use per-TC register bits as backstop for inhibited IM bits"
1840 depends on MIPS_MT_SMTC
1843 To support multiple TC microthreads acting as "CPUs" within
1844 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1845 during interrupt handling. To support legacy drivers and interrupt
1846 controller management code, SMTC has a "backstop" to track and
1847 if necessary restore the interrupt mask. This has some performance
1848 impact on interrupt service overhead.
1850 config MIPS_MT_SMTC_IRQAFF
1851 bool "Support IRQ affinity API"
1852 depends on MIPS_MT_SMTC
1855 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1856 for SMTC Linux kernel. Requires platform support, of which
1857 an example can be found in the MIPS kernel i8259 and Malta
1858 platform code. Adds some overhead to interrupt dispatch, and
1859 should be used only if you know what you are doing.
1861 config MIPS_VPE_LOADER_TOM
1862 bool "Load VPE program into memory hidden from linux"
1863 depends on MIPS_VPE_LOADER
1866 The loader can use memory that is present but has been hidden from
1867 Linux using the kernel command line option "mem=xxMB". It's up to
1868 you to ensure the amount you put in the option and the space your
1869 program requires is less or equal to the amount physically present.
1871 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1872 config MIPS_VPE_APSP_API
1873 bool "Enable support for AP/SP API (RTLX)"
1874 depends on MIPS_VPE_LOADER
1877 config MIPS_APSP_KSPD
1879 depends on MIPS_VPE_APSP_API
1882 KSPD is a kernel daemon that accepts syscall requests from the SP
1883 side, actions them and returns the results. It also handles the
1884 "exit" syscall notifying other kernel modules the SP program is
1885 exiting. You probably want to say yes here.
1888 bool "MIPS CMP framework support"
1889 depends on SYS_SUPPORTS_MIPS_CMP
1891 select SYS_SUPPORTS_SMP
1892 select SYS_SUPPORTS_SCHED_SMT if SMP
1893 select WEAK_ORDERING
1896 This is a placeholder option for the GCMP work. It will need to
1897 be handled differently...
1899 config SB1_PASS_1_WORKAROUNDS
1901 depends on CPU_SB1_PASS_1
1904 config SB1_PASS_2_WORKAROUNDS
1906 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1909 config SB1_PASS_2_1_WORKAROUNDS
1911 depends on CPU_SB1 && CPU_SB1_PASS_2
1914 config 64BIT_PHYS_ADDR
1917 config ARCH_PHYS_ADDR_T_64BIT
1918 def_bool 64BIT_PHYS_ADDR
1920 config CPU_HAS_SMARTMIPS
1921 depends on SYS_SUPPORTS_SMARTMIPS
1922 bool "Support for the SmartMIPS ASE"
1924 SmartMIPS is a extension of the MIPS32 architecture aimed at
1925 increased security at both hardware and software level for
1926 smartcards. Enabling this option will allow proper use of the
1927 SmartMIPS instructions by Linux applications. However a kernel with
1928 this option will not work on a MIPS core without SmartMIPS core. If
1929 you don't know you probably don't have SmartMIPS and should say N
1936 # Vectored interrupt mode is an R2 feature
1938 config CPU_MIPSR2_IRQ_VI
1942 # Extended interrupt mode is an R2 feature
1944 config CPU_MIPSR2_IRQ_EI
1949 depends on !CPU_R3000
1952 config GENERIC_CLOCKEVENTS_BROADCAST
1958 config CPU_DADDI_WORKAROUNDS
1961 config CPU_R4000_WORKAROUNDS
1963 select CPU_R4400_WORKAROUNDS
1965 config CPU_R4400_WORKAROUNDS
1969 # - Highmem only makes sense for the 32-bit kernel.
1970 # - The current highmem code will only work properly on physically indexed
1971 # caches such as R3000, SB1, R7000 or those that look like they're virtually
1972 # indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1973 # moment we protect the user and offer the highmem option only on machines
1974 # where it's known to be safe. This will not offer highmem on a few systems
1975 # such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1976 # indexed CPUs but we're playing safe.
1977 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1978 # know they might have memory configurations that could make use of highmem
1982 bool "High Memory Support"
1983 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1985 config CPU_SUPPORTS_HIGHMEM
1988 config SYS_SUPPORTS_HIGHMEM
1991 config SYS_SUPPORTS_SMARTMIPS
1994 config ARCH_FLATMEM_ENABLE
1996 depends on !NUMA && !CPU_LOONGSON2
1998 config ARCH_DISCONTIGMEM_ENABLE
2000 default y if SGI_IP27
2002 Say Y to support efficient handling of discontiguous physical memory,
2003 for architectures which are either NUMA (Non-Uniform Memory Access)
2004 or have huge holes in the physical address space for other reasons.
2005 See <file:Documentation/vm/numa> for more.
2007 config ARCH_POPULATES_NODE_MAP
2010 config ARCH_SPARSEMEM_ENABLE
2012 select SPARSEMEM_STATIC
2016 depends on SYS_SUPPORTS_NUMA
2018 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
2019 Access). This option improves performance on systems with more
2020 than two nodes; on two node systems it is generally better to
2021 leave it disabled; on single node systems disable this option
2024 config SYS_SUPPORTS_NUMA
2030 depends on NEED_MULTIPLE_NODES
2032 config HW_PERF_EVENTS
2033 bool "Enable hardware performance counter support for perf events"
2034 depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && CPU_MIPS32
2037 Enable hardware performance counter support for perf events. If
2038 disabled, perf events will use software events only.
2043 bool "Multi-Processing support"
2044 depends on SYS_SUPPORTS_SMP
2046 select USE_GENERIC_SMP_HELPERS
2048 This enables support for systems with more than one CPU. If you have
2049 a system with only one CPU, like most personal computers, say N. If
2050 you have a system with more than one CPU, say Y.
2052 If you say N here, the kernel will run on single and multiprocessor
2053 machines, but will use only one CPU of a multiprocessor machine. If
2054 you say Y here, the kernel will run on many, but not all,
2055 singleprocessor machines. On a singleprocessor machine, the kernel
2056 will run faster if you say N here.
2058 People using multiprocessor machines who say Y here should also say
2059 Y to "Enhanced Real Time Clock Support", below.
2061 See also the SMP-HOWTO available at
2062 <http://www.tldp.org/docs.html#howto>.
2064 If you don't know what to do here, say N.
2069 config SYS_SUPPORTS_MIPS_CMP
2072 config SYS_SUPPORTS_SMP
2075 config NR_CPUS_DEFAULT_1
2078 config NR_CPUS_DEFAULT_2
2081 config NR_CPUS_DEFAULT_4
2084 config NR_CPUS_DEFAULT_8
2087 config NR_CPUS_DEFAULT_16
2090 config NR_CPUS_DEFAULT_32
2093 config NR_CPUS_DEFAULT_64
2097 int "Maximum number of CPUs (2-64)"
2098 range 1 64 if NR_CPUS_DEFAULT_1
2100 default "1" if NR_CPUS_DEFAULT_1
2101 default "2" if NR_CPUS_DEFAULT_2
2102 default "4" if NR_CPUS_DEFAULT_4
2103 default "8" if NR_CPUS_DEFAULT_8
2104 default "16" if NR_CPUS_DEFAULT_16
2105 default "32" if NR_CPUS_DEFAULT_32
2106 default "64" if NR_CPUS_DEFAULT_64
2108 This allows you to specify the maximum number of CPUs which this
2109 kernel will support. The maximum supported value is 32 for 32-bit
2110 kernel and 64 for 64-bit kernels; the minimum value which makes
2111 sense is 1 for Qemu (useful only for kernel debugging purposes)
2112 and 2 for all others.
2114 This is purely to save memory - each supported CPU adds
2115 approximately eight kilobytes to the kernel image. For best
2116 performance should round up your number of processors to the next
2119 source "kernel/time/Kconfig"
2122 # Timer Interrupt Frequency Configuration
2126 prompt "Timer frequency"
2129 Allows the configuration of the timer frequency.
2132 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
2135 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
2138 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
2141 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
2144 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
2147 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
2150 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2154 config SYS_SUPPORTS_48HZ
2157 config SYS_SUPPORTS_100HZ
2160 config SYS_SUPPORTS_128HZ
2163 config SYS_SUPPORTS_250HZ
2166 config SYS_SUPPORTS_256HZ
2169 config SYS_SUPPORTS_1000HZ
2172 config SYS_SUPPORTS_1024HZ
2175 config SYS_SUPPORTS_ARBIT_HZ
2177 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2178 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2179 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2180 !SYS_SUPPORTS_1024HZ
2185 default 100 if HZ_100
2186 default 128 if HZ_128
2187 default 250 if HZ_250
2188 default 256 if HZ_256
2189 default 1000 if HZ_1000
2190 default 1024 if HZ_1024
2192 source "kernel/Kconfig.preempt"
2194 config MIPS_INSANE_LARGE
2195 bool "Support for large 64-bit configurations"
2196 depends on CPU_R10000 && 64BIT
2198 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
2199 previous 64-bit processors which only supported 40 bit / 1TB. If you
2200 need processes of more than 1TB virtual address space, say Y here.
2201 This will result in additional memory usage, so it is not
2202 recommended for normal users.
2205 bool "Kexec system call (EXPERIMENTAL)"
2206 depends on EXPERIMENTAL
2208 kexec is a system call that implements the ability to shutdown your
2209 current kernel, and to start another kernel. It is like a reboot
2210 but it is independent of the system firmware. And like a reboot
2211 you can start any kernel with it, not just Linux.
2213 The name comes from the similarity to the exec system call.
2215 It is an ongoing process to be certain the hardware in a machine
2216 is properly shutdown, so do not be surprised if this code does not
2217 initially work for you. It may help to enable device hotplugging
2218 support. As of this writing the exact hardware interface is
2219 strongly in flux, so no good recommendation can be made.
2222 bool "Enable seccomp to safely compute untrusted bytecode"
2226 This kernel feature is useful for number crunching applications
2227 that may need to compute untrusted bytecode during their
2228 execution. By using pipes or other transports made available to
2229 the process as file descriptors supporting the read/write
2230 syscalls, it's possible to isolate those applications in
2231 their own address space using seccomp. Once seccomp is
2232 enabled via /proc/<pid>/seccomp, it cannot be disabled
2233 and the task is only allowed to execute a few safe syscalls
2234 defined by each seccomp mode.
2236 If unsure, say Y. Only embedded should say N here.
2239 bool "Flattened Device Tree support"
2241 select OF_EARLY_FLATTREE
2243 Include support for flattened device tree machine descriptions.
2247 config LOCKDEP_SUPPORT
2251 config STACKTRACE_SUPPORT
2255 source "init/Kconfig"
2257 source "kernel/Kconfig.freezer"
2259 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2267 bool "Support for PCI controller"
2268 depends on HW_HAS_PCI
2271 Find out whether you have a PCI motherboard. PCI is the name of a
2272 bus system, i.e. the way the CPU talks to the other stuff inside
2273 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2279 source "drivers/pci/Kconfig"
2282 # ISA support is now enabled via select. Too many systems still have the one
2283 # or other ISA chip on the board that users don't know about so don't expect
2284 # users to choose the right thing ...
2291 depends on HW_HAS_EISA
2293 select GENERIC_ISA_DMA
2295 The Extended Industry Standard Architecture (EISA) bus was
2296 developed as an open alternative to the IBM MicroChannel bus.
2298 The EISA bus provided some of the features of the IBM MicroChannel
2299 bus while maintaining backward compatibility with cards made for
2300 the older ISA bus. The EISA bus saw limited use between 1988 and
2301 1995 when it was made obsolete by the PCI bus.
2303 Say Y here if you are building a kernel for an EISA-based machine.
2307 source "drivers/eisa/Kconfig"
2310 bool "TURBOchannel support"
2311 depends on MACH_DECSTATION
2313 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2314 processors. TURBOchannel programming specifications are available
2316 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
2318 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
2319 Linux driver support status is documented at:
2320 <http://www.linux-mips.org/wiki/DECstation>
2323 # bool "Access.Bus support"
2332 select MIPS_EXTERNAL_TIMER
2337 source "drivers/pcmcia/Kconfig"
2339 source "drivers/pci/hotplug/Kconfig"
2343 menu "Executable file formats"
2345 source "fs/Kconfig.binfmt"
2350 config MIPS32_COMPAT
2351 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2354 Select this option if you want Linux/MIPS 32-bit binary
2355 compatibility. Since all software available for Linux/MIPS is
2356 currently 32-bit you should say Y here.
2360 depends on MIPS32_COMPAT
2363 config SYSVIPC_COMPAT
2365 depends on COMPAT && SYSVIPC
2369 bool "Kernel support for o32 binaries"
2370 depends on MIPS32_COMPAT
2372 Select this option if you want to run o32 binaries. These are pure
2373 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2374 existing binaries are in this format.
2379 bool "Kernel support for n32 binaries"
2380 depends on MIPS32_COMPAT
2382 Select this option if you want to run n32 binaries. These are
2383 64-bit binaries using 32-bit quantities for addressing and certain
2384 data that would normally be 64-bit. They are used in special
2391 default y if MIPS32_O32 || MIPS32_N32
2395 menu "Power management options"
2397 config ARCH_HIBERNATION_POSSIBLE
2399 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2401 config ARCH_SUSPEND_POSSIBLE
2403 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2405 source "kernel/power/Kconfig"
2409 source "arch/mips/kernel/cpufreq/Kconfig"
2411 source "net/Kconfig"
2413 source "drivers/Kconfig"
2417 source "arch/mips/Kconfig.debug"
2419 source "security/Kconfig"
2421 source "crypto/Kconfig"
2423 source "lib/Kconfig"