4 select ARCH_MIGHT_HAVE_PC_PARPORT
5 select ARCH_MIGHT_HAVE_PC_SERIO
6 select HAVE_CONTEXT_TRACKING
7 select HAVE_GENERIC_DMA_COHERENT
10 select HAVE_PERF_EVENTS
11 select PERF_USE_VMALLOC
13 select HAVE_ARCH_SECCOMP_FILTER
14 select HAVE_ARCH_TRACEHOOK
15 select HAVE_BPF_JIT if !CPU_MICROMIPS
16 select ARCH_HAVE_CUSTOM_GPIO_H
17 select HAVE_FUNCTION_TRACER
18 select HAVE_DYNAMIC_FTRACE
19 select HAVE_FTRACE_MCOUNT_RECORD
20 select HAVE_C_RECORDMCOUNT
21 select HAVE_FUNCTION_GRAPH_TRACER
23 select HAVE_KRETPROBES
24 select HAVE_SYSCALL_TRACEPOINTS
25 select HAVE_DEBUG_KMEMLEAK
26 select HAVE_SYSCALL_TRACEPOINTS
27 select ARCH_HAS_ELF_RANDOMIZE
28 select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT
29 select RTC_LIB if !MACH_LOONGSON
30 select GENERIC_ATOMIC64 if !64BIT
31 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
33 select HAVE_DMA_CONTIGUOUS
34 select HAVE_DMA_API_DEBUG
35 select GENERIC_IRQ_PROBE
36 select GENERIC_IRQ_SHOW
37 select GENERIC_PCI_IOMAP
38 select HAVE_ARCH_JUMP_LABEL
39 select ARCH_WANT_IPC_PARSE_VERSION
40 select IRQ_FORCED_THREADING
42 select HAVE_MEMBLOCK_NODE_MAP
43 select ARCH_DISCARD_MEMBLOCK
44 select GENERIC_SMP_IDLE_THREAD
45 select BUILDTIME_EXTABLE_SORT
46 select GENERIC_CLOCKEVENTS
47 select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC
48 select GENERIC_CMOS_UPDATE
49 select HAVE_MOD_ARCH_SPECIFIC
51 select MODULES_USE_ELF_REL if MODULES
52 select MODULES_USE_ELF_RELA if MODULES && 64BIT
53 select CLONE_BACKWARDS
54 select HAVE_DEBUG_STACKOVERFLOW
55 select HAVE_CC_STACKPROTECTOR
56 select CPU_PM if CPU_IDLE
57 select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
58 select ARCH_BINFMT_ELF_STATE
59 select SYSCTL_EXCEPTION_TRACE
60 select HAVE_VIRT_CPU_ACCOUNTING_GEN
61 select HAVE_IRQ_TIME_ACCOUNTING
63 menu "Machine selection"
70 bool "Alchemy processor based machines"
71 select ARCH_PHYS_ADDR_T_64BIT
75 select DMA_MAYBE_COHERENT # Au1000,1500,1100 aren't, rest is
76 select SYS_HAS_CPU_MIPS32_R1
77 select SYS_SUPPORTS_32BIT_KERNEL
78 select SYS_SUPPORTS_APM_EMULATION
79 select ARCH_REQUIRE_GPIOLIB
80 select SYS_SUPPORTS_ZBOOT
84 bool "Texas Instruments AR7"
86 select DMA_NONCOHERENT
92 select SYS_HAS_CPU_MIPS32_R1
93 select SYS_HAS_EARLY_PRINTK
94 select SYS_SUPPORTS_32BIT_KERNEL
95 select SYS_SUPPORTS_LITTLE_ENDIAN
96 select SYS_SUPPORTS_MIPS16
97 select SYS_SUPPORTS_ZBOOT_UART16550
98 select ARCH_REQUIRE_GPIOLIB
102 Support for the Texas Instruments AR7 System-on-a-Chip
103 family: TNETD7100, 7200 and 7300.
106 bool "Atheros AR231x/AR531x SoC support"
109 select DMA_NONCOHERENT
112 select SYS_HAS_CPU_MIPS32_R1
113 select SYS_SUPPORTS_BIG_ENDIAN
114 select SYS_SUPPORTS_32BIT_KERNEL
115 select SYS_HAS_EARLY_PRINTK
117 Support for Atheros AR231x and Atheros AR531x based boards
120 bool "Atheros AR71XX/AR724X/AR913X based boards"
121 select ARCH_REQUIRE_GPIOLIB
125 select DMA_NONCOHERENT
131 select SYS_HAS_CPU_MIPS32_R2
132 select SYS_HAS_EARLY_PRINTK
133 select SYS_SUPPORTS_32BIT_KERNEL
134 select SYS_SUPPORTS_BIG_ENDIAN
135 select SYS_SUPPORTS_MIPS16
136 select SYS_SUPPORTS_ZBOOT
138 Support for the Atheros AR71XX/AR724X/AR913X SoCs.
141 bool "Broadcom Generic BMIPS kernel"
143 select NO_EXCEPT_FILL
149 select BCM7038_L1_IRQ
150 select BCM7120_L2_IRQ
151 select BRCMSTB_L2_IRQ
153 select RAW_IRQ_ACCESSORS
154 select DMA_NONCOHERENT
155 select SYS_SUPPORTS_32BIT_KERNEL
156 select SYS_SUPPORTS_LITTLE_ENDIAN
157 select SYS_SUPPORTS_BIG_ENDIAN
158 select SYS_SUPPORTS_HIGHMEM
159 select SYS_HAS_CPU_BMIPS32_3300
160 select SYS_HAS_CPU_BMIPS4350
161 select SYS_HAS_CPU_BMIPS4380
162 select SYS_HAS_CPU_BMIPS5000
164 select USB_EHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
165 select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
166 select USB_OHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
167 select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
169 Build a generic DT-based kernel image that boots on select
170 BCM33xx cable modem chips, BCM63xx DSL chips, and BCM7xxx set-top
171 box chips. Note that CONFIG_CPU_BIG_ENDIAN/CONFIG_CPU_LITTLE_ENDIAN
172 must be set appropriately for your board.
175 bool "Broadcom BCM47XX based boards"
176 select ARCH_WANT_OPTIONAL_GPIOLIB
180 select DMA_NONCOHERENT
183 select SYS_HAS_CPU_MIPS32_R1
184 select NO_EXCEPT_FILL
185 select SYS_SUPPORTS_32BIT_KERNEL
186 select SYS_SUPPORTS_LITTLE_ENDIAN
187 select SYS_SUPPORTS_MIPS16
188 select SYS_HAS_EARLY_PRINTK
189 select USE_GENERIC_EARLY_PRINTK_8250
191 select LEDS_GPIO_REGISTER
193 Support for BCM47XX based boards
196 bool "Broadcom BCM63XX based boards"
201 select DMA_NONCOHERENT
203 select SYS_SUPPORTS_32BIT_KERNEL
204 select SYS_SUPPORTS_BIG_ENDIAN
205 select SYS_HAS_EARLY_PRINTK
207 select ARCH_REQUIRE_GPIOLIB
209 select MIPS_L1_CACHE_SHIFT_4
211 Support for BCM63XX based boards
218 select DMA_NONCOHERENT
224 select PCI_GT64XXX_PCI0
226 select SYS_HAS_CPU_NEVADA
227 select SYS_HAS_EARLY_PRINTK
228 select SYS_SUPPORTS_32BIT_KERNEL
229 select SYS_SUPPORTS_64BIT_KERNEL
230 select SYS_SUPPORTS_LITTLE_ENDIAN
231 select USE_GENERIC_EARLY_PRINTK_8250
233 config MACH_DECSTATION
237 select CEVT_R4K if CPU_R4X00
239 select CSRC_R4K if CPU_R4X00
240 select CPU_DADDI_WORKAROUNDS if 64BIT
241 select CPU_R4000_WORKAROUNDS if 64BIT
242 select CPU_R4400_WORKAROUNDS if 64BIT
243 select DMA_NONCOHERENT
246 select SYS_HAS_CPU_R3000
247 select SYS_HAS_CPU_R4X00
248 select SYS_SUPPORTS_32BIT_KERNEL
249 select SYS_SUPPORTS_64BIT_KERNEL
250 select SYS_SUPPORTS_LITTLE_ENDIAN
251 select SYS_SUPPORTS_128HZ
252 select SYS_SUPPORTS_256HZ
253 select SYS_SUPPORTS_1024HZ
254 select MIPS_L1_CACHE_SHIFT_4
256 This enables support for DEC's MIPS based workstations. For details
257 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
258 DECstation porting pages on <http://decstation.unix-ag.org/>.
260 If you have one of the following DECstation Models you definitely
261 want to choose R4xx0 for the CPU Type:
268 otherwise choose R3000.
271 bool "Jazz family of machines"
274 select ARCH_MAY_HAVE_PC_FDC
277 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
278 select GENERIC_ISA_DMA
279 select HAVE_PCSPKR_PLATFORM
284 select SYS_HAS_CPU_R4X00
285 select SYS_SUPPORTS_32BIT_KERNEL
286 select SYS_SUPPORTS_64BIT_KERNEL
287 select SYS_SUPPORTS_100HZ
289 This a family of machines based on the MIPS R4030 chipset which was
290 used by several vendors to build RISC/os and Windows NT workstations.
291 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
292 Olivetti M700-10 workstations.
295 bool "Ingenic SoC based machines"
296 select SYS_SUPPORTS_32BIT_KERNEL
297 select SYS_SUPPORTS_LITTLE_ENDIAN
298 select SYS_SUPPORTS_ZBOOT_UART16550
299 select DMA_NONCOHERENT
301 select ARCH_REQUIRE_GPIOLIB
303 select GENERIC_IRQ_CHIP
309 bool "Lantiq based platforms"
310 select DMA_NONCOHERENT
314 select SYS_HAS_CPU_MIPS32_R1
315 select SYS_HAS_CPU_MIPS32_R2
316 select SYS_SUPPORTS_BIG_ENDIAN
317 select SYS_SUPPORTS_32BIT_KERNEL
318 select SYS_SUPPORTS_MIPS16
319 select SYS_SUPPORTS_MULTITHREADING
320 select SYS_HAS_EARLY_PRINTK
321 select ARCH_REQUIRE_GPIOLIB
324 select HAVE_MACH_CLKDEV
328 select PINCTRL_LANTIQ
329 select ARCH_HAS_RESET_CONTROLLER
330 select RESET_CONTROLLER
333 bool "LASAT Networks platforms"
337 select DMA_NONCOHERENT
338 select SYS_HAS_EARLY_PRINTK
341 select PCI_GT64XXX_PCI0
343 select R5000_CPU_SCACHE
344 select SYS_HAS_CPU_R5000
345 select SYS_SUPPORTS_32BIT_KERNEL
346 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
347 select SYS_SUPPORTS_LITTLE_ENDIAN
350 bool "Loongson family of machines"
351 select SYS_SUPPORTS_ZBOOT
353 This enables the support of Loongson family of machines.
355 Loongson is a family of general-purpose MIPS-compatible CPUs.
356 developed at Institute of Computing Technology (ICT),
357 Chinese Academy of Sciences (CAS) in the People's Republic
358 of China. The chief architect is Professor Weiwu Hu.
360 config MACH_LOONGSON1
361 bool "Loongson 1 family of machines"
362 select SYS_SUPPORTS_ZBOOT
364 This enables support for the Loongson 1 based machines.
366 Loongson 1 is a family of 32-bit MIPS-compatible SoCs developed by
367 the ICT (Institute of Computing Technology) and the Chinese Academy
370 config MACH_PISTACHIO
371 bool "IMG Pistachio SoC based boards"
372 select ARCH_REQUIRE_GPIOLIB
376 select CLKSRC_MIPS_GIC
379 select DMA_MAYBE_COHERENT
383 select MIPS_CPU_SCACHE
387 select SYS_HAS_CPU_MIPS32_R2
388 select SYS_SUPPORTS_32BIT_KERNEL
389 select SYS_SUPPORTS_LITTLE_ENDIAN
390 select SYS_SUPPORTS_MIPS_CPS
391 select SYS_SUPPORTS_MULTITHREADING
392 select SYS_SUPPORTS_ZBOOT
393 select SYS_HAS_EARLY_PRINTK
394 select USE_GENERIC_EARLY_PRINTK_8250
397 This enables support for the IMG Pistachio SoC platform.
400 bool "MIPS Malta board"
401 select ARCH_MAY_HAVE_PC_FDC
406 select CLKSRC_MIPS_GIC
407 select DMA_MAYBE_COHERENT
408 select GENERIC_ISA_DMA
409 select HAVE_PCSPKR_PLATFORM
416 select MIPS_CPU_SCACHE
417 select MIPS_L1_CACHE_SHIFT_6
418 select PCI_GT64XXX_PCI0
421 select SYS_HAS_CPU_MIPS32_R1
422 select SYS_HAS_CPU_MIPS32_R2
423 select SYS_HAS_CPU_MIPS32_R3_5
424 select SYS_HAS_CPU_MIPS32_R5
425 select SYS_HAS_CPU_MIPS32_R6
426 select SYS_HAS_CPU_MIPS64_R1
427 select SYS_HAS_CPU_MIPS64_R2
428 select SYS_HAS_CPU_MIPS64_R6
429 select SYS_HAS_CPU_NEVADA
430 select SYS_HAS_CPU_RM7000
431 select SYS_SUPPORTS_32BIT_KERNEL
432 select SYS_SUPPORTS_64BIT_KERNEL
433 select SYS_SUPPORTS_BIG_ENDIAN
434 select SYS_SUPPORTS_HIGHMEM
435 select SYS_SUPPORTS_LITTLE_ENDIAN
436 select SYS_SUPPORTS_MICROMIPS
437 select SYS_SUPPORTS_MIPS_CMP
438 select SYS_SUPPORTS_MIPS_CPS
439 select SYS_SUPPORTS_MIPS16
440 select SYS_SUPPORTS_MULTITHREADING
441 select SYS_SUPPORTS_SMARTMIPS
442 select SYS_SUPPORTS_ZBOOT
443 select ZONE_DMA32 if 64BIT
445 This enables support for the MIPS Technologies Malta evaluation
449 bool "MIPS SEAD3 board"
455 select CLKSRC_MIPS_GIC
456 select CPU_MIPSR2_IRQ_VI
457 select CPU_MIPSR2_IRQ_EI
458 select DMA_NONCOHERENT
463 select SYS_HAS_CPU_MIPS32_R1
464 select SYS_HAS_CPU_MIPS32_R2
465 select SYS_HAS_CPU_MIPS64_R1
466 select SYS_HAS_EARLY_PRINTK
467 select SYS_SUPPORTS_32BIT_KERNEL
468 select SYS_SUPPORTS_64BIT_KERNEL
469 select SYS_SUPPORTS_BIG_ENDIAN
470 select SYS_SUPPORTS_LITTLE_ENDIAN
471 select SYS_SUPPORTS_SMARTMIPS
472 select SYS_SUPPORTS_MICROMIPS
473 select SYS_SUPPORTS_MIPS16
474 select USB_EHCI_BIG_ENDIAN_DESC
475 select USB_EHCI_BIG_ENDIAN_MMIO
478 This enables support for the MIPS Technologies SEAD3 evaluation
482 bool "NEC EMMA2RH Mark-eins board"
486 This enables support for the NEC Electronics Mark-eins boards.
489 bool "NEC VR4100 series based machines"
492 select SYS_HAS_CPU_VR41XX
493 select SYS_SUPPORTS_MIPS16
494 select ARCH_REQUIRE_GPIOLIB
497 bool "NXP STB220 board"
500 Support for NXP Semiconductors STB220 Development Board.
507 Support for NXP Semiconductors STB225 Development Board.
510 bool "PMC-Sierra MSP chipsets"
513 select DMA_NONCOHERENT
515 select NO_EXCEPT_FILL
517 select SYS_HAS_CPU_MIPS32_R1
518 select SYS_HAS_CPU_MIPS32_R2
519 select SYS_SUPPORTS_32BIT_KERNEL
520 select SYS_SUPPORTS_BIG_ENDIAN
521 select SYS_SUPPORTS_MIPS16
524 select SERIAL_8250_CONSOLE
525 select USB_EHCI_BIG_ENDIAN_MMIO
526 select USB_EHCI_BIG_ENDIAN_DESC
528 This adds support for the PMC-Sierra family of Multi-Service
529 Processor System-On-A-Chips. These parts include a number
530 of integrated peripherals, interfaces and DSPs in addition to
531 a variety of MIPS cores.
534 bool "Ralink based machines"
538 select DMA_NONCOHERENT
541 select SYS_HAS_CPU_MIPS32_R1
542 select SYS_HAS_CPU_MIPS32_R2
543 select SYS_SUPPORTS_32BIT_KERNEL
544 select SYS_SUPPORTS_LITTLE_ENDIAN
545 select SYS_SUPPORTS_MIPS16
546 select SYS_HAS_EARLY_PRINTK
547 select HAVE_MACH_CLKDEV
549 select ARCH_HAS_RESET_CONTROLLER
550 select RESET_CONTROLLER
553 bool "SGI IP22 (Indy/Indigo2)"
559 select DEFAULT_SGI_PARTITION
560 select DMA_NONCOHERENT
564 select IP22_CPU_SCACHE
566 select GENERIC_ISA_DMA_SUPPORT_BROKEN
568 select SGI_HAS_INDYDOG
574 select SYS_HAS_CPU_R4X00
575 select SYS_HAS_CPU_R5000
577 # Disable EARLY_PRINTK for now since it leads to overwritten prom
578 # memory during early boot on some machines.
580 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
581 # for a more details discussion
583 # select SYS_HAS_EARLY_PRINTK
584 select SYS_SUPPORTS_32BIT_KERNEL
585 select SYS_SUPPORTS_64BIT_KERNEL
586 select SYS_SUPPORTS_BIG_ENDIAN
587 select MIPS_L1_CACHE_SHIFT_7
589 This are the SGI Indy, Challenge S and Indigo2, as well as certain
590 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
591 that runs on these, say Y here.
594 bool "SGI IP27 (Origin200/2000)"
598 select DEFAULT_SGI_PARTITION
600 select SYS_HAS_EARLY_PRINTK
602 select NR_CPUS_DEFAULT_64
603 select SYS_HAS_CPU_R10000
604 select SYS_SUPPORTS_64BIT_KERNEL
605 select SYS_SUPPORTS_BIG_ENDIAN
606 select SYS_SUPPORTS_NUMA
607 select SYS_SUPPORTS_SMP
608 select MIPS_L1_CACHE_SHIFT_7
610 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
611 workstations. To compile a Linux kernel that runs on these, say Y
615 bool "SGI IP28 (Indigo2 R10k)"
621 select DEFAULT_SGI_PARTITION
622 select DMA_NONCOHERENT
623 select GENERIC_ISA_DMA_SUPPORT_BROKEN
629 select SGI_HAS_INDYDOG
635 select SYS_HAS_CPU_R10000
637 # Disable EARLY_PRINTK for now since it leads to overwritten prom
638 # memory during early boot on some machines.
640 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
641 # for a more details discussion
643 # select SYS_HAS_EARLY_PRINTK
644 select SYS_SUPPORTS_64BIT_KERNEL
645 select SYS_SUPPORTS_BIG_ENDIAN
646 select MIPS_L1_CACHE_SHIFT_7
648 This is the SGI Indigo2 with R10000 processor. To compile a Linux
649 kernel that runs on these, say Y here.
658 select DMA_NONCOHERENT
661 select R5000_CPU_SCACHE
662 select RM7000_CPU_SCACHE
663 select SYS_HAS_CPU_R5000
664 select SYS_HAS_CPU_R10000 if BROKEN
665 select SYS_HAS_CPU_RM7000
666 select SYS_HAS_CPU_NEVADA
667 select SYS_SUPPORTS_64BIT_KERNEL
668 select SYS_SUPPORTS_BIG_ENDIAN
670 If you want this kernel to run on SGI O2 workstation, say Y here.
673 bool "Sibyte BCM91120C-CRhine"
676 select SIBYTE_BCM1120
678 select SYS_HAS_CPU_SB1
679 select SYS_SUPPORTS_BIG_ENDIAN
680 select SYS_SUPPORTS_LITTLE_ENDIAN
683 bool "Sibyte BCM91120x-Carmel"
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 BCM91125C-CRhone"
696 select SIBYTE_BCM1125
698 select SYS_HAS_CPU_SB1
699 select SYS_SUPPORTS_BIG_ENDIAN
700 select SYS_SUPPORTS_HIGHMEM
701 select SYS_SUPPORTS_LITTLE_ENDIAN
704 bool "Sibyte BCM91125E-Rhone"
707 select SIBYTE_BCM1125H
709 select SYS_HAS_CPU_SB1
710 select SYS_SUPPORTS_BIG_ENDIAN
711 select SYS_SUPPORTS_LITTLE_ENDIAN
714 bool "Sibyte BCM91250A-SWARM"
717 select HAVE_PATA_PLATFORM
720 select SYS_HAS_CPU_SB1
721 select SYS_SUPPORTS_BIG_ENDIAN
722 select SYS_SUPPORTS_HIGHMEM
723 select SYS_SUPPORTS_LITTLE_ENDIAN
724 select ZONE_DMA32 if 64BIT
726 config SIBYTE_LITTLESUR
727 bool "Sibyte BCM91250C2-LittleSur"
730 select HAVE_PATA_PLATFORM
733 select SYS_HAS_CPU_SB1
734 select SYS_SUPPORTS_BIG_ENDIAN
735 select SYS_SUPPORTS_HIGHMEM
736 select SYS_SUPPORTS_LITTLE_ENDIAN
738 config SIBYTE_SENTOSA
739 bool "Sibyte BCM91250E-Sentosa"
744 select SYS_HAS_CPU_SB1
745 select SYS_SUPPORTS_BIG_ENDIAN
746 select SYS_SUPPORTS_LITTLE_ENDIAN
749 bool "Sibyte BCM91480B-BigSur"
752 select NR_CPUS_DEFAULT_4
753 select SIBYTE_BCM1x80
755 select SYS_HAS_CPU_SB1
756 select SYS_SUPPORTS_BIG_ENDIAN
757 select SYS_SUPPORTS_HIGHMEM
758 select SYS_SUPPORTS_LITTLE_ENDIAN
759 select ZONE_DMA32 if 64BIT
762 bool "SNI RM200/300/400"
763 select FW_ARC if CPU_LITTLE_ENDIAN
764 select FW_ARC32 if CPU_LITTLE_ENDIAN
765 select FW_SNIPROM if CPU_BIG_ENDIAN
766 select ARCH_MAY_HAVE_PC_FDC
770 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
771 select DMA_NONCOHERENT
772 select GENERIC_ISA_DMA
773 select HAVE_PCSPKR_PLATFORM
780 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
781 select SYS_HAS_CPU_R4X00
782 select SYS_HAS_CPU_R5000
783 select SYS_HAS_CPU_R10000
784 select R5000_CPU_SCACHE
785 select SYS_HAS_EARLY_PRINTK
786 select SYS_SUPPORTS_32BIT_KERNEL
787 select SYS_SUPPORTS_64BIT_KERNEL
788 select SYS_SUPPORTS_BIG_ENDIAN
789 select SYS_SUPPORTS_HIGHMEM
790 select SYS_SUPPORTS_LITTLE_ENDIAN
792 The SNI RM200/300/400 are MIPS-based machines manufactured by
793 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
794 Technology and now in turn merged with Fujitsu. Say Y here to
795 support this machine type.
798 bool "Toshiba TX39 series based machines"
801 bool "Toshiba TX49 series based machines"
803 config MIKROTIK_RB532
804 bool "Mikrotik RB532 boards"
807 select DMA_NONCOHERENT
810 select SYS_HAS_CPU_MIPS32_R1
811 select SYS_SUPPORTS_32BIT_KERNEL
812 select SYS_SUPPORTS_LITTLE_ENDIAN
815 select ARCH_REQUIRE_GPIOLIB
816 select MIPS_L1_CACHE_SHIFT_4
818 Support the Mikrotik(tm) RouterBoard 532 series,
819 based on the IDT RC32434 SoC.
821 config CAVIUM_OCTEON_SOC
822 bool "Cavium Networks Octeon SoC based boards"
824 select ARCH_PHYS_ADDR_T_64BIT
826 select SYS_SUPPORTS_64BIT_KERNEL
827 select SYS_SUPPORTS_BIG_ENDIAN
829 select SYS_SUPPORTS_LITTLE_ENDIAN
830 select SYS_SUPPORTS_HOTPLUG_CPU if CPU_BIG_ENDIAN
831 select SYS_HAS_EARLY_PRINTK
832 select SYS_HAS_CPU_CAVIUM_OCTEON
837 select ARCH_REQUIRE_GPIOLIB
840 select ARCH_SPARSEMEM_ENABLE
841 select SYS_SUPPORTS_SMP
842 select NR_CPUS_DEFAULT_16
844 select MTD_COMPLEX_MAPPINGS
846 This option supports all of the Octeon reference boards from Cavium
847 Networks. It builds a kernel that dynamically determines the Octeon
848 CPU type and supports all known board reference implementations.
849 Some of the supported boards are:
856 Say Y here for most Octeon reference boards.
859 bool "Netlogic XLR/XLS based systems"
862 select SYS_HAS_CPU_XLR
863 select SYS_SUPPORTS_SMP
866 select SYS_SUPPORTS_32BIT_KERNEL
867 select SYS_SUPPORTS_64BIT_KERNEL
868 select ARCH_PHYS_ADDR_T_64BIT
869 select SYS_SUPPORTS_BIG_ENDIAN
870 select SYS_SUPPORTS_HIGHMEM
872 select NR_CPUS_DEFAULT_32
876 select ZONE_DMA32 if 64BIT
878 select SYS_HAS_EARLY_PRINTK
879 select SYS_SUPPORTS_ZBOOT
880 select SYS_SUPPORTS_ZBOOT_UART16550
882 Support for systems based on Netlogic XLR and XLS processors.
883 Say Y here if you have a XLR or XLS based board.
886 bool "Netlogic XLP based systems"
889 select SYS_HAS_CPU_XLP
890 select SYS_SUPPORTS_SMP
892 select SYS_SUPPORTS_32BIT_KERNEL
893 select SYS_SUPPORTS_64BIT_KERNEL
894 select ARCH_PHYS_ADDR_T_64BIT
895 select SYS_SUPPORTS_BIG_ENDIAN
896 select SYS_SUPPORTS_LITTLE_ENDIAN
897 select SYS_SUPPORTS_HIGHMEM
899 select NR_CPUS_DEFAULT_32
903 select ZONE_DMA32 if 64BIT
905 select SYS_HAS_EARLY_PRINTK
907 select SYS_SUPPORTS_ZBOOT
908 select SYS_SUPPORTS_ZBOOT_UART16550
910 This board is based on Netlogic XLP Processor.
911 Say Y here if you have a XLP based board.
914 bool "Para-Virtualized guest system"
918 select SYS_SUPPORTS_64BIT_KERNEL
919 select SYS_SUPPORTS_32BIT_KERNEL
920 select SYS_SUPPORTS_BIG_ENDIAN
921 select SYS_SUPPORTS_SMP
922 select NR_CPUS_DEFAULT_4
923 select SYS_HAS_EARLY_PRINTK
924 select SYS_HAS_CPU_MIPS32_R2
925 select SYS_HAS_CPU_MIPS64_R2
926 select SYS_HAS_CPU_CAVIUM_OCTEON
930 This option supports guest running under ????
934 source "arch/mips/alchemy/Kconfig"
935 source "arch/mips/ath25/Kconfig"
936 source "arch/mips/ath79/Kconfig"
937 source "arch/mips/bcm47xx/Kconfig"
938 source "arch/mips/bcm63xx/Kconfig"
939 source "arch/mips/bmips/Kconfig"
940 source "arch/mips/jazz/Kconfig"
941 source "arch/mips/jz4740/Kconfig"
942 source "arch/mips/lantiq/Kconfig"
943 source "arch/mips/lasat/Kconfig"
944 source "arch/mips/pmcs-msp71xx/Kconfig"
945 source "arch/mips/ralink/Kconfig"
946 source "arch/mips/sgi-ip27/Kconfig"
947 source "arch/mips/sibyte/Kconfig"
948 source "arch/mips/txx9/Kconfig"
949 source "arch/mips/vr41xx/Kconfig"
950 source "arch/mips/cavium-octeon/Kconfig"
951 source "arch/mips/loongson/Kconfig"
952 source "arch/mips/loongson1/Kconfig"
953 source "arch/mips/netlogic/Kconfig"
954 source "arch/mips/paravirt/Kconfig"
958 config RWSEM_GENERIC_SPINLOCK
962 config RWSEM_XCHGADD_ALGORITHM
965 config ARCH_HAS_ILOG2_U32
969 config ARCH_HAS_ILOG2_U64
973 config GENERIC_HWEIGHT
977 config GENERIC_CALIBRATE_DELAY
981 config SCHED_OMIT_FRAME_POINTER
986 # Select some configuration options automatically based on user selections.
991 config ARCH_MAY_HAVE_PC_FDC
1028 select ARCH_REQUIRE_GPIOLIB
1034 config ARCH_DMA_ADDR_T_64BIT
1035 def_bool (HIGHMEM && ARCH_PHYS_ADDR_T_64BIT) || 64BIT
1037 config DMA_MAYBE_COHERENT
1038 select DMA_NONCOHERENT
1044 config DMA_NONCOHERENT
1046 select NEED_DMA_MAP_STATE
1048 config NEED_DMA_MAP_STATE
1051 config SYS_HAS_EARLY_PRINTK
1055 bool "Support for hot-pluggable CPUs"
1056 depends on SMP && SYS_SUPPORTS_HOTPLUG_CPU
1058 Say Y here to allow turning CPUs off and on. CPUs can be
1059 controlled through /sys/devices/system/cpu.
1060 (Note: power management support will enable this option
1061 automatically on SMP systems. )
1062 Say N if you want to disable CPU hotplug.
1064 config SYS_SUPPORTS_HOTPLUG_CPU
1071 config MIPS_BONITO64
1086 config NO_IOPORT_MAP
1092 config GENERIC_ISA_DMA
1094 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
1097 config GENERIC_ISA_DMA_SUPPORT_BROKEN
1099 select GENERIC_ISA_DMA
1104 config HOLES_IN_ZONE
1108 # Endianness selection. Sufficiently obscure so many users don't know what to
1109 # answer,so we try hard to limit the available choices. Also the use of a
1110 # choice statement should be more obvious to the user.
1113 prompt "Endianness selection"
1115 Some MIPS machines can be configured for either little or big endian
1116 byte order. These modes require different kernels and a different
1117 Linux distribution. In general there is one preferred byteorder for a
1118 particular system but some systems are just as commonly used in the
1119 one or the other endianness.
1121 config CPU_BIG_ENDIAN
1123 depends on SYS_SUPPORTS_BIG_ENDIAN
1125 config CPU_LITTLE_ENDIAN
1126 bool "Little endian"
1127 depends on SYS_SUPPORTS_LITTLE_ENDIAN
1134 config SYS_SUPPORTS_APM_EMULATION
1137 config SYS_SUPPORTS_BIG_ENDIAN
1140 config SYS_SUPPORTS_LITTLE_ENDIAN
1143 config SYS_SUPPORTS_HUGETLBFS
1145 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
1148 config MIPS_HUGE_TLB_SUPPORT
1149 def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE
1166 config PCI_GT64XXX_PCI0
1169 config NO_EXCEPT_FILL
1176 select DMA_NONCOHERENT
1178 select SWAP_IO_SPACE
1179 select SYS_HAS_CPU_R5500
1180 select SYS_SUPPORTS_32BIT_KERNEL
1181 select SYS_SUPPORTS_64BIT_KERNEL
1182 select SYS_SUPPORTS_BIG_ENDIAN
1189 select DMA_NONCOHERENT
1190 select SYS_HAS_CPU_MIPS32_R2
1191 select SYS_SUPPORTS_32BIT_KERNEL
1192 select SYS_SUPPORTS_LITTLE_ENDIAN
1193 select SYS_SUPPORTS_BIG_ENDIAN
1194 select SYS_SUPPORTS_MIPS16
1195 select CPU_MIPSR2_IRQ_VI
1204 config SWAP_IO_SPACE
1207 config SGI_HAS_INDYDOG
1219 config SGI_HAS_ZILOG
1222 config SGI_HAS_I8042
1225 config DEFAULT_SGI_PARTITION
1237 config MIPS_L1_CACHE_SHIFT_4
1240 config MIPS_L1_CACHE_SHIFT_5
1243 config MIPS_L1_CACHE_SHIFT_6
1246 config MIPS_L1_CACHE_SHIFT_7
1249 config MIPS_L1_CACHE_SHIFT
1251 default "7" if MIPS_L1_CACHE_SHIFT_7
1252 default "6" if MIPS_L1_CACHE_SHIFT_6
1253 default "5" if MIPS_L1_CACHE_SHIFT_5
1254 default "4" if MIPS_L1_CACHE_SHIFT_4
1257 config HAVE_STD_PC_SERIAL_PORT
1261 bool "ARC console support"
1262 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
1266 depends on MACH_JAZZ || SNI_RM || SGI_IP32
1271 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
1280 menu "CPU selection"
1286 config CPU_LOONGSON3
1287 bool "Loongson 3 CPU"
1288 depends on SYS_HAS_CPU_LOONGSON3
1289 select CPU_SUPPORTS_64BIT_KERNEL
1290 select CPU_SUPPORTS_HIGHMEM
1291 select CPU_SUPPORTS_HUGEPAGES
1292 select WEAK_ORDERING
1293 select WEAK_REORDERING_BEYOND_LLSC
1294 select ARCH_REQUIRE_GPIOLIB
1296 The Loongson 3 processor implements the MIPS64R2 instruction
1297 set with many extensions.
1299 config CPU_LOONGSON2E
1301 depends on SYS_HAS_CPU_LOONGSON2E
1302 select CPU_LOONGSON2
1304 The Loongson 2E processor implements the MIPS III instruction set
1305 with many extensions.
1307 It has an internal FPGA northbridge, which is compatible to
1310 config CPU_LOONGSON2F
1312 depends on SYS_HAS_CPU_LOONGSON2F
1313 select CPU_LOONGSON2
1314 select ARCH_REQUIRE_GPIOLIB
1316 The Loongson 2F processor implements the MIPS III instruction set
1317 with many extensions.
1319 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1320 have a similar programming interface with FPGA northbridge used in
1323 config CPU_LOONGSON1B
1325 depends on SYS_HAS_CPU_LOONGSON1B
1326 select CPU_LOONGSON1
1328 The Loongson 1B is a 32-bit SoC, which implements the MIPS32
1329 release 2 instruction set.
1331 config CPU_MIPS32_R1
1332 bool "MIPS32 Release 1"
1333 depends on SYS_HAS_CPU_MIPS32_R1
1334 select CPU_HAS_PREFETCH
1335 select CPU_SUPPORTS_32BIT_KERNEL
1336 select CPU_SUPPORTS_HIGHMEM
1338 Choose this option to build a kernel for release 1 or later of the
1339 MIPS32 architecture. Most modern embedded systems with a 32-bit
1340 MIPS processor are based on a MIPS32 processor. If you know the
1341 specific type of processor in your system, choose those that one
1342 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1343 Release 2 of the MIPS32 architecture is available since several
1344 years so chances are you even have a MIPS32 Release 2 processor
1345 in which case you should choose CPU_MIPS32_R2 instead for better
1348 config CPU_MIPS32_R2
1349 bool "MIPS32 Release 2"
1350 depends on SYS_HAS_CPU_MIPS32_R2
1351 select CPU_HAS_PREFETCH
1352 select CPU_SUPPORTS_32BIT_KERNEL
1353 select CPU_SUPPORTS_HIGHMEM
1354 select CPU_SUPPORTS_MSA
1357 Choose this option to build a kernel for release 2 or later of the
1358 MIPS32 architecture. Most modern embedded systems with a 32-bit
1359 MIPS processor are based on a MIPS32 processor. If you know the
1360 specific type of processor in your system, choose those that one
1361 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1363 config CPU_MIPS32_R6
1364 bool "MIPS32 Release 6 (EXPERIMENTAL)"
1365 depends on SYS_HAS_CPU_MIPS32_R6
1366 select CPU_HAS_PREFETCH
1367 select CPU_SUPPORTS_32BIT_KERNEL
1368 select CPU_SUPPORTS_HIGHMEM
1369 select CPU_SUPPORTS_MSA
1372 select MIPS_O32_FP64_SUPPORT
1374 Choose this option to build a kernel for release 6 or later of the
1375 MIPS32 architecture. New MIPS processors, starting with the Warrior
1376 family, are based on a MIPS32r6 processor. If you own an older
1377 processor, you probably need to select MIPS32r1 or MIPS32r2 instead.
1379 config CPU_MIPS64_R1
1380 bool "MIPS64 Release 1"
1381 depends on SYS_HAS_CPU_MIPS64_R1
1382 select CPU_HAS_PREFETCH
1383 select CPU_SUPPORTS_32BIT_KERNEL
1384 select CPU_SUPPORTS_64BIT_KERNEL
1385 select CPU_SUPPORTS_HIGHMEM
1386 select CPU_SUPPORTS_HUGEPAGES
1388 Choose this option to build a kernel for release 1 or later of the
1389 MIPS64 architecture. Many modern embedded systems with a 64-bit
1390 MIPS processor are based on a MIPS64 processor. If you know the
1391 specific type of processor in your system, choose those that one
1392 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1393 Release 2 of the MIPS64 architecture is available since several
1394 years so chances are you even have a MIPS64 Release 2 processor
1395 in which case you should choose CPU_MIPS64_R2 instead for better
1398 config CPU_MIPS64_R2
1399 bool "MIPS64 Release 2"
1400 depends on SYS_HAS_CPU_MIPS64_R2
1401 select CPU_HAS_PREFETCH
1402 select CPU_SUPPORTS_32BIT_KERNEL
1403 select CPU_SUPPORTS_64BIT_KERNEL
1404 select CPU_SUPPORTS_HIGHMEM
1405 select CPU_SUPPORTS_HUGEPAGES
1406 select CPU_SUPPORTS_MSA
1408 Choose this option to build a kernel for release 2 or later of the
1409 MIPS64 architecture. Many modern embedded systems with a 64-bit
1410 MIPS processor are based on a MIPS64 processor. If you know the
1411 specific type of processor in your system, choose those that one
1412 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1414 config CPU_MIPS64_R6
1415 bool "MIPS64 Release 6 (EXPERIMENTAL)"
1416 depends on SYS_HAS_CPU_MIPS64_R6
1417 select CPU_HAS_PREFETCH
1418 select CPU_SUPPORTS_32BIT_KERNEL
1419 select CPU_SUPPORTS_64BIT_KERNEL
1420 select CPU_SUPPORTS_HIGHMEM
1421 select CPU_SUPPORTS_MSA
1424 Choose this option to build a kernel for release 6 or later of the
1425 MIPS64 architecture. New MIPS processors, starting with the Warrior
1426 family, are based on a MIPS64r6 processor. If you own an older
1427 processor, you probably need to select MIPS64r1 or MIPS64r2 instead.
1431 depends on SYS_HAS_CPU_R3000
1433 select CPU_SUPPORTS_32BIT_KERNEL
1434 select CPU_SUPPORTS_HIGHMEM
1436 Please make sure to pick the right CPU type. Linux/MIPS is not
1437 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1438 *not* work on R4000 machines and vice versa. However, since most
1439 of the supported machines have an R4000 (or similar) CPU, R4x00
1440 might be a safe bet. If the resulting kernel does not work,
1441 try to recompile with R3000.
1445 depends on SYS_HAS_CPU_TX39XX
1446 select CPU_SUPPORTS_32BIT_KERNEL
1450 depends on SYS_HAS_CPU_VR41XX
1451 select CPU_SUPPORTS_32BIT_KERNEL
1452 select CPU_SUPPORTS_64BIT_KERNEL
1454 The options selects support for the NEC VR4100 series of processors.
1455 Only choose this option if you have one of these processors as a
1456 kernel built with this option will not run on any other type of
1457 processor or vice versa.
1461 depends on SYS_HAS_CPU_R4300
1462 select CPU_SUPPORTS_32BIT_KERNEL
1463 select CPU_SUPPORTS_64BIT_KERNEL
1465 MIPS Technologies R4300-series processors.
1469 depends on SYS_HAS_CPU_R4X00
1470 select CPU_SUPPORTS_32BIT_KERNEL
1471 select CPU_SUPPORTS_64BIT_KERNEL
1472 select CPU_SUPPORTS_HUGEPAGES
1474 MIPS Technologies R4000-series processors other than 4300, including
1475 the R4000, R4400, R4600, and 4700.
1479 depends on SYS_HAS_CPU_TX49XX
1480 select CPU_HAS_PREFETCH
1481 select CPU_SUPPORTS_32BIT_KERNEL
1482 select CPU_SUPPORTS_64BIT_KERNEL
1483 select CPU_SUPPORTS_HUGEPAGES
1487 depends on SYS_HAS_CPU_R5000
1488 select CPU_SUPPORTS_32BIT_KERNEL
1489 select CPU_SUPPORTS_64BIT_KERNEL
1490 select CPU_SUPPORTS_HUGEPAGES
1492 MIPS Technologies R5000-series processors other than the Nevada.
1496 depends on SYS_HAS_CPU_R5432
1497 select CPU_SUPPORTS_32BIT_KERNEL
1498 select CPU_SUPPORTS_64BIT_KERNEL
1499 select CPU_SUPPORTS_HUGEPAGES
1503 depends on SYS_HAS_CPU_R5500
1504 select CPU_SUPPORTS_32BIT_KERNEL
1505 select CPU_SUPPORTS_64BIT_KERNEL
1506 select CPU_SUPPORTS_HUGEPAGES
1508 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1513 depends on SYS_HAS_CPU_R6000
1514 select CPU_SUPPORTS_32BIT_KERNEL
1516 MIPS Technologies R6000 and R6000A series processors. Note these
1517 processors are extremely rare and the support for them is incomplete.
1521 depends on SYS_HAS_CPU_NEVADA
1522 select CPU_SUPPORTS_32BIT_KERNEL
1523 select CPU_SUPPORTS_64BIT_KERNEL
1524 select CPU_SUPPORTS_HUGEPAGES
1526 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1530 depends on SYS_HAS_CPU_R8000
1531 select CPU_HAS_PREFETCH
1532 select CPU_SUPPORTS_64BIT_KERNEL
1534 MIPS Technologies R8000 processors. Note these processors are
1535 uncommon and the support for them is incomplete.
1539 depends on SYS_HAS_CPU_R10000
1540 select CPU_HAS_PREFETCH
1541 select CPU_SUPPORTS_32BIT_KERNEL
1542 select CPU_SUPPORTS_64BIT_KERNEL
1543 select CPU_SUPPORTS_HIGHMEM
1544 select CPU_SUPPORTS_HUGEPAGES
1546 MIPS Technologies R10000-series processors.
1550 depends on SYS_HAS_CPU_RM7000
1551 select CPU_HAS_PREFETCH
1552 select CPU_SUPPORTS_32BIT_KERNEL
1553 select CPU_SUPPORTS_64BIT_KERNEL
1554 select CPU_SUPPORTS_HIGHMEM
1555 select CPU_SUPPORTS_HUGEPAGES
1559 depends on SYS_HAS_CPU_SB1
1560 select CPU_SUPPORTS_32BIT_KERNEL
1561 select CPU_SUPPORTS_64BIT_KERNEL
1562 select CPU_SUPPORTS_HIGHMEM
1563 select CPU_SUPPORTS_HUGEPAGES
1564 select WEAK_ORDERING
1566 config CPU_CAVIUM_OCTEON
1567 bool "Cavium Octeon processor"
1568 depends on SYS_HAS_CPU_CAVIUM_OCTEON
1569 select CPU_HAS_PREFETCH
1570 select CPU_SUPPORTS_64BIT_KERNEL
1571 select WEAK_ORDERING
1572 select CPU_SUPPORTS_HIGHMEM
1573 select CPU_SUPPORTS_HUGEPAGES
1574 select USB_EHCI_BIG_ENDIAN_MMIO
1575 select MIPS_L1_CACHE_SHIFT_7
1577 The Cavium Octeon processor is a highly integrated chip containing
1578 many ethernet hardware widgets for networking tasks. The processor
1579 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1580 Full details can be found at http://www.caviumnetworks.com.
1583 bool "Broadcom BMIPS"
1584 depends on SYS_HAS_CPU_BMIPS
1586 select CPU_BMIPS32_3300 if SYS_HAS_CPU_BMIPS32_3300
1587 select CPU_BMIPS4350 if SYS_HAS_CPU_BMIPS4350
1588 select CPU_BMIPS4380 if SYS_HAS_CPU_BMIPS4380
1589 select CPU_BMIPS5000 if SYS_HAS_CPU_BMIPS5000
1590 select CPU_SUPPORTS_32BIT_KERNEL
1591 select DMA_NONCOHERENT
1593 select SWAP_IO_SPACE
1594 select WEAK_ORDERING
1595 select CPU_SUPPORTS_HIGHMEM
1596 select CPU_HAS_PREFETCH
1598 Support for BMIPS32/3300/4350/4380 and BMIPS5000 processors.
1601 bool "Netlogic XLR SoC"
1602 depends on SYS_HAS_CPU_XLR
1603 select CPU_SUPPORTS_32BIT_KERNEL
1604 select CPU_SUPPORTS_64BIT_KERNEL
1605 select CPU_SUPPORTS_HIGHMEM
1606 select CPU_SUPPORTS_HUGEPAGES
1607 select WEAK_ORDERING
1608 select WEAK_REORDERING_BEYOND_LLSC
1610 Netlogic Microsystems XLR/XLS processors.
1613 bool "Netlogic XLP SoC"
1614 depends on SYS_HAS_CPU_XLP
1615 select CPU_SUPPORTS_32BIT_KERNEL
1616 select CPU_SUPPORTS_64BIT_KERNEL
1617 select CPU_SUPPORTS_HIGHMEM
1618 select WEAK_ORDERING
1619 select WEAK_REORDERING_BEYOND_LLSC
1620 select CPU_HAS_PREFETCH
1622 select CPU_SUPPORTS_HUGEPAGES
1624 Netlogic Microsystems XLP processors.
1627 config CPU_MIPS32_3_5_FEATURES
1628 bool "MIPS32 Release 3.5 Features"
1629 depends on SYS_HAS_CPU_MIPS32_R3_5
1630 depends on CPU_MIPS32_R2 || CPU_MIPS32_R6
1632 Choose this option to build a kernel for release 2 or later of the
1633 MIPS32 architecture including features from the 3.5 release such as
1634 support for Enhanced Virtual Addressing (EVA).
1636 config CPU_MIPS32_3_5_EVA
1637 bool "Enhanced Virtual Addressing (EVA)"
1638 depends on CPU_MIPS32_3_5_FEATURES
1642 Choose this option if you want to enable the Enhanced Virtual
1643 Addressing (EVA) on your MIPS32 core (such as proAptiv).
1644 One of its primary benefits is an increase in the maximum size
1645 of lowmem (up to 3GB). If unsure, say 'N' here.
1647 config CPU_MIPS32_R5_FEATURES
1648 bool "MIPS32 Release 5 Features"
1649 depends on SYS_HAS_CPU_MIPS32_R5
1650 depends on CPU_MIPS32_R2
1652 Choose this option to build a kernel for release 2 or later of the
1653 MIPS32 architecture including features from release 5 such as
1654 support for Extended Physical Addressing (XPA).
1656 config CPU_MIPS32_R5_XPA
1657 bool "Extended Physical Addressing (XPA)"
1658 depends on CPU_MIPS32_R5_FEATURES
1660 depends on !PAGE_SIZE_4KB
1661 depends on SYS_SUPPORTS_HIGHMEM
1664 select ARCH_PHYS_ADDR_T_64BIT
1667 Choose this option if you want to enable the Extended Physical
1668 Addressing (XPA) on your MIPS32 core (such as P5600 series). The
1669 benefit is to increase physical addressing equal to or greater
1670 than 40 bits. Note that this has the side effect of turning on
1671 64-bit addressing which in turn makes the PTEs 64-bit in size.
1672 If unsure, say 'N' here.
1675 config CPU_NOP_WORKAROUNDS
1678 config CPU_JUMP_WORKAROUNDS
1681 config CPU_LOONGSON2F_WORKAROUNDS
1682 bool "Loongson 2F Workarounds"
1684 select CPU_NOP_WORKAROUNDS
1685 select CPU_JUMP_WORKAROUNDS
1687 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1688 require workarounds. Without workarounds the system may hang
1689 unexpectedly. For more information please refer to the gas
1690 -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1692 Loongson 2F03 and later have fixed these issues and no workarounds
1693 are needed. The workarounds have no significant side effect on them
1694 but may decrease the performance of the system so this option should
1695 be disabled unless the kernel is intended to be run on 2F01 or 2F02
1698 If unsure, please say Y.
1699 endif # CPU_LOONGSON2F
1701 config SYS_SUPPORTS_ZBOOT
1703 select HAVE_KERNEL_GZIP
1704 select HAVE_KERNEL_BZIP2
1705 select HAVE_KERNEL_LZ4
1706 select HAVE_KERNEL_LZMA
1707 select HAVE_KERNEL_LZO
1708 select HAVE_KERNEL_XZ
1710 config SYS_SUPPORTS_ZBOOT_UART16550
1712 select SYS_SUPPORTS_ZBOOT
1714 config CPU_LOONGSON2
1716 select CPU_SUPPORTS_32BIT_KERNEL
1717 select CPU_SUPPORTS_64BIT_KERNEL
1718 select CPU_SUPPORTS_HIGHMEM
1719 select CPU_SUPPORTS_HUGEPAGES
1721 config CPU_LOONGSON1
1725 select CPU_HAS_PREFETCH
1726 select CPU_SUPPORTS_32BIT_KERNEL
1727 select CPU_SUPPORTS_HIGHMEM
1728 select CPU_SUPPORTS_CPUFREQ
1730 config CPU_BMIPS32_3300
1731 select SMP_UP if SMP
1734 config CPU_BMIPS4350
1736 select SYS_SUPPORTS_SMP
1737 select SYS_SUPPORTS_HOTPLUG_CPU
1739 config CPU_BMIPS4380
1741 select MIPS_L1_CACHE_SHIFT_6
1742 select SYS_SUPPORTS_SMP
1743 select SYS_SUPPORTS_HOTPLUG_CPU
1745 config CPU_BMIPS5000
1747 select MIPS_CPU_SCACHE
1748 select MIPS_L1_CACHE_SHIFT_7
1749 select SYS_SUPPORTS_SMP
1750 select SYS_SUPPORTS_HOTPLUG_CPU
1752 config SYS_HAS_CPU_LOONGSON3
1754 select CPU_SUPPORTS_CPUFREQ
1756 config SYS_HAS_CPU_LOONGSON2E
1759 config SYS_HAS_CPU_LOONGSON2F
1761 select CPU_SUPPORTS_CPUFREQ
1762 select CPU_SUPPORTS_ADDRWINCFG if 64BIT
1763 select CPU_SUPPORTS_UNCACHED_ACCELERATED
1765 config SYS_HAS_CPU_LOONGSON1B
1768 config SYS_HAS_CPU_MIPS32_R1
1771 config SYS_HAS_CPU_MIPS32_R2
1774 config SYS_HAS_CPU_MIPS32_R3_5
1777 config SYS_HAS_CPU_MIPS32_R5
1780 config SYS_HAS_CPU_MIPS32_R6
1783 config SYS_HAS_CPU_MIPS64_R1
1786 config SYS_HAS_CPU_MIPS64_R2
1789 config SYS_HAS_CPU_MIPS64_R6
1792 config SYS_HAS_CPU_R3000
1795 config SYS_HAS_CPU_TX39XX
1798 config SYS_HAS_CPU_VR41XX
1801 config SYS_HAS_CPU_R4300
1804 config SYS_HAS_CPU_R4X00
1807 config SYS_HAS_CPU_TX49XX
1810 config SYS_HAS_CPU_R5000
1813 config SYS_HAS_CPU_R5432
1816 config SYS_HAS_CPU_R5500
1819 config SYS_HAS_CPU_R6000
1822 config SYS_HAS_CPU_NEVADA
1825 config SYS_HAS_CPU_R8000
1828 config SYS_HAS_CPU_R10000
1831 config SYS_HAS_CPU_RM7000
1834 config SYS_HAS_CPU_SB1
1837 config SYS_HAS_CPU_CAVIUM_OCTEON
1840 config SYS_HAS_CPU_BMIPS
1843 config SYS_HAS_CPU_BMIPS32_3300
1845 select SYS_HAS_CPU_BMIPS
1847 config SYS_HAS_CPU_BMIPS4350
1849 select SYS_HAS_CPU_BMIPS
1851 config SYS_HAS_CPU_BMIPS4380
1853 select SYS_HAS_CPU_BMIPS
1855 config SYS_HAS_CPU_BMIPS5000
1857 select SYS_HAS_CPU_BMIPS
1859 config SYS_HAS_CPU_XLR
1862 config SYS_HAS_CPU_XLP
1865 config MIPS_MALTA_PM
1866 depends on MIPS_MALTA
1872 # CPU may reorder R->R, R->W, W->R, W->W
1873 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1875 config WEAK_ORDERING
1879 # CPU may reorder reads and writes beyond LL/SC
1880 # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1882 config WEAK_REORDERING_BEYOND_LLSC
1887 # These two indicate any level of the MIPS32 and MIPS64 architecture
1891 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
1895 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
1898 # These two indicate the revision of the architecture, either Release 1 or Release 2
1902 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1906 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1911 default y if CPU_MIPS32_R6 || CPU_MIPS64_R6
1920 config SYS_SUPPORTS_32BIT_KERNEL
1922 config SYS_SUPPORTS_64BIT_KERNEL
1924 config CPU_SUPPORTS_32BIT_KERNEL
1926 config CPU_SUPPORTS_64BIT_KERNEL
1928 config CPU_SUPPORTS_CPUFREQ
1930 config CPU_SUPPORTS_ADDRWINCFG
1932 config CPU_SUPPORTS_HUGEPAGES
1934 config CPU_SUPPORTS_UNCACHED_ACCELERATED
1936 config MIPS_PGD_C0_CONTEXT
1938 default y if 64BIT && CPU_MIPSR2 && !CPU_XLP
1941 # Set to y for ptrace access to watch registers.
1943 config HARDWARE_WATCHPOINTS
1945 default y if CPU_MIPSR1 || CPU_MIPSR2
1950 prompt "Kernel code model"
1952 You should only select this option if you have a workload that
1953 actually benefits from 64-bit processing or if your machine has
1954 large memory. You will only be presented a single option in this
1955 menu if your system does not support both 32-bit and 64-bit kernels.
1958 bool "32-bit kernel"
1959 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1962 Select this option if you want to build a 32-bit kernel.
1964 bool "64-bit kernel"
1965 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1967 Select this option if you want to build a 64-bit kernel.
1972 bool "KVM Guest Kernel"
1973 depends on BROKEN_ON_SMP
1975 Select this option if building a guest kernel for KVM (Trap & Emulate) mode
1977 config KVM_GUEST_TIMER_FREQ
1978 int "Count/Compare Timer Frequency (MHz)"
1979 depends on KVM_GUEST
1982 Set this to non-zero if building a guest kernel for KVM to skip RTC
1983 emulation when determining guest CPU Frequency. Instead, the guest's
1984 timer frequency is specified directly.
1987 prompt "Kernel page size"
1988 default PAGE_SIZE_4KB
1990 config PAGE_SIZE_4KB
1992 depends on !CPU_LOONGSON2 && !CPU_LOONGSON3
1994 This option select the standard 4kB Linux page size. On some
1995 R3000-family processors this is the only available page size. Using
1996 4kB page size will minimize memory consumption and is therefore
1997 recommended for low memory systems.
1999 config PAGE_SIZE_8KB
2001 depends on CPU_R8000 || CPU_CAVIUM_OCTEON
2003 Using 8kB page size will result in higher performance kernel at
2004 the price of higher memory consumption. This option is available
2005 only on R8000 and cnMIPS processors. Note that you will need a
2006 suitable Linux distribution to support this.
2008 config PAGE_SIZE_16KB
2010 depends on !CPU_R3000 && !CPU_TX39XX
2012 Using 16kB page size will result in higher performance kernel at
2013 the price of higher memory consumption. This option is available on
2014 all non-R3000 family processors. Note that you will need a suitable
2015 Linux distribution to support this.
2017 config PAGE_SIZE_32KB
2019 depends on CPU_CAVIUM_OCTEON
2021 Using 32kB page size will result in higher performance kernel at
2022 the price of higher memory consumption. This option is available
2023 only on cnMIPS cores. Note that you will need a suitable Linux
2024 distribution to support this.
2026 config PAGE_SIZE_64KB
2028 depends on !CPU_R3000 && !CPU_TX39XX
2030 Using 64kB page size will result in higher performance kernel at
2031 the price of higher memory consumption. This option is available on
2032 all non-R3000 family processor. Not that at the time of this
2033 writing this option is still high experimental.
2037 config FORCE_MAX_ZONEORDER
2038 int "Maximum zone order"
2039 range 14 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB
2040 default "14" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB
2041 range 13 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB
2042 default "13" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB
2043 range 12 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB
2044 default "12" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB
2048 The kernel memory allocator divides physically contiguous memory
2049 blocks into "zones", where each zone is a power of two number of
2050 pages. This option selects the largest power of two that the kernel
2051 keeps in the memory allocator. If you need to allocate very large
2052 blocks of physically contiguous memory, then you may need to
2053 increase this value.
2055 This config option is actually maximum order plus one. For example,
2056 a value of 11 means that the largest free memory block is 2^10 pages.
2058 The page size is not necessarily 4KB. Keep this in mind
2059 when choosing a value for this option.
2064 config IP22_CPU_SCACHE
2069 # Support for a MIPS32 / MIPS64 style S-caches
2071 config MIPS_CPU_SCACHE
2075 config R5000_CPU_SCACHE
2079 config RM7000_CPU_SCACHE
2083 config SIBYTE_DMA_PAGEOPS
2084 bool "Use DMA to clear/copy pages"
2087 Instead of using the CPU to zero and copy pages, use a Data Mover
2088 channel. These DMA channels are otherwise unused by the standard
2089 SiByte Linux port. Seems to give a small performance benefit.
2091 config CPU_HAS_PREFETCH
2094 config CPU_GENERIC_DUMP_TLB
2096 default y if !(CPU_R3000 || CPU_R6000 || CPU_R8000 || CPU_TX39XX)
2100 default y if !(CPU_R3000 || CPU_R6000 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
2102 config CPU_R4K_CACHE_TLB
2104 default y if !(CPU_R3000 || CPU_R8000 || CPU_SB1 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
2107 bool "MIPS MT SMP support (1 TC on each available VPE)"
2108 depends on SYS_SUPPORTS_MULTITHREADING
2109 select CPU_MIPSR2_IRQ_VI
2110 select CPU_MIPSR2_IRQ_EI
2116 select SYS_SUPPORTS_SMP
2117 select SYS_SUPPORTS_SCHED_SMT
2118 select MIPS_PERF_SHARED_TC_COUNTERS
2120 This is a kernel model which is known as SMVP. This is supported
2121 on cores with the MT ASE and uses the available VPEs to implement
2122 virtual processors which supports SMP. This is equivalent to the
2123 Intel Hyperthreading feature. For further information go to
2124 <http://www.imgtec.com/mips/mips-multithreading.asp>.
2130 bool "SMT (multithreading) scheduler support"
2131 depends on SYS_SUPPORTS_SCHED_SMT
2134 SMT scheduler support improves the CPU scheduler's decision making
2135 when dealing with MIPS MT enabled cores at a cost of slightly
2136 increased overhead in some places. If unsure say N here.
2138 config SYS_SUPPORTS_SCHED_SMT
2141 config SYS_SUPPORTS_MULTITHREADING
2144 config MIPS_MT_FPAFF
2145 bool "Dynamic FPU affinity for FP-intensive threads"
2147 depends on MIPS_MT_SMP
2149 config MIPSR2_TO_R6_EMULATOR
2150 bool "MIPS R2-to-R6 emulator"
2151 depends on CPU_MIPSR6 && !SMP
2154 Choose this option if you want to run non-R6 MIPS userland code.
2155 Even if you say 'Y' here, the emulator will still be disabled by
2156 default. You can enable it using the 'mipsr2emu' kernel option.
2157 The only reason this is a build-time option is to save ~14K from the
2159 comment "MIPS R2-to-R6 emulator is only available for UP kernels"
2160 depends on SMP && CPU_MIPSR6
2162 config MIPS_VPE_LOADER
2163 bool "VPE loader support."
2164 depends on SYS_SUPPORTS_MULTITHREADING && MODULES
2165 select CPU_MIPSR2_IRQ_VI
2166 select CPU_MIPSR2_IRQ_EI
2169 Includes a loader for loading an elf relocatable object
2170 onto another VPE and running it.
2172 config MIPS_VPE_LOADER_CMP
2175 depends on MIPS_VPE_LOADER && MIPS_CMP
2177 config MIPS_VPE_LOADER_MT
2180 depends on MIPS_VPE_LOADER && !MIPS_CMP
2182 config MIPS_VPE_LOADER_TOM
2183 bool "Load VPE program into memory hidden from linux"
2184 depends on MIPS_VPE_LOADER
2187 The loader can use memory that is present but has been hidden from
2188 Linux using the kernel command line option "mem=xxMB". It's up to
2189 you to ensure the amount you put in the option and the space your
2190 program requires is less or equal to the amount physically present.
2192 config MIPS_VPE_APSP_API
2193 bool "Enable support for AP/SP API (RTLX)"
2194 depends on MIPS_VPE_LOADER
2197 config MIPS_VPE_APSP_API_CMP
2200 depends on MIPS_VPE_APSP_API && MIPS_CMP
2202 config MIPS_VPE_APSP_API_MT
2205 depends on MIPS_VPE_APSP_API && !MIPS_CMP
2208 bool "MIPS CMP framework support (DEPRECATED)"
2209 depends on SYS_SUPPORTS_MIPS_CMP
2213 select SYS_SUPPORTS_SMP
2214 select WEAK_ORDERING
2217 Select this if you are using a bootloader which implements the "CMP
2218 framework" protocol (ie. YAMON) and want your kernel to make use of
2219 its ability to start secondary CPUs.
2221 Unless you have a specific need, you should use CONFIG_MIPS_CPS
2225 bool "MIPS Coherent Processing System support"
2226 depends on SYS_SUPPORTS_MIPS_CPS && !64BIT
2229 select MIPS_CPS_PM if HOTPLUG_CPU
2232 select SYNC_R4K if (CEVT_R4K || CSRC_R4K)
2233 select SYS_SUPPORTS_HOTPLUG_CPU
2234 select SYS_SUPPORTS_SMP
2235 select WEAK_ORDERING
2237 Select this if you wish to run an SMP kernel across multiple cores
2238 within a MIPS Coherent Processing System. When this option is
2239 enabled the kernel will probe for other cores and boot them with
2240 no external assistance. It is safe to enable this when hardware
2241 support is unavailable.
2257 config SB1_PASS_1_WORKAROUNDS
2259 depends on CPU_SB1_PASS_1
2262 config SB1_PASS_2_WORKAROUNDS
2264 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
2267 config SB1_PASS_2_1_WORKAROUNDS
2269 depends on CPU_SB1 && CPU_SB1_PASS_2
2273 config ARCH_PHYS_ADDR_T_64BIT
2277 prompt "SmartMIPS or microMIPS ASE support"
2279 config CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS
2282 Select this if you want neither microMIPS nor SmartMIPS support
2284 config CPU_HAS_SMARTMIPS
2285 depends on SYS_SUPPORTS_SMARTMIPS
2288 SmartMIPS is a extension of the MIPS32 architecture aimed at
2289 increased security at both hardware and software level for
2290 smartcards. Enabling this option will allow proper use of the
2291 SmartMIPS instructions by Linux applications. However a kernel with
2292 this option will not work on a MIPS core without SmartMIPS core. If
2293 you don't know you probably don't have SmartMIPS and should say N
2296 config CPU_MICROMIPS
2297 depends on 32BIT && SYS_SUPPORTS_MICROMIPS && !CPU_MIPSR6
2300 When this option is enabled the kernel will be built using the
2306 bool "Support for the MIPS SIMD Architecture (EXPERIMENTAL)"
2307 depends on CPU_SUPPORTS_MSA
2308 depends on 64BIT || MIPS_O32_FP64_SUPPORT
2310 MIPS SIMD Architecture (MSA) introduces 128 bit wide vector registers
2311 and a set of SIMD instructions to operate on them. When this option
2312 is enabled the kernel will support allocating & switching MSA
2313 vector register contexts. If you know that your kernel will only be
2314 running on CPUs which do not support MSA or that your userland will
2315 not be making use of it then you may wish to say N here to reduce
2316 the size & complexity of your kernel.
2327 # Vectored interrupt mode is an R2 feature
2329 config CPU_MIPSR2_IRQ_VI
2333 # Extended interrupt mode is an R2 feature
2335 config CPU_MIPSR2_IRQ_EI
2340 depends on !CPU_R3000
2346 config CPU_DADDI_WORKAROUNDS
2349 config CPU_R4000_WORKAROUNDS
2351 select CPU_R4400_WORKAROUNDS
2353 config CPU_R4400_WORKAROUNDS
2357 # - Highmem only makes sense for the 32-bit kernel.
2358 # - The current highmem code will only work properly on physically indexed
2359 # caches such as R3000, SB1, R7000 or those that look like they're virtually
2360 # indexed such as R4000/R4400 SC and MC versions or R10000. So for the
2361 # moment we protect the user and offer the highmem option only on machines
2362 # where it's known to be safe. This will not offer highmem on a few systems
2363 # such as MIPS32 and MIPS64 CPUs which may have virtual and physically
2364 # indexed CPUs but we're playing safe.
2365 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
2366 # know they might have memory configurations that could make use of highmem
2370 bool "High Memory Support"
2371 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM && !CPU_MIPS32_3_5_EVA
2373 config CPU_SUPPORTS_HIGHMEM
2376 config SYS_SUPPORTS_HIGHMEM
2379 config SYS_SUPPORTS_SMARTMIPS
2382 config SYS_SUPPORTS_MICROMIPS
2385 config SYS_SUPPORTS_MIPS16
2388 This option must be set if a kernel might be executed on a MIPS16-
2389 enabled CPU even if MIPS16 is not actually being used. In other
2390 words, it makes the kernel MIPS16-tolerant.
2392 config CPU_SUPPORTS_MSA
2395 config ARCH_FLATMEM_ENABLE
2397 depends on !NUMA && !CPU_LOONGSON2
2399 config ARCH_DISCONTIGMEM_ENABLE
2401 default y if SGI_IP27
2403 Say Y to support efficient handling of discontiguous physical memory,
2404 for architectures which are either NUMA (Non-Uniform Memory Access)
2405 or have huge holes in the physical address space for other reasons.
2406 See <file:Documentation/vm/numa> for more.
2408 config ARCH_SPARSEMEM_ENABLE
2410 select SPARSEMEM_STATIC
2414 depends on SYS_SUPPORTS_NUMA
2416 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
2417 Access). This option improves performance on systems with more
2418 than two nodes; on two node systems it is generally better to
2419 leave it disabled; on single node systems disable this option
2422 config SYS_SUPPORTS_NUMA
2428 depends on NEED_MULTIPLE_NODES
2430 config HW_PERF_EVENTS
2431 bool "Enable hardware performance counter support for perf events"
2432 depends on PERF_EVENTS && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP || CPU_LOONGSON3)
2435 Enable hardware performance counter support for perf events. If
2436 disabled, perf events will use software events only.
2441 bool "Multi-Processing support"
2442 depends on SYS_SUPPORTS_SMP
2444 This enables support for systems with more than one CPU. If you have
2445 a system with only one CPU, say N. If you have a system with more
2446 than one CPU, say Y.
2448 If you say N here, the kernel will run on uni- and multiprocessor
2449 machines, but will use only one CPU of a multiprocessor machine. If
2450 you say Y here, the kernel will run on many, but not all,
2451 uniprocessor machines. On a uniprocessor machine, the kernel
2452 will run faster if you say N here.
2454 People using multiprocessor machines who say Y here should also say
2455 Y to "Enhanced Real Time Clock Support", below.
2457 See also the SMP-HOWTO available at
2458 <http://www.tldp.org/docs.html#howto>.
2460 If you don't know what to do here, say N.
2465 config SYS_SUPPORTS_MIPS_CMP
2468 config SYS_SUPPORTS_MIPS_CPS
2471 config SYS_SUPPORTS_SMP
2474 config NR_CPUS_DEFAULT_4
2477 config NR_CPUS_DEFAULT_8
2480 config NR_CPUS_DEFAULT_16
2483 config NR_CPUS_DEFAULT_32
2486 config NR_CPUS_DEFAULT_64
2490 int "Maximum number of CPUs (2-256)"
2493 default "4" if NR_CPUS_DEFAULT_4
2494 default "8" if NR_CPUS_DEFAULT_8
2495 default "16" if NR_CPUS_DEFAULT_16
2496 default "32" if NR_CPUS_DEFAULT_32
2497 default "64" if NR_CPUS_DEFAULT_64
2499 This allows you to specify the maximum number of CPUs which this
2500 kernel will support. The maximum supported value is 32 for 32-bit
2501 kernel and 64 for 64-bit kernels; the minimum value which makes
2502 sense is 1 for Qemu (useful only for kernel debugging purposes)
2503 and 2 for all others.
2505 This is purely to save memory - each supported CPU adds
2506 approximately eight kilobytes to the kernel image. For best
2507 performance should round up your number of processors to the next
2510 config MIPS_PERF_SHARED_TC_COUNTERS
2514 # Timer Interrupt Frequency Configuration
2518 prompt "Timer frequency"
2521 Allows the configuration of the timer frequency.
2524 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
2527 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
2530 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
2533 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
2536 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
2539 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
2542 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2546 config SYS_SUPPORTS_48HZ
2549 config SYS_SUPPORTS_100HZ
2552 config SYS_SUPPORTS_128HZ
2555 config SYS_SUPPORTS_250HZ
2558 config SYS_SUPPORTS_256HZ
2561 config SYS_SUPPORTS_1000HZ
2564 config SYS_SUPPORTS_1024HZ
2567 config SYS_SUPPORTS_ARBIT_HZ
2569 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2570 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2571 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2572 !SYS_SUPPORTS_1024HZ
2577 default 100 if HZ_100
2578 default 128 if HZ_128
2579 default 250 if HZ_250
2580 default 256 if HZ_256
2581 default 1000 if HZ_1000
2582 default 1024 if HZ_1024
2585 def_bool HIGH_RES_TIMERS
2587 source "kernel/Kconfig.preempt"
2590 bool "Kexec system call"
2592 kexec is a system call that implements the ability to shutdown your
2593 current kernel, and to start another kernel. It is like a reboot
2594 but it is independent of the system firmware. And like a reboot
2595 you can start any kernel with it, not just Linux.
2597 The name comes from the similarity to the exec system call.
2599 It is an ongoing process to be certain the hardware in a machine
2600 is properly shutdown, so do not be surprised if this code does not
2601 initially work for you. As of this writing the exact hardware
2602 interface is strongly in flux, so no good recommendation can be
2606 bool "Kernel crash dumps"
2608 Generate crash dump after being started by kexec.
2609 This should be normally only set in special crash dump kernels
2610 which are loaded in the main kernel with kexec-tools into
2611 a specially reserved region and then later executed after
2612 a crash by kdump/kexec. The crash dump kernel must be compiled
2613 to a memory address not used by the main kernel or firmware using
2616 config PHYSICAL_START
2617 hex "Physical address where the kernel is loaded"
2618 default "0xffffffff84000000" if 64BIT
2619 default "0x84000000" if 32BIT
2620 depends on CRASH_DUMP
2622 This gives the CKSEG0 or KSEG0 address where the kernel is loaded.
2623 If you plan to use kernel for capturing the crash dump change
2624 this value to start of the reserved region (the "X" value as
2625 specified in the "crashkernel=YM@XM" command line boot parameter
2626 passed to the panic-ed kernel).
2629 bool "Enable seccomp to safely compute untrusted bytecode"
2633 This kernel feature is useful for number crunching applications
2634 that may need to compute untrusted bytecode during their
2635 execution. By using pipes or other transports made available to
2636 the process as file descriptors supporting the read/write
2637 syscalls, it's possible to isolate those applications in
2638 their own address space using seccomp. Once seccomp is
2639 enabled via /proc/<pid>/seccomp, it cannot be disabled
2640 and the task is only allowed to execute a few safe syscalls
2641 defined by each seccomp mode.
2643 If unsure, say Y. Only embedded should say N here.
2645 config MIPS_O32_FP64_SUPPORT
2646 bool "Support for O32 binaries using 64-bit FP (EXPERIMENTAL)"
2647 depends on 32BIT || MIPS32_O32
2649 When this is enabled, the kernel will support use of 64-bit floating
2650 point registers with binaries using the O32 ABI along with the
2651 EF_MIPS_FP64 ELF header flag (typically built with -mfp64). On
2652 32-bit MIPS systems this support is at the cost of increasing the
2653 size and complexity of the compiled FPU emulator. Thus if you are
2654 running a MIPS32 system and know that none of your userland binaries
2655 will require 64-bit floating point, you may wish to reduce the size
2656 of your kernel & potentially improve FP emulation performance by
2659 Although binutils currently supports use of this flag the details
2660 concerning its effect upon the O32 ABI in userland are still being
2661 worked on. In order to avoid userland becoming dependant upon current
2662 behaviour before the details have been finalised, this option should
2663 be considered experimental and only enabled by those working upon
2671 select OF_EARLY_FLATTREE
2679 config LOCKDEP_SUPPORT
2683 config STACKTRACE_SUPPORT
2687 config PGTABLE_LEVELS
2689 default 3 if 64BIT && !PAGE_SIZE_64KB
2692 source "init/Kconfig"
2694 source "kernel/Kconfig.freezer"
2696 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2704 bool "Support for PCI controller"
2705 depends on HW_HAS_PCI
2707 select NO_GENERIC_PCI_IOPORT_MAP
2709 Find out whether you have a PCI motherboard. PCI is the name of a
2710 bus system, i.e. the way the CPU talks to the other stuff inside
2711 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2715 bool "Support for HT-linked PCI"
2717 depends on CPU_LOONGSON3
2721 Loongson family machines use Hyper-Transport bus for inter-core
2722 connection and device connection. The PCI bus is a subordinate
2723 linked at HT. Choose Y for Loongson-3 based machines.
2728 source "drivers/pci/Kconfig"
2730 source "drivers/pci/pcie/Kconfig"
2733 # ISA support is now enabled via select. Too many systems still have the one
2734 # or other ISA chip on the board that users don't know about so don't expect
2735 # users to choose the right thing ...
2742 depends on HW_HAS_EISA
2744 select GENERIC_ISA_DMA
2746 The Extended Industry Standard Architecture (EISA) bus was
2747 developed as an open alternative to the IBM MicroChannel bus.
2749 The EISA bus provided some of the features of the IBM MicroChannel
2750 bus while maintaining backward compatibility with cards made for
2751 the older ISA bus. The EISA bus saw limited use between 1988 and
2752 1995 when it was made obsolete by the PCI bus.
2754 Say Y here if you are building a kernel for an EISA-based machine.
2758 source "drivers/eisa/Kconfig"
2761 bool "TURBOchannel support"
2762 depends on MACH_DECSTATION
2764 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2765 processors. TURBOchannel programming specifications are available
2767 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
2769 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
2770 Linux driver support status is documented at:
2771 <http://www.linux-mips.org/wiki/DECstation>
2781 select MIPS_EXTERNAL_TIMER
2789 source "drivers/pcmcia/Kconfig"
2791 source "drivers/pci/hotplug/Kconfig"
2794 tristate "RapidIO support"
2798 If you say Y here, the kernel will include drivers and
2799 infrastructure code to support RapidIO interconnect devices.
2801 source "drivers/rapidio/Kconfig"
2805 menu "Executable file formats"
2807 source "fs/Kconfig.binfmt"
2812 config MIPS32_COMPAT
2818 config SYSVIPC_COMPAT
2822 bool "Kernel support for o32 binaries"
2824 select ARCH_WANT_OLD_COMPAT_IPC
2826 select MIPS32_COMPAT
2827 select SYSVIPC_COMPAT if SYSVIPC
2829 Select this option if you want to run o32 binaries. These are pure
2830 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2831 existing binaries are in this format.
2836 bool "Kernel support for n32 binaries"
2839 select MIPS32_COMPAT
2840 select SYSVIPC_COMPAT if SYSVIPC
2842 Select this option if you want to run n32 binaries. These are
2843 64-bit binaries using 32-bit quantities for addressing and certain
2844 data that would normally be 64-bit. They are used in special
2851 default y if MIPS32_O32 || MIPS32_N32
2855 menu "Power management options"
2857 config ARCH_HIBERNATION_POSSIBLE
2859 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2861 config ARCH_SUSPEND_POSSIBLE
2863 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2865 source "kernel/power/Kconfig"
2869 config MIPS_EXTERNAL_TIMER
2872 menu "CPU Power Management"
2874 if CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER
2875 source "drivers/cpufreq/Kconfig"
2878 source "drivers/cpuidle/Kconfig"
2882 source "net/Kconfig"
2884 source "drivers/Kconfig"
2886 source "drivers/firmware/Kconfig"
2890 source "arch/mips/Kconfig.debug"
2892 source "security/Kconfig"
2894 source "crypto/Kconfig"
2896 source "lib/Kconfig"
2898 source "arch/mips/kvm/Kconfig"