4 select HAVE_GENERIC_DMA_COHERENT
8 select HAVE_FUNCTION_TRACER
9 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
10 select HAVE_DYNAMIC_FTRACE
11 select HAVE_FTRACE_MCOUNT_RECORD
12 select HAVE_FUNCTION_GRAPH_TRACER
13 select RTC_LIB if !MACH_LOONGSON
15 mainmenu "Linux/MIPS Kernel Configuration"
17 menu "Machine selection"
27 bool "Alchemy processor based machines"
28 select SYS_SUPPORTS_ZBOOT
31 bool "Texas Instruments AR7"
33 select DMA_NONCOHERENT
39 select SYS_HAS_CPU_MIPS32_R1
40 select SYS_HAS_EARLY_PRINTK
41 select SYS_SUPPORTS_32BIT_KERNEL
42 select SYS_SUPPORTS_LITTLE_ENDIAN
43 select SYS_SUPPORTS_ZBOOT_UART16550
44 select ARCH_REQUIRE_GPIOLIB
48 Support for the Texas Instruments AR7 System-on-a-Chip
49 family: TNETD7100, 7200 and 7300.
52 bool "Broadcom BCM47XX based boards"
55 select DMA_NONCOHERENT
58 select SYS_HAS_CPU_MIPS32_R1
59 select SYS_SUPPORTS_32BIT_KERNEL
60 select SYS_SUPPORTS_LITTLE_ENDIAN
62 select SSB_DRIVER_MIPS
63 select SSB_DRIVER_EXTIF
65 select SSB_B43_PCI_BRIDGE if PCI
66 select SSB_PCICORE_HOSTMODE if PCI
68 select SYS_HAS_EARLY_PRINTK
71 Support for BCM47XX based boards
74 bool "Broadcom BCM63XX based boards"
77 select DMA_NONCOHERENT
79 select SYS_HAS_CPU_MIPS32_R1
80 select SYS_SUPPORTS_32BIT_KERNEL
81 select SYS_SUPPORTS_BIG_ENDIAN
82 select SYS_HAS_EARLY_PRINTK
84 select ARCH_REQUIRE_GPIOLIB
86 Support for BCM63XX based boards
93 select DMA_NONCOHERENT
99 select PCI_GT64XXX_PCI0
101 select SYS_HAS_CPU_NEVADA
102 select SYS_HAS_EARLY_PRINTK
103 select SYS_SUPPORTS_32BIT_KERNEL
104 select SYS_SUPPORTS_64BIT_KERNEL
105 select SYS_SUPPORTS_LITTLE_ENDIAN
107 config MACH_DECSTATION
114 select CPU_DADDI_WORKAROUNDS if 64BIT
115 select CPU_R4000_WORKAROUNDS if 64BIT
116 select CPU_R4400_WORKAROUNDS if 64BIT
117 select DMA_NONCOHERENT
120 select SYS_HAS_CPU_R3000
121 select SYS_HAS_CPU_R4X00
122 select SYS_SUPPORTS_32BIT_KERNEL
123 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
124 select SYS_SUPPORTS_LITTLE_ENDIAN
125 select SYS_SUPPORTS_128HZ
126 select SYS_SUPPORTS_256HZ
127 select SYS_SUPPORTS_1024HZ
129 This enables support for DEC's MIPS based workstations. For details
130 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
131 DECstation porting pages on <http://decstation.unix-ag.org/>.
133 If you have one of the following DECstation Models you definitely
134 want to choose R4xx0 for the CPU Type:
141 otherwise choose R3000.
144 bool "Jazz family of machines"
147 select ARCH_MAY_HAVE_PC_FDC
150 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
151 select GENERIC_ISA_DMA
156 select SYS_HAS_CPU_R4X00
157 select SYS_SUPPORTS_32BIT_KERNEL
158 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
159 select SYS_SUPPORTS_100HZ
161 This a family of machines based on the MIPS R4030 chipset which was
162 used by several vendors to build RISC/os and Windows NT workstations.
163 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
164 Olivetti M700-10 workstations.
167 bool "LASAT Networks platforms"
170 select DMA_NONCOHERENT
171 select SYS_HAS_EARLY_PRINTK
174 select PCI_GT64XXX_PCI0
176 select R5000_CPU_SCACHE
177 select SYS_HAS_CPU_R5000
178 select SYS_SUPPORTS_32BIT_KERNEL
179 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
180 select SYS_SUPPORTS_LITTLE_ENDIAN
183 bool "Loongson family of machines"
184 select SYS_SUPPORTS_ZBOOT
186 This enables the support of Loongson family of machines.
188 Loongson is a family of general-purpose MIPS-compatible CPUs.
189 developed at Institute of Computing Technology (ICT),
190 Chinese Academy of Sciences (CAS) in the People's Republic
191 of China. The chief architect is Professor Weiwu Hu.
194 bool "MIPS Malta board"
195 select ARCH_MAY_HAVE_PC_FDC
200 select DMA_NONCOHERENT
201 select GENERIC_ISA_DMA
207 select MIPS_BOARDS_GEN
209 select MIPS_CPU_SCACHE
210 select PCI_GT64XXX_PCI0
213 select SYS_HAS_CPU_MIPS32_R1
214 select SYS_HAS_CPU_MIPS32_R2
215 select SYS_HAS_CPU_MIPS64_R1
216 select SYS_HAS_CPU_NEVADA
217 select SYS_HAS_CPU_RM7000
218 select SYS_HAS_EARLY_PRINTK
219 select SYS_SUPPORTS_32BIT_KERNEL
220 select SYS_SUPPORTS_64BIT_KERNEL
221 select SYS_SUPPORTS_BIG_ENDIAN
222 select SYS_SUPPORTS_LITTLE_ENDIAN
223 select SYS_SUPPORTS_MIPS_CMP
224 select SYS_SUPPORTS_MULTITHREADING
225 select SYS_SUPPORTS_SMARTMIPS
226 select SYS_SUPPORTS_ZBOOT
228 This enables support for the MIPS Technologies Malta evaluation
232 bool 'MIPS simulator (MIPSsim)'
235 select DMA_NONCOHERENT
236 select SYS_HAS_EARLY_PRINTK
239 select SYS_HAS_CPU_MIPS32_R1
240 select SYS_HAS_CPU_MIPS32_R2
241 select SYS_HAS_EARLY_PRINTK
242 select SYS_SUPPORTS_32BIT_KERNEL
243 select SYS_SUPPORTS_BIG_ENDIAN
244 select SYS_SUPPORTS_MULTITHREADING
245 select SYS_SUPPORTS_LITTLE_ENDIAN
247 This option enables support for MIPS Technologies MIPSsim software
251 bool "NEC EMMA2RH Mark-eins board"
255 This enables support for the NEC Electronics Mark-eins boards.
258 bool "NEC VR4100 series based machines"
261 select SYS_HAS_CPU_VR41XX
262 select ARCH_REQUIRE_GPIOLIB
265 bool "NXP STB220 board"
268 Support for NXP Semiconductors STB220 Development Board.
275 Support for NXP Semiconductors STB225 Development Board.
278 bool "NXP PNX8550 based JBS board"
280 select SYS_SUPPORTS_LITTLE_ENDIAN
282 config PNX8550_STB810
283 bool "NXP PNX8550 based STB810 board"
285 select SYS_SUPPORTS_LITTLE_ENDIAN
288 bool "PMC-Sierra MSP chipsets"
289 depends on EXPERIMENTAL
290 select DMA_NONCOHERENT
292 select NO_EXCEPT_FILL
294 select SYS_HAS_CPU_MIPS32_R1
295 select SYS_HAS_CPU_MIPS32_R2
296 select SYS_SUPPORTS_32BIT_KERNEL
297 select SYS_SUPPORTS_BIG_ENDIAN
300 select SERIAL_8250_CONSOLE
302 This adds support for the PMC-Sierra family of Multi-Service
303 Processor System-On-A-Chips. These parts include a number
304 of integrated peripherals, interfaces and DSPs in addition to
305 a variety of MIPS cores.
308 bool "PMC-Sierra Yosemite eval board"
317 select SYS_HAS_CPU_RM9000
318 select SYS_HAS_EARLY_PRINTK
319 select SYS_SUPPORTS_32BIT_KERNEL
320 select SYS_SUPPORTS_64BIT_KERNEL
321 select SYS_SUPPORTS_BIG_ENDIAN
322 select SYS_SUPPORTS_HIGHMEM
323 select SYS_SUPPORTS_SMP
325 Yosemite is an evaluation board for the RM9000x2 processor
326 manufactured by PMC-Sierra.
332 select CPU_MIPSR2_IRQ_VI
333 select CPU_MIPSR2_IRQ_EI
335 select DMA_NONCOHERENT
337 select SYS_HAS_EARLY_PRINTK
338 select SYS_HAS_CPU_MIPS32_R2
339 select SYS_SUPPORTS_32BIT_KERNEL
340 select SYS_SUPPORTS_BIG_ENDIAN
341 select SYS_SUPPORTS_HIGHMEM
342 select USB_OHCI_LITTLE_ENDIAN
344 This enables support for the Cisco PowerTV Platform.
347 bool "SGI IP22 (Indy/Indigo2)"
353 select DEFAULT_SGI_PARTITION
354 select DMA_NONCOHERENT
358 select IP22_CPU_SCACHE
360 select GENERIC_ISA_DMA_SUPPORT_BROKEN
362 select SGI_HAS_INDYDOG
368 select SYS_HAS_CPU_R4X00
369 select SYS_HAS_CPU_R5000
371 # Disable EARLY_PRINTK for now since it leads to overwritten prom
372 # memory during early boot on some machines.
374 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
375 # for a more details discussion
377 # select SYS_HAS_EARLY_PRINTK
378 select SYS_SUPPORTS_32BIT_KERNEL
379 select SYS_SUPPORTS_64BIT_KERNEL
380 select SYS_SUPPORTS_BIG_ENDIAN
382 This are the SGI Indy, Challenge S and Indigo2, as well as certain
383 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
384 that runs on these, say Y here.
387 bool "SGI IP27 (Origin200/2000)"
391 select DEFAULT_SGI_PARTITION
393 select SYS_HAS_EARLY_PRINTK
395 select NR_CPUS_DEFAULT_64
396 select SYS_HAS_CPU_R10000
397 select SYS_SUPPORTS_64BIT_KERNEL
398 select SYS_SUPPORTS_BIG_ENDIAN
399 select SYS_SUPPORTS_NUMA
400 select SYS_SUPPORTS_SMP
402 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
403 workstations. To compile a Linux kernel that runs on these, say Y
407 bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
408 depends on EXPERIMENTAL
414 select DEFAULT_SGI_PARTITION
415 select DMA_NONCOHERENT
416 select GENERIC_ISA_DMA_SUPPORT_BROKEN
422 select SGI_HAS_INDYDOG
428 select SYS_HAS_CPU_R10000
430 # Disable EARLY_PRINTK for now since it leads to overwritten prom
431 # memory during early boot on some machines.
433 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
434 # for a more details discussion
436 # select SYS_HAS_EARLY_PRINTK
437 select SYS_SUPPORTS_64BIT_KERNEL
438 select SYS_SUPPORTS_BIG_ENDIAN
440 This is the SGI Indigo2 with R10000 processor. To compile a Linux
441 kernel that runs on these, say Y here.
450 select DMA_NONCOHERENT
453 select R5000_CPU_SCACHE
454 select RM7000_CPU_SCACHE
455 select SYS_HAS_CPU_R5000
456 select SYS_HAS_CPU_R10000 if BROKEN
457 select SYS_HAS_CPU_RM7000
458 select SYS_HAS_CPU_NEVADA
459 select SYS_SUPPORTS_64BIT_KERNEL
460 select SYS_SUPPORTS_BIG_ENDIAN
462 If you want this kernel to run on SGI O2 workstation, say Y here.
465 bool "Sibyte BCM91120C-CRhine"
466 depends on EXPERIMENTAL
469 select SIBYTE_BCM1120
471 select SYS_HAS_CPU_SB1
472 select SYS_SUPPORTS_BIG_ENDIAN
473 select SYS_SUPPORTS_LITTLE_ENDIAN
476 bool "Sibyte BCM91120x-Carmel"
477 depends on EXPERIMENTAL
480 select SIBYTE_BCM1120
482 select SYS_HAS_CPU_SB1
483 select SYS_SUPPORTS_BIG_ENDIAN
484 select SYS_SUPPORTS_LITTLE_ENDIAN
487 bool "Sibyte BCM91125C-CRhone"
488 depends on EXPERIMENTAL
491 select SIBYTE_BCM1125
493 select SYS_HAS_CPU_SB1
494 select SYS_SUPPORTS_BIG_ENDIAN
495 select SYS_SUPPORTS_HIGHMEM
496 select SYS_SUPPORTS_LITTLE_ENDIAN
499 bool "Sibyte BCM91125E-Rhone"
500 depends on EXPERIMENTAL
503 select SIBYTE_BCM1125H
505 select SYS_HAS_CPU_SB1
506 select SYS_SUPPORTS_BIG_ENDIAN
507 select SYS_SUPPORTS_LITTLE_ENDIAN
510 bool "Sibyte BCM91250A-SWARM"
513 select HAVE_PATA_PLATFORM
514 select NR_CPUS_DEFAULT_2
517 select SYS_HAS_CPU_SB1
518 select SYS_SUPPORTS_BIG_ENDIAN
519 select SYS_SUPPORTS_HIGHMEM
520 select SYS_SUPPORTS_LITTLE_ENDIAN
521 select ZONE_DMA32 if 64BIT
523 config SIBYTE_LITTLESUR
524 bool "Sibyte BCM91250C2-LittleSur"
525 depends on EXPERIMENTAL
528 select HAVE_PATA_PLATFORM
529 select NR_CPUS_DEFAULT_2
532 select SYS_HAS_CPU_SB1
533 select SYS_SUPPORTS_BIG_ENDIAN
534 select SYS_SUPPORTS_HIGHMEM
535 select SYS_SUPPORTS_LITTLE_ENDIAN
537 config SIBYTE_SENTOSA
538 bool "Sibyte BCM91250E-Sentosa"
539 depends on EXPERIMENTAL
542 select NR_CPUS_DEFAULT_2
545 select SYS_HAS_CPU_SB1
546 select SYS_SUPPORTS_BIG_ENDIAN
547 select SYS_SUPPORTS_LITTLE_ENDIAN
550 bool "Sibyte BCM91480B-BigSur"
553 select NR_CPUS_DEFAULT_4
554 select SIBYTE_BCM1x80
556 select SYS_HAS_CPU_SB1
557 select SYS_SUPPORTS_BIG_ENDIAN
558 select SYS_SUPPORTS_HIGHMEM
559 select SYS_SUPPORTS_LITTLE_ENDIAN
560 select ZONE_DMA32 if 64BIT
563 bool "SNI RM200/300/400"
564 select ARC if CPU_LITTLE_ENDIAN
565 select ARC32 if CPU_LITTLE_ENDIAN
566 select SNIPROM if CPU_BIG_ENDIAN
567 select ARCH_MAY_HAVE_PC_FDC
571 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
572 select DMA_NONCOHERENT
573 select GENERIC_ISA_DMA
580 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
581 select SYS_HAS_CPU_R4X00
582 select SYS_HAS_CPU_R5000
583 select SYS_HAS_CPU_R10000
584 select R5000_CPU_SCACHE
585 select SYS_HAS_EARLY_PRINTK
586 select SYS_SUPPORTS_32BIT_KERNEL
587 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
588 select SYS_SUPPORTS_BIG_ENDIAN
589 select SYS_SUPPORTS_HIGHMEM
590 select SYS_SUPPORTS_LITTLE_ENDIAN
592 The SNI RM200/300/400 are MIPS-based machines manufactured by
593 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
594 Technology and now in turn merged with Fujitsu. Say Y here to
595 support this machine type.
598 bool "Toshiba TX39 series based machines"
601 bool "Toshiba TX49 series based machines"
603 config MIKROTIK_RB532
604 bool "Mikrotik RB532 boards"
607 select DMA_NONCOHERENT
610 select SYS_HAS_CPU_MIPS32_R1
611 select SYS_SUPPORTS_32BIT_KERNEL
612 select SYS_SUPPORTS_LITTLE_ENDIAN
615 select ARCH_REQUIRE_GPIOLIB
617 Support the Mikrotik(tm) RouterBoard 532 series,
618 based on the IDT RC32434 SoC.
621 bool "Wind River PPMC board"
626 select DMA_NONCOHERENT
628 select PCI_GT64XXX_PCI0
630 select SYS_HAS_CPU_MIPS32_R1
631 select SYS_HAS_CPU_MIPS32_R2
632 select SYS_HAS_CPU_MIPS64_R1
633 select SYS_HAS_CPU_NEVADA
634 select SYS_HAS_CPU_RM7000
635 select SYS_SUPPORTS_32BIT_KERNEL
636 select SYS_SUPPORTS_64BIT_KERNEL
637 select SYS_SUPPORTS_BIG_ENDIAN
638 select SYS_SUPPORTS_LITTLE_ENDIAN
640 This enables support for the Wind River MIPS32 4KC PPMC evaluation
641 board, which is based on GT64120 bridge chip.
643 config CAVIUM_OCTEON_SIMULATOR
644 bool "Cavium Networks Octeon Simulator"
646 select 64BIT_PHYS_ADDR
648 select SYS_SUPPORTS_64BIT_KERNEL
649 select SYS_SUPPORTS_BIG_ENDIAN
650 select SYS_SUPPORTS_HIGHMEM
651 select SYS_SUPPORTS_HOTPLUG_CPU
652 select SYS_HAS_CPU_CAVIUM_OCTEON
654 The Octeon simulator is software performance model of the Cavium
655 Octeon Processor. It supports simulating Octeon processors on x86
658 config CAVIUM_OCTEON_REFERENCE_BOARD
659 bool "Cavium Networks Octeon reference board"
661 select 64BIT_PHYS_ADDR
663 select SYS_SUPPORTS_64BIT_KERNEL
664 select SYS_SUPPORTS_BIG_ENDIAN
665 select SYS_SUPPORTS_HIGHMEM
666 select SYS_SUPPORTS_HOTPLUG_CPU
667 select SYS_HAS_EARLY_PRINTK
668 select SYS_HAS_CPU_CAVIUM_OCTEON
671 select ARCH_SUPPORTS_MSI
673 This option supports all of the Octeon reference boards from Cavium
674 Networks. It builds a kernel that dynamically determines the Octeon
675 CPU type and supports all known board reference implementations.
676 Some of the supported boards are:
683 Say Y here for most Octeon reference boards.
687 source "arch/mips/alchemy/Kconfig"
688 source "arch/mips/bcm63xx/Kconfig"
689 source "arch/mips/jazz/Kconfig"
690 source "arch/mips/lasat/Kconfig"
691 source "arch/mips/pmc-sierra/Kconfig"
692 source "arch/mips/powertv/Kconfig"
693 source "arch/mips/sgi-ip27/Kconfig"
694 source "arch/mips/sibyte/Kconfig"
695 source "arch/mips/txx9/Kconfig"
696 source "arch/mips/vr41xx/Kconfig"
697 source "arch/mips/cavium-octeon/Kconfig"
698 source "arch/mips/loongson/Kconfig"
702 config RWSEM_GENERIC_SPINLOCK
706 config RWSEM_XCHGADD_ALGORITHM
709 config ARCH_HAS_ILOG2_U32
713 config ARCH_HAS_ILOG2_U64
717 config ARCH_SUPPORTS_OPROFILE
719 default y if !MIPS_MT_SMTC
721 config GENERIC_FIND_NEXT_BIT
725 config GENERIC_HWEIGHT
729 config GENERIC_CALIBRATE_DELAY
733 config GENERIC_CLOCKEVENTS
741 config GENERIC_CMOS_UPDATE
745 config SCHED_OMIT_FRAME_POINTER
749 config GENERIC_HARDIRQS_NO__DO_IRQ
753 # Select some configuration options automatically based on user selections.
758 config ARCH_MAY_HAVE_PC_FDC
807 select ARCH_REQUIRE_GPIOLIB
816 config DMA_NONCOHERENT
818 select NEED_DMA_MAP_STATE
820 config NEED_DMA_MAP_STATE
823 config SYS_HAS_EARLY_PRINTK
827 bool "Support for hot-pluggable CPUs"
828 depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU
830 Say Y here to allow turning CPUs off and on. CPUs can be
831 controlled through /sys/devices/system/cpu.
832 (Note: power management support will enable this option
833 automatically on SMP systems. )
834 Say N if you want to disable CPU hotplug.
836 config SYS_SUPPORTS_HOTPLUG_CPU
851 config MIPS_DISABLE_OBSOLETE_IDE
860 config GENERIC_ISA_DMA
862 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
864 config GENERIC_ISA_DMA_SUPPORT_BROKEN
866 select GENERIC_ISA_DMA
872 # Endianess selection. Sufficiently obscure so many users don't know what to
873 # answer,so we try hard to limit the available choices. Also the use of a
874 # choice statement should be more obvious to the user.
877 prompt "Endianess selection"
879 Some MIPS machines can be configured for either little or big endian
880 byte order. These modes require different kernels and a different
881 Linux distribution. In general there is one preferred byteorder for a
882 particular system but some systems are just as commonly used in the
883 one or the other endianness.
885 config CPU_BIG_ENDIAN
887 depends on SYS_SUPPORTS_BIG_ENDIAN
889 config CPU_LITTLE_ENDIAN
891 depends on SYS_SUPPORTS_LITTLE_ENDIAN
896 config SYS_SUPPORTS_APM_EMULATION
899 config SYS_SUPPORTS_BIG_ENDIAN
902 config SYS_SUPPORTS_LITTLE_ENDIAN
905 config SYS_SUPPORTS_HUGETLBFS
907 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
934 config IRQ_CPU_OCTEON
937 config MIPS_BOARDS_GEN
940 config PCI_GT64XXX_PCI0
943 config NO_EXCEPT_FILL
954 select DMA_NONCOHERENT
957 select SYS_HAS_CPU_R5500
958 select SYS_SUPPORTS_32BIT_KERNEL
959 select SYS_SUPPORTS_64BIT_KERNEL
960 select SYS_SUPPORTS_BIG_ENDIAN
967 select DMA_NONCOHERENT
968 select SYS_HAS_CPU_MIPS32_R2
969 select SYS_SUPPORTS_32BIT_KERNEL
970 select SYS_SUPPORTS_LITTLE_ENDIAN
971 select SYS_SUPPORTS_BIG_ENDIAN
973 select CPU_MIPSR2_IRQ_VI
985 select DMA_NONCOHERENT
987 select SYS_HAS_CPU_MIPS32_R1
988 select SYS_HAS_EARLY_PRINTK
989 select SYS_SUPPORTS_32BIT_KERNEL
998 config SGI_HAS_INDYDOG
1010 config SGI_HAS_ZILOG
1013 config SGI_HAS_I8042
1016 config DEFAULT_SGI_PARTITION
1028 config MIPS_L1_CACHE_SHIFT
1030 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL
1031 default "6" if MIPS_CPU_SCACHE
1032 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON
1035 config HAVE_STD_PC_SERIAL_PORT
1039 bool "ARC console support"
1040 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
1044 depends on MACH_JAZZ || SNI_RM || SGI_IP32
1049 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
1058 menu "CPU selection"
1064 config CPU_LOONGSON2E
1066 depends on SYS_HAS_CPU_LOONGSON2E
1067 select CPU_LOONGSON2
1069 The Loongson 2E processor implements the MIPS III instruction set
1070 with many extensions.
1072 It has an internal FPGA northbridge, which is compatiable to
1075 config CPU_LOONGSON2F
1077 depends on SYS_HAS_CPU_LOONGSON2F
1078 select CPU_LOONGSON2
1080 select ARCH_REQUIRE_GPIOLIB
1082 The Loongson 2F processor implements the MIPS III instruction set
1083 with many extensions.
1085 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1086 have a similar programming interface with FPGA northbridge used in
1089 config CPU_MIPS32_R1
1090 bool "MIPS32 Release 1"
1091 depends on SYS_HAS_CPU_MIPS32_R1
1092 select CPU_HAS_PREFETCH
1093 select CPU_SUPPORTS_32BIT_KERNEL
1094 select CPU_SUPPORTS_HIGHMEM
1096 Choose this option to build a kernel for release 1 or later of the
1097 MIPS32 architecture. Most modern embedded systems with a 32-bit
1098 MIPS processor are based on a MIPS32 processor. If you know the
1099 specific type of processor in your system, choose those that one
1100 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1101 Release 2 of the MIPS32 architecture is available since several
1102 years so chances are you even have a MIPS32 Release 2 processor
1103 in which case you should choose CPU_MIPS32_R2 instead for better
1106 config CPU_MIPS32_R2
1107 bool "MIPS32 Release 2"
1108 depends on SYS_HAS_CPU_MIPS32_R2
1109 select CPU_HAS_PREFETCH
1110 select CPU_SUPPORTS_32BIT_KERNEL
1111 select CPU_SUPPORTS_HIGHMEM
1113 Choose this option to build a kernel for release 2 or later of the
1114 MIPS32 architecture. Most modern embedded systems with a 32-bit
1115 MIPS processor are based on a MIPS32 processor. If you know the
1116 specific type of processor in your system, choose those that one
1117 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1119 config CPU_MIPS64_R1
1120 bool "MIPS64 Release 1"
1121 depends on SYS_HAS_CPU_MIPS64_R1
1122 select CPU_HAS_PREFETCH
1123 select CPU_SUPPORTS_32BIT_KERNEL
1124 select CPU_SUPPORTS_64BIT_KERNEL
1125 select CPU_SUPPORTS_HIGHMEM
1126 select CPU_SUPPORTS_HUGEPAGES
1128 Choose this option to build a kernel for release 1 or later of the
1129 MIPS64 architecture. Many modern embedded systems with a 64-bit
1130 MIPS processor are based on a MIPS64 processor. If you know the
1131 specific type of processor in your system, choose those that one
1132 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1133 Release 2 of the MIPS64 architecture is available since several
1134 years so chances are you even have a MIPS64 Release 2 processor
1135 in which case you should choose CPU_MIPS64_R2 instead for better
1138 config CPU_MIPS64_R2
1139 bool "MIPS64 Release 2"
1140 depends on SYS_HAS_CPU_MIPS64_R2
1141 select CPU_HAS_PREFETCH
1142 select CPU_SUPPORTS_32BIT_KERNEL
1143 select CPU_SUPPORTS_64BIT_KERNEL
1144 select CPU_SUPPORTS_HIGHMEM
1145 select CPU_SUPPORTS_HUGEPAGES
1147 Choose this option to build a kernel for release 2 or later of the
1148 MIPS64 architecture. Many modern embedded systems with a 64-bit
1149 MIPS processor are based on a MIPS64 processor. If you know the
1150 specific type of processor in your system, choose those that one
1151 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1155 depends on SYS_HAS_CPU_R3000
1157 select CPU_SUPPORTS_32BIT_KERNEL
1158 select CPU_SUPPORTS_HIGHMEM
1160 Please make sure to pick the right CPU type. Linux/MIPS is not
1161 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1162 *not* work on R4000 machines and vice versa. However, since most
1163 of the supported machines have an R4000 (or similar) CPU, R4x00
1164 might be a safe bet. If the resulting kernel does not work,
1165 try to recompile with R3000.
1169 depends on SYS_HAS_CPU_TX39XX
1170 select CPU_SUPPORTS_32BIT_KERNEL
1174 depends on SYS_HAS_CPU_VR41XX
1175 select CPU_SUPPORTS_32BIT_KERNEL
1176 select CPU_SUPPORTS_64BIT_KERNEL
1178 The options selects support for the NEC VR4100 series of processors.
1179 Only choose this option if you have one of these processors as a
1180 kernel built with this option will not run on any other type of
1181 processor or vice versa.
1185 depends on SYS_HAS_CPU_R4300
1186 select CPU_SUPPORTS_32BIT_KERNEL
1187 select CPU_SUPPORTS_64BIT_KERNEL
1189 MIPS Technologies R4300-series processors.
1193 depends on SYS_HAS_CPU_R4X00
1194 select CPU_SUPPORTS_32BIT_KERNEL
1195 select CPU_SUPPORTS_64BIT_KERNEL
1197 MIPS Technologies R4000-series processors other than 4300, including
1198 the R4000, R4400, R4600, and 4700.
1202 depends on SYS_HAS_CPU_TX49XX
1203 select CPU_HAS_PREFETCH
1204 select CPU_SUPPORTS_32BIT_KERNEL
1205 select CPU_SUPPORTS_64BIT_KERNEL
1209 depends on SYS_HAS_CPU_R5000
1210 select CPU_SUPPORTS_32BIT_KERNEL
1211 select CPU_SUPPORTS_64BIT_KERNEL
1213 MIPS Technologies R5000-series processors other than the Nevada.
1217 depends on SYS_HAS_CPU_R5432
1218 select CPU_SUPPORTS_32BIT_KERNEL
1219 select CPU_SUPPORTS_64BIT_KERNEL
1223 depends on SYS_HAS_CPU_R5500
1224 select CPU_SUPPORTS_32BIT_KERNEL
1225 select CPU_SUPPORTS_64BIT_KERNEL
1226 select CPU_SUPPORTS_HUGEPAGES
1228 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1233 depends on EXPERIMENTAL
1234 depends on SYS_HAS_CPU_R6000
1235 select CPU_SUPPORTS_32BIT_KERNEL
1237 MIPS Technologies R6000 and R6000A series processors. Note these
1238 processors are extremely rare and the support for them is incomplete.
1242 depends on SYS_HAS_CPU_NEVADA
1243 select CPU_SUPPORTS_32BIT_KERNEL
1244 select CPU_SUPPORTS_64BIT_KERNEL
1246 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1250 depends on EXPERIMENTAL
1251 depends on SYS_HAS_CPU_R8000
1252 select CPU_HAS_PREFETCH
1253 select CPU_SUPPORTS_64BIT_KERNEL
1255 MIPS Technologies R8000 processors. Note these processors are
1256 uncommon and the support for them is incomplete.
1260 depends on SYS_HAS_CPU_R10000
1261 select CPU_HAS_PREFETCH
1262 select CPU_SUPPORTS_32BIT_KERNEL
1263 select CPU_SUPPORTS_64BIT_KERNEL
1264 select CPU_SUPPORTS_HIGHMEM
1266 MIPS Technologies R10000-series processors.
1270 depends on SYS_HAS_CPU_RM7000
1271 select CPU_HAS_PREFETCH
1272 select CPU_SUPPORTS_32BIT_KERNEL
1273 select CPU_SUPPORTS_64BIT_KERNEL
1274 select CPU_SUPPORTS_HIGHMEM
1278 depends on SYS_HAS_CPU_RM9000
1279 select CPU_HAS_PREFETCH
1280 select CPU_SUPPORTS_32BIT_KERNEL
1281 select CPU_SUPPORTS_64BIT_KERNEL
1282 select CPU_SUPPORTS_HIGHMEM
1283 select WEAK_ORDERING
1287 depends on SYS_HAS_CPU_SB1
1288 select CPU_SUPPORTS_32BIT_KERNEL
1289 select CPU_SUPPORTS_64BIT_KERNEL
1290 select CPU_SUPPORTS_HIGHMEM
1291 select WEAK_ORDERING
1293 config CPU_CAVIUM_OCTEON
1294 bool "Cavium Octeon processor"
1295 depends on SYS_HAS_CPU_CAVIUM_OCTEON
1297 select IRQ_CPU_OCTEON
1298 select CPU_HAS_PREFETCH
1299 select CPU_SUPPORTS_64BIT_KERNEL
1300 select SYS_SUPPORTS_SMP
1301 select NR_CPUS_DEFAULT_16
1302 select WEAK_ORDERING
1303 select CPU_SUPPORTS_HIGHMEM
1304 select CPU_SUPPORTS_HUGEPAGES
1306 The Cavium Octeon processor is a highly integrated chip containing
1307 many ethernet hardware widgets for networking tasks. The processor
1308 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1309 Full details can be found at http://www.caviumnetworks.com.
1314 config CPU_NOP_WORKAROUNDS
1317 config CPU_JUMP_WORKAROUNDS
1320 config CPU_LOONGSON2F_WORKAROUNDS
1321 bool "Loongson 2F Workarounds"
1323 select CPU_NOP_WORKAROUNDS
1324 select CPU_JUMP_WORKAROUNDS
1326 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1327 require workarounds. Without workarounds the system may hang
1328 unexpectedly. For more information please refer to the gas
1329 -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1331 Loongson 2F03 and later have fixed these issues and no workarounds
1332 are needed. The workarounds have no significant side effect on them
1333 but may decrease the performance of the system so this option should
1334 be disabled unless the kernel is intended to be run on 2F01 or 2F02
1337 If unsure, please say Y.
1338 endif # CPU_LOONGSON2F
1340 config SYS_SUPPORTS_ZBOOT
1342 select HAVE_KERNEL_GZIP
1343 select HAVE_KERNEL_BZIP2
1344 select HAVE_KERNEL_LZMA
1345 select HAVE_KERNEL_LZO
1347 config SYS_SUPPORTS_ZBOOT_UART16550
1349 select SYS_SUPPORTS_ZBOOT
1351 config CPU_LOONGSON2
1353 select CPU_SUPPORTS_32BIT_KERNEL
1354 select CPU_SUPPORTS_64BIT_KERNEL
1355 select CPU_SUPPORTS_HIGHMEM
1357 config SYS_HAS_CPU_LOONGSON2E
1360 config SYS_HAS_CPU_LOONGSON2F
1362 select CPU_SUPPORTS_CPUFREQ
1363 select CPU_SUPPORTS_ADDRWINCFG if 64BIT
1364 select CPU_SUPPORTS_UNCACHED_ACCELERATED
1366 config SYS_HAS_CPU_MIPS32_R1
1369 config SYS_HAS_CPU_MIPS32_R2
1372 config SYS_HAS_CPU_MIPS64_R1
1375 config SYS_HAS_CPU_MIPS64_R2
1378 config SYS_HAS_CPU_R3000
1381 config SYS_HAS_CPU_TX39XX
1384 config SYS_HAS_CPU_VR41XX
1387 config SYS_HAS_CPU_R4300
1390 config SYS_HAS_CPU_R4X00
1393 config SYS_HAS_CPU_TX49XX
1396 config SYS_HAS_CPU_R5000
1399 config SYS_HAS_CPU_R5432
1402 config SYS_HAS_CPU_R5500
1405 config SYS_HAS_CPU_R6000
1408 config SYS_HAS_CPU_NEVADA
1411 config SYS_HAS_CPU_R8000
1414 config SYS_HAS_CPU_R10000
1417 config SYS_HAS_CPU_RM7000
1420 config SYS_HAS_CPU_RM9000
1423 config SYS_HAS_CPU_SB1
1426 config SYS_HAS_CPU_CAVIUM_OCTEON
1430 # CPU may reorder R->R, R->W, W->R, W->W
1431 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1433 config WEAK_ORDERING
1437 # CPU may reorder reads and writes beyond LL/SC
1438 # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1440 config WEAK_REORDERING_BEYOND_LLSC
1445 # These two indicate any level of the MIPS32 and MIPS64 architecture
1449 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1453 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1456 # These two indicate the revision of the architecture, either Release 1 or Release 2
1460 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1464 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1466 config SYS_SUPPORTS_32BIT_KERNEL
1468 config SYS_SUPPORTS_64BIT_KERNEL
1470 config CPU_SUPPORTS_32BIT_KERNEL
1472 config CPU_SUPPORTS_64BIT_KERNEL
1474 config CPU_SUPPORTS_CPUFREQ
1476 config CPU_SUPPORTS_ADDRWINCFG
1478 config CPU_SUPPORTS_HUGEPAGES
1480 config CPU_SUPPORTS_UNCACHED_ACCELERATED
1482 config MIPS_PGD_C0_CONTEXT
1484 default y if 64BIT && CPU_MIPSR2
1487 # Set to y for ptrace access to watch registers.
1489 config HARDWARE_WATCHPOINTS
1491 default y if CPU_MIPSR1 || CPU_MIPSR2
1497 prompt "Kernel code model"
1499 You should only select this option if you have a workload that
1500 actually benefits from 64-bit processing or if your machine has
1501 large memory. You will only be presented a single option in this
1502 menu if your system does not support both 32-bit and 64-bit kernels.
1505 bool "32-bit kernel"
1506 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1509 Select this option if you want to build a 32-bit kernel.
1511 bool "64-bit kernel"
1512 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1513 select HAVE_SYSCALL_WRAPPERS
1515 Select this option if you want to build a 64-bit kernel.
1520 prompt "Kernel page size"
1521 default PAGE_SIZE_4KB
1523 config PAGE_SIZE_4KB
1525 depends on !CPU_LOONGSON2
1527 This option select the standard 4kB Linux page size. On some
1528 R3000-family processors this is the only available page size. Using
1529 4kB page size will minimize memory consumption and is therefore
1530 recommended for low memory systems.
1532 config PAGE_SIZE_8KB
1534 depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
1536 Using 8kB page size will result in higher performance kernel at
1537 the price of higher memory consumption. This option is available
1538 only on R8000 and cnMIPS processors. Note that you will need a
1539 suitable Linux distribution to support this.
1541 config PAGE_SIZE_16KB
1543 depends on !CPU_R3000 && !CPU_TX39XX
1545 Using 16kB page size will result in higher performance kernel at
1546 the price of higher memory consumption. This option is available on
1547 all non-R3000 family processors. Note that you will need a suitable
1548 Linux distribution to support this.
1550 config PAGE_SIZE_32KB
1552 depends on CPU_CAVIUM_OCTEON
1554 Using 32kB page size will result in higher performance kernel at
1555 the price of higher memory consumption. This option is available
1556 only on cnMIPS cores. Note that you will need a suitable Linux
1557 distribution to support this.
1559 config PAGE_SIZE_64KB
1561 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1563 Using 64kB page size will result in higher performance kernel at
1564 the price of higher memory consumption. This option is available on
1565 all non-R3000 family processor. Not that at the time of this
1566 writing this option is still high experimental.
1573 config IP22_CPU_SCACHE
1578 # Support for a MIPS32 / MIPS64 style S-caches
1580 config MIPS_CPU_SCACHE
1584 config R5000_CPU_SCACHE
1588 config RM7000_CPU_SCACHE
1592 config SIBYTE_DMA_PAGEOPS
1593 bool "Use DMA to clear/copy pages"
1596 Instead of using the CPU to zero and copy pages, use a Data Mover
1597 channel. These DMA channels are otherwise unused by the standard
1598 SiByte Linux port. Seems to give a small performance benefit.
1600 config CPU_HAS_PREFETCH
1604 prompt "MIPS MT options"
1606 config MIPS_MT_DISABLED
1607 bool "Disable multithreading support."
1609 Use this option if your workload can't take advantage of
1610 MIPS hardware multithreading support. On systems that don't have
1611 the option of an MT-enabled processor this option will be the only
1612 option in this menu.
1615 bool "Use 1 TC on each available VPE for SMP"
1616 depends on SYS_SUPPORTS_MULTITHREADING
1617 select CPU_MIPSR2_IRQ_VI
1618 select CPU_MIPSR2_IRQ_EI
1620 select NR_CPUS_DEFAULT_2
1622 select SYS_SUPPORTS_SCHED_SMT if SMP
1623 select SYS_SUPPORTS_SMP
1626 This is a kernel model which is also known a VSMP or lately
1627 has been marketesed into SMVP.
1630 bool "SMTC: Use all TCs on all VPEs for SMP"
1631 depends on CPU_MIPS32_R2
1632 #depends on CPU_MIPS64_R2 # once there is hardware ...
1633 depends on SYS_SUPPORTS_MULTITHREADING
1634 select CPU_MIPSR2_IRQ_VI
1635 select CPU_MIPSR2_IRQ_EI
1637 select NR_CPUS_DEFAULT_8
1639 select SYS_SUPPORTS_SMP
1642 This is a kernel model which is known a SMTC or lately has been
1643 marketesed into SMVP.
1651 bool "SMT (multithreading) scheduler support"
1652 depends on SYS_SUPPORTS_SCHED_SMT
1655 SMT scheduler support improves the CPU scheduler's decision making
1656 when dealing with MIPS MT enabled cores at a cost of slightly
1657 increased overhead in some places. If unsure say N here.
1659 config SYS_SUPPORTS_SCHED_SMT
1663 config SYS_SUPPORTS_MULTITHREADING
1666 config MIPS_MT_FPAFF
1667 bool "Dynamic FPU affinity for FP-intensive threads"
1669 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1671 config MIPS_VPE_LOADER
1672 bool "VPE loader support."
1673 depends on SYS_SUPPORTS_MULTITHREADING
1674 select CPU_MIPSR2_IRQ_VI
1675 select CPU_MIPSR2_IRQ_EI
1678 Includes a loader for loading an elf relocatable object
1679 onto another VPE and running it.
1681 config MIPS_MT_SMTC_IM_BACKSTOP
1682 bool "Use per-TC register bits as backstop for inhibited IM bits"
1683 depends on MIPS_MT_SMTC
1686 To support multiple TC microthreads acting as "CPUs" within
1687 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1688 during interrupt handling. To support legacy drivers and interrupt
1689 controller management code, SMTC has a "backstop" to track and
1690 if necessary restore the interrupt mask. This has some performance
1691 impact on interrupt service overhead.
1693 config MIPS_MT_SMTC_IRQAFF
1694 bool "Support IRQ affinity API"
1695 depends on MIPS_MT_SMTC
1698 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1699 for SMTC Linux kernel. Requires platform support, of which
1700 an example can be found in the MIPS kernel i8259 and Malta
1701 platform code. Adds some overhead to interrupt dispatch, and
1702 should be used only if you know what you are doing.
1704 config MIPS_VPE_LOADER_TOM
1705 bool "Load VPE program into memory hidden from linux"
1706 depends on MIPS_VPE_LOADER
1709 The loader can use memory that is present but has been hidden from
1710 Linux using the kernel command line option "mem=xxMB". It's up to
1711 you to ensure the amount you put in the option and the space your
1712 program requires is less or equal to the amount physically present.
1714 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1715 config MIPS_VPE_APSP_API
1716 bool "Enable support for AP/SP API (RTLX)"
1717 depends on MIPS_VPE_LOADER
1720 config MIPS_APSP_KSPD
1722 depends on MIPS_VPE_APSP_API
1725 KSPD is a kernel daemon that accepts syscall requests from the SP
1726 side, actions them and returns the results. It also handles the
1727 "exit" syscall notifying other kernel modules the SP program is
1728 exiting. You probably want to say yes here.
1731 bool "MIPS CMP framework support"
1732 depends on SYS_SUPPORTS_MIPS_CMP
1734 select SYS_SUPPORTS_SMP
1735 select SYS_SUPPORTS_SCHED_SMT if SMP
1736 select WEAK_ORDERING
1739 This is a placeholder option for the GCMP work. It will need to
1740 be handled differently...
1742 config SB1_PASS_1_WORKAROUNDS
1744 depends on CPU_SB1_PASS_1
1747 config SB1_PASS_2_WORKAROUNDS
1749 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1752 config SB1_PASS_2_1_WORKAROUNDS
1754 depends on CPU_SB1 && CPU_SB1_PASS_2
1757 config 64BIT_PHYS_ADDR
1760 config ARCH_PHYS_ADDR_T_64BIT
1761 def_bool 64BIT_PHYS_ADDR
1763 config CPU_HAS_SMARTMIPS
1764 depends on SYS_SUPPORTS_SMARTMIPS
1765 bool "Support for the SmartMIPS ASE"
1767 SmartMIPS is a extension of the MIPS32 architecture aimed at
1768 increased security at both hardware and software level for
1769 smartcards. Enabling this option will allow proper use of the
1770 SmartMIPS instructions by Linux applications. However a kernel with
1771 this option will not work on a MIPS core without SmartMIPS core. If
1772 you don't know you probably don't have SmartMIPS and should say N
1779 # Vectored interrupt mode is an R2 feature
1781 config CPU_MIPSR2_IRQ_VI
1785 # Extended interrupt mode is an R2 feature
1787 config CPU_MIPSR2_IRQ_EI
1792 depends on !CPU_R3000
1795 config GENERIC_CLOCKEVENTS_BROADCAST
1801 config CPU_DADDI_WORKAROUNDS
1804 config CPU_R4000_WORKAROUNDS
1806 select CPU_R4400_WORKAROUNDS
1808 config CPU_R4400_WORKAROUNDS
1812 # Use the generic interrupt handling code in kernel/irq/:
1814 config GENERIC_HARDIRQS
1818 config GENERIC_IRQ_PROBE
1826 # - Highmem only makes sense for the 32-bit kernel.
1827 # - The current highmem code will only work properly on physically indexed
1828 # caches such as R3000, SB1, R7000 or those that look like they're virtually
1829 # indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1830 # moment we protect the user and offer the highmem option only on machines
1831 # where it's known to be safe. This will not offer highmem on a few systems
1832 # such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1833 # indexed CPUs but we're playing safe.
1834 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1835 # know they might have memory configurations that could make use of highmem
1839 bool "High Memory Support"
1840 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1842 config CPU_SUPPORTS_HIGHMEM
1845 config SYS_SUPPORTS_HIGHMEM
1848 config SYS_SUPPORTS_SMARTMIPS
1851 config ARCH_FLATMEM_ENABLE
1853 depends on !NUMA && !CPU_LOONGSON2
1855 config ARCH_DISCONTIGMEM_ENABLE
1857 default y if SGI_IP27
1859 Say Y to support efficient handling of discontiguous physical memory,
1860 for architectures which are either NUMA (Non-Uniform Memory Access)
1861 or have huge holes in the physical address space for other reasons.
1862 See <file:Documentation/vm/numa> for more.
1864 config ARCH_POPULATES_NODE_MAP
1867 config ARCH_SPARSEMEM_ENABLE
1869 select SPARSEMEM_STATIC
1873 depends on SYS_SUPPORTS_NUMA
1875 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1876 Access). This option improves performance on systems with more
1877 than two nodes; on two node systems it is generally better to
1878 leave it disabled; on single node systems disable this option
1881 config SYS_SUPPORTS_NUMA
1887 depends on NEED_MULTIPLE_NODES
1892 bool "Multi-Processing support"
1893 depends on SYS_SUPPORTS_SMP
1895 select USE_GENERIC_SMP_HELPERS
1897 This enables support for systems with more than one CPU. If you have
1898 a system with only one CPU, like most personal computers, say N. If
1899 you have a system with more than one CPU, say Y.
1901 If you say N here, the kernel will run on single and multiprocessor
1902 machines, but will use only one CPU of a multiprocessor machine. If
1903 you say Y here, the kernel will run on many, but not all,
1904 singleprocessor machines. On a singleprocessor machine, the kernel
1905 will run faster if you say N here.
1907 People using multiprocessor machines who say Y here should also say
1908 Y to "Enhanced Real Time Clock Support", below.
1910 See also the SMP-HOWTO available at
1911 <http://www.tldp.org/docs.html#howto>.
1913 If you don't know what to do here, say N.
1918 config SYS_SUPPORTS_MIPS_CMP
1921 config SYS_SUPPORTS_SMP
1924 config NR_CPUS_DEFAULT_1
1927 config NR_CPUS_DEFAULT_2
1930 config NR_CPUS_DEFAULT_4
1933 config NR_CPUS_DEFAULT_8
1936 config NR_CPUS_DEFAULT_16
1939 config NR_CPUS_DEFAULT_32
1942 config NR_CPUS_DEFAULT_64
1946 int "Maximum number of CPUs (2-64)"
1947 range 1 64 if NR_CPUS_DEFAULT_1
1949 default "1" if NR_CPUS_DEFAULT_1
1950 default "2" if NR_CPUS_DEFAULT_2
1951 default "4" if NR_CPUS_DEFAULT_4
1952 default "8" if NR_CPUS_DEFAULT_8
1953 default "16" if NR_CPUS_DEFAULT_16
1954 default "32" if NR_CPUS_DEFAULT_32
1955 default "64" if NR_CPUS_DEFAULT_64
1957 This allows you to specify the maximum number of CPUs which this
1958 kernel will support. The maximum supported value is 32 for 32-bit
1959 kernel and 64 for 64-bit kernels; the minimum value which makes
1960 sense is 1 for Qemu (useful only for kernel debugging purposes)
1961 and 2 for all others.
1963 This is purely to save memory - each supported CPU adds
1964 approximately eight kilobytes to the kernel image. For best
1965 performance should round up your number of processors to the next
1968 source "kernel/time/Kconfig"
1971 # Timer Interrupt Frequency Configuration
1975 prompt "Timer frequency"
1978 Allows the configuration of the timer frequency.
1981 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
1984 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1987 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1990 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1993 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1996 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1999 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2003 config SYS_SUPPORTS_48HZ
2006 config SYS_SUPPORTS_100HZ
2009 config SYS_SUPPORTS_128HZ
2012 config SYS_SUPPORTS_250HZ
2015 config SYS_SUPPORTS_256HZ
2018 config SYS_SUPPORTS_1000HZ
2021 config SYS_SUPPORTS_1024HZ
2024 config SYS_SUPPORTS_ARBIT_HZ
2026 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2027 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2028 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2029 !SYS_SUPPORTS_1024HZ
2034 default 100 if HZ_100
2035 default 128 if HZ_128
2036 default 250 if HZ_250
2037 default 256 if HZ_256
2038 default 1000 if HZ_1000
2039 default 1024 if HZ_1024
2041 source "kernel/Kconfig.preempt"
2043 config MIPS_INSANE_LARGE
2044 bool "Support for large 64-bit configurations"
2045 depends on CPU_R10000 && 64BIT
2047 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
2048 previous 64-bit processors which only supported 40 bit / 1TB. If you
2049 need processes of more than 1TB virtual address space, say Y here.
2050 This will result in additional memory usage, so it is not
2051 recommended for normal users.
2054 bool "Kexec system call (EXPERIMENTAL)"
2055 depends on EXPERIMENTAL
2057 kexec is a system call that implements the ability to shutdown your
2058 current kernel, and to start another kernel. It is like a reboot
2059 but it is independent of the system firmware. And like a reboot
2060 you can start any kernel with it, not just Linux.
2062 The name comes from the similarity to the exec system call.
2064 It is an ongoing process to be certain the hardware in a machine
2065 is properly shutdown, so do not be surprised if this code does not
2066 initially work for you. It may help to enable device hotplugging
2067 support. As of this writing the exact hardware interface is
2068 strongly in flux, so no good recommendation can be made.
2071 bool "Enable seccomp to safely compute untrusted bytecode"
2075 This kernel feature is useful for number crunching applications
2076 that may need to compute untrusted bytecode during their
2077 execution. By using pipes or other transports made available to
2078 the process as file descriptors supporting the read/write
2079 syscalls, it's possible to isolate those applications in
2080 their own address space using seccomp. Once seccomp is
2081 enabled via /proc/<pid>/seccomp, it cannot be disabled
2082 and the task is only allowed to execute a few safe syscalls
2083 defined by each seccomp mode.
2085 If unsure, say Y. Only embedded should say N here.
2089 config LOCKDEP_SUPPORT
2093 config STACKTRACE_SUPPORT
2097 source "init/Kconfig"
2099 source "kernel/Kconfig.freezer"
2101 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2109 bool "Support for PCI controller"
2110 depends on HW_HAS_PCI
2113 Find out whether you have a PCI motherboard. PCI is the name of a
2114 bus system, i.e. the way the CPU talks to the other stuff inside
2115 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2121 source "drivers/pci/Kconfig"
2124 # ISA support is now enabled via select. Too many systems still have the one
2125 # or other ISA chip on the board that users don't know about so don't expect
2126 # users to choose the right thing ...
2133 depends on HW_HAS_EISA
2135 select GENERIC_ISA_DMA
2137 The Extended Industry Standard Architecture (EISA) bus was
2138 developed as an open alternative to the IBM MicroChannel bus.
2140 The EISA bus provided some of the features of the IBM MicroChannel
2141 bus while maintaining backward compatibility with cards made for
2142 the older ISA bus. The EISA bus saw limited use between 1988 and
2143 1995 when it was made obsolete by the PCI bus.
2145 Say Y here if you are building a kernel for an EISA-based machine.
2149 source "drivers/eisa/Kconfig"
2152 bool "TURBOchannel support"
2153 depends on MACH_DECSTATION
2155 TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2156 processors. Documentation on writing device drivers for TurboChannel
2158 <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
2161 # bool "Access.Bus support"
2170 select MIPS_EXTERNAL_TIMER
2175 source "drivers/pcmcia/Kconfig"
2177 source "drivers/pci/hotplug/Kconfig"
2181 menu "Executable file formats"
2183 source "fs/Kconfig.binfmt"
2188 config MIPS32_COMPAT
2189 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2192 Select this option if you want Linux/MIPS 32-bit binary
2193 compatibility. Since all software available for Linux/MIPS is
2194 currently 32-bit you should say Y here.
2198 depends on MIPS32_COMPAT
2201 config SYSVIPC_COMPAT
2203 depends on COMPAT && SYSVIPC
2207 bool "Kernel support for o32 binaries"
2208 depends on MIPS32_COMPAT
2210 Select this option if you want to run o32 binaries. These are pure
2211 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2212 existing binaries are in this format.
2217 bool "Kernel support for n32 binaries"
2218 depends on MIPS32_COMPAT
2220 Select this option if you want to run n32 binaries. These are
2221 64-bit binaries using 32-bit quantities for addressing and certain
2222 data that would normally be 64-bit. They are used in special
2229 default y if MIPS32_O32 || MIPS32_N32
2233 menu "Power management options"
2235 config ARCH_HIBERNATION_POSSIBLE
2237 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2239 config ARCH_SUSPEND_POSSIBLE
2241 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2243 source "kernel/power/Kconfig"
2247 source "arch/mips/kernel/cpufreq/Kconfig"
2249 source "net/Kconfig"
2251 source "drivers/Kconfig"
2255 source "arch/mips/Kconfig.debug"
2257 source "security/Kconfig"
2259 source "crypto/Kconfig"
2261 source "lib/Kconfig"