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
39 select HAVE_MOD_ARCH_SPECIFIC
40 select MODULES_USE_ELF_REL
41 select MODULES_USE_ELF_RELA if 64BIT
43 menu "Machine selection"
53 bool "Alchemy processor based machines"
54 select 64BIT_PHYS_ADDR
58 select SYS_HAS_CPU_MIPS32_R1
59 select SYS_SUPPORTS_32BIT_KERNEL
60 select SYS_SUPPORTS_APM_EMULATION
62 select ARCH_WANT_OPTIONAL_GPIOLIB
63 select SYS_SUPPORTS_ZBOOT
64 select USB_ARCH_HAS_OHCI
65 select USB_ARCH_HAS_EHCI
68 bool "Texas Instruments AR7"
70 select DMA_NONCOHERENT
76 select SYS_HAS_CPU_MIPS32_R1
77 select SYS_HAS_EARLY_PRINTK
78 select SYS_SUPPORTS_32BIT_KERNEL
79 select SYS_SUPPORTS_LITTLE_ENDIAN
80 select SYS_SUPPORTS_ZBOOT_UART16550
81 select ARCH_REQUIRE_GPIOLIB
85 Support for the Texas Instruments AR7 System-on-a-Chip
86 family: TNETD7100, 7200 and 7300.
89 bool "Atheros AR71XX/AR724X/AR913X based boards"
90 select ARCH_REQUIRE_GPIOLIB
94 select DMA_NONCOHERENT
98 select SYS_HAS_CPU_MIPS32_R2
99 select SYS_HAS_EARLY_PRINTK
100 select SYS_SUPPORTS_32BIT_KERNEL
101 select SYS_SUPPORTS_BIG_ENDIAN
103 Support for the Atheros AR71XX/AR724X/AR913X SoCs.
106 bool "Broadcom BCM47XX based boards"
109 select DMA_NONCOHERENT
112 select SYS_SUPPORTS_32BIT_KERNEL
113 select SYS_SUPPORTS_LITTLE_ENDIAN
115 select SYS_HAS_EARLY_PRINTK
118 Support for BCM47XX based boards
121 bool "Broadcom BCM63XX based boards"
124 select DMA_NONCOHERENT
126 select SYS_HAS_CPU_MIPS32_R1
127 select SYS_SUPPORTS_32BIT_KERNEL
128 select SYS_SUPPORTS_BIG_ENDIAN
129 select SYS_HAS_EARLY_PRINTK
131 select ARCH_REQUIRE_GPIOLIB
134 Support for BCM63XX based boards
141 select DMA_NONCOHERENT
147 select PCI_GT64XXX_PCI0
149 select SYS_HAS_CPU_NEVADA
150 select SYS_HAS_EARLY_PRINTK
151 select SYS_SUPPORTS_32BIT_KERNEL
152 select SYS_SUPPORTS_64BIT_KERNEL
153 select SYS_SUPPORTS_LITTLE_ENDIAN
155 config MACH_DECSTATION
162 select CPU_DADDI_WORKAROUNDS if 64BIT
163 select CPU_R4000_WORKAROUNDS if 64BIT
164 select CPU_R4400_WORKAROUNDS if 64BIT
165 select DMA_NONCOHERENT
168 select SYS_HAS_CPU_R3000
169 select SYS_HAS_CPU_R4X00
170 select SYS_SUPPORTS_32BIT_KERNEL
171 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
172 select SYS_SUPPORTS_LITTLE_ENDIAN
173 select SYS_SUPPORTS_128HZ
174 select SYS_SUPPORTS_256HZ
175 select SYS_SUPPORTS_1024HZ
177 This enables support for DEC's MIPS based workstations. For details
178 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
179 DECstation porting pages on <http://decstation.unix-ag.org/>.
181 If you have one of the following DECstation Models you definitely
182 want to choose R4xx0 for the CPU Type:
189 otherwise choose R3000.
192 bool "Jazz family of machines"
195 select ARCH_MAY_HAVE_PC_FDC
198 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
199 select GENERIC_ISA_DMA
200 select HAVE_PCSPKR_PLATFORM
205 select SYS_HAS_CPU_R4X00
206 select SYS_SUPPORTS_32BIT_KERNEL
207 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
208 select SYS_SUPPORTS_100HZ
210 This a family of machines based on the MIPS R4030 chipset which was
211 used by several vendors to build RISC/os and Windows NT workstations.
212 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
213 Olivetti M700-10 workstations.
216 bool "Ingenic JZ4740 based machines"
217 select SYS_HAS_CPU_MIPS32_R1
218 select SYS_SUPPORTS_32BIT_KERNEL
219 select SYS_SUPPORTS_LITTLE_ENDIAN
220 select SYS_SUPPORTS_ZBOOT_UART16550
221 select DMA_NONCOHERENT
224 select ARCH_REQUIRE_GPIOLIB
225 select SYS_HAS_EARLY_PRINTK
228 select GENERIC_IRQ_CHIP
231 bool "Lantiq based platforms"
232 select DMA_NONCOHERENT
236 select SYS_HAS_CPU_MIPS32_R1
237 select SYS_HAS_CPU_MIPS32_R2
238 select SYS_SUPPORTS_BIG_ENDIAN
239 select SYS_SUPPORTS_32BIT_KERNEL
240 select SYS_SUPPORTS_MULTITHREADING
241 select SYS_HAS_EARLY_PRINTK
242 select ARCH_REQUIRE_GPIOLIB
245 select HAVE_MACH_CLKDEV
250 bool "LASAT Networks platforms"
253 select DMA_NONCOHERENT
254 select SYS_HAS_EARLY_PRINTK
257 select PCI_GT64XXX_PCI0
259 select R5000_CPU_SCACHE
260 select SYS_HAS_CPU_R5000
261 select SYS_SUPPORTS_32BIT_KERNEL
262 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
263 select SYS_SUPPORTS_LITTLE_ENDIAN
266 bool "Loongson family of machines"
267 select SYS_SUPPORTS_ZBOOT
269 This enables the support of Loongson family of machines.
271 Loongson is a family of general-purpose MIPS-compatible CPUs.
272 developed at Institute of Computing Technology (ICT),
273 Chinese Academy of Sciences (CAS) in the People's Republic
274 of China. The chief architect is Professor Weiwu Hu.
276 config MACH_LOONGSON1
277 bool "Loongson 1 family of machines"
278 select SYS_SUPPORTS_ZBOOT
280 This enables support for the Loongson 1 based machines.
282 Loongson 1 is a family of 32-bit MIPS-compatible SoCs developed by
283 the ICT (Institute of Computing Technology) and the Chinese Academy
287 bool "MIPS Malta board"
288 select ARCH_MAY_HAVE_PC_FDC
293 select DMA_NONCOHERENT
294 select GENERIC_ISA_DMA
295 select HAVE_PCSPKR_PLATFORM
301 select MIPS_BOARDS_GEN
303 select MIPS_CPU_SCACHE
304 select PCI_GT64XXX_PCI0
307 select SYS_HAS_CPU_MIPS32_R1
308 select SYS_HAS_CPU_MIPS32_R2
309 select SYS_HAS_CPU_MIPS64_R1
310 select SYS_HAS_CPU_MIPS64_R2
311 select SYS_HAS_CPU_NEVADA
312 select SYS_HAS_CPU_RM7000
313 select SYS_HAS_EARLY_PRINTK
314 select SYS_SUPPORTS_32BIT_KERNEL
315 select SYS_SUPPORTS_64BIT_KERNEL
316 select SYS_SUPPORTS_BIG_ENDIAN
317 select SYS_SUPPORTS_LITTLE_ENDIAN
318 select SYS_SUPPORTS_MIPS_CMP
319 select SYS_SUPPORTS_MULTITHREADING
320 select SYS_SUPPORTS_SMARTMIPS
321 select SYS_SUPPORTS_ZBOOT
323 This enables support for the MIPS Technologies Malta evaluation
327 bool 'MIPS simulator (MIPSsim)'
330 select DMA_NONCOHERENT
331 select SYS_HAS_EARLY_PRINTK
334 select SYS_HAS_CPU_MIPS32_R1
335 select SYS_HAS_CPU_MIPS32_R2
336 select SYS_HAS_EARLY_PRINTK
337 select SYS_SUPPORTS_32BIT_KERNEL
338 select SYS_SUPPORTS_BIG_ENDIAN
339 select SYS_SUPPORTS_MULTITHREADING
340 select SYS_SUPPORTS_LITTLE_ENDIAN
342 This option enables support for MIPS Technologies MIPSsim software
346 bool "NEC EMMA2RH Mark-eins board"
350 This enables support for the NEC Electronics Mark-eins boards.
353 bool "NEC VR4100 series based machines"
356 select SYS_HAS_CPU_VR41XX
357 select ARCH_REQUIRE_GPIOLIB
360 bool "NXP STB220 board"
363 Support for NXP Semiconductors STB220 Development Board.
370 Support for NXP Semiconductors STB225 Development Board.
373 bool "NXP PNX8550 based JBS board"
375 select SYS_SUPPORTS_LITTLE_ENDIAN
377 config PNX8550_STB810
378 bool "NXP PNX8550 based STB810 board"
380 select SYS_SUPPORTS_LITTLE_ENDIAN
383 bool "PMC-Sierra MSP chipsets"
384 depends on EXPERIMENTAL
387 select DMA_NONCOHERENT
389 select NO_EXCEPT_FILL
391 select SYS_HAS_CPU_MIPS32_R1
392 select SYS_HAS_CPU_MIPS32_R2
393 select SYS_SUPPORTS_32BIT_KERNEL
394 select SYS_SUPPORTS_BIG_ENDIAN
397 select SERIAL_8250_CONSOLE
399 This adds support for the PMC-Sierra family of Multi-Service
400 Processor System-On-A-Chips. These parts include a number
401 of integrated peripherals, interfaces and DSPs in addition to
402 a variety of MIPS cores.
405 bool "PMC-Sierra Yosemite eval board"
414 select SYS_HAS_CPU_RM9000
415 select SYS_HAS_EARLY_PRINTK
416 select SYS_SUPPORTS_32BIT_KERNEL
417 select SYS_SUPPORTS_64BIT_KERNEL
418 select SYS_SUPPORTS_BIG_ENDIAN
419 select SYS_SUPPORTS_HIGHMEM
420 select SYS_SUPPORTS_SMP
422 Yosemite is an evaluation board for the RM9000x2 processor
423 manufactured by PMC-Sierra.
429 select CPU_MIPSR2_IRQ_VI
430 select CPU_MIPSR2_IRQ_EI
432 select DMA_NONCOHERENT
434 select SYS_HAS_EARLY_PRINTK
435 select SYS_HAS_CPU_MIPS32_R2
436 select SYS_SUPPORTS_32BIT_KERNEL
437 select SYS_SUPPORTS_BIG_ENDIAN
438 select SYS_SUPPORTS_HIGHMEM
439 select USB_OHCI_LITTLE_ENDIAN
441 This enables support for the Cisco PowerTV Platform.
444 bool "SGI IP22 (Indy/Indigo2)"
450 select DEFAULT_SGI_PARTITION
451 select DMA_NONCOHERENT
455 select IP22_CPU_SCACHE
457 select GENERIC_ISA_DMA_SUPPORT_BROKEN
459 select SGI_HAS_INDYDOG
465 select SYS_HAS_CPU_R4X00
466 select SYS_HAS_CPU_R5000
468 # Disable EARLY_PRINTK for now since it leads to overwritten prom
469 # memory during early boot on some machines.
471 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
472 # for a more details discussion
474 # select SYS_HAS_EARLY_PRINTK
475 select SYS_SUPPORTS_32BIT_KERNEL
476 select SYS_SUPPORTS_64BIT_KERNEL
477 select SYS_SUPPORTS_BIG_ENDIAN
479 This are the SGI Indy, Challenge S and Indigo2, as well as certain
480 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
481 that runs on these, say Y here.
484 bool "SGI IP27 (Origin200/2000)"
488 select DEFAULT_SGI_PARTITION
490 select SYS_HAS_EARLY_PRINTK
492 select NR_CPUS_DEFAULT_64
493 select SYS_HAS_CPU_R10000
494 select SYS_SUPPORTS_64BIT_KERNEL
495 select SYS_SUPPORTS_BIG_ENDIAN
496 select SYS_SUPPORTS_NUMA
497 select SYS_SUPPORTS_SMP
499 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
500 workstations. To compile a Linux kernel that runs on these, say Y
504 bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
505 depends on EXPERIMENTAL
511 select DEFAULT_SGI_PARTITION
512 select DMA_NONCOHERENT
513 select GENERIC_ISA_DMA_SUPPORT_BROKEN
519 select SGI_HAS_INDYDOG
525 select SYS_HAS_CPU_R10000
527 # Disable EARLY_PRINTK for now since it leads to overwritten prom
528 # memory during early boot on some machines.
530 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
531 # for a more details discussion
533 # select SYS_HAS_EARLY_PRINTK
534 select SYS_SUPPORTS_64BIT_KERNEL
535 select SYS_SUPPORTS_BIG_ENDIAN
537 This is the SGI Indigo2 with R10000 processor. To compile a Linux
538 kernel that runs on these, say Y here.
547 select DMA_NONCOHERENT
550 select R5000_CPU_SCACHE
551 select RM7000_CPU_SCACHE
552 select SYS_HAS_CPU_R5000
553 select SYS_HAS_CPU_R10000 if BROKEN
554 select SYS_HAS_CPU_RM7000
555 select SYS_HAS_CPU_NEVADA
556 select SYS_SUPPORTS_64BIT_KERNEL
557 select SYS_SUPPORTS_BIG_ENDIAN
559 If you want this kernel to run on SGI O2 workstation, say Y here.
562 bool "Sibyte BCM91120C-CRhine"
563 depends on EXPERIMENTAL
566 select SIBYTE_BCM1120
568 select SYS_HAS_CPU_SB1
569 select SYS_SUPPORTS_BIG_ENDIAN
570 select SYS_SUPPORTS_LITTLE_ENDIAN
573 bool "Sibyte BCM91120x-Carmel"
574 depends on EXPERIMENTAL
577 select SIBYTE_BCM1120
579 select SYS_HAS_CPU_SB1
580 select SYS_SUPPORTS_BIG_ENDIAN
581 select SYS_SUPPORTS_LITTLE_ENDIAN
584 bool "Sibyte BCM91125C-CRhone"
585 depends on EXPERIMENTAL
588 select SIBYTE_BCM1125
590 select SYS_HAS_CPU_SB1
591 select SYS_SUPPORTS_BIG_ENDIAN
592 select SYS_SUPPORTS_HIGHMEM
593 select SYS_SUPPORTS_LITTLE_ENDIAN
596 bool "Sibyte BCM91125E-Rhone"
597 depends on EXPERIMENTAL
600 select SIBYTE_BCM1125H
602 select SYS_HAS_CPU_SB1
603 select SYS_SUPPORTS_BIG_ENDIAN
604 select SYS_SUPPORTS_LITTLE_ENDIAN
607 bool "Sibyte BCM91250A-SWARM"
610 select HAVE_PATA_PLATFORM
611 select NR_CPUS_DEFAULT_2
614 select SYS_HAS_CPU_SB1
615 select SYS_SUPPORTS_BIG_ENDIAN
616 select SYS_SUPPORTS_HIGHMEM
617 select SYS_SUPPORTS_LITTLE_ENDIAN
618 select ZONE_DMA32 if 64BIT
620 config SIBYTE_LITTLESUR
621 bool "Sibyte BCM91250C2-LittleSur"
622 depends on EXPERIMENTAL
625 select HAVE_PATA_PLATFORM
626 select NR_CPUS_DEFAULT_2
629 select SYS_HAS_CPU_SB1
630 select SYS_SUPPORTS_BIG_ENDIAN
631 select SYS_SUPPORTS_HIGHMEM
632 select SYS_SUPPORTS_LITTLE_ENDIAN
634 config SIBYTE_SENTOSA
635 bool "Sibyte BCM91250E-Sentosa"
636 depends on EXPERIMENTAL
639 select NR_CPUS_DEFAULT_2
642 select SYS_HAS_CPU_SB1
643 select SYS_SUPPORTS_BIG_ENDIAN
644 select SYS_SUPPORTS_LITTLE_ENDIAN
647 bool "Sibyte BCM91480B-BigSur"
650 select NR_CPUS_DEFAULT_4
651 select SIBYTE_BCM1x80
653 select SYS_HAS_CPU_SB1
654 select SYS_SUPPORTS_BIG_ENDIAN
655 select SYS_SUPPORTS_HIGHMEM
656 select SYS_SUPPORTS_LITTLE_ENDIAN
657 select ZONE_DMA32 if 64BIT
660 bool "SNI RM200/300/400"
661 select ARC if CPU_LITTLE_ENDIAN
662 select ARC32 if CPU_LITTLE_ENDIAN
663 select SNIPROM if CPU_BIG_ENDIAN
664 select ARCH_MAY_HAVE_PC_FDC
668 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
669 select DMA_NONCOHERENT
670 select GENERIC_ISA_DMA
671 select HAVE_PCSPKR_PLATFORM
678 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
679 select SYS_HAS_CPU_R4X00
680 select SYS_HAS_CPU_R5000
681 select SYS_HAS_CPU_R10000
682 select R5000_CPU_SCACHE
683 select SYS_HAS_EARLY_PRINTK
684 select SYS_SUPPORTS_32BIT_KERNEL
685 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
686 select SYS_SUPPORTS_BIG_ENDIAN
687 select SYS_SUPPORTS_HIGHMEM
688 select SYS_SUPPORTS_LITTLE_ENDIAN
690 The SNI RM200/300/400 are MIPS-based machines manufactured by
691 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
692 Technology and now in turn merged with Fujitsu. Say Y here to
693 support this machine type.
696 bool "Toshiba TX39 series based machines"
699 bool "Toshiba TX49 series based machines"
701 config MIKROTIK_RB532
702 bool "Mikrotik RB532 boards"
705 select DMA_NONCOHERENT
708 select SYS_HAS_CPU_MIPS32_R1
709 select SYS_SUPPORTS_32BIT_KERNEL
710 select SYS_SUPPORTS_LITTLE_ENDIAN
713 select ARCH_REQUIRE_GPIOLIB
715 Support the Mikrotik(tm) RouterBoard 532 series,
716 based on the IDT RC32434 SoC.
719 bool "Wind River PPMC board"
724 select DMA_NONCOHERENT
726 select PCI_GT64XXX_PCI0
728 select SYS_HAS_CPU_MIPS32_R1
729 select SYS_HAS_CPU_MIPS32_R2
730 select SYS_HAS_CPU_MIPS64_R1
731 select SYS_HAS_CPU_NEVADA
732 select SYS_HAS_CPU_RM7000
733 select SYS_SUPPORTS_32BIT_KERNEL
734 select SYS_SUPPORTS_64BIT_KERNEL
735 select SYS_SUPPORTS_BIG_ENDIAN
736 select SYS_SUPPORTS_LITTLE_ENDIAN
738 This enables support for the Wind River MIPS32 4KC PPMC evaluation
739 board, which is based on GT64120 bridge chip.
741 config CAVIUM_OCTEON_SIMULATOR
742 bool "Cavium Networks Octeon Simulator"
744 select 64BIT_PHYS_ADDR
746 select SYS_SUPPORTS_64BIT_KERNEL
747 select SYS_SUPPORTS_BIG_ENDIAN
748 select SYS_SUPPORTS_HOTPLUG_CPU
749 select SYS_HAS_CPU_CAVIUM_OCTEON
752 The Octeon simulator is software performance model of the Cavium
753 Octeon Processor. It supports simulating Octeon processors on x86
756 config CAVIUM_OCTEON_REFERENCE_BOARD
757 bool "Cavium Networks Octeon reference board"
759 select 64BIT_PHYS_ADDR
761 select SYS_SUPPORTS_64BIT_KERNEL
762 select SYS_SUPPORTS_BIG_ENDIAN
763 select SYS_SUPPORTS_HOTPLUG_CPU
764 select SYS_HAS_EARLY_PRINTK
765 select SYS_HAS_CPU_CAVIUM_OCTEON
768 select ARCH_SUPPORTS_MSI
770 select USB_ARCH_HAS_OHCI
771 select USB_ARCH_HAS_EHCI
774 This option supports all of the Octeon reference boards from Cavium
775 Networks. It builds a kernel that dynamically determines the Octeon
776 CPU type and supports all known board reference implementations.
777 Some of the supported boards are:
784 Say Y here for most Octeon reference boards.
787 bool "Netlogic XLR/XLS based systems"
788 depends on EXPERIMENTAL
791 select SYS_HAS_CPU_XLR
792 select SYS_SUPPORTS_SMP
795 select SYS_SUPPORTS_32BIT_KERNEL
796 select SYS_SUPPORTS_64BIT_KERNEL
797 select 64BIT_PHYS_ADDR
798 select SYS_SUPPORTS_BIG_ENDIAN
799 select SYS_SUPPORTS_HIGHMEM
801 select NR_CPUS_DEFAULT_32
805 select ARCH_SUPPORTS_MSI
806 select ZONE_DMA if 64BIT
808 select SYS_HAS_EARLY_PRINTK
809 select USB_ARCH_HAS_OHCI if USB_SUPPORT
810 select USB_ARCH_HAS_EHCI if USB_SUPPORT
812 Support for systems based on Netlogic XLR and XLS processors.
813 Say Y here if you have a XLR or XLS based board.
816 bool "Netlogic XLP based systems"
817 depends on EXPERIMENTAL
820 select SYS_HAS_CPU_XLP
821 select SYS_SUPPORTS_SMP
823 select SYS_SUPPORTS_32BIT_KERNEL
824 select SYS_SUPPORTS_64BIT_KERNEL
825 select 64BIT_PHYS_ADDR
826 select SYS_SUPPORTS_BIG_ENDIAN
827 select SYS_SUPPORTS_LITTLE_ENDIAN
828 select SYS_SUPPORTS_HIGHMEM
830 select NR_CPUS_DEFAULT_32
834 select ZONE_DMA if 64BIT
836 select SYS_HAS_EARLY_PRINTK
838 This board is based on Netlogic XLP Processor.
839 Say Y here if you have a XLP based board.
843 source "arch/mips/alchemy/Kconfig"
844 source "arch/mips/ath79/Kconfig"
845 source "arch/mips/bcm47xx/Kconfig"
846 source "arch/mips/bcm63xx/Kconfig"
847 source "arch/mips/jazz/Kconfig"
848 source "arch/mips/jz4740/Kconfig"
849 source "arch/mips/lantiq/Kconfig"
850 source "arch/mips/lasat/Kconfig"
851 source "arch/mips/pmc-sierra/Kconfig"
852 source "arch/mips/powertv/Kconfig"
853 source "arch/mips/sgi-ip27/Kconfig"
854 source "arch/mips/sibyte/Kconfig"
855 source "arch/mips/txx9/Kconfig"
856 source "arch/mips/vr41xx/Kconfig"
857 source "arch/mips/cavium-octeon/Kconfig"
858 source "arch/mips/loongson/Kconfig"
859 source "arch/mips/loongson1/Kconfig"
860 source "arch/mips/netlogic/Kconfig"
864 config RWSEM_GENERIC_SPINLOCK
868 config RWSEM_XCHGADD_ALGORITHM
871 config ARCH_HAS_ILOG2_U32
875 config ARCH_HAS_ILOG2_U64
879 config GENERIC_HWEIGHT
883 config GENERIC_CALIBRATE_DELAY
887 config SCHED_OMIT_FRAME_POINTER
892 # Select some configuration options automatically based on user selections.
897 config ARCH_MAY_HAVE_PC_FDC
946 select ARCH_REQUIRE_GPIOLIB
952 config ARCH_DMA_ADDR_T_64BIT
953 def_bool (HIGHMEM && 64BIT_PHYS_ADDR) || 64BIT
958 config DMA_NONCOHERENT
960 select NEED_DMA_MAP_STATE
962 config NEED_DMA_MAP_STATE
965 config SYS_HAS_EARLY_PRINTK
969 bool "Support for hot-pluggable CPUs"
970 depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU
972 Say Y here to allow turning CPUs off and on. CPUs can be
973 controlled through /sys/devices/system/cpu.
974 (Note: power management support will enable this option
975 automatically on SMP systems. )
976 Say N if you want to disable CPU hotplug.
978 config SYS_SUPPORTS_HOTPLUG_CPU
993 config MIPS_DISABLE_OBSOLETE_IDE
1005 config GENERIC_ISA_DMA
1007 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
1010 config GENERIC_ISA_DMA_SUPPORT_BROKEN
1012 select GENERIC_ISA_DMA
1020 config HOLES_IN_ZONE
1024 # Endianness selection. Sufficiently obscure so many users don't know what to
1025 # answer,so we try hard to limit the available choices. Also the use of a
1026 # choice statement should be more obvious to the user.
1029 prompt "Endianness selection"
1031 Some MIPS machines can be configured for either little or big endian
1032 byte order. These modes require different kernels and a different
1033 Linux distribution. In general there is one preferred byteorder for a
1034 particular system but some systems are just as commonly used in the
1035 one or the other endianness.
1037 config CPU_BIG_ENDIAN
1039 depends on SYS_SUPPORTS_BIG_ENDIAN
1041 config CPU_LITTLE_ENDIAN
1042 bool "Little endian"
1043 depends on SYS_SUPPORTS_LITTLE_ENDIAN
1051 config SYS_SUPPORTS_APM_EMULATION
1054 config SYS_SUPPORTS_BIG_ENDIAN
1057 config SYS_SUPPORTS_LITTLE_ENDIAN
1060 config SYS_SUPPORTS_HUGETLBFS
1062 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
1089 config MIPS_BOARDS_GEN
1092 config PCI_GT64XXX_PCI0
1095 config NO_EXCEPT_FILL
1100 select SERIAL_RM9000
1106 select DMA_NONCOHERENT
1108 select SWAP_IO_SPACE
1109 select SYS_HAS_CPU_R5500
1110 select SYS_SUPPORTS_32BIT_KERNEL
1111 select SYS_SUPPORTS_64BIT_KERNEL
1112 select SYS_SUPPORTS_BIG_ENDIAN
1119 select DMA_NONCOHERENT
1120 select SYS_HAS_CPU_MIPS32_R2
1121 select SYS_SUPPORTS_32BIT_KERNEL
1122 select SYS_SUPPORTS_LITTLE_ENDIAN
1123 select SYS_SUPPORTS_BIG_ENDIAN
1125 select CPU_MIPSR2_IRQ_VI
1137 select DMA_NONCOHERENT
1139 select SYS_HAS_CPU_MIPS32_R1
1140 select SYS_HAS_EARLY_PRINTK
1141 select SYS_SUPPORTS_32BIT_KERNEL
1144 config SWAP_IO_SPACE
1147 config SERIAL_RM9000
1150 config SGI_HAS_INDYDOG
1162 config SGI_HAS_ZILOG
1165 config SGI_HAS_I8042
1168 config DEFAULT_SGI_PARTITION
1180 config MIPS_L1_CACHE_SHIFT
1182 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL
1183 default "6" if MIPS_CPU_SCACHE
1184 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON
1187 config HAVE_STD_PC_SERIAL_PORT
1191 bool "ARC console support"
1192 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
1196 depends on MACH_JAZZ || SNI_RM || SGI_IP32
1201 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
1210 menu "CPU selection"
1216 config CPU_LOONGSON2E
1218 depends on SYS_HAS_CPU_LOONGSON2E
1219 select CPU_LOONGSON2
1221 The Loongson 2E processor implements the MIPS III instruction set
1222 with many extensions.
1224 It has an internal FPGA northbridge, which is compatible to
1227 config CPU_LOONGSON2F
1229 depends on SYS_HAS_CPU_LOONGSON2F
1230 select CPU_LOONGSON2
1232 select ARCH_REQUIRE_GPIOLIB
1234 The Loongson 2F processor implements the MIPS III instruction set
1235 with many extensions.
1237 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1238 have a similar programming interface with FPGA northbridge used in
1241 config CPU_LOONGSON1B
1243 depends on SYS_HAS_CPU_LOONGSON1B
1244 select CPU_LOONGSON1
1246 The Loongson 1B is a 32-bit SoC, which implements the MIPS32
1247 release 2 instruction set.
1249 config CPU_MIPS32_R1
1250 bool "MIPS32 Release 1"
1251 depends on SYS_HAS_CPU_MIPS32_R1
1252 select CPU_HAS_PREFETCH
1253 select CPU_SUPPORTS_32BIT_KERNEL
1254 select CPU_SUPPORTS_HIGHMEM
1256 Choose this option to build a kernel for release 1 or later of the
1257 MIPS32 architecture. Most modern embedded systems with a 32-bit
1258 MIPS processor are based on a MIPS32 processor. If you know the
1259 specific type of processor in your system, choose those that one
1260 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1261 Release 2 of the MIPS32 architecture is available since several
1262 years so chances are you even have a MIPS32 Release 2 processor
1263 in which case you should choose CPU_MIPS32_R2 instead for better
1266 config CPU_MIPS32_R2
1267 bool "MIPS32 Release 2"
1268 depends on SYS_HAS_CPU_MIPS32_R2
1269 select CPU_HAS_PREFETCH
1270 select CPU_SUPPORTS_32BIT_KERNEL
1271 select CPU_SUPPORTS_HIGHMEM
1273 Choose this option to build a kernel for release 2 or later of the
1274 MIPS32 architecture. Most modern embedded systems with a 32-bit
1275 MIPS processor are based on a MIPS32 processor. If you know the
1276 specific type of processor in your system, choose those that one
1277 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1279 config CPU_MIPS64_R1
1280 bool "MIPS64 Release 1"
1281 depends on SYS_HAS_CPU_MIPS64_R1
1282 select CPU_HAS_PREFETCH
1283 select CPU_SUPPORTS_32BIT_KERNEL
1284 select CPU_SUPPORTS_64BIT_KERNEL
1285 select CPU_SUPPORTS_HIGHMEM
1286 select CPU_SUPPORTS_HUGEPAGES
1288 Choose this option to build a kernel for release 1 or later of the
1289 MIPS64 architecture. Many modern embedded systems with a 64-bit
1290 MIPS processor are based on a MIPS64 processor. If you know the
1291 specific type of processor in your system, choose those that one
1292 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1293 Release 2 of the MIPS64 architecture is available since several
1294 years so chances are you even have a MIPS64 Release 2 processor
1295 in which case you should choose CPU_MIPS64_R2 instead for better
1298 config CPU_MIPS64_R2
1299 bool "MIPS64 Release 2"
1300 depends on SYS_HAS_CPU_MIPS64_R2
1301 select CPU_HAS_PREFETCH
1302 select CPU_SUPPORTS_32BIT_KERNEL
1303 select CPU_SUPPORTS_64BIT_KERNEL
1304 select CPU_SUPPORTS_HIGHMEM
1305 select CPU_SUPPORTS_HUGEPAGES
1307 Choose this option to build a kernel for release 2 or later of the
1308 MIPS64 architecture. Many modern embedded systems with a 64-bit
1309 MIPS processor are based on a MIPS64 processor. If you know the
1310 specific type of processor in your system, choose those that one
1311 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1315 depends on SYS_HAS_CPU_R3000
1317 select CPU_SUPPORTS_32BIT_KERNEL
1318 select CPU_SUPPORTS_HIGHMEM
1320 Please make sure to pick the right CPU type. Linux/MIPS is not
1321 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1322 *not* work on R4000 machines and vice versa. However, since most
1323 of the supported machines have an R4000 (or similar) CPU, R4x00
1324 might be a safe bet. If the resulting kernel does not work,
1325 try to recompile with R3000.
1329 depends on SYS_HAS_CPU_TX39XX
1330 select CPU_SUPPORTS_32BIT_KERNEL
1334 depends on SYS_HAS_CPU_VR41XX
1335 select CPU_SUPPORTS_32BIT_KERNEL
1336 select CPU_SUPPORTS_64BIT_KERNEL
1338 The options selects support for the NEC VR4100 series of processors.
1339 Only choose this option if you have one of these processors as a
1340 kernel built with this option will not run on any other type of
1341 processor or vice versa.
1345 depends on SYS_HAS_CPU_R4300
1346 select CPU_SUPPORTS_32BIT_KERNEL
1347 select CPU_SUPPORTS_64BIT_KERNEL
1349 MIPS Technologies R4300-series processors.
1353 depends on SYS_HAS_CPU_R4X00
1354 select CPU_SUPPORTS_32BIT_KERNEL
1355 select CPU_SUPPORTS_64BIT_KERNEL
1357 MIPS Technologies R4000-series processors other than 4300, including
1358 the R4000, R4400, R4600, and 4700.
1362 depends on SYS_HAS_CPU_TX49XX
1363 select CPU_HAS_PREFETCH
1364 select CPU_SUPPORTS_32BIT_KERNEL
1365 select CPU_SUPPORTS_64BIT_KERNEL
1369 depends on SYS_HAS_CPU_R5000
1370 select CPU_SUPPORTS_32BIT_KERNEL
1371 select CPU_SUPPORTS_64BIT_KERNEL
1373 MIPS Technologies R5000-series processors other than the Nevada.
1377 depends on SYS_HAS_CPU_R5432
1378 select CPU_SUPPORTS_32BIT_KERNEL
1379 select CPU_SUPPORTS_64BIT_KERNEL
1383 depends on SYS_HAS_CPU_R5500
1384 select CPU_SUPPORTS_32BIT_KERNEL
1385 select CPU_SUPPORTS_64BIT_KERNEL
1386 select CPU_SUPPORTS_HUGEPAGES
1388 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1393 depends on EXPERIMENTAL
1394 depends on SYS_HAS_CPU_R6000
1395 select CPU_SUPPORTS_32BIT_KERNEL
1397 MIPS Technologies R6000 and R6000A series processors. Note these
1398 processors are extremely rare and the support for them is incomplete.
1402 depends on SYS_HAS_CPU_NEVADA
1403 select CPU_SUPPORTS_32BIT_KERNEL
1404 select CPU_SUPPORTS_64BIT_KERNEL
1406 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1410 depends on EXPERIMENTAL
1411 depends on SYS_HAS_CPU_R8000
1412 select CPU_HAS_PREFETCH
1413 select CPU_SUPPORTS_64BIT_KERNEL
1415 MIPS Technologies R8000 processors. Note these processors are
1416 uncommon and the support for them is incomplete.
1420 depends on SYS_HAS_CPU_R10000
1421 select CPU_HAS_PREFETCH
1422 select CPU_SUPPORTS_32BIT_KERNEL
1423 select CPU_SUPPORTS_64BIT_KERNEL
1424 select CPU_SUPPORTS_HIGHMEM
1426 MIPS Technologies R10000-series processors.
1430 depends on SYS_HAS_CPU_RM7000
1431 select CPU_HAS_PREFETCH
1432 select CPU_SUPPORTS_32BIT_KERNEL
1433 select CPU_SUPPORTS_64BIT_KERNEL
1434 select CPU_SUPPORTS_HIGHMEM
1438 depends on SYS_HAS_CPU_RM9000
1439 select CPU_HAS_PREFETCH
1440 select CPU_SUPPORTS_32BIT_KERNEL
1441 select CPU_SUPPORTS_64BIT_KERNEL
1442 select CPU_SUPPORTS_HIGHMEM
1443 select WEAK_ORDERING
1447 depends on SYS_HAS_CPU_SB1
1448 select CPU_SUPPORTS_32BIT_KERNEL
1449 select CPU_SUPPORTS_64BIT_KERNEL
1450 select CPU_SUPPORTS_HIGHMEM
1451 select WEAK_ORDERING
1453 config CPU_CAVIUM_OCTEON
1454 bool "Cavium Octeon processor"
1455 depends on SYS_HAS_CPU_CAVIUM_OCTEON
1456 select ARCH_SPARSEMEM_ENABLE
1457 select CPU_HAS_PREFETCH
1458 select CPU_SUPPORTS_64BIT_KERNEL
1459 select SYS_SUPPORTS_SMP
1460 select NR_CPUS_DEFAULT_16
1461 select WEAK_ORDERING
1462 select CPU_SUPPORTS_HIGHMEM
1463 select CPU_SUPPORTS_HUGEPAGES
1467 The Cavium Octeon processor is a highly integrated chip containing
1468 many ethernet hardware widgets for networking tasks. The processor
1469 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1470 Full details can be found at http://www.caviumnetworks.com.
1472 config CPU_BMIPS3300
1474 depends on SYS_HAS_CPU_BMIPS3300
1477 Broadcom BMIPS3300 processors.
1479 config CPU_BMIPS4350
1481 depends on SYS_HAS_CPU_BMIPS4350
1483 select SYS_SUPPORTS_SMP
1484 select SYS_SUPPORTS_HOTPLUG_CPU
1486 Broadcom BMIPS4350 ("VIPER") processors.
1488 config CPU_BMIPS4380
1490 depends on SYS_HAS_CPU_BMIPS4380
1492 select SYS_SUPPORTS_SMP
1493 select SYS_SUPPORTS_HOTPLUG_CPU
1495 Broadcom BMIPS4380 processors.
1497 config CPU_BMIPS5000
1499 depends on SYS_HAS_CPU_BMIPS5000
1501 select CPU_SUPPORTS_HIGHMEM
1502 select MIPS_CPU_SCACHE
1503 select SYS_SUPPORTS_SMP
1504 select SYS_SUPPORTS_HOTPLUG_CPU
1506 Broadcom BMIPS5000 processors.
1509 bool "Netlogic XLR SoC"
1510 depends on SYS_HAS_CPU_XLR
1511 select CPU_SUPPORTS_32BIT_KERNEL
1512 select CPU_SUPPORTS_64BIT_KERNEL
1513 select CPU_SUPPORTS_HIGHMEM
1514 select WEAK_ORDERING
1515 select WEAK_REORDERING_BEYOND_LLSC
1516 select CPU_SUPPORTS_HUGEPAGES
1518 Netlogic Microsystems XLR/XLS processors.
1521 bool "Netlogic XLP SoC"
1522 depends on SYS_HAS_CPU_XLP
1523 select CPU_SUPPORTS_32BIT_KERNEL
1524 select CPU_SUPPORTS_64BIT_KERNEL
1525 select CPU_SUPPORTS_HIGHMEM
1527 select WEAK_ORDERING
1528 select WEAK_REORDERING_BEYOND_LLSC
1529 select CPU_HAS_PREFETCH
1531 Netlogic Microsystems XLP processors.
1535 config CPU_NOP_WORKAROUNDS
1538 config CPU_JUMP_WORKAROUNDS
1541 config CPU_LOONGSON2F_WORKAROUNDS
1542 bool "Loongson 2F Workarounds"
1544 select CPU_NOP_WORKAROUNDS
1545 select CPU_JUMP_WORKAROUNDS
1547 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1548 require workarounds. Without workarounds the system may hang
1549 unexpectedly. For more information please refer to the gas
1550 -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1552 Loongson 2F03 and later have fixed these issues and no workarounds
1553 are needed. The workarounds have no significant side effect on them
1554 but may decrease the performance of the system so this option should
1555 be disabled unless the kernel is intended to be run on 2F01 or 2F02
1558 If unsure, please say Y.
1559 endif # CPU_LOONGSON2F
1561 config SYS_SUPPORTS_ZBOOT
1563 select HAVE_KERNEL_GZIP
1564 select HAVE_KERNEL_BZIP2
1565 select HAVE_KERNEL_LZMA
1566 select HAVE_KERNEL_LZO
1568 config SYS_SUPPORTS_ZBOOT_UART16550
1570 select SYS_SUPPORTS_ZBOOT
1572 config CPU_LOONGSON2
1574 select CPU_SUPPORTS_32BIT_KERNEL
1575 select CPU_SUPPORTS_64BIT_KERNEL
1576 select CPU_SUPPORTS_HIGHMEM
1578 config CPU_LOONGSON1
1582 select CPU_HAS_PREFETCH
1583 select CPU_SUPPORTS_32BIT_KERNEL
1584 select CPU_SUPPORTS_HIGHMEM
1589 select CPU_SUPPORTS_32BIT_KERNEL
1590 select DMA_NONCOHERENT
1592 select SWAP_IO_SPACE
1593 select WEAK_ORDERING
1595 config SYS_HAS_CPU_LOONGSON2E
1598 config SYS_HAS_CPU_LOONGSON2F
1600 select CPU_SUPPORTS_CPUFREQ
1601 select CPU_SUPPORTS_ADDRWINCFG if 64BIT
1602 select CPU_SUPPORTS_UNCACHED_ACCELERATED
1604 config SYS_HAS_CPU_LOONGSON1B
1607 config SYS_HAS_CPU_MIPS32_R1
1610 config SYS_HAS_CPU_MIPS32_R2
1613 config SYS_HAS_CPU_MIPS64_R1
1616 config SYS_HAS_CPU_MIPS64_R2
1619 config SYS_HAS_CPU_R3000
1622 config SYS_HAS_CPU_TX39XX
1625 config SYS_HAS_CPU_VR41XX
1628 config SYS_HAS_CPU_R4300
1631 config SYS_HAS_CPU_R4X00
1634 config SYS_HAS_CPU_TX49XX
1637 config SYS_HAS_CPU_R5000
1640 config SYS_HAS_CPU_R5432
1643 config SYS_HAS_CPU_R5500
1646 config SYS_HAS_CPU_R6000
1649 config SYS_HAS_CPU_NEVADA
1652 config SYS_HAS_CPU_R8000
1655 config SYS_HAS_CPU_R10000
1658 config SYS_HAS_CPU_RM7000
1661 config SYS_HAS_CPU_RM9000
1664 config SYS_HAS_CPU_SB1
1667 config SYS_HAS_CPU_CAVIUM_OCTEON
1670 config SYS_HAS_CPU_BMIPS3300
1673 config SYS_HAS_CPU_BMIPS4350
1676 config SYS_HAS_CPU_BMIPS4380
1679 config SYS_HAS_CPU_BMIPS5000
1682 config SYS_HAS_CPU_XLR
1685 config SYS_HAS_CPU_XLP
1689 # CPU may reorder R->R, R->W, W->R, W->W
1690 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1692 config WEAK_ORDERING
1696 # CPU may reorder reads and writes beyond LL/SC
1697 # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1699 config WEAK_REORDERING_BEYOND_LLSC
1704 # These two indicate any level of the MIPS32 and MIPS64 architecture
1708 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1712 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1715 # These two indicate the revision of the architecture, either Release 1 or Release 2
1719 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1723 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1725 config SYS_SUPPORTS_32BIT_KERNEL
1727 config SYS_SUPPORTS_64BIT_KERNEL
1729 config CPU_SUPPORTS_32BIT_KERNEL
1731 config CPU_SUPPORTS_64BIT_KERNEL
1733 config CPU_SUPPORTS_CPUFREQ
1735 config CPU_SUPPORTS_ADDRWINCFG
1737 config CPU_SUPPORTS_HUGEPAGES
1739 config CPU_SUPPORTS_UNCACHED_ACCELERATED
1741 config MIPS_PGD_C0_CONTEXT
1743 default y if 64BIT && CPU_MIPSR2
1746 # Set to y for ptrace access to watch registers.
1748 config HARDWARE_WATCHPOINTS
1750 default y if CPU_MIPSR1 || CPU_MIPSR2
1756 prompt "Kernel code model"
1758 You should only select this option if you have a workload that
1759 actually benefits from 64-bit processing or if your machine has
1760 large memory. You will only be presented a single option in this
1761 menu if your system does not support both 32-bit and 64-bit kernels.
1764 bool "32-bit kernel"
1765 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1768 Select this option if you want to build a 32-bit kernel.
1770 bool "64-bit kernel"
1771 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1772 select HAVE_SYSCALL_WRAPPERS
1774 Select this option if you want to build a 64-bit kernel.
1779 prompt "Kernel page size"
1780 default PAGE_SIZE_4KB
1782 config PAGE_SIZE_4KB
1784 depends on !CPU_LOONGSON2
1786 This option select the standard 4kB Linux page size. On some
1787 R3000-family processors this is the only available page size. Using
1788 4kB page size will minimize memory consumption and is therefore
1789 recommended for low memory systems.
1791 config PAGE_SIZE_8KB
1793 depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
1795 Using 8kB page size will result in higher performance kernel at
1796 the price of higher memory consumption. This option is available
1797 only on R8000 and cnMIPS processors. Note that you will need a
1798 suitable Linux distribution to support this.
1800 config PAGE_SIZE_16KB
1802 depends on !CPU_R3000 && !CPU_TX39XX
1804 Using 16kB page size will result in higher performance kernel at
1805 the price of higher memory consumption. This option is available on
1806 all non-R3000 family processors. Note that you will need a suitable
1807 Linux distribution to support this.
1809 config PAGE_SIZE_32KB
1811 depends on CPU_CAVIUM_OCTEON
1813 Using 32kB page size will result in higher performance kernel at
1814 the price of higher memory consumption. This option is available
1815 only on cnMIPS cores. Note that you will need a suitable Linux
1816 distribution to support this.
1818 config PAGE_SIZE_64KB
1820 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1822 Using 64kB page size will result in higher performance kernel at
1823 the price of higher memory consumption. This option is available on
1824 all non-R3000 family processor. Not that at the time of this
1825 writing this option is still high experimental.
1829 config FORCE_MAX_ZONEORDER
1830 int "Maximum zone order"
1831 range 14 64 if HUGETLB_PAGE && PAGE_SIZE_64KB
1832 default "14" if HUGETLB_PAGE && PAGE_SIZE_64KB
1833 range 13 64 if HUGETLB_PAGE && PAGE_SIZE_32KB
1834 default "13" if HUGETLB_PAGE && PAGE_SIZE_32KB
1835 range 12 64 if HUGETLB_PAGE && PAGE_SIZE_16KB
1836 default "12" if HUGETLB_PAGE && PAGE_SIZE_16KB
1840 The kernel memory allocator divides physically contiguous memory
1841 blocks into "zones", where each zone is a power of two number of
1842 pages. This option selects the largest power of two that the kernel
1843 keeps in the memory allocator. If you need to allocate very large
1844 blocks of physically contiguous memory, then you may need to
1845 increase this value.
1847 This config option is actually maximum order plus one. For example,
1848 a value of 11 means that the largest free memory block is 2^10 pages.
1850 The page size is not necessarily 4KB. Keep this in mind
1851 when choosing a value for this option.
1856 config IP22_CPU_SCACHE
1861 # Support for a MIPS32 / MIPS64 style S-caches
1863 config MIPS_CPU_SCACHE
1867 config R5000_CPU_SCACHE
1871 config RM7000_CPU_SCACHE
1875 config SIBYTE_DMA_PAGEOPS
1876 bool "Use DMA to clear/copy pages"
1879 Instead of using the CPU to zero and copy pages, use a Data Mover
1880 channel. These DMA channels are otherwise unused by the standard
1881 SiByte Linux port. Seems to give a small performance benefit.
1883 config CPU_HAS_PREFETCH
1887 prompt "MIPS MT options"
1889 config MIPS_MT_DISABLED
1890 bool "Disable multithreading support."
1892 Use this option if your workload can't take advantage of
1893 MIPS hardware multithreading support. On systems that don't have
1894 the option of an MT-enabled processor this option will be the only
1895 option in this menu.
1898 bool "Use 1 TC on each available VPE for SMP"
1899 depends on SYS_SUPPORTS_MULTITHREADING
1900 select CPU_MIPSR2_IRQ_VI
1901 select CPU_MIPSR2_IRQ_EI
1903 select NR_CPUS_DEFAULT_2
1905 select SYS_SUPPORTS_SCHED_SMT if SMP
1906 select SYS_SUPPORTS_SMP
1909 This is a kernel model which is known a VSMP but lately has been
1910 marketesed into SMVP.
1911 Virtual SMP uses the processor's VPEs to implement virtual
1912 processors. In currently available configuration of the 34K processor
1913 this allows for a dual processor. Both processors will share the same
1914 primary caches; each will obtain the half of the TLB for it's own
1915 exclusive use. For a layman this model can be described as similar to
1916 what Intel calls Hyperthreading.
1918 For further information see http://www.linux-mips.org/wiki/34K#VSMP
1921 bool "SMTC: Use all TCs on all VPEs for SMP"
1922 depends on CPU_MIPS32_R2
1923 #depends on CPU_MIPS64_R2 # once there is hardware ...
1924 depends on SYS_SUPPORTS_MULTITHREADING
1925 select CPU_MIPSR2_IRQ_VI
1926 select CPU_MIPSR2_IRQ_EI
1928 select NR_CPUS_DEFAULT_8
1930 select SYS_SUPPORTS_SMP
1933 This is a kernel model which is known a SMTC or lately has been
1934 marketesed into SMVP.
1935 is presenting the available TC's of the core as processors to Linux.
1936 On currently available 34K processors this means a Linux system will
1937 see up to 5 processors. The implementation of the SMTC kernel differs
1938 significantly from VSMP and cannot efficiently coexist in the same
1939 kernel binary so the choice between VSMP and SMTC is a compile time
1942 For further information see http://www.linux-mips.org/wiki/34K#SMTC
1950 bool "SMT (multithreading) scheduler support"
1951 depends on SYS_SUPPORTS_SCHED_SMT
1954 SMT scheduler support improves the CPU scheduler's decision making
1955 when dealing with MIPS MT enabled cores at a cost of slightly
1956 increased overhead in some places. If unsure say N here.
1958 config SYS_SUPPORTS_SCHED_SMT
1962 config SYS_SUPPORTS_MULTITHREADING
1965 config MIPS_MT_FPAFF
1966 bool "Dynamic FPU affinity for FP-intensive threads"
1968 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1970 config MIPS_VPE_LOADER
1971 bool "VPE loader support."
1972 depends on SYS_SUPPORTS_MULTITHREADING
1973 select CPU_MIPSR2_IRQ_VI
1974 select CPU_MIPSR2_IRQ_EI
1977 Includes a loader for loading an elf relocatable object
1978 onto another VPE and running it.
1980 config MIPS_MT_SMTC_IM_BACKSTOP
1981 bool "Use per-TC register bits as backstop for inhibited IM bits"
1982 depends on MIPS_MT_SMTC
1985 To support multiple TC microthreads acting as "CPUs" within
1986 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1987 during interrupt handling. To support legacy drivers and interrupt
1988 controller management code, SMTC has a "backstop" to track and
1989 if necessary restore the interrupt mask. This has some performance
1990 impact on interrupt service overhead.
1992 config MIPS_MT_SMTC_IRQAFF
1993 bool "Support IRQ affinity API"
1994 depends on MIPS_MT_SMTC
1997 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1998 for SMTC Linux kernel. Requires platform support, of which
1999 an example can be found in the MIPS kernel i8259 and Malta
2000 platform code. Adds some overhead to interrupt dispatch, and
2001 should be used only if you know what you are doing.
2003 config MIPS_VPE_LOADER_TOM
2004 bool "Load VPE program into memory hidden from linux"
2005 depends on MIPS_VPE_LOADER
2008 The loader can use memory that is present but has been hidden from
2009 Linux using the kernel command line option "mem=xxMB". It's up to
2010 you to ensure the amount you put in the option and the space your
2011 program requires is less or equal to the amount physically present.
2013 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
2014 config MIPS_VPE_APSP_API
2015 bool "Enable support for AP/SP API (RTLX)"
2016 depends on MIPS_VPE_LOADER
2019 config MIPS_APSP_KSPD
2021 depends on MIPS_VPE_APSP_API
2024 KSPD is a kernel daemon that accepts syscall requests from the SP
2025 side, actions them and returns the results. It also handles the
2026 "exit" syscall notifying other kernel modules the SP program is
2027 exiting. You probably want to say yes here.
2030 bool "MIPS CMP framework support"
2031 depends on SYS_SUPPORTS_MIPS_CMP
2033 select SYS_SUPPORTS_SMP
2034 select SYS_SUPPORTS_SCHED_SMT if SMP
2035 select WEAK_ORDERING
2038 This is a placeholder option for the GCMP work. It will need to
2039 be handled differently...
2041 config SB1_PASS_1_WORKAROUNDS
2043 depends on CPU_SB1_PASS_1
2046 config SB1_PASS_2_WORKAROUNDS
2048 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
2051 config SB1_PASS_2_1_WORKAROUNDS
2053 depends on CPU_SB1 && CPU_SB1_PASS_2
2056 config 64BIT_PHYS_ADDR
2059 config ARCH_PHYS_ADDR_T_64BIT
2060 def_bool 64BIT_PHYS_ADDR
2062 config CPU_HAS_SMARTMIPS
2063 depends on SYS_SUPPORTS_SMARTMIPS
2064 bool "Support for the SmartMIPS ASE"
2066 SmartMIPS is a extension of the MIPS32 architecture aimed at
2067 increased security at both hardware and software level for
2068 smartcards. Enabling this option will allow proper use of the
2069 SmartMIPS instructions by Linux applications. However a kernel with
2070 this option will not work on a MIPS core without SmartMIPS core. If
2071 you don't know you probably don't have SmartMIPS and should say N
2081 # Vectored interrupt mode is an R2 feature
2083 config CPU_MIPSR2_IRQ_VI
2087 # Extended interrupt mode is an R2 feature
2089 config CPU_MIPSR2_IRQ_EI
2094 depends on !CPU_R3000
2100 config CPU_DADDI_WORKAROUNDS
2103 config CPU_R4000_WORKAROUNDS
2105 select CPU_R4400_WORKAROUNDS
2107 config CPU_R4400_WORKAROUNDS
2111 # - Highmem only makes sense for the 32-bit kernel.
2112 # - The current highmem code will only work properly on physically indexed
2113 # caches such as R3000, SB1, R7000 or those that look like they're virtually
2114 # indexed such as R4000/R4400 SC and MC versions or R10000. So for the
2115 # moment we protect the user and offer the highmem option only on machines
2116 # where it's known to be safe. This will not offer highmem on a few systems
2117 # such as MIPS32 and MIPS64 CPUs which may have virtual and physically
2118 # indexed CPUs but we're playing safe.
2119 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
2120 # know they might have memory configurations that could make use of highmem
2124 bool "High Memory Support"
2125 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
2127 config CPU_SUPPORTS_HIGHMEM
2130 config SYS_SUPPORTS_HIGHMEM
2133 config SYS_SUPPORTS_SMARTMIPS
2136 config ARCH_FLATMEM_ENABLE
2138 depends on !NUMA && !CPU_LOONGSON2
2140 config ARCH_DISCONTIGMEM_ENABLE
2142 default y if SGI_IP27
2144 Say Y to support efficient handling of discontiguous physical memory,
2145 for architectures which are either NUMA (Non-Uniform Memory Access)
2146 or have huge holes in the physical address space for other reasons.
2147 See <file:Documentation/vm/numa> for more.
2149 config ARCH_SPARSEMEM_ENABLE
2151 select SPARSEMEM_STATIC
2155 depends on SYS_SUPPORTS_NUMA
2157 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
2158 Access). This option improves performance on systems with more
2159 than two nodes; on two node systems it is generally better to
2160 leave it disabled; on single node systems disable this option
2163 config SYS_SUPPORTS_NUMA
2169 depends on NEED_MULTIPLE_NODES
2171 config HW_PERF_EVENTS
2172 bool "Enable hardware performance counter support for perf events"
2173 depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON)
2176 Enable hardware performance counter support for perf events. If
2177 disabled, perf events will use software events only.
2182 bool "Multi-Processing support"
2183 depends on SYS_SUPPORTS_SMP
2185 select USE_GENERIC_SMP_HELPERS
2187 This enables support for systems with more than one CPU. If you have
2188 a system with only one CPU, like most personal computers, say N. If
2189 you have a system with more than one CPU, say Y.
2191 If you say N here, the kernel will run on single and multiprocessor
2192 machines, but will use only one CPU of a multiprocessor machine. If
2193 you say Y here, the kernel will run on many, but not all,
2194 singleprocessor machines. On a singleprocessor machine, the kernel
2195 will run faster if you say N here.
2197 People using multiprocessor machines who say Y here should also say
2198 Y to "Enhanced Real Time Clock Support", below.
2200 See also the SMP-HOWTO available at
2201 <http://www.tldp.org/docs.html#howto>.
2203 If you don't know what to do here, say N.
2208 config SYS_SUPPORTS_MIPS_CMP
2211 config SYS_SUPPORTS_SMP
2214 config NR_CPUS_DEFAULT_1
2217 config NR_CPUS_DEFAULT_2
2220 config NR_CPUS_DEFAULT_4
2223 config NR_CPUS_DEFAULT_8
2226 config NR_CPUS_DEFAULT_16
2229 config NR_CPUS_DEFAULT_32
2232 config NR_CPUS_DEFAULT_64
2236 int "Maximum number of CPUs (2-64)"
2237 range 1 64 if NR_CPUS_DEFAULT_1
2239 default "1" if NR_CPUS_DEFAULT_1
2240 default "2" if NR_CPUS_DEFAULT_2
2241 default "4" if NR_CPUS_DEFAULT_4
2242 default "8" if NR_CPUS_DEFAULT_8
2243 default "16" if NR_CPUS_DEFAULT_16
2244 default "32" if NR_CPUS_DEFAULT_32
2245 default "64" if NR_CPUS_DEFAULT_64
2247 This allows you to specify the maximum number of CPUs which this
2248 kernel will support. The maximum supported value is 32 for 32-bit
2249 kernel and 64 for 64-bit kernels; the minimum value which makes
2250 sense is 1 for Qemu (useful only for kernel debugging purposes)
2251 and 2 for all others.
2253 This is purely to save memory - each supported CPU adds
2254 approximately eight kilobytes to the kernel image. For best
2255 performance should round up your number of processors to the next
2259 # Timer Interrupt Frequency Configuration
2263 prompt "Timer frequency"
2266 Allows the configuration of the timer frequency.
2269 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
2272 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
2275 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
2278 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
2281 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
2284 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
2287 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2291 config SYS_SUPPORTS_48HZ
2294 config SYS_SUPPORTS_100HZ
2297 config SYS_SUPPORTS_128HZ
2300 config SYS_SUPPORTS_250HZ
2303 config SYS_SUPPORTS_256HZ
2306 config SYS_SUPPORTS_1000HZ
2309 config SYS_SUPPORTS_1024HZ
2312 config SYS_SUPPORTS_ARBIT_HZ
2314 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2315 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2316 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2317 !SYS_SUPPORTS_1024HZ
2322 default 100 if HZ_100
2323 default 128 if HZ_128
2324 default 250 if HZ_250
2325 default 256 if HZ_256
2326 default 1000 if HZ_1000
2327 default 1024 if HZ_1024
2329 source "kernel/Kconfig.preempt"
2332 bool "Kexec system call (EXPERIMENTAL)"
2333 depends on EXPERIMENTAL
2335 kexec is a system call that implements the ability to shutdown your
2336 current kernel, and to start another kernel. It is like a reboot
2337 but it is independent of the system firmware. And like a reboot
2338 you can start any kernel with it, not just Linux.
2340 The name comes from the similarity to the exec system call.
2342 It is an ongoing process to be certain the hardware in a machine
2343 is properly shutdown, so do not be surprised if this code does not
2344 initially work for you. It may help to enable device hotplugging
2345 support. As of this writing the exact hardware interface is
2346 strongly in flux, so no good recommendation can be made.
2349 bool "Enable seccomp to safely compute untrusted bytecode"
2353 This kernel feature is useful for number crunching applications
2354 that may need to compute untrusted bytecode during their
2355 execution. By using pipes or other transports made available to
2356 the process as file descriptors supporting the read/write
2357 syscalls, it's possible to isolate those applications in
2358 their own address space using seccomp. Once seccomp is
2359 enabled via /proc/<pid>/seccomp, it cannot be disabled
2360 and the task is only allowed to execute a few safe syscalls
2361 defined by each seccomp mode.
2363 If unsure, say Y. Only embedded should say N here.
2366 bool "Flattened Device Tree support"
2368 select OF_EARLY_FLATTREE
2371 Include support for flattened device tree machine descriptions.
2375 config LOCKDEP_SUPPORT
2379 config STACKTRACE_SUPPORT
2383 source "init/Kconfig"
2385 source "kernel/Kconfig.freezer"
2387 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2395 bool "Support for PCI controller"
2396 depends on HW_HAS_PCI
2398 select GENERIC_PCI_IOMAP
2399 select NO_GENERIC_PCI_IOPORT_MAP
2401 Find out whether you have a PCI motherboard. PCI is the name of a
2402 bus system, i.e. the way the CPU talks to the other stuff inside
2403 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2409 source "drivers/pci/Kconfig"
2411 source "drivers/pci/pcie/Kconfig"
2414 # ISA support is now enabled via select. Too many systems still have the one
2415 # or other ISA chip on the board that users don't know about so don't expect
2416 # users to choose the right thing ...
2423 depends on HW_HAS_EISA
2425 select GENERIC_ISA_DMA
2427 The Extended Industry Standard Architecture (EISA) bus was
2428 developed as an open alternative to the IBM MicroChannel bus.
2430 The EISA bus provided some of the features of the IBM MicroChannel
2431 bus while maintaining backward compatibility with cards made for
2432 the older ISA bus. The EISA bus saw limited use between 1988 and
2433 1995 when it was made obsolete by the PCI bus.
2435 Say Y here if you are building a kernel for an EISA-based machine.
2439 source "drivers/eisa/Kconfig"
2442 bool "TURBOchannel support"
2443 depends on MACH_DECSTATION
2445 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2446 processors. TURBOchannel programming specifications are available
2448 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
2450 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
2451 Linux driver support status is documented at:
2452 <http://www.linux-mips.org/wiki/DECstation>
2462 select MIPS_EXTERNAL_TIMER
2467 source "drivers/pcmcia/Kconfig"
2469 source "drivers/pci/hotplug/Kconfig"
2472 bool "RapidIO support"
2476 If you say Y here, the kernel will include drivers and
2477 infrastructure code to support RapidIO interconnect devices.
2479 source "drivers/rapidio/Kconfig"
2483 menu "Executable file formats"
2485 source "fs/Kconfig.binfmt"
2490 config MIPS32_COMPAT
2491 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2494 Select this option if you want Linux/MIPS 32-bit binary
2495 compatibility. Since all software available for Linux/MIPS is
2496 currently 32-bit you should say Y here.
2500 depends on MIPS32_COMPAT
2501 select ARCH_WANT_OLD_COMPAT_IPC
2504 config SYSVIPC_COMPAT
2506 depends on COMPAT && SYSVIPC
2510 bool "Kernel support for o32 binaries"
2511 depends on MIPS32_COMPAT
2513 Select this option if you want to run o32 binaries. These are pure
2514 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2515 existing binaries are in this format.
2520 bool "Kernel support for n32 binaries"
2521 depends on MIPS32_COMPAT
2523 Select this option if you want to run n32 binaries. These are
2524 64-bit binaries using 32-bit quantities for addressing and certain
2525 data that would normally be 64-bit. They are used in special
2532 default y if MIPS32_O32 || MIPS32_N32
2536 menu "Power management options"
2538 config ARCH_HIBERNATION_POSSIBLE
2540 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2542 config ARCH_SUSPEND_POSSIBLE
2544 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2546 source "kernel/power/Kconfig"
2550 source "arch/mips/kernel/cpufreq/Kconfig"
2552 source "net/Kconfig"
2554 source "drivers/Kconfig"
2558 source "arch/mips/Kconfig.debug"
2560 source "security/Kconfig"
2562 source "crypto/Kconfig"
2564 source "lib/Kconfig"