4 select HAVE_GENERIC_DMA_COHERENT
8 select HAVE_PERF_EVENTS
9 select PERF_USE_VMALLOC
11 select ARCH_HAVE_CUSTOM_GPIO_H
12 select HAVE_FUNCTION_TRACER
13 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
14 select HAVE_DYNAMIC_FTRACE
15 select HAVE_FTRACE_MCOUNT_RECORD
16 select HAVE_C_RECORDMCOUNT
17 select HAVE_FUNCTION_GRAPH_TRACER
19 select HAVE_KRETPROBES
20 select ARCH_BINFMT_ELF_RANDOMIZE_PIE
21 select RTC_LIB if !MACH_LOONGSON
22 select GENERIC_ATOMIC64 if !64BIT
23 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
25 select HAVE_DMA_API_DEBUG
26 select HAVE_GENERIC_HARDIRQS
27 select GENERIC_IRQ_PROBE
28 select GENERIC_IRQ_SHOW
29 select HAVE_ARCH_JUMP_LABEL
30 select ARCH_WANT_IPC_PARSE_VERSION
31 select IRQ_FORCED_THREADING
33 select HAVE_MEMBLOCK_NODE_MAP
34 select ARCH_DISCARD_MEMBLOCK
35 select GENERIC_SMP_IDLE_THREAD
36 select BUILDTIME_EXTABLE_SORT
37 select GENERIC_CLOCKEVENTS
38 select GENERIC_CMOS_UPDATE
40 menu "Machine selection"
50 bool "Alchemy processor based machines"
51 select 64BIT_PHYS_ADDR
55 select SYS_HAS_CPU_MIPS32_R1
56 select SYS_SUPPORTS_32BIT_KERNEL
57 select SYS_SUPPORTS_APM_EMULATION
59 select ARCH_WANT_OPTIONAL_GPIOLIB
60 select SYS_SUPPORTS_ZBOOT
61 select USB_ARCH_HAS_OHCI
62 select USB_ARCH_HAS_EHCI
65 bool "Texas Instruments AR7"
67 select DMA_NONCOHERENT
73 select SYS_HAS_CPU_MIPS32_R1
74 select SYS_HAS_EARLY_PRINTK
75 select SYS_SUPPORTS_32BIT_KERNEL
76 select SYS_SUPPORTS_LITTLE_ENDIAN
77 select SYS_SUPPORTS_ZBOOT_UART16550
78 select ARCH_REQUIRE_GPIOLIB
81 Support for the Texas Instruments AR7 System-on-a-Chip
82 family: TNETD7100, 7200 and 7300.
85 bool "Atheros AR71XX/AR724X/AR913X based boards"
86 select ARCH_REQUIRE_GPIOLIB
90 select DMA_NONCOHERENT
93 select SYS_HAS_CPU_MIPS32_R2
94 select SYS_HAS_EARLY_PRINTK
95 select SYS_SUPPORTS_32BIT_KERNEL
96 select SYS_SUPPORTS_BIG_ENDIAN
98 Support for the Atheros AR71XX/AR724X/AR913X SoCs.
101 bool "Broadcom BCM47XX based boards"
104 select DMA_NONCOHERENT
107 select SYS_SUPPORTS_32BIT_KERNEL
108 select SYS_SUPPORTS_LITTLE_ENDIAN
110 select SYS_HAS_EARLY_PRINTK
113 Support for BCM47XX based boards
116 bool "Broadcom BCM63XX based boards"
119 select DMA_NONCOHERENT
121 select SYS_HAS_CPU_MIPS32_R1
122 select SYS_SUPPORTS_32BIT_KERNEL
123 select SYS_SUPPORTS_BIG_ENDIAN
124 select SYS_HAS_EARLY_PRINTK
126 select ARCH_REQUIRE_GPIOLIB
128 Support for BCM63XX based boards
135 select DMA_NONCOHERENT
141 select PCI_GT64XXX_PCI0
143 select SYS_HAS_CPU_NEVADA
144 select SYS_HAS_EARLY_PRINTK
145 select SYS_SUPPORTS_32BIT_KERNEL
146 select SYS_SUPPORTS_64BIT_KERNEL
147 select SYS_SUPPORTS_LITTLE_ENDIAN
149 config MACH_DECSTATION
156 select CPU_DADDI_WORKAROUNDS if 64BIT
157 select CPU_R4000_WORKAROUNDS if 64BIT
158 select CPU_R4400_WORKAROUNDS if 64BIT
159 select DMA_NONCOHERENT
162 select SYS_HAS_CPU_R3000
163 select SYS_HAS_CPU_R4X00
164 select SYS_SUPPORTS_32BIT_KERNEL
165 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
166 select SYS_SUPPORTS_LITTLE_ENDIAN
167 select SYS_SUPPORTS_128HZ
168 select SYS_SUPPORTS_256HZ
169 select SYS_SUPPORTS_1024HZ
171 This enables support for DEC's MIPS based workstations. For details
172 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
173 DECstation porting pages on <http://decstation.unix-ag.org/>.
175 If you have one of the following DECstation Models you definitely
176 want to choose R4xx0 for the CPU Type:
183 otherwise choose R3000.
186 bool "Jazz family of machines"
189 select ARCH_MAY_HAVE_PC_FDC
192 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
193 select GENERIC_ISA_DMA
194 select HAVE_PCSPKR_PLATFORM
199 select SYS_HAS_CPU_R4X00
200 select SYS_SUPPORTS_32BIT_KERNEL
201 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
202 select SYS_SUPPORTS_100HZ
204 This a family of machines based on the MIPS R4030 chipset which was
205 used by several vendors to build RISC/os and Windows NT workstations.
206 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
207 Olivetti M700-10 workstations.
210 bool "Ingenic JZ4740 based machines"
211 select SYS_HAS_CPU_MIPS32_R1
212 select SYS_SUPPORTS_32BIT_KERNEL
213 select SYS_SUPPORTS_LITTLE_ENDIAN
214 select SYS_SUPPORTS_ZBOOT_UART16550
215 select DMA_NONCOHERENT
218 select ARCH_REQUIRE_GPIOLIB
219 select SYS_HAS_EARLY_PRINTK
222 select GENERIC_IRQ_CHIP
225 bool "Lantiq based platforms"
226 select DMA_NONCOHERENT
230 select SYS_HAS_CPU_MIPS32_R1
231 select SYS_HAS_CPU_MIPS32_R2
232 select SYS_SUPPORTS_BIG_ENDIAN
233 select SYS_SUPPORTS_32BIT_KERNEL
234 select SYS_SUPPORTS_MULTITHREADING
235 select SYS_HAS_EARLY_PRINTK
236 select ARCH_REQUIRE_GPIOLIB
239 select HAVE_MACH_CLKDEV
244 bool "LASAT Networks platforms"
247 select DMA_NONCOHERENT
248 select SYS_HAS_EARLY_PRINTK
251 select PCI_GT64XXX_PCI0
253 select R5000_CPU_SCACHE
254 select SYS_HAS_CPU_R5000
255 select SYS_SUPPORTS_32BIT_KERNEL
256 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
257 select SYS_SUPPORTS_LITTLE_ENDIAN
260 bool "Loongson family of machines"
261 select SYS_SUPPORTS_ZBOOT
263 This enables the support of Loongson family of machines.
265 Loongson is a family of general-purpose MIPS-compatible CPUs.
266 developed at Institute of Computing Technology (ICT),
267 Chinese Academy of Sciences (CAS) in the People's Republic
268 of China. The chief architect is Professor Weiwu Hu.
270 config MACH_LOONGSON1
271 bool "Loongson 1 family of machines"
272 select SYS_SUPPORTS_ZBOOT
274 This enables support for the Loongson 1 based machines.
276 Loongson 1 is a family of 32-bit MIPS-compatible SoCs developed by
277 the ICT (Institute of Computing Technology) and the Chinese Academy
281 bool "MIPS Malta board"
282 select ARCH_MAY_HAVE_PC_FDC
287 select DMA_NONCOHERENT
288 select GENERIC_ISA_DMA
289 select HAVE_PCSPKR_PLATFORM
295 select MIPS_BOARDS_GEN
297 select MIPS_CPU_SCACHE
298 select PCI_GT64XXX_PCI0
301 select SYS_HAS_CPU_MIPS32_R1
302 select SYS_HAS_CPU_MIPS32_R2
303 select SYS_HAS_CPU_MIPS64_R1
304 select SYS_HAS_CPU_MIPS64_R2
305 select SYS_HAS_CPU_NEVADA
306 select SYS_HAS_CPU_RM7000
307 select SYS_HAS_EARLY_PRINTK
308 select SYS_SUPPORTS_32BIT_KERNEL
309 select SYS_SUPPORTS_64BIT_KERNEL
310 select SYS_SUPPORTS_BIG_ENDIAN
311 select SYS_SUPPORTS_LITTLE_ENDIAN
312 select SYS_SUPPORTS_MIPS_CMP
313 select SYS_SUPPORTS_MULTITHREADING
314 select SYS_SUPPORTS_SMARTMIPS
315 select SYS_SUPPORTS_ZBOOT
317 This enables support for the MIPS Technologies Malta evaluation
321 bool 'MIPS simulator (MIPSsim)'
324 select DMA_NONCOHERENT
325 select SYS_HAS_EARLY_PRINTK
328 select SYS_HAS_CPU_MIPS32_R1
329 select SYS_HAS_CPU_MIPS32_R2
330 select SYS_HAS_EARLY_PRINTK
331 select SYS_SUPPORTS_32BIT_KERNEL
332 select SYS_SUPPORTS_BIG_ENDIAN
333 select SYS_SUPPORTS_MULTITHREADING
334 select SYS_SUPPORTS_LITTLE_ENDIAN
336 This option enables support for MIPS Technologies MIPSsim software
340 bool "NEC EMMA2RH Mark-eins board"
344 This enables support for the NEC Electronics Mark-eins boards.
347 bool "NEC VR4100 series based machines"
350 select SYS_HAS_CPU_VR41XX
351 select ARCH_REQUIRE_GPIOLIB
354 bool "NXP STB220 board"
357 Support for NXP Semiconductors STB220 Development Board.
364 Support for NXP Semiconductors STB225 Development Board.
367 bool "NXP PNX8550 based JBS board"
369 select SYS_SUPPORTS_LITTLE_ENDIAN
371 config PNX8550_STB810
372 bool "NXP PNX8550 based STB810 board"
374 select SYS_SUPPORTS_LITTLE_ENDIAN
377 bool "PMC-Sierra MSP chipsets"
378 depends on EXPERIMENTAL
381 select DMA_NONCOHERENT
383 select NO_EXCEPT_FILL
385 select SYS_HAS_CPU_MIPS32_R1
386 select SYS_HAS_CPU_MIPS32_R2
387 select SYS_SUPPORTS_32BIT_KERNEL
388 select SYS_SUPPORTS_BIG_ENDIAN
391 select SERIAL_8250_CONSOLE
393 This adds support for the PMC-Sierra family of Multi-Service
394 Processor System-On-A-Chips. These parts include a number
395 of integrated peripherals, interfaces and DSPs in addition to
396 a variety of MIPS cores.
399 bool "PMC-Sierra Yosemite eval board"
408 select SYS_HAS_CPU_RM9000
409 select SYS_HAS_EARLY_PRINTK
410 select SYS_SUPPORTS_32BIT_KERNEL
411 select SYS_SUPPORTS_64BIT_KERNEL
412 select SYS_SUPPORTS_BIG_ENDIAN
413 select SYS_SUPPORTS_HIGHMEM
414 select SYS_SUPPORTS_SMP
416 Yosemite is an evaluation board for the RM9000x2 processor
417 manufactured by PMC-Sierra.
423 select CPU_MIPSR2_IRQ_VI
424 select CPU_MIPSR2_IRQ_EI
426 select DMA_NONCOHERENT
428 select SYS_HAS_EARLY_PRINTK
429 select SYS_HAS_CPU_MIPS32_R2
430 select SYS_SUPPORTS_32BIT_KERNEL
431 select SYS_SUPPORTS_BIG_ENDIAN
432 select SYS_SUPPORTS_HIGHMEM
433 select USB_OHCI_LITTLE_ENDIAN
435 This enables support for the Cisco PowerTV Platform.
438 bool "SGI IP22 (Indy/Indigo2)"
444 select DEFAULT_SGI_PARTITION
445 select DMA_NONCOHERENT
449 select IP22_CPU_SCACHE
451 select GENERIC_ISA_DMA_SUPPORT_BROKEN
453 select SGI_HAS_INDYDOG
459 select SYS_HAS_CPU_R4X00
460 select SYS_HAS_CPU_R5000
462 # Disable EARLY_PRINTK for now since it leads to overwritten prom
463 # memory during early boot on some machines.
465 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
466 # for a more details discussion
468 # select SYS_HAS_EARLY_PRINTK
469 select SYS_SUPPORTS_32BIT_KERNEL
470 select SYS_SUPPORTS_64BIT_KERNEL
471 select SYS_SUPPORTS_BIG_ENDIAN
473 This are the SGI Indy, Challenge S and Indigo2, as well as certain
474 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
475 that runs on these, say Y here.
478 bool "SGI IP27 (Origin200/2000)"
482 select DEFAULT_SGI_PARTITION
484 select SYS_HAS_EARLY_PRINTK
486 select NR_CPUS_DEFAULT_64
487 select SYS_HAS_CPU_R10000
488 select SYS_SUPPORTS_64BIT_KERNEL
489 select SYS_SUPPORTS_BIG_ENDIAN
490 select SYS_SUPPORTS_NUMA
491 select SYS_SUPPORTS_SMP
493 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
494 workstations. To compile a Linux kernel that runs on these, say Y
498 bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
499 depends on EXPERIMENTAL
505 select DEFAULT_SGI_PARTITION
506 select DMA_NONCOHERENT
507 select GENERIC_ISA_DMA_SUPPORT_BROKEN
513 select SGI_HAS_INDYDOG
519 select SYS_HAS_CPU_R10000
521 # Disable EARLY_PRINTK for now since it leads to overwritten prom
522 # memory during early boot on some machines.
524 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
525 # for a more details discussion
527 # select SYS_HAS_EARLY_PRINTK
528 select SYS_SUPPORTS_64BIT_KERNEL
529 select SYS_SUPPORTS_BIG_ENDIAN
531 This is the SGI Indigo2 with R10000 processor. To compile a Linux
532 kernel that runs on these, say Y here.
541 select DMA_NONCOHERENT
544 select R5000_CPU_SCACHE
545 select RM7000_CPU_SCACHE
546 select SYS_HAS_CPU_R5000
547 select SYS_HAS_CPU_R10000 if BROKEN
548 select SYS_HAS_CPU_RM7000
549 select SYS_HAS_CPU_NEVADA
550 select SYS_SUPPORTS_64BIT_KERNEL
551 select SYS_SUPPORTS_BIG_ENDIAN
553 If you want this kernel to run on SGI O2 workstation, say Y here.
556 bool "Sibyte BCM91120C-CRhine"
557 depends on EXPERIMENTAL
560 select SIBYTE_BCM1120
562 select SYS_HAS_CPU_SB1
563 select SYS_SUPPORTS_BIG_ENDIAN
564 select SYS_SUPPORTS_LITTLE_ENDIAN
567 bool "Sibyte BCM91120x-Carmel"
568 depends on EXPERIMENTAL
571 select SIBYTE_BCM1120
573 select SYS_HAS_CPU_SB1
574 select SYS_SUPPORTS_BIG_ENDIAN
575 select SYS_SUPPORTS_LITTLE_ENDIAN
578 bool "Sibyte BCM91125C-CRhone"
579 depends on EXPERIMENTAL
582 select SIBYTE_BCM1125
584 select SYS_HAS_CPU_SB1
585 select SYS_SUPPORTS_BIG_ENDIAN
586 select SYS_SUPPORTS_HIGHMEM
587 select SYS_SUPPORTS_LITTLE_ENDIAN
590 bool "Sibyte BCM91125E-Rhone"
591 depends on EXPERIMENTAL
594 select SIBYTE_BCM1125H
596 select SYS_HAS_CPU_SB1
597 select SYS_SUPPORTS_BIG_ENDIAN
598 select SYS_SUPPORTS_LITTLE_ENDIAN
601 bool "Sibyte BCM91250A-SWARM"
604 select HAVE_PATA_PLATFORM
605 select NR_CPUS_DEFAULT_2
608 select SYS_HAS_CPU_SB1
609 select SYS_SUPPORTS_BIG_ENDIAN
610 select SYS_SUPPORTS_HIGHMEM
611 select SYS_SUPPORTS_LITTLE_ENDIAN
612 select ZONE_DMA32 if 64BIT
614 config SIBYTE_LITTLESUR
615 bool "Sibyte BCM91250C2-LittleSur"
616 depends on EXPERIMENTAL
619 select HAVE_PATA_PLATFORM
620 select NR_CPUS_DEFAULT_2
623 select SYS_HAS_CPU_SB1
624 select SYS_SUPPORTS_BIG_ENDIAN
625 select SYS_SUPPORTS_HIGHMEM
626 select SYS_SUPPORTS_LITTLE_ENDIAN
628 config SIBYTE_SENTOSA
629 bool "Sibyte BCM91250E-Sentosa"
630 depends on EXPERIMENTAL
633 select NR_CPUS_DEFAULT_2
636 select SYS_HAS_CPU_SB1
637 select SYS_SUPPORTS_BIG_ENDIAN
638 select SYS_SUPPORTS_LITTLE_ENDIAN
641 bool "Sibyte BCM91480B-BigSur"
644 select NR_CPUS_DEFAULT_4
645 select SIBYTE_BCM1x80
647 select SYS_HAS_CPU_SB1
648 select SYS_SUPPORTS_BIG_ENDIAN
649 select SYS_SUPPORTS_HIGHMEM
650 select SYS_SUPPORTS_LITTLE_ENDIAN
651 select ZONE_DMA32 if 64BIT
654 bool "SNI RM200/300/400"
655 select ARC if CPU_LITTLE_ENDIAN
656 select ARC32 if CPU_LITTLE_ENDIAN
657 select SNIPROM if CPU_BIG_ENDIAN
658 select ARCH_MAY_HAVE_PC_FDC
662 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
663 select DMA_NONCOHERENT
664 select GENERIC_ISA_DMA
665 select HAVE_PCSPKR_PLATFORM
672 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
673 select SYS_HAS_CPU_R4X00
674 select SYS_HAS_CPU_R5000
675 select SYS_HAS_CPU_R10000
676 select R5000_CPU_SCACHE
677 select SYS_HAS_EARLY_PRINTK
678 select SYS_SUPPORTS_32BIT_KERNEL
679 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
680 select SYS_SUPPORTS_BIG_ENDIAN
681 select SYS_SUPPORTS_HIGHMEM
682 select SYS_SUPPORTS_LITTLE_ENDIAN
684 The SNI RM200/300/400 are MIPS-based machines manufactured by
685 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
686 Technology and now in turn merged with Fujitsu. Say Y here to
687 support this machine type.
690 bool "Toshiba TX39 series based machines"
693 bool "Toshiba TX49 series based machines"
695 config MIKROTIK_RB532
696 bool "Mikrotik RB532 boards"
699 select DMA_NONCOHERENT
702 select SYS_HAS_CPU_MIPS32_R1
703 select SYS_SUPPORTS_32BIT_KERNEL
704 select SYS_SUPPORTS_LITTLE_ENDIAN
707 select ARCH_REQUIRE_GPIOLIB
709 Support the Mikrotik(tm) RouterBoard 532 series,
710 based on the IDT RC32434 SoC.
713 bool "Wind River PPMC board"
718 select DMA_NONCOHERENT
720 select PCI_GT64XXX_PCI0
722 select SYS_HAS_CPU_MIPS32_R1
723 select SYS_HAS_CPU_MIPS32_R2
724 select SYS_HAS_CPU_MIPS64_R1
725 select SYS_HAS_CPU_NEVADA
726 select SYS_HAS_CPU_RM7000
727 select SYS_SUPPORTS_32BIT_KERNEL
728 select SYS_SUPPORTS_64BIT_KERNEL
729 select SYS_SUPPORTS_BIG_ENDIAN
730 select SYS_SUPPORTS_LITTLE_ENDIAN
732 This enables support for the Wind River MIPS32 4KC PPMC evaluation
733 board, which is based on GT64120 bridge chip.
735 config CAVIUM_OCTEON_SIMULATOR
736 bool "Cavium Networks Octeon Simulator"
738 select 64BIT_PHYS_ADDR
740 select SYS_SUPPORTS_64BIT_KERNEL
741 select SYS_SUPPORTS_BIG_ENDIAN
742 select SYS_SUPPORTS_HOTPLUG_CPU
743 select SYS_HAS_CPU_CAVIUM_OCTEON
746 The Octeon simulator is software performance model of the Cavium
747 Octeon Processor. It supports simulating Octeon processors on x86
750 config CAVIUM_OCTEON_REFERENCE_BOARD
751 bool "Cavium Networks Octeon reference board"
753 select 64BIT_PHYS_ADDR
755 select SYS_SUPPORTS_64BIT_KERNEL
756 select SYS_SUPPORTS_BIG_ENDIAN
757 select SYS_SUPPORTS_HOTPLUG_CPU
758 select SYS_HAS_EARLY_PRINTK
759 select SYS_HAS_CPU_CAVIUM_OCTEON
762 select ARCH_SUPPORTS_MSI
764 select USB_ARCH_HAS_OHCI
765 select USB_ARCH_HAS_EHCI
768 This option supports all of the Octeon reference boards from Cavium
769 Networks. It builds a kernel that dynamically determines the Octeon
770 CPU type and supports all known board reference implementations.
771 Some of the supported boards are:
778 Say Y here for most Octeon reference boards.
781 bool "Netlogic XLR/XLS based systems"
782 depends on EXPERIMENTAL
785 select SYS_HAS_CPU_XLR
786 select SYS_SUPPORTS_SMP
789 select SYS_SUPPORTS_32BIT_KERNEL
790 select SYS_SUPPORTS_64BIT_KERNEL
791 select 64BIT_PHYS_ADDR
792 select SYS_SUPPORTS_BIG_ENDIAN
793 select SYS_SUPPORTS_HIGHMEM
795 select NR_CPUS_DEFAULT_32
799 select ARCH_SUPPORTS_MSI
800 select ZONE_DMA if 64BIT
802 select SYS_HAS_EARLY_PRINTK
803 select USB_ARCH_HAS_OHCI if USB_SUPPORT
804 select USB_ARCH_HAS_EHCI if USB_SUPPORT
806 Support for systems based on Netlogic XLR and XLS processors.
807 Say Y here if you have a XLR or XLS based board.
810 bool "Netlogic XLP based systems"
811 depends on EXPERIMENTAL
814 select SYS_HAS_CPU_XLP
815 select SYS_SUPPORTS_SMP
817 select SYS_SUPPORTS_32BIT_KERNEL
818 select SYS_SUPPORTS_64BIT_KERNEL
819 select 64BIT_PHYS_ADDR
820 select SYS_SUPPORTS_BIG_ENDIAN
821 select SYS_SUPPORTS_LITTLE_ENDIAN
822 select SYS_SUPPORTS_HIGHMEM
824 select NR_CPUS_DEFAULT_32
828 select ZONE_DMA if 64BIT
830 select SYS_HAS_EARLY_PRINTK
832 This board is based on Netlogic XLP Processor.
833 Say Y here if you have a XLP based board.
837 source "arch/mips/alchemy/Kconfig"
838 source "arch/mips/ath79/Kconfig"
839 source "arch/mips/bcm47xx/Kconfig"
840 source "arch/mips/bcm63xx/Kconfig"
841 source "arch/mips/jazz/Kconfig"
842 source "arch/mips/jz4740/Kconfig"
843 source "arch/mips/lantiq/Kconfig"
844 source "arch/mips/lasat/Kconfig"
845 source "arch/mips/pmc-sierra/Kconfig"
846 source "arch/mips/powertv/Kconfig"
847 source "arch/mips/sgi-ip27/Kconfig"
848 source "arch/mips/sibyte/Kconfig"
849 source "arch/mips/txx9/Kconfig"
850 source "arch/mips/vr41xx/Kconfig"
851 source "arch/mips/cavium-octeon/Kconfig"
852 source "arch/mips/loongson/Kconfig"
853 source "arch/mips/loongson1/Kconfig"
854 source "arch/mips/netlogic/Kconfig"
858 config RWSEM_GENERIC_SPINLOCK
862 config RWSEM_XCHGADD_ALGORITHM
865 config ARCH_HAS_ILOG2_U32
869 config ARCH_HAS_ILOG2_U64
873 config GENERIC_HWEIGHT
877 config GENERIC_CALIBRATE_DELAY
881 config SCHED_OMIT_FRAME_POINTER
886 # Select some configuration options automatically based on user selections.
891 config ARCH_MAY_HAVE_PC_FDC
940 select ARCH_REQUIRE_GPIOLIB
946 config ARCH_DMA_ADDR_T_64BIT
947 def_bool (HIGHMEM && 64BIT_PHYS_ADDR) || 64BIT
952 config DMA_NONCOHERENT
954 select NEED_DMA_MAP_STATE
956 config NEED_DMA_MAP_STATE
959 config SYS_HAS_EARLY_PRINTK
963 bool "Support for hot-pluggable CPUs"
964 depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU
966 Say Y here to allow turning CPUs off and on. CPUs can be
967 controlled through /sys/devices/system/cpu.
968 (Note: power management support will enable this option
969 automatically on SMP systems. )
970 Say N if you want to disable CPU hotplug.
972 config SYS_SUPPORTS_HOTPLUG_CPU
987 config MIPS_DISABLE_OBSOLETE_IDE
999 config GENERIC_ISA_DMA
1001 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
1004 config GENERIC_ISA_DMA_SUPPORT_BROKEN
1006 select GENERIC_ISA_DMA
1014 config HOLES_IN_ZONE
1018 # Endianness selection. Sufficiently obscure so many users don't know what to
1019 # answer,so we try hard to limit the available choices. Also the use of a
1020 # choice statement should be more obvious to the user.
1023 prompt "Endianness selection"
1025 Some MIPS machines can be configured for either little or big endian
1026 byte order. These modes require different kernels and a different
1027 Linux distribution. In general there is one preferred byteorder for a
1028 particular system but some systems are just as commonly used in the
1029 one or the other endianness.
1031 config CPU_BIG_ENDIAN
1033 depends on SYS_SUPPORTS_BIG_ENDIAN
1035 config CPU_LITTLE_ENDIAN
1036 bool "Little endian"
1037 depends on SYS_SUPPORTS_LITTLE_ENDIAN
1045 config SYS_SUPPORTS_APM_EMULATION
1048 config SYS_SUPPORTS_BIG_ENDIAN
1051 config SYS_SUPPORTS_LITTLE_ENDIAN
1054 config SYS_SUPPORTS_HUGETLBFS
1056 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
1083 config MIPS_BOARDS_GEN
1086 config PCI_GT64XXX_PCI0
1089 config NO_EXCEPT_FILL
1094 select SERIAL_RM9000
1100 select DMA_NONCOHERENT
1102 select SWAP_IO_SPACE
1103 select SYS_HAS_CPU_R5500
1104 select SYS_SUPPORTS_32BIT_KERNEL
1105 select SYS_SUPPORTS_64BIT_KERNEL
1106 select SYS_SUPPORTS_BIG_ENDIAN
1113 select DMA_NONCOHERENT
1114 select SYS_HAS_CPU_MIPS32_R2
1115 select SYS_SUPPORTS_32BIT_KERNEL
1116 select SYS_SUPPORTS_LITTLE_ENDIAN
1117 select SYS_SUPPORTS_BIG_ENDIAN
1119 select CPU_MIPSR2_IRQ_VI
1131 select DMA_NONCOHERENT
1133 select SYS_HAS_CPU_MIPS32_R1
1134 select SYS_HAS_EARLY_PRINTK
1135 select SYS_SUPPORTS_32BIT_KERNEL
1138 config SWAP_IO_SPACE
1141 config SERIAL_RM9000
1144 config SGI_HAS_INDYDOG
1156 config SGI_HAS_ZILOG
1159 config SGI_HAS_I8042
1162 config DEFAULT_SGI_PARTITION
1174 config MIPS_L1_CACHE_SHIFT
1176 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL
1177 default "6" if MIPS_CPU_SCACHE
1178 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON
1181 config HAVE_STD_PC_SERIAL_PORT
1185 bool "ARC console support"
1186 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
1190 depends on MACH_JAZZ || SNI_RM || SGI_IP32
1195 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
1204 menu "CPU selection"
1210 config CPU_LOONGSON2E
1212 depends on SYS_HAS_CPU_LOONGSON2E
1213 select CPU_LOONGSON2
1215 The Loongson 2E processor implements the MIPS III instruction set
1216 with many extensions.
1218 It has an internal FPGA northbridge, which is compatible to
1221 config CPU_LOONGSON2F
1223 depends on SYS_HAS_CPU_LOONGSON2F
1224 select CPU_LOONGSON2
1226 select ARCH_REQUIRE_GPIOLIB
1228 The Loongson 2F processor implements the MIPS III instruction set
1229 with many extensions.
1231 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1232 have a similar programming interface with FPGA northbridge used in
1235 config CPU_LOONGSON1B
1237 depends on SYS_HAS_CPU_LOONGSON1B
1238 select CPU_LOONGSON1
1240 The Loongson 1B is a 32-bit SoC, which implements the MIPS32
1241 release 2 instruction set.
1243 config CPU_MIPS32_R1
1244 bool "MIPS32 Release 1"
1245 depends on SYS_HAS_CPU_MIPS32_R1
1246 select CPU_HAS_PREFETCH
1247 select CPU_SUPPORTS_32BIT_KERNEL
1248 select CPU_SUPPORTS_HIGHMEM
1250 Choose this option to build a kernel for release 1 or later of the
1251 MIPS32 architecture. Most modern embedded systems with a 32-bit
1252 MIPS processor are based on a MIPS32 processor. If you know the
1253 specific type of processor in your system, choose those that one
1254 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1255 Release 2 of the MIPS32 architecture is available since several
1256 years so chances are you even have a MIPS32 Release 2 processor
1257 in which case you should choose CPU_MIPS32_R2 instead for better
1260 config CPU_MIPS32_R2
1261 bool "MIPS32 Release 2"
1262 depends on SYS_HAS_CPU_MIPS32_R2
1263 select CPU_HAS_PREFETCH
1264 select CPU_SUPPORTS_32BIT_KERNEL
1265 select CPU_SUPPORTS_HIGHMEM
1267 Choose this option to build a kernel for release 2 or later of the
1268 MIPS32 architecture. Most modern embedded systems with a 32-bit
1269 MIPS processor are based on a MIPS32 processor. If you know the
1270 specific type of processor in your system, choose those that one
1271 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1273 config CPU_MIPS64_R1
1274 bool "MIPS64 Release 1"
1275 depends on SYS_HAS_CPU_MIPS64_R1
1276 select CPU_HAS_PREFETCH
1277 select CPU_SUPPORTS_32BIT_KERNEL
1278 select CPU_SUPPORTS_64BIT_KERNEL
1279 select CPU_SUPPORTS_HIGHMEM
1280 select CPU_SUPPORTS_HUGEPAGES
1282 Choose this option to build a kernel for release 1 or later of the
1283 MIPS64 architecture. Many modern embedded systems with a 64-bit
1284 MIPS processor are based on a MIPS64 processor. If you know the
1285 specific type of processor in your system, choose those that one
1286 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1287 Release 2 of the MIPS64 architecture is available since several
1288 years so chances are you even have a MIPS64 Release 2 processor
1289 in which case you should choose CPU_MIPS64_R2 instead for better
1292 config CPU_MIPS64_R2
1293 bool "MIPS64 Release 2"
1294 depends on SYS_HAS_CPU_MIPS64_R2
1295 select CPU_HAS_PREFETCH
1296 select CPU_SUPPORTS_32BIT_KERNEL
1297 select CPU_SUPPORTS_64BIT_KERNEL
1298 select CPU_SUPPORTS_HIGHMEM
1299 select CPU_SUPPORTS_HUGEPAGES
1301 Choose this option to build a kernel for release 2 or later of the
1302 MIPS64 architecture. Many modern embedded systems with a 64-bit
1303 MIPS processor are based on a MIPS64 processor. If you know the
1304 specific type of processor in your system, choose those that one
1305 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1309 depends on SYS_HAS_CPU_R3000
1311 select CPU_SUPPORTS_32BIT_KERNEL
1312 select CPU_SUPPORTS_HIGHMEM
1314 Please make sure to pick the right CPU type. Linux/MIPS is not
1315 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1316 *not* work on R4000 machines and vice versa. However, since most
1317 of the supported machines have an R4000 (or similar) CPU, R4x00
1318 might be a safe bet. If the resulting kernel does not work,
1319 try to recompile with R3000.
1323 depends on SYS_HAS_CPU_TX39XX
1324 select CPU_SUPPORTS_32BIT_KERNEL
1328 depends on SYS_HAS_CPU_VR41XX
1329 select CPU_SUPPORTS_32BIT_KERNEL
1330 select CPU_SUPPORTS_64BIT_KERNEL
1332 The options selects support for the NEC VR4100 series of processors.
1333 Only choose this option if you have one of these processors as a
1334 kernel built with this option will not run on any other type of
1335 processor or vice versa.
1339 depends on SYS_HAS_CPU_R4300
1340 select CPU_SUPPORTS_32BIT_KERNEL
1341 select CPU_SUPPORTS_64BIT_KERNEL
1343 MIPS Technologies R4300-series processors.
1347 depends on SYS_HAS_CPU_R4X00
1348 select CPU_SUPPORTS_32BIT_KERNEL
1349 select CPU_SUPPORTS_64BIT_KERNEL
1351 MIPS Technologies R4000-series processors other than 4300, including
1352 the R4000, R4400, R4600, and 4700.
1356 depends on SYS_HAS_CPU_TX49XX
1357 select CPU_HAS_PREFETCH
1358 select CPU_SUPPORTS_32BIT_KERNEL
1359 select CPU_SUPPORTS_64BIT_KERNEL
1363 depends on SYS_HAS_CPU_R5000
1364 select CPU_SUPPORTS_32BIT_KERNEL
1365 select CPU_SUPPORTS_64BIT_KERNEL
1367 MIPS Technologies R5000-series processors other than the Nevada.
1371 depends on SYS_HAS_CPU_R5432
1372 select CPU_SUPPORTS_32BIT_KERNEL
1373 select CPU_SUPPORTS_64BIT_KERNEL
1377 depends on SYS_HAS_CPU_R5500
1378 select CPU_SUPPORTS_32BIT_KERNEL
1379 select CPU_SUPPORTS_64BIT_KERNEL
1380 select CPU_SUPPORTS_HUGEPAGES
1382 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1387 depends on EXPERIMENTAL
1388 depends on SYS_HAS_CPU_R6000
1389 select CPU_SUPPORTS_32BIT_KERNEL
1391 MIPS Technologies R6000 and R6000A series processors. Note these
1392 processors are extremely rare and the support for them is incomplete.
1396 depends on SYS_HAS_CPU_NEVADA
1397 select CPU_SUPPORTS_32BIT_KERNEL
1398 select CPU_SUPPORTS_64BIT_KERNEL
1400 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1404 depends on EXPERIMENTAL
1405 depends on SYS_HAS_CPU_R8000
1406 select CPU_HAS_PREFETCH
1407 select CPU_SUPPORTS_64BIT_KERNEL
1409 MIPS Technologies R8000 processors. Note these processors are
1410 uncommon and the support for them is incomplete.
1414 depends on SYS_HAS_CPU_R10000
1415 select CPU_HAS_PREFETCH
1416 select CPU_SUPPORTS_32BIT_KERNEL
1417 select CPU_SUPPORTS_64BIT_KERNEL
1418 select CPU_SUPPORTS_HIGHMEM
1420 MIPS Technologies R10000-series processors.
1424 depends on SYS_HAS_CPU_RM7000
1425 select CPU_HAS_PREFETCH
1426 select CPU_SUPPORTS_32BIT_KERNEL
1427 select CPU_SUPPORTS_64BIT_KERNEL
1428 select CPU_SUPPORTS_HIGHMEM
1432 depends on SYS_HAS_CPU_RM9000
1433 select CPU_HAS_PREFETCH
1434 select CPU_SUPPORTS_32BIT_KERNEL
1435 select CPU_SUPPORTS_64BIT_KERNEL
1436 select CPU_SUPPORTS_HIGHMEM
1437 select WEAK_ORDERING
1441 depends on SYS_HAS_CPU_SB1
1442 select CPU_SUPPORTS_32BIT_KERNEL
1443 select CPU_SUPPORTS_64BIT_KERNEL
1444 select CPU_SUPPORTS_HIGHMEM
1445 select WEAK_ORDERING
1447 config CPU_CAVIUM_OCTEON
1448 bool "Cavium Octeon processor"
1449 depends on SYS_HAS_CPU_CAVIUM_OCTEON
1450 select ARCH_SPARSEMEM_ENABLE
1451 select CPU_HAS_PREFETCH
1452 select CPU_SUPPORTS_64BIT_KERNEL
1453 select SYS_SUPPORTS_SMP
1454 select NR_CPUS_DEFAULT_16
1455 select WEAK_ORDERING
1456 select CPU_SUPPORTS_HIGHMEM
1457 select CPU_SUPPORTS_HUGEPAGES
1461 The Cavium Octeon processor is a highly integrated chip containing
1462 many ethernet hardware widgets for networking tasks. The processor
1463 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1464 Full details can be found at http://www.caviumnetworks.com.
1466 config CPU_BMIPS3300
1468 depends on SYS_HAS_CPU_BMIPS3300
1471 Broadcom BMIPS3300 processors.
1473 config CPU_BMIPS4350
1475 depends on SYS_HAS_CPU_BMIPS4350
1477 select SYS_SUPPORTS_SMP
1478 select SYS_SUPPORTS_HOTPLUG_CPU
1480 Broadcom BMIPS4350 ("VIPER") processors.
1482 config CPU_BMIPS4380
1484 depends on SYS_HAS_CPU_BMIPS4380
1486 select SYS_SUPPORTS_SMP
1487 select SYS_SUPPORTS_HOTPLUG_CPU
1489 Broadcom BMIPS4380 processors.
1491 config CPU_BMIPS5000
1493 depends on SYS_HAS_CPU_BMIPS5000
1495 select CPU_SUPPORTS_HIGHMEM
1496 select MIPS_CPU_SCACHE
1497 select SYS_SUPPORTS_SMP
1498 select SYS_SUPPORTS_HOTPLUG_CPU
1500 Broadcom BMIPS5000 processors.
1503 bool "Netlogic XLR SoC"
1504 depends on SYS_HAS_CPU_XLR
1505 select CPU_SUPPORTS_32BIT_KERNEL
1506 select CPU_SUPPORTS_64BIT_KERNEL
1507 select CPU_SUPPORTS_HIGHMEM
1508 select WEAK_ORDERING
1509 select WEAK_REORDERING_BEYOND_LLSC
1510 select CPU_SUPPORTS_HUGEPAGES
1512 Netlogic Microsystems XLR/XLS processors.
1515 bool "Netlogic XLP SoC"
1516 depends on SYS_HAS_CPU_XLP
1517 select CPU_SUPPORTS_32BIT_KERNEL
1518 select CPU_SUPPORTS_64BIT_KERNEL
1519 select CPU_SUPPORTS_HIGHMEM
1521 select WEAK_ORDERING
1522 select WEAK_REORDERING_BEYOND_LLSC
1523 select CPU_HAS_PREFETCH
1525 Netlogic Microsystems XLP processors.
1529 config CPU_NOP_WORKAROUNDS
1532 config CPU_JUMP_WORKAROUNDS
1535 config CPU_LOONGSON2F_WORKAROUNDS
1536 bool "Loongson 2F Workarounds"
1538 select CPU_NOP_WORKAROUNDS
1539 select CPU_JUMP_WORKAROUNDS
1541 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1542 require workarounds. Without workarounds the system may hang
1543 unexpectedly. For more information please refer to the gas
1544 -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1546 Loongson 2F03 and later have fixed these issues and no workarounds
1547 are needed. The workarounds have no significant side effect on them
1548 but may decrease the performance of the system so this option should
1549 be disabled unless the kernel is intended to be run on 2F01 or 2F02
1552 If unsure, please say Y.
1553 endif # CPU_LOONGSON2F
1555 config SYS_SUPPORTS_ZBOOT
1557 select HAVE_KERNEL_GZIP
1558 select HAVE_KERNEL_BZIP2
1559 select HAVE_KERNEL_LZMA
1560 select HAVE_KERNEL_LZO
1562 config SYS_SUPPORTS_ZBOOT_UART16550
1564 select SYS_SUPPORTS_ZBOOT
1566 config CPU_LOONGSON2
1568 select CPU_SUPPORTS_32BIT_KERNEL
1569 select CPU_SUPPORTS_64BIT_KERNEL
1570 select CPU_SUPPORTS_HIGHMEM
1572 config CPU_LOONGSON1
1576 select CPU_HAS_PREFETCH
1577 select CPU_SUPPORTS_32BIT_KERNEL
1578 select CPU_SUPPORTS_HIGHMEM
1583 select CPU_SUPPORTS_32BIT_KERNEL
1584 select DMA_NONCOHERENT
1586 select SWAP_IO_SPACE
1587 select WEAK_ORDERING
1589 config SYS_HAS_CPU_LOONGSON2E
1592 config SYS_HAS_CPU_LOONGSON2F
1594 select CPU_SUPPORTS_CPUFREQ
1595 select CPU_SUPPORTS_ADDRWINCFG if 64BIT
1596 select CPU_SUPPORTS_UNCACHED_ACCELERATED
1598 config SYS_HAS_CPU_LOONGSON1B
1601 config SYS_HAS_CPU_MIPS32_R1
1604 config SYS_HAS_CPU_MIPS32_R2
1607 config SYS_HAS_CPU_MIPS64_R1
1610 config SYS_HAS_CPU_MIPS64_R2
1613 config SYS_HAS_CPU_R3000
1616 config SYS_HAS_CPU_TX39XX
1619 config SYS_HAS_CPU_VR41XX
1622 config SYS_HAS_CPU_R4300
1625 config SYS_HAS_CPU_R4X00
1628 config SYS_HAS_CPU_TX49XX
1631 config SYS_HAS_CPU_R5000
1634 config SYS_HAS_CPU_R5432
1637 config SYS_HAS_CPU_R5500
1640 config SYS_HAS_CPU_R6000
1643 config SYS_HAS_CPU_NEVADA
1646 config SYS_HAS_CPU_R8000
1649 config SYS_HAS_CPU_R10000
1652 config SYS_HAS_CPU_RM7000
1655 config SYS_HAS_CPU_RM9000
1658 config SYS_HAS_CPU_SB1
1661 config SYS_HAS_CPU_CAVIUM_OCTEON
1664 config SYS_HAS_CPU_BMIPS3300
1667 config SYS_HAS_CPU_BMIPS4350
1670 config SYS_HAS_CPU_BMIPS4380
1673 config SYS_HAS_CPU_BMIPS5000
1676 config SYS_HAS_CPU_XLR
1679 config SYS_HAS_CPU_XLP
1683 # CPU may reorder R->R, R->W, W->R, W->W
1684 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1686 config WEAK_ORDERING
1690 # CPU may reorder reads and writes beyond LL/SC
1691 # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1693 config WEAK_REORDERING_BEYOND_LLSC
1698 # These two indicate any level of the MIPS32 and MIPS64 architecture
1702 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1706 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1709 # These two indicate the revision of the architecture, either Release 1 or Release 2
1713 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1717 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1719 config SYS_SUPPORTS_32BIT_KERNEL
1721 config SYS_SUPPORTS_64BIT_KERNEL
1723 config CPU_SUPPORTS_32BIT_KERNEL
1725 config CPU_SUPPORTS_64BIT_KERNEL
1727 config CPU_SUPPORTS_CPUFREQ
1729 config CPU_SUPPORTS_ADDRWINCFG
1731 config CPU_SUPPORTS_HUGEPAGES
1733 config CPU_SUPPORTS_UNCACHED_ACCELERATED
1735 config MIPS_PGD_C0_CONTEXT
1737 default y if 64BIT && CPU_MIPSR2
1740 # Set to y for ptrace access to watch registers.
1742 config HARDWARE_WATCHPOINTS
1744 default y if CPU_MIPSR1 || CPU_MIPSR2
1750 prompt "Kernel code model"
1752 You should only select this option if you have a workload that
1753 actually benefits from 64-bit processing or if your machine has
1754 large memory. You will only be presented a single option in this
1755 menu if your system does not support both 32-bit and 64-bit kernels.
1758 bool "32-bit kernel"
1759 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1762 Select this option if you want to build a 32-bit kernel.
1764 bool "64-bit kernel"
1765 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1766 select HAVE_SYSCALL_WRAPPERS
1768 Select this option if you want to build a 64-bit kernel.
1773 prompt "Kernel page size"
1774 default PAGE_SIZE_4KB
1776 config PAGE_SIZE_4KB
1778 depends on !CPU_LOONGSON2
1780 This option select the standard 4kB Linux page size. On some
1781 R3000-family processors this is the only available page size. Using
1782 4kB page size will minimize memory consumption and is therefore
1783 recommended for low memory systems.
1785 config PAGE_SIZE_8KB
1787 depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
1789 Using 8kB page size will result in higher performance kernel at
1790 the price of higher memory consumption. This option is available
1791 only on R8000 and cnMIPS processors. Note that you will need a
1792 suitable Linux distribution to support this.
1794 config PAGE_SIZE_16KB
1796 depends on !CPU_R3000 && !CPU_TX39XX
1798 Using 16kB page size will result in higher performance kernel at
1799 the price of higher memory consumption. This option is available on
1800 all non-R3000 family processors. Note that you will need a suitable
1801 Linux distribution to support this.
1803 config PAGE_SIZE_32KB
1805 depends on CPU_CAVIUM_OCTEON
1807 Using 32kB page size will result in higher performance kernel at
1808 the price of higher memory consumption. This option is available
1809 only on cnMIPS cores. Note that you will need a suitable Linux
1810 distribution to support this.
1812 config PAGE_SIZE_64KB
1814 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1816 Using 64kB page size will result in higher performance kernel at
1817 the price of higher memory consumption. This option is available on
1818 all non-R3000 family processor. Not that at the time of this
1819 writing this option is still high experimental.
1823 config FORCE_MAX_ZONEORDER
1824 int "Maximum zone order"
1825 range 14 64 if HUGETLB_PAGE && PAGE_SIZE_64KB
1826 default "14" if HUGETLB_PAGE && PAGE_SIZE_64KB
1827 range 13 64 if HUGETLB_PAGE && PAGE_SIZE_32KB
1828 default "13" if HUGETLB_PAGE && PAGE_SIZE_32KB
1829 range 12 64 if HUGETLB_PAGE && PAGE_SIZE_16KB
1830 default "12" if HUGETLB_PAGE && PAGE_SIZE_16KB
1834 The kernel memory allocator divides physically contiguous memory
1835 blocks into "zones", where each zone is a power of two number of
1836 pages. This option selects the largest power of two that the kernel
1837 keeps in the memory allocator. If you need to allocate very large
1838 blocks of physically contiguous memory, then you may need to
1839 increase this value.
1841 This config option is actually maximum order plus one. For example,
1842 a value of 11 means that the largest free memory block is 2^10 pages.
1844 The page size is not necessarily 4KB. Keep this in mind
1845 when choosing a value for this option.
1850 config IP22_CPU_SCACHE
1855 # Support for a MIPS32 / MIPS64 style S-caches
1857 config MIPS_CPU_SCACHE
1861 config R5000_CPU_SCACHE
1865 config RM7000_CPU_SCACHE
1869 config SIBYTE_DMA_PAGEOPS
1870 bool "Use DMA to clear/copy pages"
1873 Instead of using the CPU to zero and copy pages, use a Data Mover
1874 channel. These DMA channels are otherwise unused by the standard
1875 SiByte Linux port. Seems to give a small performance benefit.
1877 config CPU_HAS_PREFETCH
1881 prompt "MIPS MT options"
1883 config MIPS_MT_DISABLED
1884 bool "Disable multithreading support."
1886 Use this option if your workload can't take advantage of
1887 MIPS hardware multithreading support. On systems that don't have
1888 the option of an MT-enabled processor this option will be the only
1889 option in this menu.
1892 bool "Use 1 TC on each available VPE for SMP"
1893 depends on SYS_SUPPORTS_MULTITHREADING
1894 select CPU_MIPSR2_IRQ_VI
1895 select CPU_MIPSR2_IRQ_EI
1897 select NR_CPUS_DEFAULT_2
1899 select SYS_SUPPORTS_SCHED_SMT if SMP
1900 select SYS_SUPPORTS_SMP
1903 This is a kernel model which is known a VSMP but lately has been
1904 marketesed into SMVP.
1905 Virtual SMP uses the processor's VPEs to implement virtual
1906 processors. In currently available configuration of the 34K processor
1907 this allows for a dual processor. Both processors will share the same
1908 primary caches; each will obtain the half of the TLB for it's own
1909 exclusive use. For a layman this model can be described as similar to
1910 what Intel calls Hyperthreading.
1912 For further information see http://www.linux-mips.org/wiki/34K#VSMP
1915 bool "SMTC: Use all TCs on all VPEs for SMP"
1916 depends on CPU_MIPS32_R2
1917 #depends on CPU_MIPS64_R2 # once there is hardware ...
1918 depends on SYS_SUPPORTS_MULTITHREADING
1919 select CPU_MIPSR2_IRQ_VI
1920 select CPU_MIPSR2_IRQ_EI
1922 select NR_CPUS_DEFAULT_8
1924 select SYS_SUPPORTS_SMP
1927 This is a kernel model which is known a SMTC or lately has been
1928 marketesed into SMVP.
1929 is presenting the available TC's of the core as processors to Linux.
1930 On currently available 34K processors this means a Linux system will
1931 see up to 5 processors. The implementation of the SMTC kernel differs
1932 significantly from VSMP and cannot efficiently coexist in the same
1933 kernel binary so the choice between VSMP and SMTC is a compile time
1936 For further information see http://www.linux-mips.org/wiki/34K#SMTC
1944 bool "SMT (multithreading) scheduler support"
1945 depends on SYS_SUPPORTS_SCHED_SMT
1948 SMT scheduler support improves the CPU scheduler's decision making
1949 when dealing with MIPS MT enabled cores at a cost of slightly
1950 increased overhead in some places. If unsure say N here.
1952 config SYS_SUPPORTS_SCHED_SMT
1956 config SYS_SUPPORTS_MULTITHREADING
1959 config MIPS_MT_FPAFF
1960 bool "Dynamic FPU affinity for FP-intensive threads"
1962 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1964 config MIPS_VPE_LOADER
1965 bool "VPE loader support."
1966 depends on SYS_SUPPORTS_MULTITHREADING
1967 select CPU_MIPSR2_IRQ_VI
1968 select CPU_MIPSR2_IRQ_EI
1971 Includes a loader for loading an elf relocatable object
1972 onto another VPE and running it.
1974 config MIPS_MT_SMTC_IM_BACKSTOP
1975 bool "Use per-TC register bits as backstop for inhibited IM bits"
1976 depends on MIPS_MT_SMTC
1979 To support multiple TC microthreads acting as "CPUs" within
1980 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1981 during interrupt handling. To support legacy drivers and interrupt
1982 controller management code, SMTC has a "backstop" to track and
1983 if necessary restore the interrupt mask. This has some performance
1984 impact on interrupt service overhead.
1986 config MIPS_MT_SMTC_IRQAFF
1987 bool "Support IRQ affinity API"
1988 depends on MIPS_MT_SMTC
1991 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1992 for SMTC Linux kernel. Requires platform support, of which
1993 an example can be found in the MIPS kernel i8259 and Malta
1994 platform code. Adds some overhead to interrupt dispatch, and
1995 should be used only if you know what you are doing.
1997 config MIPS_VPE_LOADER_TOM
1998 bool "Load VPE program into memory hidden from linux"
1999 depends on MIPS_VPE_LOADER
2002 The loader can use memory that is present but has been hidden from
2003 Linux using the kernel command line option "mem=xxMB". It's up to
2004 you to ensure the amount you put in the option and the space your
2005 program requires is less or equal to the amount physically present.
2007 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
2008 config MIPS_VPE_APSP_API
2009 bool "Enable support for AP/SP API (RTLX)"
2010 depends on MIPS_VPE_LOADER
2013 config MIPS_APSP_KSPD
2015 depends on MIPS_VPE_APSP_API
2018 KSPD is a kernel daemon that accepts syscall requests from the SP
2019 side, actions them and returns the results. It also handles the
2020 "exit" syscall notifying other kernel modules the SP program is
2021 exiting. You probably want to say yes here.
2024 bool "MIPS CMP framework support"
2025 depends on SYS_SUPPORTS_MIPS_CMP
2027 select SYS_SUPPORTS_SMP
2028 select SYS_SUPPORTS_SCHED_SMT if SMP
2029 select WEAK_ORDERING
2032 This is a placeholder option for the GCMP work. It will need to
2033 be handled differently...
2035 config SB1_PASS_1_WORKAROUNDS
2037 depends on CPU_SB1_PASS_1
2040 config SB1_PASS_2_WORKAROUNDS
2042 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
2045 config SB1_PASS_2_1_WORKAROUNDS
2047 depends on CPU_SB1 && CPU_SB1_PASS_2
2050 config 64BIT_PHYS_ADDR
2053 config ARCH_PHYS_ADDR_T_64BIT
2054 def_bool 64BIT_PHYS_ADDR
2056 config CPU_HAS_SMARTMIPS
2057 depends on SYS_SUPPORTS_SMARTMIPS
2058 bool "Support for the SmartMIPS ASE"
2060 SmartMIPS is a extension of the MIPS32 architecture aimed at
2061 increased security at both hardware and software level for
2062 smartcards. Enabling this option will allow proper use of the
2063 SmartMIPS instructions by Linux applications. However a kernel with
2064 this option will not work on a MIPS core without SmartMIPS core. If
2065 you don't know you probably don't have SmartMIPS and should say N
2075 # Vectored interrupt mode is an R2 feature
2077 config CPU_MIPSR2_IRQ_VI
2081 # Extended interrupt mode is an R2 feature
2083 config CPU_MIPSR2_IRQ_EI
2088 depends on !CPU_R3000
2094 config CPU_DADDI_WORKAROUNDS
2097 config CPU_R4000_WORKAROUNDS
2099 select CPU_R4400_WORKAROUNDS
2101 config CPU_R4400_WORKAROUNDS
2105 # - Highmem only makes sense for the 32-bit kernel.
2106 # - The current highmem code will only work properly on physically indexed
2107 # caches such as R3000, SB1, R7000 or those that look like they're virtually
2108 # indexed such as R4000/R4400 SC and MC versions or R10000. So for the
2109 # moment we protect the user and offer the highmem option only on machines
2110 # where it's known to be safe. This will not offer highmem on a few systems
2111 # such as MIPS32 and MIPS64 CPUs which may have virtual and physically
2112 # indexed CPUs but we're playing safe.
2113 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
2114 # know they might have memory configurations that could make use of highmem
2118 bool "High Memory Support"
2119 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
2121 config CPU_SUPPORTS_HIGHMEM
2124 config SYS_SUPPORTS_HIGHMEM
2127 config SYS_SUPPORTS_SMARTMIPS
2130 config ARCH_FLATMEM_ENABLE
2132 depends on !NUMA && !CPU_LOONGSON2
2134 config ARCH_DISCONTIGMEM_ENABLE
2136 default y if SGI_IP27
2138 Say Y to support efficient handling of discontiguous physical memory,
2139 for architectures which are either NUMA (Non-Uniform Memory Access)
2140 or have huge holes in the physical address space for other reasons.
2141 See <file:Documentation/vm/numa> for more.
2143 config ARCH_SPARSEMEM_ENABLE
2145 select SPARSEMEM_STATIC
2149 depends on SYS_SUPPORTS_NUMA
2151 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
2152 Access). This option improves performance on systems with more
2153 than two nodes; on two node systems it is generally better to
2154 leave it disabled; on single node systems disable this option
2157 config SYS_SUPPORTS_NUMA
2163 depends on NEED_MULTIPLE_NODES
2165 config HW_PERF_EVENTS
2166 bool "Enable hardware performance counter support for perf events"
2167 depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON)
2170 Enable hardware performance counter support for perf events. If
2171 disabled, perf events will use software events only.
2176 bool "Multi-Processing support"
2177 depends on SYS_SUPPORTS_SMP
2179 select USE_GENERIC_SMP_HELPERS
2181 This enables support for systems with more than one CPU. If you have
2182 a system with only one CPU, like most personal computers, say N. If
2183 you have a system with more than one CPU, say Y.
2185 If you say N here, the kernel will run on single and multiprocessor
2186 machines, but will use only one CPU of a multiprocessor machine. If
2187 you say Y here, the kernel will run on many, but not all,
2188 singleprocessor machines. On a singleprocessor machine, the kernel
2189 will run faster if you say N here.
2191 People using multiprocessor machines who say Y here should also say
2192 Y to "Enhanced Real Time Clock Support", below.
2194 See also the SMP-HOWTO available at
2195 <http://www.tldp.org/docs.html#howto>.
2197 If you don't know what to do here, say N.
2202 config SYS_SUPPORTS_MIPS_CMP
2205 config SYS_SUPPORTS_SMP
2208 config NR_CPUS_DEFAULT_1
2211 config NR_CPUS_DEFAULT_2
2214 config NR_CPUS_DEFAULT_4
2217 config NR_CPUS_DEFAULT_8
2220 config NR_CPUS_DEFAULT_16
2223 config NR_CPUS_DEFAULT_32
2226 config NR_CPUS_DEFAULT_64
2230 int "Maximum number of CPUs (2-64)"
2231 range 1 64 if NR_CPUS_DEFAULT_1
2233 default "1" if NR_CPUS_DEFAULT_1
2234 default "2" if NR_CPUS_DEFAULT_2
2235 default "4" if NR_CPUS_DEFAULT_4
2236 default "8" if NR_CPUS_DEFAULT_8
2237 default "16" if NR_CPUS_DEFAULT_16
2238 default "32" if NR_CPUS_DEFAULT_32
2239 default "64" if NR_CPUS_DEFAULT_64
2241 This allows you to specify the maximum number of CPUs which this
2242 kernel will support. The maximum supported value is 32 for 32-bit
2243 kernel and 64 for 64-bit kernels; the minimum value which makes
2244 sense is 1 for Qemu (useful only for kernel debugging purposes)
2245 and 2 for all others.
2247 This is purely to save memory - each supported CPU adds
2248 approximately eight kilobytes to the kernel image. For best
2249 performance should round up your number of processors to the next
2253 # Timer Interrupt Frequency Configuration
2257 prompt "Timer frequency"
2260 Allows the configuration of the timer frequency.
2263 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
2266 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
2269 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
2272 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
2275 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
2278 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
2281 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2285 config SYS_SUPPORTS_48HZ
2288 config SYS_SUPPORTS_100HZ
2291 config SYS_SUPPORTS_128HZ
2294 config SYS_SUPPORTS_250HZ
2297 config SYS_SUPPORTS_256HZ
2300 config SYS_SUPPORTS_1000HZ
2303 config SYS_SUPPORTS_1024HZ
2306 config SYS_SUPPORTS_ARBIT_HZ
2308 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2309 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2310 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2311 !SYS_SUPPORTS_1024HZ
2316 default 100 if HZ_100
2317 default 128 if HZ_128
2318 default 250 if HZ_250
2319 default 256 if HZ_256
2320 default 1000 if HZ_1000
2321 default 1024 if HZ_1024
2323 source "kernel/Kconfig.preempt"
2326 bool "Kexec system call (EXPERIMENTAL)"
2327 depends on EXPERIMENTAL
2329 kexec is a system call that implements the ability to shutdown your
2330 current kernel, and to start another kernel. It is like a reboot
2331 but it is independent of the system firmware. And like a reboot
2332 you can start any kernel with it, not just Linux.
2334 The name comes from the similarity to the exec system call.
2336 It is an ongoing process to be certain the hardware in a machine
2337 is properly shutdown, so do not be surprised if this code does not
2338 initially work for you. It may help to enable device hotplugging
2339 support. As of this writing the exact hardware interface is
2340 strongly in flux, so no good recommendation can be made.
2343 bool "Enable seccomp to safely compute untrusted bytecode"
2347 This kernel feature is useful for number crunching applications
2348 that may need to compute untrusted bytecode during their
2349 execution. By using pipes or other transports made available to
2350 the process as file descriptors supporting the read/write
2351 syscalls, it's possible to isolate those applications in
2352 their own address space using seccomp. Once seccomp is
2353 enabled via /proc/<pid>/seccomp, it cannot be disabled
2354 and the task is only allowed to execute a few safe syscalls
2355 defined by each seccomp mode.
2357 If unsure, say Y. Only embedded should say N here.
2360 bool "Flattened Device Tree support"
2362 select OF_EARLY_FLATTREE
2365 Include support for flattened device tree machine descriptions.
2369 config LOCKDEP_SUPPORT
2373 config STACKTRACE_SUPPORT
2377 source "init/Kconfig"
2379 source "kernel/Kconfig.freezer"
2381 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2389 bool "Support for PCI controller"
2390 depends on HW_HAS_PCI
2392 select GENERIC_PCI_IOMAP
2393 select NO_GENERIC_PCI_IOPORT_MAP
2395 Find out whether you have a PCI motherboard. PCI is the name of a
2396 bus system, i.e. the way the CPU talks to the other stuff inside
2397 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2403 source "drivers/pci/Kconfig"
2405 source "drivers/pci/pcie/Kconfig"
2408 # ISA support is now enabled via select. Too many systems still have the one
2409 # or other ISA chip on the board that users don't know about so don't expect
2410 # users to choose the right thing ...
2417 depends on HW_HAS_EISA
2419 select GENERIC_ISA_DMA
2421 The Extended Industry Standard Architecture (EISA) bus was
2422 developed as an open alternative to the IBM MicroChannel bus.
2424 The EISA bus provided some of the features of the IBM MicroChannel
2425 bus while maintaining backward compatibility with cards made for
2426 the older ISA bus. The EISA bus saw limited use between 1988 and
2427 1995 when it was made obsolete by the PCI bus.
2429 Say Y here if you are building a kernel for an EISA-based machine.
2433 source "drivers/eisa/Kconfig"
2436 bool "TURBOchannel support"
2437 depends on MACH_DECSTATION
2439 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2440 processors. TURBOchannel programming specifications are available
2442 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
2444 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
2445 Linux driver support status is documented at:
2446 <http://www.linux-mips.org/wiki/DECstation>
2456 select MIPS_EXTERNAL_TIMER
2461 source "drivers/pcmcia/Kconfig"
2463 source "drivers/pci/hotplug/Kconfig"
2466 bool "RapidIO support"
2470 If you say Y here, the kernel will include drivers and
2471 infrastructure code to support RapidIO interconnect devices.
2473 source "drivers/rapidio/Kconfig"
2477 menu "Executable file formats"
2479 source "fs/Kconfig.binfmt"
2484 config MIPS32_COMPAT
2485 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2488 Select this option if you want Linux/MIPS 32-bit binary
2489 compatibility. Since all software available for Linux/MIPS is
2490 currently 32-bit you should say Y here.
2494 depends on MIPS32_COMPAT
2495 select ARCH_WANT_OLD_COMPAT_IPC
2498 config SYSVIPC_COMPAT
2500 depends on COMPAT && SYSVIPC
2504 bool "Kernel support for o32 binaries"
2505 depends on MIPS32_COMPAT
2507 Select this option if you want to run o32 binaries. These are pure
2508 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2509 existing binaries are in this format.
2514 bool "Kernel support for n32 binaries"
2515 depends on MIPS32_COMPAT
2517 Select this option if you want to run n32 binaries. These are
2518 64-bit binaries using 32-bit quantities for addressing and certain
2519 data that would normally be 64-bit. They are used in special
2526 default y if MIPS32_O32 || MIPS32_N32
2530 menu "Power management options"
2532 config ARCH_HIBERNATION_POSSIBLE
2534 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2536 config ARCH_SUSPEND_POSSIBLE
2538 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2540 source "kernel/power/Kconfig"
2544 source "arch/mips/kernel/cpufreq/Kconfig"
2546 source "net/Kconfig"
2548 source "drivers/Kconfig"
2552 source "arch/mips/Kconfig.debug"
2554 source "security/Kconfig"
2556 source "crypto/Kconfig"
2558 source "lib/Kconfig"