4 select ARCH_SUPPORTS_UPROBES
5 select ARCH_MIGHT_HAVE_PC_PARPORT
6 select ARCH_MIGHT_HAVE_PC_SERIO
7 select ARCH_USE_CMPXCHG_LOCKREF if 64BIT
8 select ARCH_USE_BUILTIN_BSWAP
9 select HAVE_CONTEXT_TRACKING
10 select HAVE_GENERIC_DMA_COHERENT
13 select HAVE_PERF_EVENTS
14 select PERF_USE_VMALLOC
16 select HAVE_ARCH_SECCOMP_FILTER
17 select HAVE_ARCH_TRACEHOOK
18 select HAVE_BPF_JIT if !CPU_MICROMIPS
19 select HAVE_FUNCTION_TRACER
20 select HAVE_DYNAMIC_FTRACE
21 select HAVE_FTRACE_MCOUNT_RECORD
22 select HAVE_C_RECORDMCOUNT
23 select HAVE_FUNCTION_GRAPH_TRACER
25 select HAVE_KRETPROBES
26 select HAVE_SYSCALL_TRACEPOINTS
27 select HAVE_DEBUG_KMEMLEAK
28 select HAVE_SYSCALL_TRACEPOINTS
29 select ARCH_HAS_ELF_RANDOMIZE
30 select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT
31 select RTC_LIB if !MACH_LOONGSON64
32 select GENERIC_ATOMIC64 if !64BIT
33 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
35 select HAVE_DMA_CONTIGUOUS
36 select HAVE_DMA_API_DEBUG
37 select GENERIC_IRQ_PROBE
38 select GENERIC_IRQ_SHOW
39 select GENERIC_PCI_IOMAP
40 select HAVE_ARCH_JUMP_LABEL
41 select ARCH_WANT_IPC_PARSE_VERSION
42 select IRQ_FORCED_THREADING
44 select HAVE_MEMBLOCK_NODE_MAP
45 select ARCH_DISCARD_MEMBLOCK
46 select GENERIC_SMP_IDLE_THREAD
47 select BUILDTIME_EXTABLE_SORT
48 select GENERIC_CLOCKEVENTS
49 select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC
50 select GENERIC_CMOS_UPDATE
51 select HAVE_MOD_ARCH_SPECIFIC
53 select MODULES_USE_ELF_REL if MODULES
54 select MODULES_USE_ELF_RELA if MODULES && 64BIT
55 select CLONE_BACKWARDS
56 select HAVE_DEBUG_STACKOVERFLOW
57 select HAVE_CC_STACKPROTECTOR
58 select CPU_PM if CPU_IDLE
59 select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
60 select ARCH_BINFMT_ELF_STATE
61 select SYSCTL_EXCEPTION_TRACE
62 select HAVE_VIRT_CPU_ACCOUNTING_GEN
63 select HAVE_IRQ_TIME_ACCOUNTING
65 menu "Machine selection"
72 bool "Alchemy processor based machines"
73 select ARCH_PHYS_ADDR_T_64BIT
77 select DMA_MAYBE_COHERENT # Au1000,1500,1100 aren't, rest is
78 select SYS_HAS_CPU_MIPS32_R1
79 select SYS_SUPPORTS_32BIT_KERNEL
80 select SYS_SUPPORTS_APM_EMULATION
81 select ARCH_REQUIRE_GPIOLIB
82 select SYS_SUPPORTS_ZBOOT
86 bool "Texas Instruments AR7"
88 select DMA_NONCOHERENT
94 select SYS_HAS_CPU_MIPS32_R1
95 select SYS_HAS_EARLY_PRINTK
96 select SYS_SUPPORTS_32BIT_KERNEL
97 select SYS_SUPPORTS_LITTLE_ENDIAN
98 select SYS_SUPPORTS_MIPS16
99 select SYS_SUPPORTS_ZBOOT_UART16550
100 select ARCH_REQUIRE_GPIOLIB
104 Support for the Texas Instruments AR7 System-on-a-Chip
105 family: TNETD7100, 7200 and 7300.
108 bool "Atheros AR231x/AR531x SoC support"
111 select DMA_NONCOHERENT
114 select SYS_HAS_CPU_MIPS32_R1
115 select SYS_SUPPORTS_BIG_ENDIAN
116 select SYS_SUPPORTS_32BIT_KERNEL
117 select SYS_HAS_EARLY_PRINTK
119 Support for Atheros AR231x and Atheros AR531x based boards
122 bool "Atheros AR71XX/AR724X/AR913X based boards"
123 select ARCH_HAS_RESET_CONTROLLER
124 select ARCH_REQUIRE_GPIOLIB
128 select DMA_NONCOHERENT
134 select SYS_HAS_CPU_MIPS32_R2
135 select SYS_HAS_EARLY_PRINTK
136 select SYS_SUPPORTS_32BIT_KERNEL
137 select SYS_SUPPORTS_BIG_ENDIAN
138 select SYS_SUPPORTS_MIPS16
139 select SYS_SUPPORTS_ZBOOT
142 Support for the Atheros AR71XX/AR724X/AR913X SoCs.
145 bool "Broadcom Generic BMIPS kernel"
147 select NO_EXCEPT_FILL
153 select BCM7038_L1_IRQ
154 select BCM7120_L2_IRQ
155 select BRCMSTB_L2_IRQ
157 select DMA_NONCOHERENT
158 select SYS_SUPPORTS_32BIT_KERNEL
159 select SYS_SUPPORTS_LITTLE_ENDIAN
160 select SYS_SUPPORTS_BIG_ENDIAN
161 select SYS_SUPPORTS_HIGHMEM
162 select SYS_HAS_CPU_BMIPS32_3300
163 select SYS_HAS_CPU_BMIPS4350
164 select SYS_HAS_CPU_BMIPS4380
165 select SYS_HAS_CPU_BMIPS5000
167 select USB_EHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
168 select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
169 select USB_OHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
170 select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
172 Build a generic DT-based kernel image that boots on select
173 BCM33xx cable modem chips, BCM63xx DSL chips, and BCM7xxx set-top
174 box chips. Note that CONFIG_CPU_BIG_ENDIAN/CONFIG_CPU_LITTLE_ENDIAN
175 must be set appropriately for your board.
178 bool "Broadcom BCM47XX based boards"
179 select ARCH_WANT_OPTIONAL_GPIOLIB
183 select DMA_NONCOHERENT
186 select SYS_HAS_CPU_MIPS32_R1
187 select NO_EXCEPT_FILL
188 select SYS_SUPPORTS_32BIT_KERNEL
189 select SYS_SUPPORTS_LITTLE_ENDIAN
190 select SYS_SUPPORTS_MIPS16
191 select SYS_HAS_EARLY_PRINTK
192 select USE_GENERIC_EARLY_PRINTK_8250
194 select LEDS_GPIO_REGISTER
197 Support for BCM47XX based boards
200 bool "Broadcom BCM63XX based boards"
205 select DMA_NONCOHERENT
207 select SYS_SUPPORTS_32BIT_KERNEL
208 select SYS_SUPPORTS_BIG_ENDIAN
209 select SYS_HAS_EARLY_PRINTK
211 select ARCH_REQUIRE_GPIOLIB
213 select MIPS_L1_CACHE_SHIFT_4
215 Support for BCM63XX based boards
222 select DMA_NONCOHERENT
228 select PCI_GT64XXX_PCI0
230 select SYS_HAS_CPU_NEVADA
231 select SYS_HAS_EARLY_PRINTK
232 select SYS_SUPPORTS_32BIT_KERNEL
233 select SYS_SUPPORTS_64BIT_KERNEL
234 select SYS_SUPPORTS_LITTLE_ENDIAN
235 select USE_GENERIC_EARLY_PRINTK_8250
237 config MACH_DECSTATION
241 select CEVT_R4K if CPU_R4X00
243 select CSRC_R4K if CPU_R4X00
244 select CPU_DADDI_WORKAROUNDS if 64BIT
245 select CPU_R4000_WORKAROUNDS if 64BIT
246 select CPU_R4400_WORKAROUNDS if 64BIT
247 select DMA_NONCOHERENT
250 select SYS_HAS_CPU_R3000
251 select SYS_HAS_CPU_R4X00
252 select SYS_SUPPORTS_32BIT_KERNEL
253 select SYS_SUPPORTS_64BIT_KERNEL
254 select SYS_SUPPORTS_LITTLE_ENDIAN
255 select SYS_SUPPORTS_128HZ
256 select SYS_SUPPORTS_256HZ
257 select SYS_SUPPORTS_1024HZ
258 select MIPS_L1_CACHE_SHIFT_4
260 This enables support for DEC's MIPS based workstations. For details
261 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
262 DECstation porting pages on <http://decstation.unix-ag.org/>.
264 If you have one of the following DECstation Models you definitely
265 want to choose R4xx0 for the CPU Type:
272 otherwise choose R3000.
275 bool "Jazz family of machines"
278 select ARCH_MAY_HAVE_PC_FDC
281 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
282 select GENERIC_ISA_DMA
283 select HAVE_PCSPKR_PLATFORM
288 select SYS_HAS_CPU_R4X00
289 select SYS_SUPPORTS_32BIT_KERNEL
290 select SYS_SUPPORTS_64BIT_KERNEL
291 select SYS_SUPPORTS_100HZ
293 This a family of machines based on the MIPS R4030 chipset which was
294 used by several vendors to build RISC/os and Windows NT workstations.
295 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
296 Olivetti M700-10 workstations.
299 bool "Ingenic SoC based machines"
300 select SYS_SUPPORTS_32BIT_KERNEL
301 select SYS_SUPPORTS_LITTLE_ENDIAN
302 select SYS_SUPPORTS_ZBOOT_UART16550
303 select DMA_NONCOHERENT
305 select ARCH_REQUIRE_GPIOLIB
307 select GENERIC_IRQ_CHIP
313 bool "Lantiq based platforms"
314 select DMA_NONCOHERENT
318 select SYS_HAS_CPU_MIPS32_R1
319 select SYS_HAS_CPU_MIPS32_R2
320 select SYS_SUPPORTS_BIG_ENDIAN
321 select SYS_SUPPORTS_32BIT_KERNEL
322 select SYS_SUPPORTS_MIPS16
323 select SYS_SUPPORTS_MULTITHREADING
324 select SYS_HAS_EARLY_PRINTK
325 select ARCH_REQUIRE_GPIOLIB
328 select HAVE_MACH_CLKDEV
332 select PINCTRL_LANTIQ
333 select ARCH_HAS_RESET_CONTROLLER
334 select RESET_CONTROLLER
337 bool "LASAT Networks platforms"
341 select DMA_NONCOHERENT
342 select SYS_HAS_EARLY_PRINTK
345 select PCI_GT64XXX_PCI0
347 select R5000_CPU_SCACHE
348 select SYS_HAS_CPU_R5000
349 select SYS_SUPPORTS_32BIT_KERNEL
350 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
351 select SYS_SUPPORTS_LITTLE_ENDIAN
353 config MACH_LOONGSON32
354 bool "Loongson-1 family of machines"
355 select SYS_SUPPORTS_ZBOOT
357 This enables support for the Loongson-1 family of machines.
359 Loongson-1 is a family of 32-bit MIPS-compatible SoCs developed by
360 the Institute of Computing Technology (ICT), Chinese Academy of
363 config MACH_LOONGSON64
364 bool "Loongson-2/3 family of machines"
365 select SYS_SUPPORTS_ZBOOT
367 This enables the support of Loongson-2/3 family of machines.
369 Loongson-2 is a family of single-core CPUs and Loongson-3 is a
370 family of multi-core CPUs. They are both 64-bit general-purpose
371 MIPS-compatible CPUs. Loongson-2/3 are developed by the Institute
372 of Computing Technology (ICT), Chinese Academy of Sciences (CAS)
373 in the People's Republic of China. The chief architect is Professor
376 config MACH_PISTACHIO
377 bool "IMG Pistachio SoC based boards"
378 select ARCH_REQUIRE_GPIOLIB
382 select CLKSRC_MIPS_GIC
385 select DMA_MAYBE_COHERENT
389 select MIPS_CPU_SCACHE
393 select SYS_HAS_CPU_MIPS32_R2
394 select SYS_SUPPORTS_32BIT_KERNEL
395 select SYS_SUPPORTS_LITTLE_ENDIAN
396 select SYS_SUPPORTS_MIPS_CPS
397 select SYS_SUPPORTS_MULTITHREADING
398 select SYS_SUPPORTS_ZBOOT
399 select SYS_HAS_EARLY_PRINTK
400 select USE_GENERIC_EARLY_PRINTK_8250
403 This enables support for the IMG Pistachio SoC platform.
406 bool "MIPS Malta board"
407 select ARCH_MAY_HAVE_PC_FDC
413 select CLKSRC_MIPS_GIC
415 select DMA_MAYBE_COHERENT
416 select GENERIC_ISA_DMA
417 select HAVE_PCSPKR_PLATFORM
424 select MIPS_CPU_SCACHE
425 select MIPS_L1_CACHE_SHIFT_6
426 select PCI_GT64XXX_PCI0
429 select SYS_HAS_CPU_MIPS32_R1
430 select SYS_HAS_CPU_MIPS32_R2
431 select SYS_HAS_CPU_MIPS32_R3_5
432 select SYS_HAS_CPU_MIPS32_R5
433 select SYS_HAS_CPU_MIPS32_R6
434 select SYS_HAS_CPU_MIPS64_R1
435 select SYS_HAS_CPU_MIPS64_R2
436 select SYS_HAS_CPU_MIPS64_R6
437 select SYS_HAS_CPU_NEVADA
438 select SYS_HAS_CPU_RM7000
439 select SYS_SUPPORTS_32BIT_KERNEL
440 select SYS_SUPPORTS_64BIT_KERNEL
441 select SYS_SUPPORTS_BIG_ENDIAN
442 select SYS_SUPPORTS_HIGHMEM
443 select SYS_SUPPORTS_LITTLE_ENDIAN
444 select SYS_SUPPORTS_MICROMIPS
445 select SYS_SUPPORTS_MIPS_CMP
446 select SYS_SUPPORTS_MIPS_CPS
447 select SYS_SUPPORTS_MIPS16
448 select SYS_SUPPORTS_MULTITHREADING
449 select SYS_SUPPORTS_SMARTMIPS
450 select SYS_SUPPORTS_ZBOOT
452 select ZONE_DMA32 if 64BIT
454 This enables support for the MIPS Technologies Malta evaluation
458 bool "MIPS SEAD3 board"
464 select CLKSRC_MIPS_GIC
466 select CPU_MIPSR2_IRQ_VI
467 select CPU_MIPSR2_IRQ_EI
468 select DMA_NONCOHERENT
473 select SYS_HAS_CPU_MIPS32_R1
474 select SYS_HAS_CPU_MIPS32_R2
475 select SYS_HAS_CPU_MIPS64_R1
476 select SYS_HAS_EARLY_PRINTK
477 select SYS_SUPPORTS_32BIT_KERNEL
478 select SYS_SUPPORTS_64BIT_KERNEL
479 select SYS_SUPPORTS_BIG_ENDIAN
480 select SYS_SUPPORTS_LITTLE_ENDIAN
481 select SYS_SUPPORTS_SMARTMIPS
482 select SYS_SUPPORTS_MICROMIPS
483 select SYS_SUPPORTS_MIPS16
484 select USB_EHCI_BIG_ENDIAN_DESC
485 select USB_EHCI_BIG_ENDIAN_MMIO
488 This enables support for the MIPS Technologies SEAD3 evaluation
492 bool "NEC EMMA2RH Mark-eins board"
496 This enables support for the NEC Electronics Mark-eins boards.
499 bool "NEC VR4100 series based machines"
502 select SYS_HAS_CPU_VR41XX
503 select SYS_SUPPORTS_MIPS16
504 select ARCH_REQUIRE_GPIOLIB
507 bool "NXP STB220 board"
510 Support for NXP Semiconductors STB220 Development Board.
517 Support for NXP Semiconductors STB225 Development Board.
520 bool "PMC-Sierra MSP chipsets"
523 select DMA_NONCOHERENT
525 select NO_EXCEPT_FILL
527 select SYS_HAS_CPU_MIPS32_R1
528 select SYS_HAS_CPU_MIPS32_R2
529 select SYS_SUPPORTS_32BIT_KERNEL
530 select SYS_SUPPORTS_BIG_ENDIAN
531 select SYS_SUPPORTS_MIPS16
534 select SERIAL_8250_CONSOLE
535 select USB_EHCI_BIG_ENDIAN_MMIO
536 select USB_EHCI_BIG_ENDIAN_DESC
538 This adds support for the PMC-Sierra family of Multi-Service
539 Processor System-On-A-Chips. These parts include a number
540 of integrated peripherals, interfaces and DSPs in addition to
541 a variety of MIPS cores.
544 bool "Ralink based machines"
548 select DMA_NONCOHERENT
551 select SYS_HAS_CPU_MIPS32_R1
552 select SYS_HAS_CPU_MIPS32_R2
553 select SYS_SUPPORTS_32BIT_KERNEL
554 select SYS_SUPPORTS_LITTLE_ENDIAN
555 select SYS_SUPPORTS_MIPS16
556 select SYS_HAS_EARLY_PRINTK
557 select HAVE_MACH_CLKDEV
559 select ARCH_HAS_RESET_CONTROLLER
560 select RESET_CONTROLLER
563 bool "SGI IP22 (Indy/Indigo2)"
569 select DEFAULT_SGI_PARTITION
570 select DMA_NONCOHERENT
574 select IP22_CPU_SCACHE
576 select GENERIC_ISA_DMA_SUPPORT_BROKEN
578 select SGI_HAS_INDYDOG
584 select SYS_HAS_CPU_R4X00
585 select SYS_HAS_CPU_R5000
587 # Disable EARLY_PRINTK for now since it leads to overwritten prom
588 # memory during early boot on some machines.
590 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
591 # for a more details discussion
593 # select SYS_HAS_EARLY_PRINTK
594 select SYS_SUPPORTS_32BIT_KERNEL
595 select SYS_SUPPORTS_64BIT_KERNEL
596 select SYS_SUPPORTS_BIG_ENDIAN
597 select MIPS_L1_CACHE_SHIFT_7
599 This are the SGI Indy, Challenge S and Indigo2, as well as certain
600 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
601 that runs on these, say Y here.
604 bool "SGI IP27 (Origin200/2000)"
608 select DEFAULT_SGI_PARTITION
610 select SYS_HAS_EARLY_PRINTK
612 select NR_CPUS_DEFAULT_64
613 select SYS_HAS_CPU_R10000
614 select SYS_SUPPORTS_64BIT_KERNEL
615 select SYS_SUPPORTS_BIG_ENDIAN
616 select SYS_SUPPORTS_NUMA
617 select SYS_SUPPORTS_SMP
618 select MIPS_L1_CACHE_SHIFT_7
620 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
621 workstations. To compile a Linux kernel that runs on these, say Y
625 bool "SGI IP28 (Indigo2 R10k)"
631 select DEFAULT_SGI_PARTITION
632 select DMA_NONCOHERENT
633 select GENERIC_ISA_DMA_SUPPORT_BROKEN
639 select SGI_HAS_INDYDOG
645 select SYS_HAS_CPU_R10000
647 # Disable EARLY_PRINTK for now since it leads to overwritten prom
648 # memory during early boot on some machines.
650 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
651 # for a more details discussion
653 # select SYS_HAS_EARLY_PRINTK
654 select SYS_SUPPORTS_64BIT_KERNEL
655 select SYS_SUPPORTS_BIG_ENDIAN
656 select MIPS_L1_CACHE_SHIFT_7
658 This is the SGI Indigo2 with R10000 processor. To compile a Linux
659 kernel that runs on these, say Y here.
668 select DMA_NONCOHERENT
671 select R5000_CPU_SCACHE
672 select RM7000_CPU_SCACHE
673 select SYS_HAS_CPU_R5000
674 select SYS_HAS_CPU_R10000 if BROKEN
675 select SYS_HAS_CPU_RM7000
676 select SYS_HAS_CPU_NEVADA
677 select SYS_SUPPORTS_64BIT_KERNEL
678 select SYS_SUPPORTS_BIG_ENDIAN
680 If you want this kernel to run on SGI O2 workstation, say Y here.
683 bool "Sibyte BCM91120C-CRhine"
686 select SIBYTE_BCM1120
688 select SYS_HAS_CPU_SB1
689 select SYS_SUPPORTS_BIG_ENDIAN
690 select SYS_SUPPORTS_LITTLE_ENDIAN
693 bool "Sibyte BCM91120x-Carmel"
696 select SIBYTE_BCM1120
698 select SYS_HAS_CPU_SB1
699 select SYS_SUPPORTS_BIG_ENDIAN
700 select SYS_SUPPORTS_LITTLE_ENDIAN
703 bool "Sibyte BCM91125C-CRhone"
706 select SIBYTE_BCM1125
708 select SYS_HAS_CPU_SB1
709 select SYS_SUPPORTS_BIG_ENDIAN
710 select SYS_SUPPORTS_HIGHMEM
711 select SYS_SUPPORTS_LITTLE_ENDIAN
714 bool "Sibyte BCM91125E-Rhone"
717 select SIBYTE_BCM1125H
719 select SYS_HAS_CPU_SB1
720 select SYS_SUPPORTS_BIG_ENDIAN
721 select SYS_SUPPORTS_LITTLE_ENDIAN
724 bool "Sibyte BCM91250A-SWARM"
727 select HAVE_PATA_PLATFORM
730 select SYS_HAS_CPU_SB1
731 select SYS_SUPPORTS_BIG_ENDIAN
732 select SYS_SUPPORTS_HIGHMEM
733 select SYS_SUPPORTS_LITTLE_ENDIAN
734 select ZONE_DMA32 if 64BIT
736 config SIBYTE_LITTLESUR
737 bool "Sibyte BCM91250C2-LittleSur"
740 select HAVE_PATA_PLATFORM
743 select SYS_HAS_CPU_SB1
744 select SYS_SUPPORTS_BIG_ENDIAN
745 select SYS_SUPPORTS_HIGHMEM
746 select SYS_SUPPORTS_LITTLE_ENDIAN
748 config SIBYTE_SENTOSA
749 bool "Sibyte BCM91250E-Sentosa"
754 select SYS_HAS_CPU_SB1
755 select SYS_SUPPORTS_BIG_ENDIAN
756 select SYS_SUPPORTS_LITTLE_ENDIAN
759 bool "Sibyte BCM91480B-BigSur"
762 select NR_CPUS_DEFAULT_4
763 select SIBYTE_BCM1x80
765 select SYS_HAS_CPU_SB1
766 select SYS_SUPPORTS_BIG_ENDIAN
767 select SYS_SUPPORTS_HIGHMEM
768 select SYS_SUPPORTS_LITTLE_ENDIAN
769 select ZONE_DMA32 if 64BIT
772 bool "SNI RM200/300/400"
773 select FW_ARC if CPU_LITTLE_ENDIAN
774 select FW_ARC32 if CPU_LITTLE_ENDIAN
775 select FW_SNIPROM if CPU_BIG_ENDIAN
776 select ARCH_MAY_HAVE_PC_FDC
780 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
781 select DMA_NONCOHERENT
782 select GENERIC_ISA_DMA
783 select HAVE_PCSPKR_PLATFORM
790 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
791 select SYS_HAS_CPU_R4X00
792 select SYS_HAS_CPU_R5000
793 select SYS_HAS_CPU_R10000
794 select R5000_CPU_SCACHE
795 select SYS_HAS_EARLY_PRINTK
796 select SYS_SUPPORTS_32BIT_KERNEL
797 select SYS_SUPPORTS_64BIT_KERNEL
798 select SYS_SUPPORTS_BIG_ENDIAN
799 select SYS_SUPPORTS_HIGHMEM
800 select SYS_SUPPORTS_LITTLE_ENDIAN
802 The SNI RM200/300/400 are MIPS-based machines manufactured by
803 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
804 Technology and now in turn merged with Fujitsu. Say Y here to
805 support this machine type.
808 bool "Toshiba TX39 series based machines"
811 bool "Toshiba TX49 series based machines"
813 config MIKROTIK_RB532
814 bool "Mikrotik RB532 boards"
817 select DMA_NONCOHERENT
820 select SYS_HAS_CPU_MIPS32_R1
821 select SYS_SUPPORTS_32BIT_KERNEL
822 select SYS_SUPPORTS_LITTLE_ENDIAN
825 select ARCH_REQUIRE_GPIOLIB
826 select MIPS_L1_CACHE_SHIFT_4
828 Support the Mikrotik(tm) RouterBoard 532 series,
829 based on the IDT RC32434 SoC.
831 config CAVIUM_OCTEON_SOC
832 bool "Cavium Networks Octeon SoC based boards"
834 select ARCH_PHYS_ADDR_T_64BIT
836 select SYS_SUPPORTS_64BIT_KERNEL
837 select SYS_SUPPORTS_BIG_ENDIAN
839 select EDAC_ATOMIC_SCRUB
840 select SYS_SUPPORTS_LITTLE_ENDIAN
841 select SYS_SUPPORTS_HOTPLUG_CPU if CPU_BIG_ENDIAN
842 select SYS_HAS_EARLY_PRINTK
843 select SYS_HAS_CPU_CAVIUM_OCTEON
848 select ARCH_REQUIRE_GPIOLIB
851 select ARCH_SPARSEMEM_ENABLE
852 select SYS_SUPPORTS_SMP
853 select NR_CPUS_DEFAULT_16
855 select MTD_COMPLEX_MAPPINGS
857 This option supports all of the Octeon reference boards from Cavium
858 Networks. It builds a kernel that dynamically determines the Octeon
859 CPU type and supports all known board reference implementations.
860 Some of the supported boards are:
867 Say Y here for most Octeon reference boards.
870 bool "Netlogic XLR/XLS based systems"
873 select SYS_HAS_CPU_XLR
874 select SYS_SUPPORTS_SMP
877 select SYS_SUPPORTS_32BIT_KERNEL
878 select SYS_SUPPORTS_64BIT_KERNEL
879 select ARCH_PHYS_ADDR_T_64BIT
880 select SYS_SUPPORTS_BIG_ENDIAN
881 select SYS_SUPPORTS_HIGHMEM
883 select NR_CPUS_DEFAULT_32
887 select ZONE_DMA32 if 64BIT
889 select SYS_HAS_EARLY_PRINTK
890 select SYS_SUPPORTS_ZBOOT
891 select SYS_SUPPORTS_ZBOOT_UART16550
893 Support for systems based on Netlogic XLR and XLS processors.
894 Say Y here if you have a XLR or XLS based board.
897 bool "Netlogic XLP based systems"
900 select SYS_HAS_CPU_XLP
901 select SYS_SUPPORTS_SMP
903 select SYS_SUPPORTS_32BIT_KERNEL
904 select SYS_SUPPORTS_64BIT_KERNEL
905 select ARCH_PHYS_ADDR_T_64BIT
906 select ARCH_REQUIRE_GPIOLIB
907 select SYS_SUPPORTS_BIG_ENDIAN
908 select SYS_SUPPORTS_LITTLE_ENDIAN
909 select SYS_SUPPORTS_HIGHMEM
911 select NR_CPUS_DEFAULT_32
915 select ZONE_DMA32 if 64BIT
917 select SYS_HAS_EARLY_PRINTK
919 select SYS_SUPPORTS_ZBOOT
920 select SYS_SUPPORTS_ZBOOT_UART16550
922 This board is based on Netlogic XLP Processor.
923 Say Y here if you have a XLP based board.
926 bool "Para-Virtualized guest system"
930 select SYS_SUPPORTS_64BIT_KERNEL
931 select SYS_SUPPORTS_32BIT_KERNEL
932 select SYS_SUPPORTS_BIG_ENDIAN
933 select SYS_SUPPORTS_SMP
934 select NR_CPUS_DEFAULT_4
935 select SYS_HAS_EARLY_PRINTK
936 select SYS_HAS_CPU_MIPS32_R2
937 select SYS_HAS_CPU_MIPS64_R2
938 select SYS_HAS_CPU_CAVIUM_OCTEON
942 This option supports guest running under ????
946 source "arch/mips/alchemy/Kconfig"
947 source "arch/mips/ath25/Kconfig"
948 source "arch/mips/ath79/Kconfig"
949 source "arch/mips/bcm47xx/Kconfig"
950 source "arch/mips/bcm63xx/Kconfig"
951 source "arch/mips/bmips/Kconfig"
952 source "arch/mips/jazz/Kconfig"
953 source "arch/mips/jz4740/Kconfig"
954 source "arch/mips/lantiq/Kconfig"
955 source "arch/mips/lasat/Kconfig"
956 source "arch/mips/pistachio/Kconfig"
957 source "arch/mips/pmcs-msp71xx/Kconfig"
958 source "arch/mips/ralink/Kconfig"
959 source "arch/mips/sgi-ip27/Kconfig"
960 source "arch/mips/sibyte/Kconfig"
961 source "arch/mips/txx9/Kconfig"
962 source "arch/mips/vr41xx/Kconfig"
963 source "arch/mips/cavium-octeon/Kconfig"
964 source "arch/mips/loongson32/Kconfig"
965 source "arch/mips/loongson64/Kconfig"
966 source "arch/mips/netlogic/Kconfig"
967 source "arch/mips/paravirt/Kconfig"
971 config RWSEM_GENERIC_SPINLOCK
975 config RWSEM_XCHGADD_ALGORITHM
978 config ARCH_HAS_ILOG2_U32
982 config ARCH_HAS_ILOG2_U64
986 config GENERIC_HWEIGHT
990 config GENERIC_CALIBRATE_DELAY
994 config SCHED_OMIT_FRAME_POINTER
999 # Select some configuration options automatically based on user selections.
1004 config ARCH_MAY_HAVE_PC_FDC
1041 select ARCH_REQUIRE_GPIOLIB
1047 config ARCH_DMA_ADDR_T_64BIT
1048 def_bool (HIGHMEM && ARCH_PHYS_ADDR_T_64BIT) || 64BIT
1050 config ARCH_SUPPORTS_UPROBES
1053 config DMA_MAYBE_COHERENT
1054 select DMA_NONCOHERENT
1060 config DMA_NONCOHERENT
1062 select NEED_DMA_MAP_STATE
1064 config NEED_DMA_MAP_STATE
1067 config SYS_HAS_EARLY_PRINTK
1071 bool "Support for hot-pluggable CPUs"
1072 depends on SMP && SYS_SUPPORTS_HOTPLUG_CPU
1074 Say Y here to allow turning CPUs off and on. CPUs can be
1075 controlled through /sys/devices/system/cpu.
1076 (Note: power management support will enable this option
1077 automatically on SMP systems. )
1078 Say N if you want to disable CPU hotplug.
1080 config SYS_SUPPORTS_HOTPLUG_CPU
1083 config MIPS_BONITO64
1098 config NO_IOPORT_MAP
1104 config GENERIC_ISA_DMA
1106 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
1109 config GENERIC_ISA_DMA_SUPPORT_BROKEN
1111 select GENERIC_ISA_DMA
1116 config HOLES_IN_ZONE
1120 # Endianness selection. Sufficiently obscure so many users don't know what to
1121 # answer,so we try hard to limit the available choices. Also the use of a
1122 # choice statement should be more obvious to the user.
1125 prompt "Endianness selection"
1127 Some MIPS machines can be configured for either little or big endian
1128 byte order. These modes require different kernels and a different
1129 Linux distribution. In general there is one preferred byteorder for a
1130 particular system but some systems are just as commonly used in the
1131 one or the other endianness.
1133 config CPU_BIG_ENDIAN
1135 depends on SYS_SUPPORTS_BIG_ENDIAN
1137 config CPU_LITTLE_ENDIAN
1138 bool "Little endian"
1139 depends on SYS_SUPPORTS_LITTLE_ENDIAN
1146 config SYS_SUPPORTS_APM_EMULATION
1149 config SYS_SUPPORTS_BIG_ENDIAN
1152 config SYS_SUPPORTS_LITTLE_ENDIAN
1155 config SYS_SUPPORTS_HUGETLBFS
1157 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
1160 config MIPS_HUGE_TLB_SUPPORT
1161 def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE
1178 config PCI_GT64XXX_PCI0
1181 config NO_EXCEPT_FILL
1188 select DMA_NONCOHERENT
1190 select SWAP_IO_SPACE
1191 select SYS_HAS_CPU_R5500
1192 select SYS_SUPPORTS_32BIT_KERNEL
1193 select SYS_SUPPORTS_64BIT_KERNEL
1194 select SYS_SUPPORTS_BIG_ENDIAN
1201 select DMA_NONCOHERENT
1202 select SYS_HAS_CPU_MIPS32_R2
1203 select SYS_SUPPORTS_32BIT_KERNEL
1204 select SYS_SUPPORTS_LITTLE_ENDIAN
1205 select SYS_SUPPORTS_BIG_ENDIAN
1206 select SYS_SUPPORTS_MIPS16
1207 select CPU_MIPSR2_IRQ_VI
1216 config SWAP_IO_SPACE
1219 config SGI_HAS_INDYDOG
1231 config SGI_HAS_ZILOG
1234 config SGI_HAS_I8042
1237 config DEFAULT_SGI_PARTITION
1249 config MIPS_L1_CACHE_SHIFT_4
1252 config MIPS_L1_CACHE_SHIFT_5
1255 config MIPS_L1_CACHE_SHIFT_6
1258 config MIPS_L1_CACHE_SHIFT_7
1261 config MIPS_L1_CACHE_SHIFT
1263 default "7" if MIPS_L1_CACHE_SHIFT_7
1264 default "6" if MIPS_L1_CACHE_SHIFT_6
1265 default "5" if MIPS_L1_CACHE_SHIFT_5
1266 default "4" if MIPS_L1_CACHE_SHIFT_4
1269 config HAVE_STD_PC_SERIAL_PORT
1273 bool "ARC console support"
1274 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
1278 depends on MACH_JAZZ || SNI_RM || SGI_IP32
1283 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
1292 menu "CPU selection"
1298 config CPU_LOONGSON3
1299 bool "Loongson 3 CPU"
1300 depends on SYS_HAS_CPU_LOONGSON3
1301 select CPU_SUPPORTS_64BIT_KERNEL
1302 select CPU_SUPPORTS_HIGHMEM
1303 select CPU_SUPPORTS_HUGEPAGES
1304 select WEAK_ORDERING
1305 select WEAK_REORDERING_BEYOND_LLSC
1306 select ARCH_REQUIRE_GPIOLIB
1308 The Loongson 3 processor implements the MIPS64R2 instruction
1309 set with many extensions.
1311 config CPU_LOONGSON2E
1313 depends on SYS_HAS_CPU_LOONGSON2E
1314 select CPU_LOONGSON2
1316 The Loongson 2E processor implements the MIPS III instruction set
1317 with many extensions.
1319 It has an internal FPGA northbridge, which is compatible to
1322 config CPU_LOONGSON2F
1324 depends on SYS_HAS_CPU_LOONGSON2F
1325 select CPU_LOONGSON2
1326 select ARCH_REQUIRE_GPIOLIB
1328 The Loongson 2F processor implements the MIPS III instruction set
1329 with many extensions.
1331 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1332 have a similar programming interface with FPGA northbridge used in
1335 config CPU_LOONGSON1B
1337 depends on SYS_HAS_CPU_LOONGSON1B
1338 select CPU_LOONGSON1
1340 The Loongson 1B is a 32-bit SoC, which implements the MIPS32
1341 release 2 instruction set.
1343 config CPU_MIPS32_R1
1344 bool "MIPS32 Release 1"
1345 depends on SYS_HAS_CPU_MIPS32_R1
1346 select CPU_HAS_PREFETCH
1347 select CPU_SUPPORTS_32BIT_KERNEL
1348 select CPU_SUPPORTS_HIGHMEM
1350 Choose this option to build a kernel for release 1 or later of the
1351 MIPS32 architecture. Most modern embedded systems with a 32-bit
1352 MIPS processor are based on a MIPS32 processor. If you know the
1353 specific type of processor in your system, choose those that one
1354 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1355 Release 2 of the MIPS32 architecture is available since several
1356 years so chances are you even have a MIPS32 Release 2 processor
1357 in which case you should choose CPU_MIPS32_R2 instead for better
1360 config CPU_MIPS32_R2
1361 bool "MIPS32 Release 2"
1362 depends on SYS_HAS_CPU_MIPS32_R2
1363 select CPU_HAS_PREFETCH
1364 select CPU_SUPPORTS_32BIT_KERNEL
1365 select CPU_SUPPORTS_HIGHMEM
1366 select CPU_SUPPORTS_MSA
1369 Choose this option to build a kernel for release 2 or later of the
1370 MIPS32 architecture. Most modern embedded systems with a 32-bit
1371 MIPS processor are based on a MIPS32 processor. If you know the
1372 specific type of processor in your system, choose those that one
1373 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1375 config CPU_MIPS32_R6
1376 bool "MIPS32 Release 6"
1377 depends on SYS_HAS_CPU_MIPS32_R6
1378 select CPU_HAS_PREFETCH
1379 select CPU_SUPPORTS_32BIT_KERNEL
1380 select CPU_SUPPORTS_HIGHMEM
1381 select CPU_SUPPORTS_MSA
1384 select MIPS_O32_FP64_SUPPORT
1386 Choose this option to build a kernel for release 6 or later of the
1387 MIPS32 architecture. New MIPS processors, starting with the Warrior
1388 family, are based on a MIPS32r6 processor. If you own an older
1389 processor, you probably need to select MIPS32r1 or MIPS32r2 instead.
1391 config CPU_MIPS64_R1
1392 bool "MIPS64 Release 1"
1393 depends on SYS_HAS_CPU_MIPS64_R1
1394 select CPU_HAS_PREFETCH
1395 select CPU_SUPPORTS_32BIT_KERNEL
1396 select CPU_SUPPORTS_64BIT_KERNEL
1397 select CPU_SUPPORTS_HIGHMEM
1398 select CPU_SUPPORTS_HUGEPAGES
1400 Choose this option to build a kernel for release 1 or later of the
1401 MIPS64 architecture. Many modern embedded systems with a 64-bit
1402 MIPS processor are based on a MIPS64 processor. If you know the
1403 specific type of processor in your system, choose those that one
1404 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1405 Release 2 of the MIPS64 architecture is available since several
1406 years so chances are you even have a MIPS64 Release 2 processor
1407 in which case you should choose CPU_MIPS64_R2 instead for better
1410 config CPU_MIPS64_R2
1411 bool "MIPS64 Release 2"
1412 depends on SYS_HAS_CPU_MIPS64_R2
1413 select CPU_HAS_PREFETCH
1414 select CPU_SUPPORTS_32BIT_KERNEL
1415 select CPU_SUPPORTS_64BIT_KERNEL
1416 select CPU_SUPPORTS_HIGHMEM
1417 select CPU_SUPPORTS_HUGEPAGES
1418 select CPU_SUPPORTS_MSA
1420 Choose this option to build a kernel for release 2 or later of the
1421 MIPS64 architecture. Many modern embedded systems with a 64-bit
1422 MIPS processor are based on a MIPS64 processor. If you know the
1423 specific type of processor in your system, choose those that one
1424 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1426 config CPU_MIPS64_R6
1427 bool "MIPS64 Release 6"
1428 depends on SYS_HAS_CPU_MIPS64_R6
1429 select CPU_HAS_PREFETCH
1430 select CPU_SUPPORTS_32BIT_KERNEL
1431 select CPU_SUPPORTS_64BIT_KERNEL
1432 select CPU_SUPPORTS_HIGHMEM
1433 select CPU_SUPPORTS_MSA
1435 select MIPS_O32_FP64_SUPPORT if MIPS32_O32
1437 Choose this option to build a kernel for release 6 or later of the
1438 MIPS64 architecture. New MIPS processors, starting with the Warrior
1439 family, are based on a MIPS64r6 processor. If you own an older
1440 processor, you probably need to select MIPS64r1 or MIPS64r2 instead.
1444 depends on SYS_HAS_CPU_R3000
1446 select CPU_SUPPORTS_32BIT_KERNEL
1447 select CPU_SUPPORTS_HIGHMEM
1449 Please make sure to pick the right CPU type. Linux/MIPS is not
1450 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1451 *not* work on R4000 machines and vice versa. However, since most
1452 of the supported machines have an R4000 (or similar) CPU, R4x00
1453 might be a safe bet. If the resulting kernel does not work,
1454 try to recompile with R3000.
1458 depends on SYS_HAS_CPU_TX39XX
1459 select CPU_SUPPORTS_32BIT_KERNEL
1463 depends on SYS_HAS_CPU_VR41XX
1464 select CPU_SUPPORTS_32BIT_KERNEL
1465 select CPU_SUPPORTS_64BIT_KERNEL
1467 The options selects support for the NEC VR4100 series of processors.
1468 Only choose this option if you have one of these processors as a
1469 kernel built with this option will not run on any other type of
1470 processor or vice versa.
1474 depends on SYS_HAS_CPU_R4300
1475 select CPU_SUPPORTS_32BIT_KERNEL
1476 select CPU_SUPPORTS_64BIT_KERNEL
1478 MIPS Technologies R4300-series processors.
1482 depends on SYS_HAS_CPU_R4X00
1483 select CPU_SUPPORTS_32BIT_KERNEL
1484 select CPU_SUPPORTS_64BIT_KERNEL
1485 select CPU_SUPPORTS_HUGEPAGES
1487 MIPS Technologies R4000-series processors other than 4300, including
1488 the R4000, R4400, R4600, and 4700.
1492 depends on SYS_HAS_CPU_TX49XX
1493 select CPU_HAS_PREFETCH
1494 select CPU_SUPPORTS_32BIT_KERNEL
1495 select CPU_SUPPORTS_64BIT_KERNEL
1496 select CPU_SUPPORTS_HUGEPAGES
1500 depends on SYS_HAS_CPU_R5000
1501 select CPU_SUPPORTS_32BIT_KERNEL
1502 select CPU_SUPPORTS_64BIT_KERNEL
1503 select CPU_SUPPORTS_HUGEPAGES
1505 MIPS Technologies R5000-series processors other than the Nevada.
1509 depends on SYS_HAS_CPU_R5432
1510 select CPU_SUPPORTS_32BIT_KERNEL
1511 select CPU_SUPPORTS_64BIT_KERNEL
1512 select CPU_SUPPORTS_HUGEPAGES
1516 depends on SYS_HAS_CPU_R5500
1517 select CPU_SUPPORTS_32BIT_KERNEL
1518 select CPU_SUPPORTS_64BIT_KERNEL
1519 select CPU_SUPPORTS_HUGEPAGES
1521 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1526 depends on SYS_HAS_CPU_R6000
1527 select CPU_SUPPORTS_32BIT_KERNEL
1529 MIPS Technologies R6000 and R6000A series processors. Note these
1530 processors are extremely rare and the support for them is incomplete.
1534 depends on SYS_HAS_CPU_NEVADA
1535 select CPU_SUPPORTS_32BIT_KERNEL
1536 select CPU_SUPPORTS_64BIT_KERNEL
1537 select CPU_SUPPORTS_HUGEPAGES
1539 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1543 depends on SYS_HAS_CPU_R8000
1544 select CPU_HAS_PREFETCH
1545 select CPU_SUPPORTS_64BIT_KERNEL
1547 MIPS Technologies R8000 processors. Note these processors are
1548 uncommon and the support for them is incomplete.
1552 depends on SYS_HAS_CPU_R10000
1553 select CPU_HAS_PREFETCH
1554 select CPU_SUPPORTS_32BIT_KERNEL
1555 select CPU_SUPPORTS_64BIT_KERNEL
1556 select CPU_SUPPORTS_HIGHMEM
1557 select CPU_SUPPORTS_HUGEPAGES
1559 MIPS Technologies R10000-series processors.
1563 depends on SYS_HAS_CPU_RM7000
1564 select CPU_HAS_PREFETCH
1565 select CPU_SUPPORTS_32BIT_KERNEL
1566 select CPU_SUPPORTS_64BIT_KERNEL
1567 select CPU_SUPPORTS_HIGHMEM
1568 select CPU_SUPPORTS_HUGEPAGES
1572 depends on SYS_HAS_CPU_SB1
1573 select CPU_SUPPORTS_32BIT_KERNEL
1574 select CPU_SUPPORTS_64BIT_KERNEL
1575 select CPU_SUPPORTS_HIGHMEM
1576 select CPU_SUPPORTS_HUGEPAGES
1577 select WEAK_ORDERING
1579 config CPU_CAVIUM_OCTEON
1580 bool "Cavium Octeon processor"
1581 depends on SYS_HAS_CPU_CAVIUM_OCTEON
1582 select CPU_HAS_PREFETCH
1583 select CPU_SUPPORTS_64BIT_KERNEL
1584 select WEAK_ORDERING
1585 select CPU_SUPPORTS_HIGHMEM
1586 select CPU_SUPPORTS_HUGEPAGES
1587 select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
1588 select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
1589 select MIPS_L1_CACHE_SHIFT_7
1591 The Cavium Octeon processor is a highly integrated chip containing
1592 many ethernet hardware widgets for networking tasks. The processor
1593 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1594 Full details can be found at http://www.caviumnetworks.com.
1597 bool "Broadcom BMIPS"
1598 depends on SYS_HAS_CPU_BMIPS
1600 select CPU_BMIPS32_3300 if SYS_HAS_CPU_BMIPS32_3300
1601 select CPU_BMIPS4350 if SYS_HAS_CPU_BMIPS4350
1602 select CPU_BMIPS4380 if SYS_HAS_CPU_BMIPS4380
1603 select CPU_BMIPS5000 if SYS_HAS_CPU_BMIPS5000
1604 select CPU_SUPPORTS_32BIT_KERNEL
1605 select DMA_NONCOHERENT
1607 select SWAP_IO_SPACE
1608 select WEAK_ORDERING
1609 select CPU_SUPPORTS_HIGHMEM
1610 select CPU_HAS_PREFETCH
1612 Support for BMIPS32/3300/4350/4380 and BMIPS5000 processors.
1615 bool "Netlogic XLR SoC"
1616 depends on SYS_HAS_CPU_XLR
1617 select CPU_SUPPORTS_32BIT_KERNEL
1618 select CPU_SUPPORTS_64BIT_KERNEL
1619 select CPU_SUPPORTS_HIGHMEM
1620 select CPU_SUPPORTS_HUGEPAGES
1621 select WEAK_ORDERING
1622 select WEAK_REORDERING_BEYOND_LLSC
1624 Netlogic Microsystems XLR/XLS processors.
1627 bool "Netlogic XLP SoC"
1628 depends on SYS_HAS_CPU_XLP
1629 select CPU_SUPPORTS_32BIT_KERNEL
1630 select CPU_SUPPORTS_64BIT_KERNEL
1631 select CPU_SUPPORTS_HIGHMEM
1632 select WEAK_ORDERING
1633 select WEAK_REORDERING_BEYOND_LLSC
1634 select CPU_HAS_PREFETCH
1636 select CPU_SUPPORTS_HUGEPAGES
1638 Netlogic Microsystems XLP processors.
1641 config CPU_MIPS32_3_5_FEATURES
1642 bool "MIPS32 Release 3.5 Features"
1643 depends on SYS_HAS_CPU_MIPS32_R3_5
1644 depends on CPU_MIPS32_R2 || CPU_MIPS32_R6
1646 Choose this option to build a kernel for release 2 or later of the
1647 MIPS32 architecture including features from the 3.5 release such as
1648 support for Enhanced Virtual Addressing (EVA).
1650 config CPU_MIPS32_3_5_EVA
1651 bool "Enhanced Virtual Addressing (EVA)"
1652 depends on CPU_MIPS32_3_5_FEATURES
1656 Choose this option if you want to enable the Enhanced Virtual
1657 Addressing (EVA) on your MIPS32 core (such as proAptiv).
1658 One of its primary benefits is an increase in the maximum size
1659 of lowmem (up to 3GB). If unsure, say 'N' here.
1661 config CPU_MIPS32_R5_FEATURES
1662 bool "MIPS32 Release 5 Features"
1663 depends on SYS_HAS_CPU_MIPS32_R5
1664 depends on CPU_MIPS32_R2
1666 Choose this option to build a kernel for release 2 or later of the
1667 MIPS32 architecture including features from release 5 such as
1668 support for Extended Physical Addressing (XPA).
1670 config CPU_MIPS32_R5_XPA
1671 bool "Extended Physical Addressing (XPA)"
1672 depends on CPU_MIPS32_R5_FEATURES
1674 depends on !PAGE_SIZE_4KB
1675 depends on SYS_SUPPORTS_HIGHMEM
1678 select ARCH_PHYS_ADDR_T_64BIT
1681 Choose this option if you want to enable the Extended Physical
1682 Addressing (XPA) on your MIPS32 core (such as P5600 series). The
1683 benefit is to increase physical addressing equal to or greater
1684 than 40 bits. Note that this has the side effect of turning on
1685 64-bit addressing which in turn makes the PTEs 64-bit in size.
1686 If unsure, say 'N' here.
1689 config CPU_NOP_WORKAROUNDS
1692 config CPU_JUMP_WORKAROUNDS
1695 config CPU_LOONGSON2F_WORKAROUNDS
1696 bool "Loongson 2F Workarounds"
1698 select CPU_NOP_WORKAROUNDS
1699 select CPU_JUMP_WORKAROUNDS
1701 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1702 require workarounds. Without workarounds the system may hang
1703 unexpectedly. For more information please refer to the gas
1704 -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1706 Loongson 2F03 and later have fixed these issues and no workarounds
1707 are needed. The workarounds have no significant side effect on them
1708 but may decrease the performance of the system so this option should
1709 be disabled unless the kernel is intended to be run on 2F01 or 2F02
1712 If unsure, please say Y.
1713 endif # CPU_LOONGSON2F
1715 config SYS_SUPPORTS_ZBOOT
1717 select HAVE_KERNEL_GZIP
1718 select HAVE_KERNEL_BZIP2
1719 select HAVE_KERNEL_LZ4
1720 select HAVE_KERNEL_LZMA
1721 select HAVE_KERNEL_LZO
1722 select HAVE_KERNEL_XZ
1724 config SYS_SUPPORTS_ZBOOT_UART16550
1726 select SYS_SUPPORTS_ZBOOT
1728 config CPU_LOONGSON2
1730 select CPU_SUPPORTS_32BIT_KERNEL
1731 select CPU_SUPPORTS_64BIT_KERNEL
1732 select CPU_SUPPORTS_HIGHMEM
1733 select CPU_SUPPORTS_HUGEPAGES
1735 config CPU_LOONGSON1
1739 select CPU_HAS_PREFETCH
1740 select CPU_SUPPORTS_32BIT_KERNEL
1741 select CPU_SUPPORTS_HIGHMEM
1742 select CPU_SUPPORTS_CPUFREQ
1744 config CPU_BMIPS32_3300
1745 select SMP_UP if SMP
1748 config CPU_BMIPS4350
1750 select SYS_SUPPORTS_SMP
1751 select SYS_SUPPORTS_HOTPLUG_CPU
1753 config CPU_BMIPS4380
1755 select MIPS_L1_CACHE_SHIFT_6
1756 select SYS_SUPPORTS_SMP
1757 select SYS_SUPPORTS_HOTPLUG_CPU
1759 config CPU_BMIPS5000
1761 select MIPS_CPU_SCACHE
1762 select MIPS_L1_CACHE_SHIFT_7
1763 select SYS_SUPPORTS_SMP
1764 select SYS_SUPPORTS_HOTPLUG_CPU
1766 config SYS_HAS_CPU_LOONGSON3
1768 select CPU_SUPPORTS_CPUFREQ
1770 config SYS_HAS_CPU_LOONGSON2E
1773 config SYS_HAS_CPU_LOONGSON2F
1775 select CPU_SUPPORTS_CPUFREQ
1776 select CPU_SUPPORTS_ADDRWINCFG if 64BIT
1777 select CPU_SUPPORTS_UNCACHED_ACCELERATED
1779 config SYS_HAS_CPU_LOONGSON1B
1782 config SYS_HAS_CPU_MIPS32_R1
1785 config SYS_HAS_CPU_MIPS32_R2
1788 config SYS_HAS_CPU_MIPS32_R3_5
1791 config SYS_HAS_CPU_MIPS32_R5
1794 config SYS_HAS_CPU_MIPS32_R6
1797 config SYS_HAS_CPU_MIPS64_R1
1800 config SYS_HAS_CPU_MIPS64_R2
1803 config SYS_HAS_CPU_MIPS64_R6
1806 config SYS_HAS_CPU_R3000
1809 config SYS_HAS_CPU_TX39XX
1812 config SYS_HAS_CPU_VR41XX
1815 config SYS_HAS_CPU_R4300
1818 config SYS_HAS_CPU_R4X00
1821 config SYS_HAS_CPU_TX49XX
1824 config SYS_HAS_CPU_R5000
1827 config SYS_HAS_CPU_R5432
1830 config SYS_HAS_CPU_R5500
1833 config SYS_HAS_CPU_R6000
1836 config SYS_HAS_CPU_NEVADA
1839 config SYS_HAS_CPU_R8000
1842 config SYS_HAS_CPU_R10000
1845 config SYS_HAS_CPU_RM7000
1848 config SYS_HAS_CPU_SB1
1851 config SYS_HAS_CPU_CAVIUM_OCTEON
1854 config SYS_HAS_CPU_BMIPS
1857 config SYS_HAS_CPU_BMIPS32_3300
1859 select SYS_HAS_CPU_BMIPS
1861 config SYS_HAS_CPU_BMIPS4350
1863 select SYS_HAS_CPU_BMIPS
1865 config SYS_HAS_CPU_BMIPS4380
1867 select SYS_HAS_CPU_BMIPS
1869 config SYS_HAS_CPU_BMIPS5000
1871 select SYS_HAS_CPU_BMIPS
1873 config SYS_HAS_CPU_XLR
1876 config SYS_HAS_CPU_XLP
1879 config MIPS_MALTA_PM
1880 depends on MIPS_MALTA
1886 # CPU may reorder R->R, R->W, W->R, W->W
1887 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1889 config WEAK_ORDERING
1893 # CPU may reorder reads and writes beyond LL/SC
1894 # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1896 config WEAK_REORDERING_BEYOND_LLSC
1901 # These two indicate any level of the MIPS32 and MIPS64 architecture
1905 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
1909 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
1912 # These two indicate the revision of the architecture, either Release 1 or Release 2
1916 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1920 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1925 default y if CPU_MIPS32_R6 || CPU_MIPS64_R6
1934 config SYS_SUPPORTS_32BIT_KERNEL
1936 config SYS_SUPPORTS_64BIT_KERNEL
1938 config CPU_SUPPORTS_32BIT_KERNEL
1940 config CPU_SUPPORTS_64BIT_KERNEL
1942 config CPU_SUPPORTS_CPUFREQ
1944 config CPU_SUPPORTS_ADDRWINCFG
1946 config CPU_SUPPORTS_HUGEPAGES
1948 config CPU_SUPPORTS_UNCACHED_ACCELERATED
1950 config MIPS_PGD_C0_CONTEXT
1952 default y if 64BIT && CPU_MIPSR2 && !CPU_XLP
1955 # Set to y for ptrace access to watch registers.
1957 config HARDWARE_WATCHPOINTS
1959 default y if CPU_MIPSR1 || CPU_MIPSR2
1964 prompt "Kernel code model"
1966 You should only select this option if you have a workload that
1967 actually benefits from 64-bit processing or if your machine has
1968 large memory. You will only be presented a single option in this
1969 menu if your system does not support both 32-bit and 64-bit kernels.
1972 bool "32-bit kernel"
1973 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1976 Select this option if you want to build a 32-bit kernel.
1979 bool "64-bit kernel"
1980 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1982 Select this option if you want to build a 64-bit kernel.
1987 bool "KVM Guest Kernel"
1988 depends on BROKEN_ON_SMP
1990 Select this option if building a guest kernel for KVM (Trap & Emulate) mode
1992 config KVM_GUEST_TIMER_FREQ
1993 int "Count/Compare Timer Frequency (MHz)"
1994 depends on KVM_GUEST
1997 Set this to non-zero if building a guest kernel for KVM to skip RTC
1998 emulation when determining guest CPU Frequency. Instead, the guest's
1999 timer frequency is specified directly.
2002 prompt "Kernel page size"
2003 default PAGE_SIZE_4KB
2005 config PAGE_SIZE_4KB
2007 depends on !CPU_LOONGSON2 && !CPU_LOONGSON3
2009 This option select the standard 4kB Linux page size. On some
2010 R3000-family processors this is the only available page size. Using
2011 4kB page size will minimize memory consumption and is therefore
2012 recommended for low memory systems.
2014 config PAGE_SIZE_8KB
2016 depends on CPU_R8000 || CPU_CAVIUM_OCTEON
2018 Using 8kB page size will result in higher performance kernel at
2019 the price of higher memory consumption. This option is available
2020 only on R8000 and cnMIPS processors. Note that you will need a
2021 suitable Linux distribution to support this.
2023 config PAGE_SIZE_16KB
2025 depends on !CPU_R3000 && !CPU_TX39XX
2027 Using 16kB page size will result in higher performance kernel at
2028 the price of higher memory consumption. This option is available on
2029 all non-R3000 family processors. Note that you will need a suitable
2030 Linux distribution to support this.
2032 config PAGE_SIZE_32KB
2034 depends on CPU_CAVIUM_OCTEON
2036 Using 32kB page size will result in higher performance kernel at
2037 the price of higher memory consumption. This option is available
2038 only on cnMIPS cores. Note that you will need a suitable Linux
2039 distribution to support this.
2041 config PAGE_SIZE_64KB
2043 depends on !CPU_R3000 && !CPU_TX39XX
2045 Using 64kB page size will result in higher performance kernel at
2046 the price of higher memory consumption. This option is available on
2047 all non-R3000 family processor. Not that at the time of this
2048 writing this option is still high experimental.
2052 config FORCE_MAX_ZONEORDER
2053 int "Maximum zone order"
2054 range 14 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB
2055 default "14" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB
2056 range 13 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB
2057 default "13" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB
2058 range 12 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB
2059 default "12" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB
2063 The kernel memory allocator divides physically contiguous memory
2064 blocks into "zones", where each zone is a power of two number of
2065 pages. This option selects the largest power of two that the kernel
2066 keeps in the memory allocator. If you need to allocate very large
2067 blocks of physically contiguous memory, then you may need to
2068 increase this value.
2070 This config option is actually maximum order plus one. For example,
2071 a value of 11 means that the largest free memory block is 2^10 pages.
2073 The page size is not necessarily 4KB. Keep this in mind
2074 when choosing a value for this option.
2079 config IP22_CPU_SCACHE
2084 # Support for a MIPS32 / MIPS64 style S-caches
2086 config MIPS_CPU_SCACHE
2090 config R5000_CPU_SCACHE
2094 config RM7000_CPU_SCACHE
2098 config SIBYTE_DMA_PAGEOPS
2099 bool "Use DMA to clear/copy pages"
2102 Instead of using the CPU to zero and copy pages, use a Data Mover
2103 channel. These DMA channels are otherwise unused by the standard
2104 SiByte Linux port. Seems to give a small performance benefit.
2106 config CPU_HAS_PREFETCH
2109 config CPU_GENERIC_DUMP_TLB
2111 default y if !(CPU_R3000 || CPU_R6000 || CPU_R8000 || CPU_TX39XX)
2115 default y if !(CPU_R3000 || CPU_R6000 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
2117 config CPU_R4K_CACHE_TLB
2119 default y if !(CPU_R3000 || CPU_R8000 || CPU_SB1 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
2122 bool "MIPS MT SMP support (1 TC on each available VPE)"
2123 depends on SYS_SUPPORTS_MULTITHREADING && !CPU_MIPSR6
2124 select CPU_MIPSR2_IRQ_VI
2125 select CPU_MIPSR2_IRQ_EI
2131 select SYS_SUPPORTS_SMP
2132 select SYS_SUPPORTS_SCHED_SMT
2133 select MIPS_PERF_SHARED_TC_COUNTERS
2135 This is a kernel model which is known as SMVP. This is supported
2136 on cores with the MT ASE and uses the available VPEs to implement
2137 virtual processors which supports SMP. This is equivalent to the
2138 Intel Hyperthreading feature. For further information go to
2139 <http://www.imgtec.com/mips/mips-multithreading.asp>.
2145 bool "SMT (multithreading) scheduler support"
2146 depends on SYS_SUPPORTS_SCHED_SMT
2149 SMT scheduler support improves the CPU scheduler's decision making
2150 when dealing with MIPS MT enabled cores at a cost of slightly
2151 increased overhead in some places. If unsure say N here.
2153 config SYS_SUPPORTS_SCHED_SMT
2156 config SYS_SUPPORTS_MULTITHREADING
2159 config MIPS_MT_FPAFF
2160 bool "Dynamic FPU affinity for FP-intensive threads"
2162 depends on MIPS_MT_SMP
2164 config MIPSR2_TO_R6_EMULATOR
2165 bool "MIPS R2-to-R6 emulator"
2166 depends on CPU_MIPSR6 && !SMP
2169 Choose this option if you want to run non-R6 MIPS userland code.
2170 Even if you say 'Y' here, the emulator will still be disabled by
2171 default. You can enable it using the 'mipsr2emu' kernel option.
2172 The only reason this is a build-time option is to save ~14K from the
2174 comment "MIPS R2-to-R6 emulator is only available for UP kernels"
2175 depends on SMP && CPU_MIPSR6
2177 config MIPS_VPE_LOADER
2178 bool "VPE loader support."
2179 depends on SYS_SUPPORTS_MULTITHREADING && MODULES
2180 select CPU_MIPSR2_IRQ_VI
2181 select CPU_MIPSR2_IRQ_EI
2184 Includes a loader for loading an elf relocatable object
2185 onto another VPE and running it.
2187 config MIPS_VPE_LOADER_CMP
2190 depends on MIPS_VPE_LOADER && MIPS_CMP
2192 config MIPS_VPE_LOADER_MT
2195 depends on MIPS_VPE_LOADER && !MIPS_CMP
2197 config MIPS_VPE_LOADER_TOM
2198 bool "Load VPE program into memory hidden from linux"
2199 depends on MIPS_VPE_LOADER
2202 The loader can use memory that is present but has been hidden from
2203 Linux using the kernel command line option "mem=xxMB". It's up to
2204 you to ensure the amount you put in the option and the space your
2205 program requires is less or equal to the amount physically present.
2207 config MIPS_VPE_APSP_API
2208 bool "Enable support for AP/SP API (RTLX)"
2209 depends on MIPS_VPE_LOADER
2212 config MIPS_VPE_APSP_API_CMP
2215 depends on MIPS_VPE_APSP_API && MIPS_CMP
2217 config MIPS_VPE_APSP_API_MT
2220 depends on MIPS_VPE_APSP_API && !MIPS_CMP
2223 bool "MIPS CMP framework support (DEPRECATED)"
2224 depends on SYS_SUPPORTS_MIPS_CMP && !CPU_MIPSR6
2228 select SYS_SUPPORTS_SMP
2229 select WEAK_ORDERING
2232 Select this if you are using a bootloader which implements the "CMP
2233 framework" protocol (ie. YAMON) and want your kernel to make use of
2234 its ability to start secondary CPUs.
2236 Unless you have a specific need, you should use CONFIG_MIPS_CPS
2240 bool "MIPS Coherent Processing System support"
2241 depends on SYS_SUPPORTS_MIPS_CPS && !CPU_MIPSR6
2244 select MIPS_CPS_PM if HOTPLUG_CPU
2247 select SYNC_R4K if (CEVT_R4K || CSRC_R4K)
2248 select SYS_SUPPORTS_HOTPLUG_CPU
2249 select SYS_SUPPORTS_SMP
2250 select WEAK_ORDERING
2252 Select this if you wish to run an SMP kernel across multiple cores
2253 within a MIPS Coherent Processing System. When this option is
2254 enabled the kernel will probe for other cores and boot them with
2255 no external assistance. It is safe to enable this when hardware
2256 support is unavailable.
2272 config SB1_PASS_2_WORKAROUNDS
2274 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
2277 config SB1_PASS_2_1_WORKAROUNDS
2279 depends on CPU_SB1 && CPU_SB1_PASS_2
2283 config ARCH_PHYS_ADDR_T_64BIT
2287 prompt "SmartMIPS or microMIPS ASE support"
2289 config CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS
2292 Select this if you want neither microMIPS nor SmartMIPS support
2294 config CPU_HAS_SMARTMIPS
2295 depends on SYS_SUPPORTS_SMARTMIPS
2298 SmartMIPS is a extension of the MIPS32 architecture aimed at
2299 increased security at both hardware and software level for
2300 smartcards. Enabling this option will allow proper use of the
2301 SmartMIPS instructions by Linux applications. However a kernel with
2302 this option will not work on a MIPS core without SmartMIPS core. If
2303 you don't know you probably don't have SmartMIPS and should say N
2306 config CPU_MICROMIPS
2307 depends on 32BIT && SYS_SUPPORTS_MICROMIPS && !CPU_MIPSR6
2310 When this option is enabled the kernel will be built using the
2316 bool "Support for the MIPS SIMD Architecture"
2317 depends on CPU_SUPPORTS_MSA
2318 depends on 64BIT || MIPS_O32_FP64_SUPPORT
2320 MIPS SIMD Architecture (MSA) introduces 128 bit wide vector registers
2321 and a set of SIMD instructions to operate on them. When this option
2322 is enabled the kernel will support allocating & switching MSA
2323 vector register contexts. If you know that your kernel will only be
2324 running on CPUs which do not support MSA or that your userland will
2325 not be making use of it then you may wish to say N here to reduce
2326 the size & complexity of your kernel.
2337 # Vectored interrupt mode is an R2 feature
2339 config CPU_MIPSR2_IRQ_VI
2343 # Extended interrupt mode is an R2 feature
2345 config CPU_MIPSR2_IRQ_EI
2350 depends on !CPU_R3000
2356 config CPU_DADDI_WORKAROUNDS
2359 config CPU_R4000_WORKAROUNDS
2361 select CPU_R4400_WORKAROUNDS
2363 config CPU_R4400_WORKAROUNDS
2367 # - Highmem only makes sense for the 32-bit kernel.
2368 # - The current highmem code will only work properly on physically indexed
2369 # caches such as R3000, SB1, R7000 or those that look like they're virtually
2370 # indexed such as R4000/R4400 SC and MC versions or R10000. So for the
2371 # moment we protect the user and offer the highmem option only on machines
2372 # where it's known to be safe. This will not offer highmem on a few systems
2373 # such as MIPS32 and MIPS64 CPUs which may have virtual and physically
2374 # indexed CPUs but we're playing safe.
2375 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
2376 # know they might have memory configurations that could make use of highmem
2380 bool "High Memory Support"
2381 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM && !CPU_MIPS32_3_5_EVA
2383 config CPU_SUPPORTS_HIGHMEM
2386 config SYS_SUPPORTS_HIGHMEM
2389 config SYS_SUPPORTS_SMARTMIPS
2392 config SYS_SUPPORTS_MICROMIPS
2395 config SYS_SUPPORTS_MIPS16
2398 This option must be set if a kernel might be executed on a MIPS16-
2399 enabled CPU even if MIPS16 is not actually being used. In other
2400 words, it makes the kernel MIPS16-tolerant.
2402 config CPU_SUPPORTS_MSA
2405 config ARCH_FLATMEM_ENABLE
2407 depends on !NUMA && !CPU_LOONGSON2
2409 config ARCH_DISCONTIGMEM_ENABLE
2411 default y if SGI_IP27
2413 Say Y to support efficient handling of discontiguous physical memory,
2414 for architectures which are either NUMA (Non-Uniform Memory Access)
2415 or have huge holes in the physical address space for other reasons.
2416 See <file:Documentation/vm/numa> for more.
2418 config ARCH_SPARSEMEM_ENABLE
2420 select SPARSEMEM_STATIC
2424 depends on SYS_SUPPORTS_NUMA
2426 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
2427 Access). This option improves performance on systems with more
2428 than two nodes; on two node systems it is generally better to
2429 leave it disabled; on single node systems disable this option
2432 config SYS_SUPPORTS_NUMA
2438 depends on NEED_MULTIPLE_NODES
2440 config HW_PERF_EVENTS
2441 bool "Enable hardware performance counter support for perf events"
2442 depends on PERF_EVENTS && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP || CPU_LOONGSON3)
2445 Enable hardware performance counter support for perf events. If
2446 disabled, perf events will use software events only.
2451 bool "Multi-Processing support"
2452 depends on SYS_SUPPORTS_SMP
2454 This enables support for systems with more than one CPU. If you have
2455 a system with only one CPU, say N. If you have a system with more
2456 than one CPU, say Y.
2458 If you say N here, the kernel will run on uni- and multiprocessor
2459 machines, but will use only one CPU of a multiprocessor machine. If
2460 you say Y here, the kernel will run on many, but not all,
2461 uniprocessor machines. On a uniprocessor machine, the kernel
2462 will run faster if you say N here.
2464 People using multiprocessor machines who say Y here should also say
2465 Y to "Enhanced Real Time Clock Support", below.
2467 See also the SMP-HOWTO available at
2468 <http://www.tldp.org/docs.html#howto>.
2470 If you don't know what to do here, say N.
2475 config SYS_SUPPORTS_MIPS_CMP
2478 config SYS_SUPPORTS_MIPS_CPS
2481 config SYS_SUPPORTS_SMP
2484 config NR_CPUS_DEFAULT_4
2487 config NR_CPUS_DEFAULT_8
2490 config NR_CPUS_DEFAULT_16
2493 config NR_CPUS_DEFAULT_32
2496 config NR_CPUS_DEFAULT_64
2500 int "Maximum number of CPUs (2-256)"
2503 default "4" if NR_CPUS_DEFAULT_4
2504 default "8" if NR_CPUS_DEFAULT_8
2505 default "16" if NR_CPUS_DEFAULT_16
2506 default "32" if NR_CPUS_DEFAULT_32
2507 default "64" if NR_CPUS_DEFAULT_64
2509 This allows you to specify the maximum number of CPUs which this
2510 kernel will support. The maximum supported value is 32 for 32-bit
2511 kernel and 64 for 64-bit kernels; the minimum value which makes
2512 sense is 1 for Qemu (useful only for kernel debugging purposes)
2513 and 2 for all others.
2515 This is purely to save memory - each supported CPU adds
2516 approximately eight kilobytes to the kernel image. For best
2517 performance should round up your number of processors to the next
2520 config MIPS_PERF_SHARED_TC_COUNTERS
2524 # Timer Interrupt Frequency Configuration
2528 prompt "Timer frequency"
2531 Allows the configuration of the timer frequency.
2534 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
2537 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
2540 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
2543 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
2546 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
2549 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
2552 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2556 config SYS_SUPPORTS_48HZ
2559 config SYS_SUPPORTS_100HZ
2562 config SYS_SUPPORTS_128HZ
2565 config SYS_SUPPORTS_250HZ
2568 config SYS_SUPPORTS_256HZ
2571 config SYS_SUPPORTS_1000HZ
2574 config SYS_SUPPORTS_1024HZ
2577 config SYS_SUPPORTS_ARBIT_HZ
2579 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2580 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2581 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2582 !SYS_SUPPORTS_1024HZ
2587 default 100 if HZ_100
2588 default 128 if HZ_128
2589 default 250 if HZ_250
2590 default 256 if HZ_256
2591 default 1000 if HZ_1000
2592 default 1024 if HZ_1024
2595 def_bool HIGH_RES_TIMERS
2597 source "kernel/Kconfig.preempt"
2600 bool "Kexec system call"
2603 kexec is a system call that implements the ability to shutdown your
2604 current kernel, and to start another kernel. It is like a reboot
2605 but it is independent of the system firmware. And like a reboot
2606 you can start any kernel with it, not just Linux.
2608 The name comes from the similarity to the exec system call.
2610 It is an ongoing process to be certain the hardware in a machine
2611 is properly shutdown, so do not be surprised if this code does not
2612 initially work for you. As of this writing the exact hardware
2613 interface is strongly in flux, so no good recommendation can be
2617 bool "Kernel crash dumps"
2619 Generate crash dump after being started by kexec.
2620 This should be normally only set in special crash dump kernels
2621 which are loaded in the main kernel with kexec-tools into
2622 a specially reserved region and then later executed after
2623 a crash by kdump/kexec. The crash dump kernel must be compiled
2624 to a memory address not used by the main kernel or firmware using
2627 config PHYSICAL_START
2628 hex "Physical address where the kernel is loaded"
2629 default "0xffffffff84000000" if 64BIT
2630 default "0x84000000" if 32BIT
2631 depends on CRASH_DUMP
2633 This gives the CKSEG0 or KSEG0 address where the kernel is loaded.
2634 If you plan to use kernel for capturing the crash dump change
2635 this value to start of the reserved region (the "X" value as
2636 specified in the "crashkernel=YM@XM" command line boot parameter
2637 passed to the panic-ed kernel).
2640 bool "Enable seccomp to safely compute untrusted bytecode"
2644 This kernel feature is useful for number crunching applications
2645 that may need to compute untrusted bytecode during their
2646 execution. By using pipes or other transports made available to
2647 the process as file descriptors supporting the read/write
2648 syscalls, it's possible to isolate those applications in
2649 their own address space using seccomp. Once seccomp is
2650 enabled via /proc/<pid>/seccomp, it cannot be disabled
2651 and the task is only allowed to execute a few safe syscalls
2652 defined by each seccomp mode.
2654 If unsure, say Y. Only embedded should say N here.
2656 config MIPS_O32_FP64_SUPPORT
2657 bool "Support for O32 binaries using 64-bit FP"
2658 depends on 32BIT || MIPS32_O32
2660 When this is enabled, the kernel will support use of 64-bit floating
2661 point registers with binaries using the O32 ABI along with the
2662 EF_MIPS_FP64 ELF header flag (typically built with -mfp64). On
2663 32-bit MIPS systems this support is at the cost of increasing the
2664 size and complexity of the compiled FPU emulator. Thus if you are
2665 running a MIPS32 system and know that none of your userland binaries
2666 will require 64-bit floating point, you may wish to reduce the size
2667 of your kernel & potentially improve FP emulation performance by
2670 Although binutils currently supports use of this flag the details
2671 concerning its effect upon the O32 ABI in userland are still being
2672 worked on. In order to avoid userland becoming dependant upon current
2673 behaviour before the details have been finalised, this option should
2674 be considered experimental and only enabled by those working upon
2682 select OF_EARLY_FLATTREE
2689 prompt "Kernel appended dtb support" if OF
2690 default MIPS_NO_APPENDED_DTB
2692 config MIPS_NO_APPENDED_DTB
2695 Do not enable appended dtb support.
2697 config MIPS_RAW_APPENDED_DTB
2700 With this option, the boot code will look for a device tree binary
2701 DTB) appended to raw vmlinux.bin (without decompressor).
2702 (e.g. cat vmlinux.bin <filename>.dtb > vmlinux_w_dtb).
2704 This is meant as a backward compatibility convenience for those
2705 systems with a bootloader that can't be upgraded to accommodate
2706 the documented boot protocol using a device tree.
2708 Beware that there is very little in terms of protection against
2709 this option being confused by leftover garbage in memory that might
2710 look like a DTB header after a reboot if no actual DTB is appended
2711 to vmlinux.bin. Do not leave this option active in a production kernel
2712 if you don't intend to always append a DTB.
2714 config MIPS_ZBOOT_APPENDED_DTB
2716 depends on SYS_SUPPORTS_ZBOOT
2718 With this option, the boot code will look for a device tree binary
2719 DTB) appended to raw vmlinuz.bin (with decompressor).
2720 (e.g. cat vmlinuz.bin <filename>.dtb > vmlinuz_w_dtb).
2722 This is meant as a backward compatibility convenience for those
2723 systems with a bootloader that can't be upgraded to accommodate
2724 the documented boot protocol using a device tree.
2726 Beware that there is very little in terms of protection against
2727 this option being confused by leftover garbage in memory that might
2728 look like a DTB header after a reboot if no actual DTB is appended
2729 to vmlinuz.bin. Do not leave this option active in a production kernel
2730 if you don't intend to always append a DTB.
2735 config LOCKDEP_SUPPORT
2739 config STACKTRACE_SUPPORT
2743 config PGTABLE_LEVELS
2745 default 3 if 64BIT && !PAGE_SIZE_64KB
2748 source "init/Kconfig"
2750 source "kernel/Kconfig.freezer"
2752 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2760 bool "Support for PCI controller"
2761 depends on HW_HAS_PCI
2763 select NO_GENERIC_PCI_IOPORT_MAP
2765 Find out whether you have a PCI motherboard. PCI is the name of a
2766 bus system, i.e. the way the CPU talks to the other stuff inside
2767 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2771 bool "Support for HT-linked PCI"
2773 depends on CPU_LOONGSON3
2777 Loongson family machines use Hyper-Transport bus for inter-core
2778 connection and device connection. The PCI bus is a subordinate
2779 linked at HT. Choose Y for Loongson-3 based machines.
2784 source "drivers/pci/Kconfig"
2786 source "drivers/pci/pcie/Kconfig"
2789 # ISA support is now enabled via select. Too many systems still have the one
2790 # or other ISA chip on the board that users don't know about so don't expect
2791 # users to choose the right thing ...
2798 depends on HW_HAS_EISA
2800 select GENERIC_ISA_DMA
2802 The Extended Industry Standard Architecture (EISA) bus was
2803 developed as an open alternative to the IBM MicroChannel bus.
2805 The EISA bus provided some of the features of the IBM MicroChannel
2806 bus while maintaining backward compatibility with cards made for
2807 the older ISA bus. The EISA bus saw limited use between 1988 and
2808 1995 when it was made obsolete by the PCI bus.
2810 Say Y here if you are building a kernel for an EISA-based machine.
2814 source "drivers/eisa/Kconfig"
2817 bool "TURBOchannel support"
2818 depends on MACH_DECSTATION
2820 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2821 processors. TURBOchannel programming specifications are available
2823 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
2825 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
2826 Linux driver support status is documented at:
2827 <http://www.linux-mips.org/wiki/DECstation>
2837 select MIPS_EXTERNAL_TIMER
2845 source "drivers/pcmcia/Kconfig"
2847 source "drivers/pci/hotplug/Kconfig"
2850 tristate "RapidIO support"
2854 If you say Y here, the kernel will include drivers and
2855 infrastructure code to support RapidIO interconnect devices.
2857 source "drivers/rapidio/Kconfig"
2861 menu "Executable file formats"
2863 source "fs/Kconfig.binfmt"
2868 config MIPS32_COMPAT
2874 config SYSVIPC_COMPAT
2878 bool "Kernel support for o32 binaries"
2880 select ARCH_WANT_OLD_COMPAT_IPC
2882 select MIPS32_COMPAT
2883 select SYSVIPC_COMPAT if SYSVIPC
2885 Select this option if you want to run o32 binaries. These are pure
2886 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2887 existing binaries are in this format.
2892 bool "Kernel support for n32 binaries"
2895 select MIPS32_COMPAT
2896 select SYSVIPC_COMPAT if SYSVIPC
2898 Select this option if you want to run n32 binaries. These are
2899 64-bit binaries using 32-bit quantities for addressing and certain
2900 data that would normally be 64-bit. They are used in special
2907 default y if MIPS32_O32 || MIPS32_N32
2911 menu "Power management options"
2913 config ARCH_HIBERNATION_POSSIBLE
2915 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2917 config ARCH_SUSPEND_POSSIBLE
2919 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2921 source "kernel/power/Kconfig"
2925 config MIPS_EXTERNAL_TIMER
2928 menu "CPU Power Management"
2930 if CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER
2931 source "drivers/cpufreq/Kconfig"
2934 source "drivers/cpuidle/Kconfig"
2938 source "net/Kconfig"
2940 source "drivers/Kconfig"
2942 source "drivers/firmware/Kconfig"
2946 source "arch/mips/Kconfig.debug"
2948 source "security/Kconfig"
2950 source "crypto/Kconfig"
2952 source "lib/Kconfig"
2954 source "arch/mips/kvm/Kconfig"