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
24 select HAVE_DMA_API_DEBUG
25 select HAVE_GENERIC_HARDIRQS
26 select GENERIC_IRQ_PROBE
27 select GENERIC_IRQ_SHOW
28 select HAVE_ARCH_JUMP_LABEL
29 select IRQ_FORCED_THREADING
31 select HAVE_MEMBLOCK_NODE_MAP
32 select ARCH_DISCARD_MEMBLOCK
33 select GENERIC_SMP_IDLE_THREAD
34 select BUILDTIME_EXTABLE_SORT
35 select GENERIC_CLOCKEVENTS
36 select GENERIC_CMOS_UPDATE
38 menu "Machine selection"
48 bool "Alchemy processor based machines"
49 select 64BIT_PHYS_ADDR
53 select SYS_HAS_CPU_MIPS32_R1
54 select SYS_SUPPORTS_32BIT_KERNEL
55 select SYS_SUPPORTS_APM_EMULATION
57 select ARCH_WANT_OPTIONAL_GPIOLIB
58 select SYS_SUPPORTS_ZBOOT
59 select USB_ARCH_HAS_OHCI
60 select USB_ARCH_HAS_EHCI
63 bool "Texas Instruments AR7"
65 select DMA_NONCOHERENT
71 select SYS_HAS_CPU_MIPS32_R1
72 select SYS_HAS_EARLY_PRINTK
73 select SYS_SUPPORTS_32BIT_KERNEL
74 select SYS_SUPPORTS_LITTLE_ENDIAN
75 select SYS_SUPPORTS_ZBOOT_UART16550
76 select ARCH_REQUIRE_GPIOLIB
79 Support for the Texas Instruments AR7 System-on-a-Chip
80 family: TNETD7100, 7200 and 7300.
83 bool "Atheros AR71XX/AR724X/AR913X based boards"
84 select ARCH_REQUIRE_GPIOLIB
88 select DMA_NONCOHERENT
91 select SYS_HAS_CPU_MIPS32_R2
92 select SYS_HAS_EARLY_PRINTK
93 select SYS_SUPPORTS_32BIT_KERNEL
94 select SYS_SUPPORTS_BIG_ENDIAN
96 Support for the Atheros AR71XX/AR724X/AR913X SoCs.
99 bool "Broadcom BCM47XX based boards"
102 select DMA_NONCOHERENT
105 select SYS_SUPPORTS_32BIT_KERNEL
106 select SYS_SUPPORTS_LITTLE_ENDIAN
108 select SYS_HAS_EARLY_PRINTK
111 Support for BCM47XX based boards
114 bool "Broadcom BCM63XX based boards"
117 select DMA_NONCOHERENT
119 select SYS_HAS_CPU_MIPS32_R1
120 select SYS_SUPPORTS_32BIT_KERNEL
121 select SYS_SUPPORTS_BIG_ENDIAN
122 select SYS_HAS_EARLY_PRINTK
124 select ARCH_REQUIRE_GPIOLIB
126 Support for BCM63XX based boards
133 select DMA_NONCOHERENT
139 select PCI_GT64XXX_PCI0
141 select SYS_HAS_CPU_NEVADA
142 select SYS_HAS_EARLY_PRINTK
143 select SYS_SUPPORTS_32BIT_KERNEL
144 select SYS_SUPPORTS_64BIT_KERNEL
145 select SYS_SUPPORTS_LITTLE_ENDIAN
147 config MACH_DECSTATION
154 select CPU_DADDI_WORKAROUNDS if 64BIT
155 select CPU_R4000_WORKAROUNDS if 64BIT
156 select CPU_R4400_WORKAROUNDS if 64BIT
157 select DMA_NONCOHERENT
160 select SYS_HAS_CPU_R3000
161 select SYS_HAS_CPU_R4X00
162 select SYS_SUPPORTS_32BIT_KERNEL
163 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
164 select SYS_SUPPORTS_LITTLE_ENDIAN
165 select SYS_SUPPORTS_128HZ
166 select SYS_SUPPORTS_256HZ
167 select SYS_SUPPORTS_1024HZ
169 This enables support for DEC's MIPS based workstations. For details
170 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
171 DECstation porting pages on <http://decstation.unix-ag.org/>.
173 If you have one of the following DECstation Models you definitely
174 want to choose R4xx0 for the CPU Type:
181 otherwise choose R3000.
184 bool "Jazz family of machines"
187 select ARCH_MAY_HAVE_PC_FDC
190 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
191 select GENERIC_ISA_DMA
192 select HAVE_PCSPKR_PLATFORM
197 select SYS_HAS_CPU_R4X00
198 select SYS_SUPPORTS_32BIT_KERNEL
199 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
200 select SYS_SUPPORTS_100HZ
202 This a family of machines based on the MIPS R4030 chipset which was
203 used by several vendors to build RISC/os and Windows NT workstations.
204 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
205 Olivetti M700-10 workstations.
208 bool "Ingenic JZ4740 based machines"
209 select SYS_HAS_CPU_MIPS32_R1
210 select SYS_SUPPORTS_32BIT_KERNEL
211 select SYS_SUPPORTS_LITTLE_ENDIAN
212 select DMA_NONCOHERENT
215 select ARCH_REQUIRE_GPIOLIB
216 select SYS_HAS_EARLY_PRINTK
219 select GENERIC_IRQ_CHIP
222 bool "Lantiq based platforms"
223 select DMA_NONCOHERENT
227 select SYS_HAS_CPU_MIPS32_R1
228 select SYS_HAS_CPU_MIPS32_R2
229 select SYS_SUPPORTS_BIG_ENDIAN
230 select SYS_SUPPORTS_32BIT_KERNEL
231 select SYS_SUPPORTS_MULTITHREADING
232 select SYS_HAS_EARLY_PRINTK
233 select ARCH_REQUIRE_GPIOLIB
240 bool "LASAT Networks platforms"
243 select DMA_NONCOHERENT
244 select SYS_HAS_EARLY_PRINTK
247 select PCI_GT64XXX_PCI0
249 select R5000_CPU_SCACHE
250 select SYS_HAS_CPU_R5000
251 select SYS_SUPPORTS_32BIT_KERNEL
252 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
253 select SYS_SUPPORTS_LITTLE_ENDIAN
256 bool "Loongson family of machines"
257 select SYS_SUPPORTS_ZBOOT
259 This enables the support of Loongson family of machines.
261 Loongson is a family of general-purpose MIPS-compatible CPUs.
262 developed at Institute of Computing Technology (ICT),
263 Chinese Academy of Sciences (CAS) in the People's Republic
264 of China. The chief architect is Professor Weiwu Hu.
267 bool "MIPS Malta board"
268 select ARCH_MAY_HAVE_PC_FDC
273 select DMA_NONCOHERENT
274 select GENERIC_ISA_DMA
275 select HAVE_PCSPKR_PLATFORM
281 select MIPS_BOARDS_GEN
283 select MIPS_CPU_SCACHE
284 select PCI_GT64XXX_PCI0
287 select SYS_HAS_CPU_MIPS32_R1
288 select SYS_HAS_CPU_MIPS32_R2
289 select SYS_HAS_CPU_MIPS64_R1
290 select SYS_HAS_CPU_NEVADA
291 select SYS_HAS_CPU_RM7000
292 select SYS_HAS_EARLY_PRINTK
293 select SYS_SUPPORTS_32BIT_KERNEL
294 select SYS_SUPPORTS_64BIT_KERNEL
295 select SYS_SUPPORTS_BIG_ENDIAN
296 select SYS_SUPPORTS_LITTLE_ENDIAN
297 select SYS_SUPPORTS_MIPS_CMP
298 select SYS_SUPPORTS_MULTITHREADING
299 select SYS_SUPPORTS_SMARTMIPS
300 select SYS_SUPPORTS_ZBOOT
302 This enables support for the MIPS Technologies Malta evaluation
306 bool 'MIPS simulator (MIPSsim)'
309 select DMA_NONCOHERENT
310 select SYS_HAS_EARLY_PRINTK
313 select SYS_HAS_CPU_MIPS32_R1
314 select SYS_HAS_CPU_MIPS32_R2
315 select SYS_HAS_EARLY_PRINTK
316 select SYS_SUPPORTS_32BIT_KERNEL
317 select SYS_SUPPORTS_BIG_ENDIAN
318 select SYS_SUPPORTS_MULTITHREADING
319 select SYS_SUPPORTS_LITTLE_ENDIAN
321 This option enables support for MIPS Technologies MIPSsim software
325 bool "NEC EMMA2RH Mark-eins board"
329 This enables support for the NEC Electronics Mark-eins boards.
332 bool "NEC VR4100 series based machines"
335 select SYS_HAS_CPU_VR41XX
336 select ARCH_REQUIRE_GPIOLIB
339 bool "NXP STB220 board"
342 Support for NXP Semiconductors STB220 Development Board.
349 Support for NXP Semiconductors STB225 Development Board.
352 bool "NXP PNX8550 based JBS board"
354 select SYS_SUPPORTS_LITTLE_ENDIAN
356 config PNX8550_STB810
357 bool "NXP PNX8550 based STB810 board"
359 select SYS_SUPPORTS_LITTLE_ENDIAN
362 bool "PMC-Sierra MSP chipsets"
363 depends on EXPERIMENTAL
366 select DMA_NONCOHERENT
368 select NO_EXCEPT_FILL
370 select SYS_HAS_CPU_MIPS32_R1
371 select SYS_HAS_CPU_MIPS32_R2
372 select SYS_SUPPORTS_32BIT_KERNEL
373 select SYS_SUPPORTS_BIG_ENDIAN
376 select SERIAL_8250_CONSOLE
378 This adds support for the PMC-Sierra family of Multi-Service
379 Processor System-On-A-Chips. These parts include a number
380 of integrated peripherals, interfaces and DSPs in addition to
381 a variety of MIPS cores.
384 bool "PMC-Sierra Yosemite eval board"
393 select SYS_HAS_CPU_RM9000
394 select SYS_HAS_EARLY_PRINTK
395 select SYS_SUPPORTS_32BIT_KERNEL
396 select SYS_SUPPORTS_64BIT_KERNEL
397 select SYS_SUPPORTS_BIG_ENDIAN
398 select SYS_SUPPORTS_HIGHMEM
399 select SYS_SUPPORTS_SMP
401 Yosemite is an evaluation board for the RM9000x2 processor
402 manufactured by PMC-Sierra.
408 select CPU_MIPSR2_IRQ_VI
409 select CPU_MIPSR2_IRQ_EI
411 select DMA_NONCOHERENT
413 select SYS_HAS_EARLY_PRINTK
414 select SYS_HAS_CPU_MIPS32_R2
415 select SYS_SUPPORTS_32BIT_KERNEL
416 select SYS_SUPPORTS_BIG_ENDIAN
417 select SYS_SUPPORTS_HIGHMEM
418 select USB_OHCI_LITTLE_ENDIAN
420 This enables support for the Cisco PowerTV Platform.
423 bool "SGI IP22 (Indy/Indigo2)"
429 select DEFAULT_SGI_PARTITION
430 select DMA_NONCOHERENT
434 select IP22_CPU_SCACHE
436 select GENERIC_ISA_DMA_SUPPORT_BROKEN
438 select SGI_HAS_INDYDOG
444 select SYS_HAS_CPU_R4X00
445 select SYS_HAS_CPU_R5000
447 # Disable EARLY_PRINTK for now since it leads to overwritten prom
448 # memory during early boot on some machines.
450 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
451 # for a more details discussion
453 # select SYS_HAS_EARLY_PRINTK
454 select SYS_SUPPORTS_32BIT_KERNEL
455 select SYS_SUPPORTS_64BIT_KERNEL
456 select SYS_SUPPORTS_BIG_ENDIAN
458 This are the SGI Indy, Challenge S and Indigo2, as well as certain
459 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
460 that runs on these, say Y here.
463 bool "SGI IP27 (Origin200/2000)"
467 select DEFAULT_SGI_PARTITION
469 select SYS_HAS_EARLY_PRINTK
471 select NR_CPUS_DEFAULT_64
472 select SYS_HAS_CPU_R10000
473 select SYS_SUPPORTS_64BIT_KERNEL
474 select SYS_SUPPORTS_BIG_ENDIAN
475 select SYS_SUPPORTS_NUMA
476 select SYS_SUPPORTS_SMP
478 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
479 workstations. To compile a Linux kernel that runs on these, say Y
483 bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
484 depends on EXPERIMENTAL
490 select DEFAULT_SGI_PARTITION
491 select DMA_NONCOHERENT
492 select GENERIC_ISA_DMA_SUPPORT_BROKEN
498 select SGI_HAS_INDYDOG
504 select SYS_HAS_CPU_R10000
506 # Disable EARLY_PRINTK for now since it leads to overwritten prom
507 # memory during early boot on some machines.
509 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
510 # for a more details discussion
512 # select SYS_HAS_EARLY_PRINTK
513 select SYS_SUPPORTS_64BIT_KERNEL
514 select SYS_SUPPORTS_BIG_ENDIAN
516 This is the SGI Indigo2 with R10000 processor. To compile a Linux
517 kernel that runs on these, say Y here.
526 select DMA_NONCOHERENT
529 select R5000_CPU_SCACHE
530 select RM7000_CPU_SCACHE
531 select SYS_HAS_CPU_R5000
532 select SYS_HAS_CPU_R10000 if BROKEN
533 select SYS_HAS_CPU_RM7000
534 select SYS_HAS_CPU_NEVADA
535 select SYS_SUPPORTS_64BIT_KERNEL
536 select SYS_SUPPORTS_BIG_ENDIAN
538 If you want this kernel to run on SGI O2 workstation, say Y here.
541 bool "Sibyte BCM91120C-CRhine"
542 depends on EXPERIMENTAL
545 select SIBYTE_BCM1120
547 select SYS_HAS_CPU_SB1
548 select SYS_SUPPORTS_BIG_ENDIAN
549 select SYS_SUPPORTS_LITTLE_ENDIAN
552 bool "Sibyte BCM91120x-Carmel"
553 depends on EXPERIMENTAL
556 select SIBYTE_BCM1120
558 select SYS_HAS_CPU_SB1
559 select SYS_SUPPORTS_BIG_ENDIAN
560 select SYS_SUPPORTS_LITTLE_ENDIAN
563 bool "Sibyte BCM91125C-CRhone"
564 depends on EXPERIMENTAL
567 select SIBYTE_BCM1125
569 select SYS_HAS_CPU_SB1
570 select SYS_SUPPORTS_BIG_ENDIAN
571 select SYS_SUPPORTS_HIGHMEM
572 select SYS_SUPPORTS_LITTLE_ENDIAN
575 bool "Sibyte BCM91125E-Rhone"
576 depends on EXPERIMENTAL
579 select SIBYTE_BCM1125H
581 select SYS_HAS_CPU_SB1
582 select SYS_SUPPORTS_BIG_ENDIAN
583 select SYS_SUPPORTS_LITTLE_ENDIAN
586 bool "Sibyte BCM91250A-SWARM"
589 select HAVE_PATA_PLATFORM
590 select NR_CPUS_DEFAULT_2
593 select SYS_HAS_CPU_SB1
594 select SYS_SUPPORTS_BIG_ENDIAN
595 select SYS_SUPPORTS_HIGHMEM
596 select SYS_SUPPORTS_LITTLE_ENDIAN
597 select ZONE_DMA32 if 64BIT
599 config SIBYTE_LITTLESUR
600 bool "Sibyte BCM91250C2-LittleSur"
601 depends on EXPERIMENTAL
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
613 config SIBYTE_SENTOSA
614 bool "Sibyte BCM91250E-Sentosa"
615 depends on EXPERIMENTAL
618 select NR_CPUS_DEFAULT_2
621 select SYS_HAS_CPU_SB1
622 select SYS_SUPPORTS_BIG_ENDIAN
623 select SYS_SUPPORTS_LITTLE_ENDIAN
626 bool "Sibyte BCM91480B-BigSur"
629 select NR_CPUS_DEFAULT_4
630 select SIBYTE_BCM1x80
632 select SYS_HAS_CPU_SB1
633 select SYS_SUPPORTS_BIG_ENDIAN
634 select SYS_SUPPORTS_HIGHMEM
635 select SYS_SUPPORTS_LITTLE_ENDIAN
636 select ZONE_DMA32 if 64BIT
639 bool "SNI RM200/300/400"
640 select ARC if CPU_LITTLE_ENDIAN
641 select ARC32 if CPU_LITTLE_ENDIAN
642 select SNIPROM if CPU_BIG_ENDIAN
643 select ARCH_MAY_HAVE_PC_FDC
647 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
648 select DMA_NONCOHERENT
649 select GENERIC_ISA_DMA
650 select HAVE_PCSPKR_PLATFORM
657 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
658 select SYS_HAS_CPU_R4X00
659 select SYS_HAS_CPU_R5000
660 select SYS_HAS_CPU_R10000
661 select R5000_CPU_SCACHE
662 select SYS_HAS_EARLY_PRINTK
663 select SYS_SUPPORTS_32BIT_KERNEL
664 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
665 select SYS_SUPPORTS_BIG_ENDIAN
666 select SYS_SUPPORTS_HIGHMEM
667 select SYS_SUPPORTS_LITTLE_ENDIAN
669 The SNI RM200/300/400 are MIPS-based machines manufactured by
670 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
671 Technology and now in turn merged with Fujitsu. Say Y here to
672 support this machine type.
675 bool "Toshiba TX39 series based machines"
678 bool "Toshiba TX49 series based machines"
680 config MIKROTIK_RB532
681 bool "Mikrotik RB532 boards"
684 select DMA_NONCOHERENT
687 select SYS_HAS_CPU_MIPS32_R1
688 select SYS_SUPPORTS_32BIT_KERNEL
689 select SYS_SUPPORTS_LITTLE_ENDIAN
692 select ARCH_REQUIRE_GPIOLIB
694 Support the Mikrotik(tm) RouterBoard 532 series,
695 based on the IDT RC32434 SoC.
698 bool "Wind River PPMC board"
703 select DMA_NONCOHERENT
705 select PCI_GT64XXX_PCI0
707 select SYS_HAS_CPU_MIPS32_R1
708 select SYS_HAS_CPU_MIPS32_R2
709 select SYS_HAS_CPU_MIPS64_R1
710 select SYS_HAS_CPU_NEVADA
711 select SYS_HAS_CPU_RM7000
712 select SYS_SUPPORTS_32BIT_KERNEL
713 select SYS_SUPPORTS_64BIT_KERNEL
714 select SYS_SUPPORTS_BIG_ENDIAN
715 select SYS_SUPPORTS_LITTLE_ENDIAN
717 This enables support for the Wind River MIPS32 4KC PPMC evaluation
718 board, which is based on GT64120 bridge chip.
720 config CAVIUM_OCTEON_SIMULATOR
721 bool "Cavium Networks Octeon Simulator"
723 select 64BIT_PHYS_ADDR
725 select SYS_SUPPORTS_64BIT_KERNEL
726 select SYS_SUPPORTS_BIG_ENDIAN
727 select SYS_SUPPORTS_HOTPLUG_CPU
728 select SYS_HAS_CPU_CAVIUM_OCTEON
731 The Octeon simulator is software performance model of the Cavium
732 Octeon Processor. It supports simulating Octeon processors on x86
735 config CAVIUM_OCTEON_REFERENCE_BOARD
736 bool "Cavium Networks Octeon reference board"
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_EARLY_PRINTK
744 select SYS_HAS_CPU_CAVIUM_OCTEON
747 select ARCH_SUPPORTS_MSI
749 select USB_ARCH_HAS_OHCI
750 select USB_ARCH_HAS_EHCI
753 This option supports all of the Octeon reference boards from Cavium
754 Networks. It builds a kernel that dynamically determines the Octeon
755 CPU type and supports all known board reference implementations.
756 Some of the supported boards are:
763 Say Y here for most Octeon reference boards.
766 bool "Netlogic XLR/XLS based systems"
767 depends on EXPERIMENTAL
770 select SYS_HAS_CPU_XLR
771 select SYS_SUPPORTS_SMP
774 select SYS_SUPPORTS_32BIT_KERNEL
775 select SYS_SUPPORTS_64BIT_KERNEL
776 select 64BIT_PHYS_ADDR
777 select SYS_SUPPORTS_BIG_ENDIAN
778 select SYS_SUPPORTS_HIGHMEM
780 select NR_CPUS_DEFAULT_32
784 select ARCH_SUPPORTS_MSI
785 select ZONE_DMA if 64BIT
787 select SYS_HAS_EARLY_PRINTK
789 Support for systems based on Netlogic XLR and XLS processors.
790 Say Y here if you have a XLR or XLS based board.
793 bool "Netlogic XLP based systems"
794 depends on EXPERIMENTAL
797 select SYS_HAS_CPU_XLP
798 select SYS_SUPPORTS_SMP
801 select SYS_SUPPORTS_32BIT_KERNEL
802 select SYS_SUPPORTS_64BIT_KERNEL
803 select 64BIT_PHYS_ADDR
804 select SYS_SUPPORTS_BIG_ENDIAN
805 select SYS_SUPPORTS_LITTLE_ENDIAN
806 select SYS_SUPPORTS_HIGHMEM
808 select NR_CPUS_DEFAULT_32
812 select ZONE_DMA if 64BIT
814 select SYS_HAS_EARLY_PRINTK
816 This board is based on Netlogic XLP Processor.
817 Say Y here if you have a XLP based board.
821 source "arch/mips/alchemy/Kconfig"
822 source "arch/mips/ath79/Kconfig"
823 source "arch/mips/bcm47xx/Kconfig"
824 source "arch/mips/bcm63xx/Kconfig"
825 source "arch/mips/jazz/Kconfig"
826 source "arch/mips/jz4740/Kconfig"
827 source "arch/mips/lantiq/Kconfig"
828 source "arch/mips/lasat/Kconfig"
829 source "arch/mips/pmc-sierra/Kconfig"
830 source "arch/mips/powertv/Kconfig"
831 source "arch/mips/sgi-ip27/Kconfig"
832 source "arch/mips/sibyte/Kconfig"
833 source "arch/mips/txx9/Kconfig"
834 source "arch/mips/vr41xx/Kconfig"
835 source "arch/mips/cavium-octeon/Kconfig"
836 source "arch/mips/loongson/Kconfig"
837 source "arch/mips/netlogic/Kconfig"
841 config RWSEM_GENERIC_SPINLOCK
845 config RWSEM_XCHGADD_ALGORITHM
848 config ARCH_HAS_ILOG2_U32
852 config ARCH_HAS_ILOG2_U64
856 config GENERIC_HWEIGHT
860 config GENERIC_CALIBRATE_DELAY
864 config SCHED_OMIT_FRAME_POINTER
869 # Select some configuration options automatically based on user selections.
874 config ARCH_MAY_HAVE_PC_FDC
923 select ARCH_REQUIRE_GPIOLIB
929 config ARCH_DMA_ADDR_T_64BIT
930 def_bool (HIGHMEM && 64BIT_PHYS_ADDR) || 64BIT
935 config DMA_NONCOHERENT
937 select NEED_DMA_MAP_STATE
939 config NEED_DMA_MAP_STATE
942 config SYS_HAS_EARLY_PRINTK
946 bool "Support for hot-pluggable CPUs"
947 depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU
949 Say Y here to allow turning CPUs off and on. CPUs can be
950 controlled through /sys/devices/system/cpu.
951 (Note: power management support will enable this option
952 automatically on SMP systems. )
953 Say N if you want to disable CPU hotplug.
955 config SYS_SUPPORTS_HOTPLUG_CPU
970 config MIPS_DISABLE_OBSOLETE_IDE
982 config GENERIC_ISA_DMA
984 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
987 config GENERIC_ISA_DMA_SUPPORT_BROKEN
989 select GENERIC_ISA_DMA
1001 # Endianness selection. Sufficiently obscure so many users don't know what to
1002 # answer,so we try hard to limit the available choices. Also the use of a
1003 # choice statement should be more obvious to the user.
1006 prompt "Endianness selection"
1008 Some MIPS machines can be configured for either little or big endian
1009 byte order. These modes require different kernels and a different
1010 Linux distribution. In general there is one preferred byteorder for a
1011 particular system but some systems are just as commonly used in the
1012 one or the other endianness.
1014 config CPU_BIG_ENDIAN
1016 depends on SYS_SUPPORTS_BIG_ENDIAN
1018 config CPU_LITTLE_ENDIAN
1019 bool "Little endian"
1020 depends on SYS_SUPPORTS_LITTLE_ENDIAN
1028 config SYS_SUPPORTS_APM_EMULATION
1031 config SYS_SUPPORTS_BIG_ENDIAN
1034 config SYS_SUPPORTS_LITTLE_ENDIAN
1037 config SYS_SUPPORTS_HUGETLBFS
1039 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
1066 config MIPS_BOARDS_GEN
1069 config PCI_GT64XXX_PCI0
1072 config NO_EXCEPT_FILL
1077 select SERIAL_RM9000
1083 select DMA_NONCOHERENT
1085 select SWAP_IO_SPACE
1086 select SYS_HAS_CPU_R5500
1087 select SYS_SUPPORTS_32BIT_KERNEL
1088 select SYS_SUPPORTS_64BIT_KERNEL
1089 select SYS_SUPPORTS_BIG_ENDIAN
1096 select DMA_NONCOHERENT
1097 select SYS_HAS_CPU_MIPS32_R2
1098 select SYS_SUPPORTS_32BIT_KERNEL
1099 select SYS_SUPPORTS_LITTLE_ENDIAN
1100 select SYS_SUPPORTS_BIG_ENDIAN
1102 select CPU_MIPSR2_IRQ_VI
1114 select DMA_NONCOHERENT
1116 select SYS_HAS_CPU_MIPS32_R1
1117 select SYS_HAS_EARLY_PRINTK
1118 select SYS_SUPPORTS_32BIT_KERNEL
1121 config SWAP_IO_SPACE
1124 config SERIAL_RM9000
1127 config SGI_HAS_INDYDOG
1139 config SGI_HAS_ZILOG
1142 config SGI_HAS_I8042
1145 config DEFAULT_SGI_PARTITION
1157 config MIPS_L1_CACHE_SHIFT
1159 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL
1160 default "6" if MIPS_CPU_SCACHE
1161 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON
1164 config HAVE_STD_PC_SERIAL_PORT
1168 bool "ARC console support"
1169 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
1173 depends on MACH_JAZZ || SNI_RM || SGI_IP32
1178 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
1187 menu "CPU selection"
1193 config CPU_LOONGSON2E
1195 depends on SYS_HAS_CPU_LOONGSON2E
1196 select CPU_LOONGSON2
1198 The Loongson 2E processor implements the MIPS III instruction set
1199 with many extensions.
1201 It has an internal FPGA northbridge, which is compatible to
1204 config CPU_LOONGSON2F
1206 depends on SYS_HAS_CPU_LOONGSON2F
1207 select CPU_LOONGSON2
1209 select ARCH_REQUIRE_GPIOLIB
1211 The Loongson 2F processor implements the MIPS III instruction set
1212 with many extensions.
1214 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1215 have a similar programming interface with FPGA northbridge used in
1218 config CPU_MIPS32_R1
1219 bool "MIPS32 Release 1"
1220 depends on SYS_HAS_CPU_MIPS32_R1
1221 select CPU_HAS_PREFETCH
1222 select CPU_SUPPORTS_32BIT_KERNEL
1223 select CPU_SUPPORTS_HIGHMEM
1225 Choose this option to build a kernel for release 1 or later of the
1226 MIPS32 architecture. Most modern embedded systems with a 32-bit
1227 MIPS processor are based on a MIPS32 processor. If you know the
1228 specific type of processor in your system, choose those that one
1229 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1230 Release 2 of the MIPS32 architecture is available since several
1231 years so chances are you even have a MIPS32 Release 2 processor
1232 in which case you should choose CPU_MIPS32_R2 instead for better
1235 config CPU_MIPS32_R2
1236 bool "MIPS32 Release 2"
1237 depends on SYS_HAS_CPU_MIPS32_R2
1238 select CPU_HAS_PREFETCH
1239 select CPU_SUPPORTS_32BIT_KERNEL
1240 select CPU_SUPPORTS_HIGHMEM
1242 Choose this option to build a kernel for release 2 or later of the
1243 MIPS32 architecture. Most modern embedded systems with a 32-bit
1244 MIPS processor are based on a MIPS32 processor. If you know the
1245 specific type of processor in your system, choose those that one
1246 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1248 config CPU_MIPS64_R1
1249 bool "MIPS64 Release 1"
1250 depends on SYS_HAS_CPU_MIPS64_R1
1251 select CPU_HAS_PREFETCH
1252 select CPU_SUPPORTS_32BIT_KERNEL
1253 select CPU_SUPPORTS_64BIT_KERNEL
1254 select CPU_SUPPORTS_HIGHMEM
1255 select CPU_SUPPORTS_HUGEPAGES
1257 Choose this option to build a kernel for release 1 or later of the
1258 MIPS64 architecture. Many modern embedded systems with a 64-bit
1259 MIPS processor are based on a MIPS64 processor. If you know the
1260 specific type of processor in your system, choose those that one
1261 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1262 Release 2 of the MIPS64 architecture is available since several
1263 years so chances are you even have a MIPS64 Release 2 processor
1264 in which case you should choose CPU_MIPS64_R2 instead for better
1267 config CPU_MIPS64_R2
1268 bool "MIPS64 Release 2"
1269 depends on SYS_HAS_CPU_MIPS64_R2
1270 select CPU_HAS_PREFETCH
1271 select CPU_SUPPORTS_32BIT_KERNEL
1272 select CPU_SUPPORTS_64BIT_KERNEL
1273 select CPU_SUPPORTS_HIGHMEM
1274 select CPU_SUPPORTS_HUGEPAGES
1276 Choose this option to build a kernel for release 2 or later of the
1277 MIPS64 architecture. Many modern embedded systems with a 64-bit
1278 MIPS processor are based on a MIPS64 processor. If you know the
1279 specific type of processor in your system, choose those that one
1280 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1284 depends on SYS_HAS_CPU_R3000
1286 select CPU_SUPPORTS_32BIT_KERNEL
1287 select CPU_SUPPORTS_HIGHMEM
1289 Please make sure to pick the right CPU type. Linux/MIPS is not
1290 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1291 *not* work on R4000 machines and vice versa. However, since most
1292 of the supported machines have an R4000 (or similar) CPU, R4x00
1293 might be a safe bet. If the resulting kernel does not work,
1294 try to recompile with R3000.
1298 depends on SYS_HAS_CPU_TX39XX
1299 select CPU_SUPPORTS_32BIT_KERNEL
1303 depends on SYS_HAS_CPU_VR41XX
1304 select CPU_SUPPORTS_32BIT_KERNEL
1305 select CPU_SUPPORTS_64BIT_KERNEL
1307 The options selects support for the NEC VR4100 series of processors.
1308 Only choose this option if you have one of these processors as a
1309 kernel built with this option will not run on any other type of
1310 processor or vice versa.
1314 depends on SYS_HAS_CPU_R4300
1315 select CPU_SUPPORTS_32BIT_KERNEL
1316 select CPU_SUPPORTS_64BIT_KERNEL
1318 MIPS Technologies R4300-series processors.
1322 depends on SYS_HAS_CPU_R4X00
1323 select CPU_SUPPORTS_32BIT_KERNEL
1324 select CPU_SUPPORTS_64BIT_KERNEL
1326 MIPS Technologies R4000-series processors other than 4300, including
1327 the R4000, R4400, R4600, and 4700.
1331 depends on SYS_HAS_CPU_TX49XX
1332 select CPU_HAS_PREFETCH
1333 select CPU_SUPPORTS_32BIT_KERNEL
1334 select CPU_SUPPORTS_64BIT_KERNEL
1338 depends on SYS_HAS_CPU_R5000
1339 select CPU_SUPPORTS_32BIT_KERNEL
1340 select CPU_SUPPORTS_64BIT_KERNEL
1342 MIPS Technologies R5000-series processors other than the Nevada.
1346 depends on SYS_HAS_CPU_R5432
1347 select CPU_SUPPORTS_32BIT_KERNEL
1348 select CPU_SUPPORTS_64BIT_KERNEL
1352 depends on SYS_HAS_CPU_R5500
1353 select CPU_SUPPORTS_32BIT_KERNEL
1354 select CPU_SUPPORTS_64BIT_KERNEL
1355 select CPU_SUPPORTS_HUGEPAGES
1357 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1362 depends on EXPERIMENTAL
1363 depends on SYS_HAS_CPU_R6000
1364 select CPU_SUPPORTS_32BIT_KERNEL
1366 MIPS Technologies R6000 and R6000A series processors. Note these
1367 processors are extremely rare and the support for them is incomplete.
1371 depends on SYS_HAS_CPU_NEVADA
1372 select CPU_SUPPORTS_32BIT_KERNEL
1373 select CPU_SUPPORTS_64BIT_KERNEL
1375 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1379 depends on EXPERIMENTAL
1380 depends on SYS_HAS_CPU_R8000
1381 select CPU_HAS_PREFETCH
1382 select CPU_SUPPORTS_64BIT_KERNEL
1384 MIPS Technologies R8000 processors. Note these processors are
1385 uncommon and the support for them is incomplete.
1389 depends on SYS_HAS_CPU_R10000
1390 select CPU_HAS_PREFETCH
1391 select CPU_SUPPORTS_32BIT_KERNEL
1392 select CPU_SUPPORTS_64BIT_KERNEL
1393 select CPU_SUPPORTS_HIGHMEM
1395 MIPS Technologies R10000-series processors.
1399 depends on SYS_HAS_CPU_RM7000
1400 select CPU_HAS_PREFETCH
1401 select CPU_SUPPORTS_32BIT_KERNEL
1402 select CPU_SUPPORTS_64BIT_KERNEL
1403 select CPU_SUPPORTS_HIGHMEM
1407 depends on SYS_HAS_CPU_RM9000
1408 select CPU_HAS_PREFETCH
1409 select CPU_SUPPORTS_32BIT_KERNEL
1410 select CPU_SUPPORTS_64BIT_KERNEL
1411 select CPU_SUPPORTS_HIGHMEM
1412 select WEAK_ORDERING
1416 depends on SYS_HAS_CPU_SB1
1417 select CPU_SUPPORTS_32BIT_KERNEL
1418 select CPU_SUPPORTS_64BIT_KERNEL
1419 select CPU_SUPPORTS_HIGHMEM
1420 select WEAK_ORDERING
1422 config CPU_CAVIUM_OCTEON
1423 bool "Cavium Octeon processor"
1424 depends on SYS_HAS_CPU_CAVIUM_OCTEON
1425 select CPU_HAS_PREFETCH
1426 select CPU_SUPPORTS_64BIT_KERNEL
1427 select SYS_SUPPORTS_SMP
1428 select NR_CPUS_DEFAULT_16
1429 select WEAK_ORDERING
1430 select CPU_SUPPORTS_HIGHMEM
1431 select CPU_SUPPORTS_HUGEPAGES
1433 The Cavium Octeon processor is a highly integrated chip containing
1434 many ethernet hardware widgets for networking tasks. The processor
1435 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1436 Full details can be found at http://www.caviumnetworks.com.
1438 config CPU_BMIPS3300
1440 depends on SYS_HAS_CPU_BMIPS3300
1443 Broadcom BMIPS3300 processors.
1445 config CPU_BMIPS4350
1447 depends on SYS_HAS_CPU_BMIPS4350
1449 select SYS_SUPPORTS_SMP
1450 select SYS_SUPPORTS_HOTPLUG_CPU
1452 Broadcom BMIPS4350 ("VIPER") processors.
1454 config CPU_BMIPS4380
1456 depends on SYS_HAS_CPU_BMIPS4380
1458 select SYS_SUPPORTS_SMP
1459 select SYS_SUPPORTS_HOTPLUG_CPU
1461 Broadcom BMIPS4380 processors.
1463 config CPU_BMIPS5000
1465 depends on SYS_HAS_CPU_BMIPS5000
1467 select CPU_SUPPORTS_HIGHMEM
1468 select MIPS_CPU_SCACHE
1469 select SYS_SUPPORTS_SMP
1470 select SYS_SUPPORTS_HOTPLUG_CPU
1472 Broadcom BMIPS5000 processors.
1475 bool "Netlogic XLR SoC"
1476 depends on SYS_HAS_CPU_XLR
1477 select CPU_SUPPORTS_32BIT_KERNEL
1478 select CPU_SUPPORTS_64BIT_KERNEL
1479 select CPU_SUPPORTS_HIGHMEM
1480 select WEAK_ORDERING
1481 select WEAK_REORDERING_BEYOND_LLSC
1482 select CPU_SUPPORTS_HUGEPAGES
1484 Netlogic Microsystems XLR/XLS processors.
1487 bool "Netlogic XLP SoC"
1488 depends on SYS_HAS_CPU_XLP
1489 select CPU_SUPPORTS_32BIT_KERNEL
1490 select CPU_SUPPORTS_64BIT_KERNEL
1491 select CPU_SUPPORTS_HIGHMEM
1493 select WEAK_ORDERING
1494 select WEAK_REORDERING_BEYOND_LLSC
1495 select CPU_HAS_PREFETCH
1497 Netlogic Microsystems XLP processors.
1501 config CPU_NOP_WORKAROUNDS
1504 config CPU_JUMP_WORKAROUNDS
1507 config CPU_LOONGSON2F_WORKAROUNDS
1508 bool "Loongson 2F Workarounds"
1510 select CPU_NOP_WORKAROUNDS
1511 select CPU_JUMP_WORKAROUNDS
1513 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1514 require workarounds. Without workarounds the system may hang
1515 unexpectedly. For more information please refer to the gas
1516 -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1518 Loongson 2F03 and later have fixed these issues and no workarounds
1519 are needed. The workarounds have no significant side effect on them
1520 but may decrease the performance of the system so this option should
1521 be disabled unless the kernel is intended to be run on 2F01 or 2F02
1524 If unsure, please say Y.
1525 endif # CPU_LOONGSON2F
1527 config SYS_SUPPORTS_ZBOOT
1529 select HAVE_KERNEL_GZIP
1530 select HAVE_KERNEL_BZIP2
1531 select HAVE_KERNEL_LZMA
1532 select HAVE_KERNEL_LZO
1534 config SYS_SUPPORTS_ZBOOT_UART16550
1536 select SYS_SUPPORTS_ZBOOT
1538 config CPU_LOONGSON2
1540 select CPU_SUPPORTS_32BIT_KERNEL
1541 select CPU_SUPPORTS_64BIT_KERNEL
1542 select CPU_SUPPORTS_HIGHMEM
1547 select CPU_SUPPORTS_32BIT_KERNEL
1548 select DMA_NONCOHERENT
1550 select SWAP_IO_SPACE
1551 select WEAK_ORDERING
1553 config SYS_HAS_CPU_LOONGSON2E
1556 config SYS_HAS_CPU_LOONGSON2F
1558 select CPU_SUPPORTS_CPUFREQ
1559 select CPU_SUPPORTS_ADDRWINCFG if 64BIT
1560 select CPU_SUPPORTS_UNCACHED_ACCELERATED
1562 config SYS_HAS_CPU_MIPS32_R1
1565 config SYS_HAS_CPU_MIPS32_R2
1568 config SYS_HAS_CPU_MIPS64_R1
1571 config SYS_HAS_CPU_MIPS64_R2
1574 config SYS_HAS_CPU_R3000
1577 config SYS_HAS_CPU_TX39XX
1580 config SYS_HAS_CPU_VR41XX
1583 config SYS_HAS_CPU_R4300
1586 config SYS_HAS_CPU_R4X00
1589 config SYS_HAS_CPU_TX49XX
1592 config SYS_HAS_CPU_R5000
1595 config SYS_HAS_CPU_R5432
1598 config SYS_HAS_CPU_R5500
1601 config SYS_HAS_CPU_R6000
1604 config SYS_HAS_CPU_NEVADA
1607 config SYS_HAS_CPU_R8000
1610 config SYS_HAS_CPU_R10000
1613 config SYS_HAS_CPU_RM7000
1616 config SYS_HAS_CPU_RM9000
1619 config SYS_HAS_CPU_SB1
1622 config SYS_HAS_CPU_CAVIUM_OCTEON
1625 config SYS_HAS_CPU_BMIPS3300
1628 config SYS_HAS_CPU_BMIPS4350
1631 config SYS_HAS_CPU_BMIPS4380
1634 config SYS_HAS_CPU_BMIPS5000
1637 config SYS_HAS_CPU_XLR
1640 config SYS_HAS_CPU_XLP
1644 # CPU may reorder R->R, R->W, W->R, W->W
1645 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1647 config WEAK_ORDERING
1651 # CPU may reorder reads and writes beyond LL/SC
1652 # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1654 config WEAK_REORDERING_BEYOND_LLSC
1659 # These two indicate any level of the MIPS32 and MIPS64 architecture
1663 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1667 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1670 # These two indicate the revision of the architecture, either Release 1 or Release 2
1674 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1678 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1680 config SYS_SUPPORTS_32BIT_KERNEL
1682 config SYS_SUPPORTS_64BIT_KERNEL
1684 config CPU_SUPPORTS_32BIT_KERNEL
1686 config CPU_SUPPORTS_64BIT_KERNEL
1688 config CPU_SUPPORTS_CPUFREQ
1690 config CPU_SUPPORTS_ADDRWINCFG
1692 config CPU_SUPPORTS_HUGEPAGES
1694 config CPU_SUPPORTS_UNCACHED_ACCELERATED
1696 config MIPS_PGD_C0_CONTEXT
1698 default y if 64BIT && CPU_MIPSR2
1701 # Set to y for ptrace access to watch registers.
1703 config HARDWARE_WATCHPOINTS
1705 default y if CPU_MIPSR1 || CPU_MIPSR2
1711 prompt "Kernel code model"
1713 You should only select this option if you have a workload that
1714 actually benefits from 64-bit processing or if your machine has
1715 large memory. You will only be presented a single option in this
1716 menu if your system does not support both 32-bit and 64-bit kernels.
1719 bool "32-bit kernel"
1720 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1723 Select this option if you want to build a 32-bit kernel.
1725 bool "64-bit kernel"
1726 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1727 select HAVE_SYSCALL_WRAPPERS
1729 Select this option if you want to build a 64-bit kernel.
1734 prompt "Kernel page size"
1735 default PAGE_SIZE_4KB
1737 config PAGE_SIZE_4KB
1739 depends on !CPU_LOONGSON2
1741 This option select the standard 4kB Linux page size. On some
1742 R3000-family processors this is the only available page size. Using
1743 4kB page size will minimize memory consumption and is therefore
1744 recommended for low memory systems.
1746 config PAGE_SIZE_8KB
1748 depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
1750 Using 8kB page size will result in higher performance kernel at
1751 the price of higher memory consumption. This option is available
1752 only on R8000 and cnMIPS processors. Note that you will need a
1753 suitable Linux distribution to support this.
1755 config PAGE_SIZE_16KB
1757 depends on !CPU_R3000 && !CPU_TX39XX
1759 Using 16kB page size will result in higher performance kernel at
1760 the price of higher memory consumption. This option is available on
1761 all non-R3000 family processors. Note that you will need a suitable
1762 Linux distribution to support this.
1764 config PAGE_SIZE_32KB
1766 depends on CPU_CAVIUM_OCTEON
1768 Using 32kB page size will result in higher performance kernel at
1769 the price of higher memory consumption. This option is available
1770 only on cnMIPS cores. Note that you will need a suitable Linux
1771 distribution to support this.
1773 config PAGE_SIZE_64KB
1775 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1777 Using 64kB page size will result in higher performance kernel at
1778 the price of higher memory consumption. This option is available on
1779 all non-R3000 family processor. Not that at the time of this
1780 writing this option is still high experimental.
1784 config FORCE_MAX_ZONEORDER
1785 int "Maximum zone order"
1786 range 13 64 if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_32KB
1787 default "13" if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_32KB
1788 range 12 64 if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_16KB
1789 default "12" if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_16KB
1793 The kernel memory allocator divides physically contiguous memory
1794 blocks into "zones", where each zone is a power of two number of
1795 pages. This option selects the largest power of two that the kernel
1796 keeps in the memory allocator. If you need to allocate very large
1797 blocks of physically contiguous memory, then you may need to
1798 increase this value.
1800 This config option is actually maximum order plus one. For example,
1801 a value of 11 means that the largest free memory block is 2^10 pages.
1803 The page size is not necessarily 4KB. Keep this in mind
1804 when choosing a value for this option.
1809 config IP22_CPU_SCACHE
1814 # Support for a MIPS32 / MIPS64 style S-caches
1816 config MIPS_CPU_SCACHE
1820 config R5000_CPU_SCACHE
1824 config RM7000_CPU_SCACHE
1828 config SIBYTE_DMA_PAGEOPS
1829 bool "Use DMA to clear/copy pages"
1832 Instead of using the CPU to zero and copy pages, use a Data Mover
1833 channel. These DMA channels are otherwise unused by the standard
1834 SiByte Linux port. Seems to give a small performance benefit.
1836 config CPU_HAS_PREFETCH
1840 prompt "MIPS MT options"
1842 config MIPS_MT_DISABLED
1843 bool "Disable multithreading support."
1845 Use this option if your workload can't take advantage of
1846 MIPS hardware multithreading support. On systems that don't have
1847 the option of an MT-enabled processor this option will be the only
1848 option in this menu.
1851 bool "Use 1 TC on each available VPE for SMP"
1852 depends on SYS_SUPPORTS_MULTITHREADING
1853 select CPU_MIPSR2_IRQ_VI
1854 select CPU_MIPSR2_IRQ_EI
1856 select NR_CPUS_DEFAULT_2
1858 select SYS_SUPPORTS_SCHED_SMT if SMP
1859 select SYS_SUPPORTS_SMP
1862 This is a kernel model which is known a VSMP but lately has been
1863 marketesed into SMVP.
1864 Virtual SMP uses the processor's VPEs to implement virtual
1865 processors. In currently available configuration of the 34K processor
1866 this allows for a dual processor. Both processors will share the same
1867 primary caches; each will obtain the half of the TLB for it's own
1868 exclusive use. For a layman this model can be described as similar to
1869 what Intel calls Hyperthreading.
1871 For further information see http://www.linux-mips.org/wiki/34K#VSMP
1874 bool "SMTC: Use all TCs on all VPEs for SMP"
1875 depends on CPU_MIPS32_R2
1876 #depends on CPU_MIPS64_R2 # once there is hardware ...
1877 depends on SYS_SUPPORTS_MULTITHREADING
1878 select CPU_MIPSR2_IRQ_VI
1879 select CPU_MIPSR2_IRQ_EI
1881 select NR_CPUS_DEFAULT_8
1883 select SYS_SUPPORTS_SMP
1886 This is a kernel model which is known a SMTC or lately has been
1887 marketesed into SMVP.
1888 is presenting the available TC's of the core as processors to Linux.
1889 On currently available 34K processors this means a Linux system will
1890 see up to 5 processors. The implementation of the SMTC kernel differs
1891 significantly from VSMP and cannot efficiently coexist in the same
1892 kernel binary so the choice between VSMP and SMTC is a compile time
1895 For further information see http://www.linux-mips.org/wiki/34K#SMTC
1903 bool "SMT (multithreading) scheduler support"
1904 depends on SYS_SUPPORTS_SCHED_SMT
1907 SMT scheduler support improves the CPU scheduler's decision making
1908 when dealing with MIPS MT enabled cores at a cost of slightly
1909 increased overhead in some places. If unsure say N here.
1911 config SYS_SUPPORTS_SCHED_SMT
1915 config SYS_SUPPORTS_MULTITHREADING
1918 config MIPS_MT_FPAFF
1919 bool "Dynamic FPU affinity for FP-intensive threads"
1921 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1923 config MIPS_VPE_LOADER
1924 bool "VPE loader support."
1925 depends on SYS_SUPPORTS_MULTITHREADING
1926 select CPU_MIPSR2_IRQ_VI
1927 select CPU_MIPSR2_IRQ_EI
1930 Includes a loader for loading an elf relocatable object
1931 onto another VPE and running it.
1933 config MIPS_MT_SMTC_IM_BACKSTOP
1934 bool "Use per-TC register bits as backstop for inhibited IM bits"
1935 depends on MIPS_MT_SMTC
1938 To support multiple TC microthreads acting as "CPUs" within
1939 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1940 during interrupt handling. To support legacy drivers and interrupt
1941 controller management code, SMTC has a "backstop" to track and
1942 if necessary restore the interrupt mask. This has some performance
1943 impact on interrupt service overhead.
1945 config MIPS_MT_SMTC_IRQAFF
1946 bool "Support IRQ affinity API"
1947 depends on MIPS_MT_SMTC
1950 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1951 for SMTC Linux kernel. Requires platform support, of which
1952 an example can be found in the MIPS kernel i8259 and Malta
1953 platform code. Adds some overhead to interrupt dispatch, and
1954 should be used only if you know what you are doing.
1956 config MIPS_VPE_LOADER_TOM
1957 bool "Load VPE program into memory hidden from linux"
1958 depends on MIPS_VPE_LOADER
1961 The loader can use memory that is present but has been hidden from
1962 Linux using the kernel command line option "mem=xxMB". It's up to
1963 you to ensure the amount you put in the option and the space your
1964 program requires is less or equal to the amount physically present.
1966 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1967 config MIPS_VPE_APSP_API
1968 bool "Enable support for AP/SP API (RTLX)"
1969 depends on MIPS_VPE_LOADER
1972 config MIPS_APSP_KSPD
1974 depends on MIPS_VPE_APSP_API
1977 KSPD is a kernel daemon that accepts syscall requests from the SP
1978 side, actions them and returns the results. It also handles the
1979 "exit" syscall notifying other kernel modules the SP program is
1980 exiting. You probably want to say yes here.
1983 bool "MIPS CMP framework support"
1984 depends on SYS_SUPPORTS_MIPS_CMP
1986 select SYS_SUPPORTS_SMP
1987 select SYS_SUPPORTS_SCHED_SMT if SMP
1988 select WEAK_ORDERING
1991 This is a placeholder option for the GCMP work. It will need to
1992 be handled differently...
1994 config SB1_PASS_1_WORKAROUNDS
1996 depends on CPU_SB1_PASS_1
1999 config SB1_PASS_2_WORKAROUNDS
2001 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
2004 config SB1_PASS_2_1_WORKAROUNDS
2006 depends on CPU_SB1 && CPU_SB1_PASS_2
2009 config 64BIT_PHYS_ADDR
2012 config ARCH_PHYS_ADDR_T_64BIT
2013 def_bool 64BIT_PHYS_ADDR
2015 config CPU_HAS_SMARTMIPS
2016 depends on SYS_SUPPORTS_SMARTMIPS
2017 bool "Support for the SmartMIPS ASE"
2019 SmartMIPS is a extension of the MIPS32 architecture aimed at
2020 increased security at both hardware and software level for
2021 smartcards. Enabling this option will allow proper use of the
2022 SmartMIPS instructions by Linux applications. However a kernel with
2023 this option will not work on a MIPS core without SmartMIPS core. If
2024 you don't know you probably don't have SmartMIPS and should say N
2034 # Vectored interrupt mode is an R2 feature
2036 config CPU_MIPSR2_IRQ_VI
2040 # Extended interrupt mode is an R2 feature
2042 config CPU_MIPSR2_IRQ_EI
2047 depends on !CPU_R3000
2053 config CPU_DADDI_WORKAROUNDS
2056 config CPU_R4000_WORKAROUNDS
2058 select CPU_R4400_WORKAROUNDS
2060 config CPU_R4400_WORKAROUNDS
2064 # - Highmem only makes sense for the 32-bit kernel.
2065 # - The current highmem code will only work properly on physically indexed
2066 # caches such as R3000, SB1, R7000 or those that look like they're virtually
2067 # indexed such as R4000/R4400 SC and MC versions or R10000. So for the
2068 # moment we protect the user and offer the highmem option only on machines
2069 # where it's known to be safe. This will not offer highmem on a few systems
2070 # such as MIPS32 and MIPS64 CPUs which may have virtual and physically
2071 # indexed CPUs but we're playing safe.
2072 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
2073 # know they might have memory configurations that could make use of highmem
2077 bool "High Memory Support"
2078 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
2080 config CPU_SUPPORTS_HIGHMEM
2083 config SYS_SUPPORTS_HIGHMEM
2086 config SYS_SUPPORTS_SMARTMIPS
2089 config ARCH_FLATMEM_ENABLE
2091 depends on !NUMA && !CPU_LOONGSON2
2093 config ARCH_DISCONTIGMEM_ENABLE
2095 default y if SGI_IP27
2097 Say Y to support efficient handling of discontiguous physical memory,
2098 for architectures which are either NUMA (Non-Uniform Memory Access)
2099 or have huge holes in the physical address space for other reasons.
2100 See <file:Documentation/vm/numa> for more.
2102 config ARCH_SPARSEMEM_ENABLE
2104 select SPARSEMEM_STATIC
2108 depends on SYS_SUPPORTS_NUMA
2110 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
2111 Access). This option improves performance on systems with more
2112 than two nodes; on two node systems it is generally better to
2113 leave it disabled; on single node systems disable this option
2116 config SYS_SUPPORTS_NUMA
2122 depends on NEED_MULTIPLE_NODES
2124 config HW_PERF_EVENTS
2125 bool "Enable hardware performance counter support for perf events"
2126 depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON)
2129 Enable hardware performance counter support for perf events. If
2130 disabled, perf events will use software events only.
2135 bool "Multi-Processing support"
2136 depends on SYS_SUPPORTS_SMP
2138 select USE_GENERIC_SMP_HELPERS
2140 This enables support for systems with more than one CPU. If you have
2141 a system with only one CPU, like most personal computers, say N. If
2142 you have a system with more than one CPU, say Y.
2144 If you say N here, the kernel will run on single and multiprocessor
2145 machines, but will use only one CPU of a multiprocessor machine. If
2146 you say Y here, the kernel will run on many, but not all,
2147 singleprocessor machines. On a singleprocessor machine, the kernel
2148 will run faster if you say N here.
2150 People using multiprocessor machines who say Y here should also say
2151 Y to "Enhanced Real Time Clock Support", below.
2153 See also the SMP-HOWTO available at
2154 <http://www.tldp.org/docs.html#howto>.
2156 If you don't know what to do here, say N.
2161 config SYS_SUPPORTS_MIPS_CMP
2164 config SYS_SUPPORTS_SMP
2167 config NR_CPUS_DEFAULT_1
2170 config NR_CPUS_DEFAULT_2
2173 config NR_CPUS_DEFAULT_4
2176 config NR_CPUS_DEFAULT_8
2179 config NR_CPUS_DEFAULT_16
2182 config NR_CPUS_DEFAULT_32
2185 config NR_CPUS_DEFAULT_64
2189 int "Maximum number of CPUs (2-64)"
2190 range 1 64 if NR_CPUS_DEFAULT_1
2192 default "1" if NR_CPUS_DEFAULT_1
2193 default "2" if NR_CPUS_DEFAULT_2
2194 default "4" if NR_CPUS_DEFAULT_4
2195 default "8" if NR_CPUS_DEFAULT_8
2196 default "16" if NR_CPUS_DEFAULT_16
2197 default "32" if NR_CPUS_DEFAULT_32
2198 default "64" if NR_CPUS_DEFAULT_64
2200 This allows you to specify the maximum number of CPUs which this
2201 kernel will support. The maximum supported value is 32 for 32-bit
2202 kernel and 64 for 64-bit kernels; the minimum value which makes
2203 sense is 1 for Qemu (useful only for kernel debugging purposes)
2204 and 2 for all others.
2206 This is purely to save memory - each supported CPU adds
2207 approximately eight kilobytes to the kernel image. For best
2208 performance should round up your number of processors to the next
2212 # Timer Interrupt Frequency Configuration
2216 prompt "Timer frequency"
2219 Allows the configuration of the timer frequency.
2222 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
2225 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
2228 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
2231 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
2234 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
2237 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
2240 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2244 config SYS_SUPPORTS_48HZ
2247 config SYS_SUPPORTS_100HZ
2250 config SYS_SUPPORTS_128HZ
2253 config SYS_SUPPORTS_250HZ
2256 config SYS_SUPPORTS_256HZ
2259 config SYS_SUPPORTS_1000HZ
2262 config SYS_SUPPORTS_1024HZ
2265 config SYS_SUPPORTS_ARBIT_HZ
2267 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2268 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2269 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2270 !SYS_SUPPORTS_1024HZ
2275 default 100 if HZ_100
2276 default 128 if HZ_128
2277 default 250 if HZ_250
2278 default 256 if HZ_256
2279 default 1000 if HZ_1000
2280 default 1024 if HZ_1024
2282 source "kernel/Kconfig.preempt"
2285 bool "Kexec system call (EXPERIMENTAL)"
2286 depends on EXPERIMENTAL
2288 kexec is a system call that implements the ability to shutdown your
2289 current kernel, and to start another kernel. It is like a reboot
2290 but it is independent of the system firmware. And like a reboot
2291 you can start any kernel with it, not just Linux.
2293 The name comes from the similarity to the exec system call.
2295 It is an ongoing process to be certain the hardware in a machine
2296 is properly shutdown, so do not be surprised if this code does not
2297 initially work for you. It may help to enable device hotplugging
2298 support. As of this writing the exact hardware interface is
2299 strongly in flux, so no good recommendation can be made.
2302 bool "Enable seccomp to safely compute untrusted bytecode"
2306 This kernel feature is useful for number crunching applications
2307 that may need to compute untrusted bytecode during their
2308 execution. By using pipes or other transports made available to
2309 the process as file descriptors supporting the read/write
2310 syscalls, it's possible to isolate those applications in
2311 their own address space using seccomp. Once seccomp is
2312 enabled via /proc/<pid>/seccomp, it cannot be disabled
2313 and the task is only allowed to execute a few safe syscalls
2314 defined by each seccomp mode.
2316 If unsure, say Y. Only embedded should say N here.
2319 bool "Flattened Device Tree support"
2321 select OF_EARLY_FLATTREE
2324 Include support for flattened device tree machine descriptions.
2328 config LOCKDEP_SUPPORT
2332 config STACKTRACE_SUPPORT
2336 source "init/Kconfig"
2338 source "kernel/Kconfig.freezer"
2340 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2348 bool "Support for PCI controller"
2349 depends on HW_HAS_PCI
2351 select GENERIC_PCI_IOMAP
2352 select NO_GENERIC_PCI_IOPORT_MAP
2354 Find out whether you have a PCI motherboard. PCI is the name of a
2355 bus system, i.e. the way the CPU talks to the other stuff inside
2356 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2362 source "drivers/pci/Kconfig"
2365 # ISA support is now enabled via select. Too many systems still have the one
2366 # or other ISA chip on the board that users don't know about so don't expect
2367 # users to choose the right thing ...
2374 depends on HW_HAS_EISA
2376 select GENERIC_ISA_DMA
2378 The Extended Industry Standard Architecture (EISA) bus was
2379 developed as an open alternative to the IBM MicroChannel bus.
2381 The EISA bus provided some of the features of the IBM MicroChannel
2382 bus while maintaining backward compatibility with cards made for
2383 the older ISA bus. The EISA bus saw limited use between 1988 and
2384 1995 when it was made obsolete by the PCI bus.
2386 Say Y here if you are building a kernel for an EISA-based machine.
2390 source "drivers/eisa/Kconfig"
2393 bool "TURBOchannel support"
2394 depends on MACH_DECSTATION
2396 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2397 processors. TURBOchannel programming specifications are available
2399 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
2401 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
2402 Linux driver support status is documented at:
2403 <http://www.linux-mips.org/wiki/DECstation>
2413 select MIPS_EXTERNAL_TIMER
2418 source "drivers/pcmcia/Kconfig"
2420 source "drivers/pci/hotplug/Kconfig"
2423 bool "RapidIO support"
2427 If you say Y here, the kernel will include drivers and
2428 infrastructure code to support RapidIO interconnect devices.
2430 source "drivers/rapidio/Kconfig"
2434 menu "Executable file formats"
2436 source "fs/Kconfig.binfmt"
2441 config MIPS32_COMPAT
2442 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2445 Select this option if you want Linux/MIPS 32-bit binary
2446 compatibility. Since all software available for Linux/MIPS is
2447 currently 32-bit you should say Y here.
2451 depends on MIPS32_COMPAT
2452 select ARCH_WANT_OLD_COMPAT_IPC
2455 config SYSVIPC_COMPAT
2457 depends on COMPAT && SYSVIPC
2461 bool "Kernel support for o32 binaries"
2462 depends on MIPS32_COMPAT
2464 Select this option if you want to run o32 binaries. These are pure
2465 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2466 existing binaries are in this format.
2471 bool "Kernel support for n32 binaries"
2472 depends on MIPS32_COMPAT
2474 Select this option if you want to run n32 binaries. These are
2475 64-bit binaries using 32-bit quantities for addressing and certain
2476 data that would normally be 64-bit. They are used in special
2483 default y if MIPS32_O32 || MIPS32_N32
2487 menu "Power management options"
2489 config ARCH_HIBERNATION_POSSIBLE
2491 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2493 config ARCH_SUSPEND_POSSIBLE
2495 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2497 source "kernel/power/Kconfig"
2501 source "arch/mips/kernel/cpufreq/Kconfig"
2503 source "net/Kconfig"
2505 source "drivers/Kconfig"
2509 source "arch/mips/Kconfig.debug"
2511 source "security/Kconfig"
2513 source "crypto/Kconfig"
2515 source "lib/Kconfig"