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 # Horrible source of confusion. Die, die, die ...
14 select RTC_LIB if !MACH_LOONGSON
16 mainmenu "Linux/MIPS Kernel Configuration"
18 menu "Machine selection"
28 bool "Alchemy processor based machines"
29 select SYS_SUPPORTS_ZBOOT
32 bool "Texas Instruments AR7"
34 select DMA_NONCOHERENT
40 select SYS_HAS_CPU_MIPS32_R1
41 select SYS_HAS_EARLY_PRINTK
42 select SYS_SUPPORTS_32BIT_KERNEL
43 select SYS_SUPPORTS_LITTLE_ENDIAN
44 select SYS_SUPPORTS_ZBOOT_UART16550
49 Support for the Texas Instruments AR7 System-on-a-Chip
50 family: TNETD7100, 7200 and 7300.
53 bool "Basler eXcite smart camera"
62 select SYS_HAS_CPU_RM9000
63 select SYS_SUPPORTS_32BIT_KERNEL
64 select SYS_SUPPORTS_BIG_ENDIAN
66 The eXcite is a smart camera platform manufactured by
67 Basler Vision Technologies AG.
70 bool "BCM47XX based boards"
73 select DMA_NONCOHERENT
76 select SYS_HAS_CPU_MIPS32_R1
77 select SYS_SUPPORTS_32BIT_KERNEL
78 select SYS_SUPPORTS_LITTLE_ENDIAN
80 select SSB_DRIVER_MIPS
81 select SSB_DRIVER_EXTIF
83 select SSB_PCICORE_HOSTMODE if PCI
85 select SYS_HAS_EARLY_PRINTK
88 Support for BCM47XX based boards
91 bool "Broadcom BCM63XX based boards"
94 select DMA_NONCOHERENT
96 select SYS_HAS_CPU_MIPS32_R1
97 select SYS_SUPPORTS_32BIT_KERNEL
98 select SYS_SUPPORTS_BIG_ENDIAN
99 select SYS_HAS_EARLY_PRINTK
101 select ARCH_REQUIRE_GPIOLIB
103 Support for BCM63XX based boards
110 select DMA_NONCOHERENT
116 select PCI_GT64XXX_PCI0
118 select SYS_HAS_CPU_NEVADA
119 select SYS_HAS_EARLY_PRINTK
120 select SYS_SUPPORTS_32BIT_KERNEL
121 select SYS_SUPPORTS_64BIT_KERNEL
122 select SYS_SUPPORTS_LITTLE_ENDIAN
124 config MACH_DECSTATION
131 select CPU_DADDI_WORKAROUNDS if 64BIT
132 select CPU_R4000_WORKAROUNDS if 64BIT
133 select CPU_R4400_WORKAROUNDS if 64BIT
134 select DMA_NONCOHERENT
137 select SYS_HAS_CPU_R3000
138 select SYS_HAS_CPU_R4X00
139 select SYS_SUPPORTS_32BIT_KERNEL
140 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
141 select SYS_SUPPORTS_LITTLE_ENDIAN
142 select SYS_SUPPORTS_128HZ
143 select SYS_SUPPORTS_256HZ
144 select SYS_SUPPORTS_1024HZ
146 This enables support for DEC's MIPS based workstations. For details
147 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
148 DECstation porting pages on <http://decstation.unix-ag.org/>.
150 If you have one of the following DECstation Models you definitely
151 want to choose R4xx0 for the CPU Type:
158 otherwise choose R3000.
161 bool "Jazz family of machines"
164 select ARCH_MAY_HAVE_PC_FDC
167 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
168 select GENERIC_ISA_DMA
173 select SYS_HAS_CPU_R4X00
174 select SYS_SUPPORTS_32BIT_KERNEL
175 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
176 select SYS_SUPPORTS_100HZ
178 This a family of machines based on the MIPS R4030 chipset which was
179 used by several vendors to build RISC/os and Windows NT workstations.
180 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
181 Olivetti M700-10 workstations.
184 bool "LASAT Networks platforms"
187 select DMA_NONCOHERENT
188 select SYS_HAS_EARLY_PRINTK
191 select PCI_GT64XXX_PCI0
193 select R5000_CPU_SCACHE
194 select SYS_HAS_CPU_R5000
195 select SYS_SUPPORTS_32BIT_KERNEL
196 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
197 select SYS_SUPPORTS_LITTLE_ENDIAN
200 bool "Loongson family of machines"
201 select SYS_SUPPORTS_ZBOOT_UART16550
203 This enables the support of Loongson family of machines.
205 Loongson is a family of general-purpose MIPS-compatible CPUs.
206 developed at Institute of Computing Technology (ICT),
207 Chinese Academy of Sciences (CAS) in the People's Republic
208 of China. The chief architect is Professor Weiwu Hu.
211 bool "MIPS Malta board"
212 select ARCH_MAY_HAVE_PC_FDC
217 select DMA_NONCOHERENT
218 select GENERIC_ISA_DMA
224 select MIPS_BOARDS_GEN
226 select MIPS_CPU_SCACHE
227 select PCI_GT64XXX_PCI0
230 select SYS_HAS_CPU_MIPS32_R1
231 select SYS_HAS_CPU_MIPS32_R2
232 select SYS_HAS_CPU_MIPS64_R1
233 select SYS_HAS_CPU_NEVADA
234 select SYS_HAS_CPU_RM7000
235 select SYS_HAS_EARLY_PRINTK
236 select SYS_SUPPORTS_32BIT_KERNEL
237 select SYS_SUPPORTS_64BIT_KERNEL
238 select SYS_SUPPORTS_BIG_ENDIAN
239 select SYS_SUPPORTS_LITTLE_ENDIAN
240 select SYS_SUPPORTS_MIPS_CMP
241 select SYS_SUPPORTS_MULTITHREADING
242 select SYS_SUPPORTS_SMARTMIPS
243 select SYS_SUPPORTS_ZBOOT
245 This enables support for the MIPS Technologies Malta evaluation
249 bool 'MIPS simulator (MIPSsim)'
252 select DMA_NONCOHERENT
253 select SYS_HAS_EARLY_PRINTK
256 select SYS_HAS_CPU_MIPS32_R1
257 select SYS_HAS_CPU_MIPS32_R2
258 select SYS_HAS_EARLY_PRINTK
259 select SYS_SUPPORTS_32BIT_KERNEL
260 select SYS_SUPPORTS_BIG_ENDIAN
261 select SYS_SUPPORTS_MULTITHREADING
262 select SYS_SUPPORTS_LITTLE_ENDIAN
264 This option enables support for MIPS Technologies MIPSsim software
268 bool "NEC EMMA2RH Mark-eins board"
272 This enables support for the NEC Electronics Mark-eins boards.
275 bool "NEC VR4100 series based machines"
278 select SYS_HAS_CPU_VR41XX
279 select ARCH_REQUIRE_GPIOLIB
282 bool "NXP STB220 board"
285 Support for NXP Semiconductors STB220 Development Board.
292 Support for NXP Semiconductors STB225 Development Board.
295 bool "NXP PNX8550 based JBS board"
297 select SYS_SUPPORTS_LITTLE_ENDIAN
299 config PNX8550_STB810
300 bool "NXP PNX8550 based STB810 board"
302 select SYS_SUPPORTS_LITTLE_ENDIAN
305 bool "PMC-Sierra MSP chipsets"
306 depends on EXPERIMENTAL
307 select DMA_NONCOHERENT
309 select NO_EXCEPT_FILL
311 select SYS_HAS_CPU_MIPS32_R1
312 select SYS_HAS_CPU_MIPS32_R2
313 select SYS_SUPPORTS_32BIT_KERNEL
314 select SYS_SUPPORTS_BIG_ENDIAN
317 select SERIAL_8250_CONSOLE
319 This adds support for the PMC-Sierra family of Multi-Service
320 Processor System-On-A-Chips. These parts include a number
321 of integrated peripherals, interfaces and DSPs in addition to
322 a variety of MIPS cores.
325 bool "PMC-Sierra Yosemite eval board"
334 select SYS_HAS_CPU_RM9000
335 select SYS_HAS_EARLY_PRINTK
336 select SYS_SUPPORTS_32BIT_KERNEL
337 select SYS_SUPPORTS_64BIT_KERNEL
338 select SYS_SUPPORTS_BIG_ENDIAN
339 select SYS_SUPPORTS_HIGHMEM
340 select SYS_SUPPORTS_SMP
342 Yosemite is an evaluation board for the RM9000x2 processor
343 manufactured by PMC-Sierra.
349 select CPU_MIPSR2_IRQ_VI
350 select CPU_MIPSR2_IRQ_EI
352 select DMA_NONCOHERENT
354 select SYS_HAS_EARLY_PRINTK
355 select SYS_HAS_CPU_MIPS32_R2
356 select SYS_SUPPORTS_32BIT_KERNEL
357 select SYS_SUPPORTS_BIG_ENDIAN
358 select SYS_SUPPORTS_HIGHMEM
359 select USB_OHCI_LITTLE_ENDIAN
361 This enables support for the Cisco PowerTV Platform.
364 bool "SGI IP22 (Indy/Indigo2)"
370 select DEFAULT_SGI_PARTITION
371 select DMA_NONCOHERENT
375 select IP22_CPU_SCACHE
377 select GENERIC_ISA_DMA_SUPPORT_BROKEN
379 select SGI_HAS_INDYDOG
385 select SYS_HAS_CPU_R4X00
386 select SYS_HAS_CPU_R5000
388 # Disable EARLY_PRINTK for now since it leads to overwritten prom
389 # memory during early boot on some machines.
391 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
392 # for a more details discussion
394 # select SYS_HAS_EARLY_PRINTK
395 select SYS_SUPPORTS_32BIT_KERNEL
396 select SYS_SUPPORTS_64BIT_KERNEL
397 select SYS_SUPPORTS_BIG_ENDIAN
399 This are the SGI Indy, Challenge S and Indigo2, as well as certain
400 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
401 that runs on these, say Y here.
404 bool "SGI IP27 (Origin200/2000)"
408 select DEFAULT_SGI_PARTITION
410 select SYS_HAS_EARLY_PRINTK
412 select NR_CPUS_DEFAULT_64
413 select SYS_HAS_CPU_R10000
414 select SYS_SUPPORTS_64BIT_KERNEL
415 select SYS_SUPPORTS_BIG_ENDIAN
416 select SYS_SUPPORTS_NUMA
417 select SYS_SUPPORTS_SMP
419 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
420 workstations. To compile a Linux kernel that runs on these, say Y
424 bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
425 depends on EXPERIMENTAL
431 select DEFAULT_SGI_PARTITION
432 select DMA_NONCOHERENT
433 select GENERIC_ISA_DMA_SUPPORT_BROKEN
439 select SGI_HAS_INDYDOG
445 select SYS_HAS_CPU_R10000
447 # Disable EARLY_PRINTK for now since it leads to overwritten prom
448 # memory during early boot on some machines.
450 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
451 # for a more details discussion
453 # select SYS_HAS_EARLY_PRINTK
454 select SYS_SUPPORTS_64BIT_KERNEL
455 select SYS_SUPPORTS_BIG_ENDIAN
457 This is the SGI Indigo2 with R10000 processor. To compile a Linux
458 kernel that runs on these, say Y here.
467 select DMA_NONCOHERENT
470 select R5000_CPU_SCACHE
471 select RM7000_CPU_SCACHE
472 select SYS_HAS_CPU_R5000
473 select SYS_HAS_CPU_R10000 if BROKEN
474 select SYS_HAS_CPU_RM7000
475 select SYS_HAS_CPU_NEVADA
476 select SYS_SUPPORTS_64BIT_KERNEL
477 select SYS_SUPPORTS_BIG_ENDIAN
479 If you want this kernel to run on SGI O2 workstation, say Y here.
482 bool "Sibyte BCM91120C-CRhine"
483 depends on EXPERIMENTAL
486 select SIBYTE_BCM1120
488 select SYS_HAS_CPU_SB1
489 select SYS_SUPPORTS_BIG_ENDIAN
490 select SYS_SUPPORTS_LITTLE_ENDIAN
493 bool "Sibyte BCM91120x-Carmel"
494 depends on EXPERIMENTAL
497 select SIBYTE_BCM1120
499 select SYS_HAS_CPU_SB1
500 select SYS_SUPPORTS_BIG_ENDIAN
501 select SYS_SUPPORTS_LITTLE_ENDIAN
504 bool "Sibyte BCM91125C-CRhone"
505 depends on EXPERIMENTAL
508 select SIBYTE_BCM1125
510 select SYS_HAS_CPU_SB1
511 select SYS_SUPPORTS_BIG_ENDIAN
512 select SYS_SUPPORTS_HIGHMEM
513 select SYS_SUPPORTS_LITTLE_ENDIAN
516 bool "Sibyte BCM91125E-Rhone"
517 depends on EXPERIMENTAL
520 select SIBYTE_BCM1125H
522 select SYS_HAS_CPU_SB1
523 select SYS_SUPPORTS_BIG_ENDIAN
524 select SYS_SUPPORTS_LITTLE_ENDIAN
527 bool "Sibyte BCM91250A-SWARM"
530 select NR_CPUS_DEFAULT_2
533 select SYS_HAS_CPU_SB1
534 select SYS_SUPPORTS_BIG_ENDIAN
535 select SYS_SUPPORTS_HIGHMEM
536 select SYS_SUPPORTS_LITTLE_ENDIAN
537 select ZONE_DMA32 if 64BIT
539 config SIBYTE_LITTLESUR
540 bool "Sibyte BCM91250C2-LittleSur"
541 depends on EXPERIMENTAL
544 select NR_CPUS_DEFAULT_2
547 select SYS_HAS_CPU_SB1
548 select SYS_SUPPORTS_BIG_ENDIAN
549 select SYS_SUPPORTS_HIGHMEM
550 select SYS_SUPPORTS_LITTLE_ENDIAN
552 config SIBYTE_SENTOSA
553 bool "Sibyte BCM91250E-Sentosa"
554 depends on EXPERIMENTAL
557 select NR_CPUS_DEFAULT_2
560 select SYS_HAS_CPU_SB1
561 select SYS_SUPPORTS_BIG_ENDIAN
562 select SYS_SUPPORTS_LITTLE_ENDIAN
565 bool "Sibyte BCM91480B-BigSur"
568 select NR_CPUS_DEFAULT_4
569 select SIBYTE_BCM1x80
571 select SYS_HAS_CPU_SB1
572 select SYS_SUPPORTS_BIG_ENDIAN
573 select SYS_SUPPORTS_HIGHMEM
574 select SYS_SUPPORTS_LITTLE_ENDIAN
575 select ZONE_DMA32 if 64BIT
578 bool "SNI RM200/300/400"
579 select ARC if CPU_LITTLE_ENDIAN
580 select ARC32 if CPU_LITTLE_ENDIAN
581 select SNIPROM if CPU_BIG_ENDIAN
582 select ARCH_MAY_HAVE_PC_FDC
586 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
587 select DMA_NONCOHERENT
588 select GENERIC_ISA_DMA
595 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
596 select SYS_HAS_CPU_R4X00
597 select SYS_HAS_CPU_R5000
598 select SYS_HAS_CPU_R10000
599 select R5000_CPU_SCACHE
600 select SYS_HAS_EARLY_PRINTK
601 select SYS_SUPPORTS_32BIT_KERNEL
602 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
603 select SYS_SUPPORTS_BIG_ENDIAN
604 select SYS_SUPPORTS_HIGHMEM
605 select SYS_SUPPORTS_LITTLE_ENDIAN
607 The SNI RM200/300/400 are MIPS-based machines manufactured by
608 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
609 Technology and now in turn merged with Fujitsu. Say Y here to
610 support this machine type.
613 bool "Toshiba TX39 series based machines"
616 bool "Toshiba TX49 series based machines"
618 config MIKROTIK_RB532
619 bool "Mikrotik RB532 boards"
622 select DMA_NONCOHERENT
625 select SYS_HAS_CPU_MIPS32_R1
626 select SYS_SUPPORTS_32BIT_KERNEL
627 select SYS_SUPPORTS_LITTLE_ENDIAN
630 select ARCH_REQUIRE_GPIOLIB
632 Support the Mikrotik(tm) RouterBoard 532 series,
633 based on the IDT RC32434 SoC.
636 bool "Wind River PPMC board"
641 select DMA_NONCOHERENT
643 select PCI_GT64XXX_PCI0
645 select SYS_HAS_CPU_MIPS32_R1
646 select SYS_HAS_CPU_MIPS32_R2
647 select SYS_HAS_CPU_MIPS64_R1
648 select SYS_HAS_CPU_NEVADA
649 select SYS_HAS_CPU_RM7000
650 select SYS_SUPPORTS_32BIT_KERNEL
651 select SYS_SUPPORTS_64BIT_KERNEL
652 select SYS_SUPPORTS_BIG_ENDIAN
653 select SYS_SUPPORTS_LITTLE_ENDIAN
655 This enables support for the Wind River MIPS32 4KC PPMC evaluation
656 board, which is based on GT64120 bridge chip.
658 config CAVIUM_OCTEON_SIMULATOR
659 bool "Cavium Networks Octeon Simulator"
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_CPU_CAVIUM_OCTEON
669 The Octeon simulator is software performance model of the Cavium
670 Octeon Processor. It supports simulating Octeon processors on x86
673 config CAVIUM_OCTEON_REFERENCE_BOARD
674 bool "Cavium Networks Octeon reference board"
676 select 64BIT_PHYS_ADDR
678 select SYS_SUPPORTS_64BIT_KERNEL
679 select SYS_SUPPORTS_BIG_ENDIAN
680 select SYS_SUPPORTS_HIGHMEM
681 select SYS_SUPPORTS_HOTPLUG_CPU
682 select SYS_HAS_EARLY_PRINTK
683 select SYS_HAS_CPU_CAVIUM_OCTEON
686 select ARCH_SUPPORTS_MSI
688 This option supports all of the Octeon reference boards from Cavium
689 Networks. It builds a kernel that dynamically determines the Octeon
690 CPU type and supports all known board reference implementations.
691 Some of the supported boards are:
698 Say Y here for most Octeon reference boards.
702 source "arch/mips/alchemy/Kconfig"
703 source "arch/mips/basler/excite/Kconfig"
704 source "arch/mips/bcm63xx/Kconfig"
705 source "arch/mips/jazz/Kconfig"
706 source "arch/mips/lasat/Kconfig"
707 source "arch/mips/pmc-sierra/Kconfig"
708 source "arch/mips/powertv/Kconfig"
709 source "arch/mips/sgi-ip27/Kconfig"
710 source "arch/mips/sibyte/Kconfig"
711 source "arch/mips/txx9/Kconfig"
712 source "arch/mips/vr41xx/Kconfig"
713 source "arch/mips/cavium-octeon/Kconfig"
714 source "arch/mips/loongson/Kconfig"
718 config RWSEM_GENERIC_SPINLOCK
722 config RWSEM_XCHGADD_ALGORITHM
725 config ARCH_HAS_ILOG2_U32
729 config ARCH_HAS_ILOG2_U64
733 config ARCH_SUPPORTS_OPROFILE
735 default y if !MIPS_MT_SMTC
737 config GENERIC_FIND_NEXT_BIT
741 config GENERIC_HWEIGHT
745 config GENERIC_CALIBRATE_DELAY
749 config GENERIC_CLOCKEVENTS
757 config GENERIC_CMOS_UPDATE
761 config SCHED_OMIT_FRAME_POINTER
765 config GENERIC_HARDIRQS_NO__DO_IRQ
769 # Select some configuration options automatically based on user selections.
774 config ARCH_MAY_HAVE_PC_FDC
823 select ARCH_REQUIRE_GPIOLIB
832 config DMA_NONCOHERENT
834 select DMA_NEED_PCI_MAP_STATE
836 config DMA_NEED_PCI_MAP_STATE
840 bool "Early printk" if EMBEDDED && DEBUG_KERNEL
841 depends on SYS_HAS_EARLY_PRINTK
844 This option enables special console drivers which allow the kernel
845 to print messages very early in the bootup process.
847 This is useful for kernel debugging when your machine crashes very
848 early before the console code is initialized. For normal operation,
849 it is not recommended because it looks ugly on some machines and
850 doesn't cooperate with an X server. You should normally say N here,
851 unless you want to debug such a crash.
853 config SYS_HAS_EARLY_PRINTK
857 bool "Support for hot-pluggable CPUs"
858 depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU
860 Say Y here to allow turning CPUs off and on. CPUs can be
861 controlled through /sys/devices/system/cpu.
862 (Note: power management support will enable this option
863 automatically on SMP systems. )
864 Say N if you want to disable CPU hotplug.
866 config SYS_SUPPORTS_HOTPLUG_CPU
881 config MIPS_DISABLE_OBSOLETE_IDE
890 config GENERIC_ISA_DMA
892 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
894 config GENERIC_ISA_DMA_SUPPORT_BROKEN
896 select GENERIC_ISA_DMA
902 # Endianess selection. Sufficiently obscure so many users don't know what to
903 # answer,so we try hard to limit the available choices. Also the use of a
904 # choice statement should be more obvious to the user.
907 prompt "Endianess selection"
909 Some MIPS machines can be configured for either little or big endian
910 byte order. These modes require different kernels and a different
911 Linux distribution. In general there is one preferred byteorder for a
912 particular system but some systems are just as commonly used in the
913 one or the other endianness.
915 config CPU_BIG_ENDIAN
917 depends on SYS_SUPPORTS_BIG_ENDIAN
919 config CPU_LITTLE_ENDIAN
921 depends on SYS_SUPPORTS_LITTLE_ENDIAN
926 config SYS_SUPPORTS_APM_EMULATION
929 config SYS_SUPPORTS_BIG_ENDIAN
932 config SYS_SUPPORTS_LITTLE_ENDIAN
935 config SYS_SUPPORTS_HUGETLBFS
937 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
964 config IRQ_CPU_OCTEON
967 config MIPS_BOARDS_GEN
970 config PCI_GT64XXX_PCI0
973 config NO_EXCEPT_FILL
984 select DMA_NONCOHERENT
987 select SYS_HAS_CPU_R5500
988 select SYS_SUPPORTS_32BIT_KERNEL
989 select SYS_SUPPORTS_64BIT_KERNEL
990 select SYS_SUPPORTS_BIG_ENDIAN
997 select DMA_NONCOHERENT
998 select SYS_HAS_CPU_MIPS32_R2
999 select SYS_SUPPORTS_32BIT_KERNEL
1000 select SYS_SUPPORTS_LITTLE_ENDIAN
1001 select SYS_SUPPORTS_BIG_ENDIAN
1003 select CPU_MIPSR2_IRQ_VI
1015 select DMA_NONCOHERENT
1017 select SYS_HAS_CPU_MIPS32_R1
1018 select SYS_HAS_EARLY_PRINTK
1019 select SYS_SUPPORTS_32BIT_KERNEL
1022 config SWAP_IO_SPACE
1025 config SERIAL_RM9000
1028 config SGI_HAS_INDYDOG
1040 config SGI_HAS_ZILOG
1043 config SGI_HAS_I8042
1046 config DEFAULT_SGI_PARTITION
1058 config MIPS_L1_CACHE_SHIFT
1060 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL
1061 default "6" if MIPS_CPU_SCACHE
1062 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON
1065 config HAVE_STD_PC_SERIAL_PORT
1069 bool "ARC console support"
1070 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
1074 depends on MACH_JAZZ || SNI_RM || SGI_IP32
1079 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
1088 menu "CPU selection"
1094 config CPU_LOONGSON2E
1096 depends on SYS_HAS_CPU_LOONGSON2E
1097 select CPU_LOONGSON2
1099 The Loongson 2E processor implements the MIPS III instruction set
1100 with many extensions.
1102 It has an internal FPGA northbridge, which is compatiable to
1105 config CPU_LOONGSON2F
1107 depends on SYS_HAS_CPU_LOONGSON2F
1108 select CPU_LOONGSON2
1110 The Loongson 2F processor implements the MIPS III instruction set
1111 with many extensions.
1113 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1114 have a similar programming interface with FPGA northbridge used in
1117 config CPU_MIPS32_R1
1118 bool "MIPS32 Release 1"
1119 depends on SYS_HAS_CPU_MIPS32_R1
1120 select CPU_HAS_PREFETCH
1121 select CPU_SUPPORTS_32BIT_KERNEL
1122 select CPU_SUPPORTS_HIGHMEM
1124 Choose this option to build a kernel for release 1 or later of the
1125 MIPS32 architecture. Most modern embedded systems with a 32-bit
1126 MIPS processor are based on a MIPS32 processor. If you know the
1127 specific type of processor in your system, choose those that one
1128 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1129 Release 2 of the MIPS32 architecture is available since several
1130 years so chances are you even have a MIPS32 Release 2 processor
1131 in which case you should choose CPU_MIPS32_R2 instead for better
1134 config CPU_MIPS32_R2
1135 bool "MIPS32 Release 2"
1136 depends on SYS_HAS_CPU_MIPS32_R2
1137 select CPU_HAS_PREFETCH
1138 select CPU_SUPPORTS_32BIT_KERNEL
1139 select CPU_SUPPORTS_HIGHMEM
1141 Choose this option to build a kernel for release 2 or later of the
1142 MIPS32 architecture. Most modern embedded systems with a 32-bit
1143 MIPS processor are based on a MIPS32 processor. If you know the
1144 specific type of processor in your system, choose those that one
1145 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1147 config CPU_MIPS64_R1
1148 bool "MIPS64 Release 1"
1149 depends on SYS_HAS_CPU_MIPS64_R1
1150 select CPU_HAS_PREFETCH
1151 select CPU_SUPPORTS_32BIT_KERNEL
1152 select CPU_SUPPORTS_64BIT_KERNEL
1153 select CPU_SUPPORTS_HIGHMEM
1154 select CPU_SUPPORTS_HUGEPAGES
1156 Choose this option to build a kernel for release 1 or later of the
1157 MIPS64 architecture. Many modern embedded systems with a 64-bit
1158 MIPS processor are based on a MIPS64 processor. If you know the
1159 specific type of processor in your system, choose those that one
1160 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1161 Release 2 of the MIPS64 architecture is available since several
1162 years so chances are you even have a MIPS64 Release 2 processor
1163 in which case you should choose CPU_MIPS64_R2 instead for better
1166 config CPU_MIPS64_R2
1167 bool "MIPS64 Release 2"
1168 depends on SYS_HAS_CPU_MIPS64_R2
1169 select CPU_HAS_PREFETCH
1170 select CPU_SUPPORTS_32BIT_KERNEL
1171 select CPU_SUPPORTS_64BIT_KERNEL
1172 select CPU_SUPPORTS_HIGHMEM
1173 select CPU_SUPPORTS_HUGEPAGES
1175 Choose this option to build a kernel for release 2 or later of the
1176 MIPS64 architecture. Many modern embedded systems with a 64-bit
1177 MIPS processor are based on a MIPS64 processor. If you know the
1178 specific type of processor in your system, choose those that one
1179 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1183 depends on SYS_HAS_CPU_R3000
1185 select CPU_SUPPORTS_32BIT_KERNEL
1186 select CPU_SUPPORTS_HIGHMEM
1188 Please make sure to pick the right CPU type. Linux/MIPS is not
1189 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1190 *not* work on R4000 machines and vice versa. However, since most
1191 of the supported machines have an R4000 (or similar) CPU, R4x00
1192 might be a safe bet. If the resulting kernel does not work,
1193 try to recompile with R3000.
1197 depends on SYS_HAS_CPU_TX39XX
1198 select CPU_SUPPORTS_32BIT_KERNEL
1202 depends on SYS_HAS_CPU_VR41XX
1203 select CPU_SUPPORTS_32BIT_KERNEL
1204 select CPU_SUPPORTS_64BIT_KERNEL
1206 The options selects support for the NEC VR4100 series of processors.
1207 Only choose this option if you have one of these processors as a
1208 kernel built with this option will not run on any other type of
1209 processor or vice versa.
1213 depends on SYS_HAS_CPU_R4300
1214 select CPU_SUPPORTS_32BIT_KERNEL
1215 select CPU_SUPPORTS_64BIT_KERNEL
1217 MIPS Technologies R4300-series processors.
1221 depends on SYS_HAS_CPU_R4X00
1222 select CPU_SUPPORTS_32BIT_KERNEL
1223 select CPU_SUPPORTS_64BIT_KERNEL
1225 MIPS Technologies R4000-series processors other than 4300, including
1226 the R4000, R4400, R4600, and 4700.
1230 depends on SYS_HAS_CPU_TX49XX
1231 select CPU_HAS_PREFETCH
1232 select CPU_SUPPORTS_32BIT_KERNEL
1233 select CPU_SUPPORTS_64BIT_KERNEL
1237 depends on SYS_HAS_CPU_R5000
1238 select CPU_SUPPORTS_32BIT_KERNEL
1239 select CPU_SUPPORTS_64BIT_KERNEL
1241 MIPS Technologies R5000-series processors other than the Nevada.
1245 depends on SYS_HAS_CPU_R5432
1246 select CPU_SUPPORTS_32BIT_KERNEL
1247 select CPU_SUPPORTS_64BIT_KERNEL
1251 depends on SYS_HAS_CPU_R5500
1252 select CPU_SUPPORTS_32BIT_KERNEL
1253 select CPU_SUPPORTS_64BIT_KERNEL
1254 select CPU_SUPPORTS_HUGEPAGES
1256 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1261 depends on EXPERIMENTAL
1262 depends on SYS_HAS_CPU_R6000
1263 select CPU_SUPPORTS_32BIT_KERNEL
1265 MIPS Technologies R6000 and R6000A series processors. Note these
1266 processors are extremely rare and the support for them is incomplete.
1270 depends on SYS_HAS_CPU_NEVADA
1271 select CPU_SUPPORTS_32BIT_KERNEL
1272 select CPU_SUPPORTS_64BIT_KERNEL
1274 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1278 depends on EXPERIMENTAL
1279 depends on SYS_HAS_CPU_R8000
1280 select CPU_HAS_PREFETCH
1281 select CPU_SUPPORTS_64BIT_KERNEL
1283 MIPS Technologies R8000 processors. Note these processors are
1284 uncommon and the support for them is incomplete.
1288 depends on SYS_HAS_CPU_R10000
1289 select CPU_HAS_PREFETCH
1290 select CPU_SUPPORTS_32BIT_KERNEL
1291 select CPU_SUPPORTS_64BIT_KERNEL
1292 select CPU_SUPPORTS_HIGHMEM
1294 MIPS Technologies R10000-series processors.
1298 depends on SYS_HAS_CPU_RM7000
1299 select CPU_HAS_PREFETCH
1300 select CPU_SUPPORTS_32BIT_KERNEL
1301 select CPU_SUPPORTS_64BIT_KERNEL
1302 select CPU_SUPPORTS_HIGHMEM
1306 depends on SYS_HAS_CPU_RM9000
1307 select CPU_HAS_PREFETCH
1308 select CPU_SUPPORTS_32BIT_KERNEL
1309 select CPU_SUPPORTS_64BIT_KERNEL
1310 select CPU_SUPPORTS_HIGHMEM
1311 select WEAK_ORDERING
1315 depends on SYS_HAS_CPU_SB1
1316 select CPU_SUPPORTS_32BIT_KERNEL
1317 select CPU_SUPPORTS_64BIT_KERNEL
1318 select CPU_SUPPORTS_HIGHMEM
1319 select WEAK_ORDERING
1321 config CPU_CAVIUM_OCTEON
1322 bool "Cavium Octeon processor"
1323 depends on SYS_HAS_CPU_CAVIUM_OCTEON
1325 select IRQ_CPU_OCTEON
1326 select CPU_HAS_PREFETCH
1327 select CPU_SUPPORTS_64BIT_KERNEL
1328 select SYS_SUPPORTS_SMP
1329 select NR_CPUS_DEFAULT_16
1330 select WEAK_ORDERING
1331 select WEAK_REORDERING_BEYOND_LLSC
1332 select CPU_SUPPORTS_HIGHMEM
1333 select CPU_SUPPORTS_HUGEPAGES
1335 The Cavium Octeon processor is a highly integrated chip containing
1336 many ethernet hardware widgets for networking tasks. The processor
1337 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1338 Full details can be found at http://www.caviumnetworks.com.
1342 config SYS_SUPPORTS_ZBOOT
1344 select HAVE_KERNEL_GZIP
1345 select HAVE_KERNEL_BZIP2
1346 select HAVE_KERNEL_LZMA
1348 config SYS_SUPPORTS_ZBOOT_UART16550
1350 select SYS_SUPPORTS_ZBOOT
1352 config CPU_LOONGSON2
1354 select CPU_SUPPORTS_32BIT_KERNEL
1355 select CPU_SUPPORTS_64BIT_KERNEL
1356 select CPU_SUPPORTS_HIGHMEM
1358 config SYS_HAS_CPU_LOONGSON2E
1361 config SYS_HAS_CPU_LOONGSON2F
1363 select CPU_SUPPORTS_CPUFREQ
1364 select CPU_SUPPORTS_ADDRWINCFG if 64BIT
1365 select CPU_SUPPORTS_UNCACHED_ACCELERATED
1367 config SYS_HAS_CPU_MIPS32_R1
1370 config SYS_HAS_CPU_MIPS32_R2
1373 config SYS_HAS_CPU_MIPS64_R1
1376 config SYS_HAS_CPU_MIPS64_R2
1379 config SYS_HAS_CPU_R3000
1382 config SYS_HAS_CPU_TX39XX
1385 config SYS_HAS_CPU_VR41XX
1388 config SYS_HAS_CPU_R4300
1391 config SYS_HAS_CPU_R4X00
1394 config SYS_HAS_CPU_TX49XX
1397 config SYS_HAS_CPU_R5000
1400 config SYS_HAS_CPU_R5432
1403 config SYS_HAS_CPU_R5500
1406 config SYS_HAS_CPU_R6000
1409 config SYS_HAS_CPU_NEVADA
1412 config SYS_HAS_CPU_R8000
1415 config SYS_HAS_CPU_R10000
1418 config SYS_HAS_CPU_RM7000
1421 config SYS_HAS_CPU_RM9000
1424 config SYS_HAS_CPU_SB1
1427 config SYS_HAS_CPU_CAVIUM_OCTEON
1431 # CPU may reorder R->R, R->W, W->R, W->W
1432 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1434 config WEAK_ORDERING
1438 # CPU may reorder reads and writes beyond LL/SC
1439 # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1441 config WEAK_REORDERING_BEYOND_LLSC
1446 # These two indicate any level of the MIPS32 and MIPS64 architecture
1450 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1454 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1457 # These two indicate the revision of the architecture, either Release 1 or Release 2
1461 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1465 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1467 config SYS_SUPPORTS_32BIT_KERNEL
1469 config SYS_SUPPORTS_64BIT_KERNEL
1471 config CPU_SUPPORTS_32BIT_KERNEL
1473 config CPU_SUPPORTS_64BIT_KERNEL
1475 config CPU_SUPPORTS_CPUFREQ
1477 config CPU_SUPPORTS_ADDRWINCFG
1479 config CPU_SUPPORTS_HUGEPAGES
1481 config CPU_SUPPORTS_UNCACHED_ACCELERATED
1483 config MIPS_PGD_C0_CONTEXT
1485 default y if 64BIT && CPU_MIPSR2
1488 # Set to y for ptrace access to watch registers.
1490 config HARDWARE_WATCHPOINTS
1492 default y if CPU_MIPSR1 || CPU_MIPSR2
1498 prompt "Kernel code model"
1500 You should only select this option if you have a workload that
1501 actually benefits from 64-bit processing or if your machine has
1502 large memory. You will only be presented a single option in this
1503 menu if your system does not support both 32-bit and 64-bit kernels.
1506 bool "32-bit kernel"
1507 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1510 Select this option if you want to build a 32-bit kernel.
1512 bool "64-bit kernel"
1513 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1514 select HAVE_SYSCALL_WRAPPERS
1516 Select this option if you want to build a 64-bit kernel.
1521 prompt "Kernel page size"
1522 default PAGE_SIZE_4KB
1524 config PAGE_SIZE_4KB
1526 depends on !CPU_LOONGSON2
1528 This option select the standard 4kB Linux page size. On some
1529 R3000-family processors this is the only available page size. Using
1530 4kB page size will minimize memory consumption and is therefore
1531 recommended for low memory systems.
1533 config PAGE_SIZE_8KB
1535 depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
1537 Using 8kB page size will result in higher performance kernel at
1538 the price of higher memory consumption. This option is available
1539 only on R8000 and cnMIPS processors. Note that you will need a
1540 suitable Linux distribution to support this.
1542 config PAGE_SIZE_16KB
1544 depends on !CPU_R3000 && !CPU_TX39XX
1546 Using 16kB page size will result in higher performance kernel at
1547 the price of higher memory consumption. This option is available on
1548 all non-R3000 family processors. Note that you will need a suitable
1549 Linux distribution to support this.
1551 config PAGE_SIZE_32KB
1553 depends on CPU_CAVIUM_OCTEON
1555 Using 32kB page size will result in higher performance kernel at
1556 the price of higher memory consumption. This option is available
1557 only on cnMIPS cores. Note that you will need a suitable Linux
1558 distribution to support this.
1560 config PAGE_SIZE_64KB
1562 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1564 Using 64kB page size will result in higher performance kernel at
1565 the price of higher memory consumption. This option is available on
1566 all non-R3000 family processor. Not that at the time of this
1567 writing this option is still high experimental.
1574 config IP22_CPU_SCACHE
1579 # Support for a MIPS32 / MIPS64 style S-caches
1581 config MIPS_CPU_SCACHE
1585 config R5000_CPU_SCACHE
1589 config RM7000_CPU_SCACHE
1593 config SIBYTE_DMA_PAGEOPS
1594 bool "Use DMA to clear/copy pages"
1597 Instead of using the CPU to zero and copy pages, use a Data Mover
1598 channel. These DMA channels are otherwise unused by the standard
1599 SiByte Linux port. Seems to give a small performance benefit.
1601 config CPU_HAS_PREFETCH
1605 prompt "MIPS MT options"
1607 config MIPS_MT_DISABLED
1608 bool "Disable multithreading support."
1610 Use this option if your workload can't take advantage of
1611 MIPS hardware multithreading support. On systems that don't have
1612 the option of an MT-enabled processor this option will be the only
1613 option in this menu.
1616 bool "Use 1 TC on each available VPE for SMP"
1617 depends on SYS_SUPPORTS_MULTITHREADING
1618 select CPU_MIPSR2_IRQ_VI
1619 select CPU_MIPSR2_IRQ_EI
1621 select NR_CPUS_DEFAULT_2
1623 select SYS_SUPPORTS_SCHED_SMT if SMP
1624 select SYS_SUPPORTS_SMP
1627 This is a kernel model which is also known a VSMP or lately
1628 has been marketesed into SMVP.
1631 bool "SMTC: Use all TCs on all VPEs for SMP"
1632 depends on CPU_MIPS32_R2
1633 #depends on CPU_MIPS64_R2 # once there is hardware ...
1634 depends on SYS_SUPPORTS_MULTITHREADING
1635 select CPU_MIPSR2_IRQ_VI
1636 select CPU_MIPSR2_IRQ_EI
1638 select NR_CPUS_DEFAULT_8
1640 select SYS_SUPPORTS_SMP
1643 This is a kernel model which is known a SMTC or lately has been
1644 marketesed into SMVP.
1652 bool "SMT (multithreading) scheduler support"
1653 depends on SYS_SUPPORTS_SCHED_SMT
1656 SMT scheduler support improves the CPU scheduler's decision making
1657 when dealing with MIPS MT enabled cores at a cost of slightly
1658 increased overhead in some places. If unsure say N here.
1660 config SYS_SUPPORTS_SCHED_SMT
1664 config SYS_SUPPORTS_MULTITHREADING
1667 config MIPS_MT_FPAFF
1668 bool "Dynamic FPU affinity for FP-intensive threads"
1670 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1672 config MIPS_VPE_LOADER
1673 bool "VPE loader support."
1674 depends on SYS_SUPPORTS_MULTITHREADING
1675 select CPU_MIPSR2_IRQ_VI
1676 select CPU_MIPSR2_IRQ_EI
1679 Includes a loader for loading an elf relocatable object
1680 onto another VPE and running it.
1682 config MIPS_MT_SMTC_IM_BACKSTOP
1683 bool "Use per-TC register bits as backstop for inhibited IM bits"
1684 depends on MIPS_MT_SMTC
1687 To support multiple TC microthreads acting as "CPUs" within
1688 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1689 during interrupt handling. To support legacy drivers and interrupt
1690 controller management code, SMTC has a "backstop" to track and
1691 if necessary restore the interrupt mask. This has some performance
1692 impact on interrupt service overhead.
1694 config MIPS_MT_SMTC_IRQAFF
1695 bool "Support IRQ affinity API"
1696 depends on MIPS_MT_SMTC
1699 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1700 for SMTC Linux kernel. Requires platform support, of which
1701 an example can be found in the MIPS kernel i8259 and Malta
1702 platform code. Adds some overhead to interrupt dispatch, and
1703 should be used only if you know what you are doing.
1705 config MIPS_VPE_LOADER_TOM
1706 bool "Load VPE program into memory hidden from linux"
1707 depends on MIPS_VPE_LOADER
1710 The loader can use memory that is present but has been hidden from
1711 Linux using the kernel command line option "mem=xxMB". It's up to
1712 you to ensure the amount you put in the option and the space your
1713 program requires is less or equal to the amount physically present.
1715 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1716 config MIPS_VPE_APSP_API
1717 bool "Enable support for AP/SP API (RTLX)"
1718 depends on MIPS_VPE_LOADER
1721 config MIPS_APSP_KSPD
1723 depends on MIPS_VPE_APSP_API
1726 KSPD is a kernel daemon that accepts syscall requests from the SP
1727 side, actions them and returns the results. It also handles the
1728 "exit" syscall notifying other kernel modules the SP program is
1729 exiting. You probably want to say yes here.
1732 bool "MIPS CMP framework support"
1733 depends on SYS_SUPPORTS_MIPS_CMP
1735 select SYS_SUPPORTS_SMP
1736 select SYS_SUPPORTS_SCHED_SMT if SMP
1737 select WEAK_ORDERING
1740 This is a placeholder option for the GCMP work. It will need to
1741 be handled differently...
1743 config SB1_PASS_1_WORKAROUNDS
1745 depends on CPU_SB1_PASS_1
1748 config SB1_PASS_2_WORKAROUNDS
1750 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1753 config SB1_PASS_2_1_WORKAROUNDS
1755 depends on CPU_SB1 && CPU_SB1_PASS_2
1758 config 64BIT_PHYS_ADDR
1761 config CPU_HAS_SMARTMIPS
1762 depends on SYS_SUPPORTS_SMARTMIPS
1763 bool "Support for the SmartMIPS ASE"
1765 SmartMIPS is a extension of the MIPS32 architecture aimed at
1766 increased security at both hardware and software level for
1767 smartcards. Enabling this option will allow proper use of the
1768 SmartMIPS instructions by Linux applications. However a kernel with
1769 this option will not work on a MIPS core without SmartMIPS core. If
1770 you don't know you probably don't have SmartMIPS and should say N
1777 # Vectored interrupt mode is an R2 feature
1779 config CPU_MIPSR2_IRQ_VI
1783 # Extended interrupt mode is an R2 feature
1785 config CPU_MIPSR2_IRQ_EI
1790 depends on !CPU_R3000
1793 config GENERIC_CLOCKEVENTS_BROADCAST
1799 config CPU_DADDI_WORKAROUNDS
1802 config CPU_R4000_WORKAROUNDS
1804 select CPU_R4400_WORKAROUNDS
1806 config CPU_R4400_WORKAROUNDS
1810 # Use the generic interrupt handling code in kernel/irq/:
1812 config GENERIC_HARDIRQS
1816 config GENERIC_IRQ_PROBE
1824 # - Highmem only makes sense for the 32-bit kernel.
1825 # - The current highmem code will only work properly on physically indexed
1826 # caches such as R3000, SB1, R7000 or those that look like they're virtually
1827 # indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1828 # moment we protect the user and offer the highmem option only on machines
1829 # where it's known to be safe. This will not offer highmem on a few systems
1830 # such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1831 # indexed CPUs but we're playing safe.
1832 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1833 # know they might have memory configurations that could make use of highmem
1837 bool "High Memory Support"
1838 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1840 config CPU_SUPPORTS_HIGHMEM
1843 config SYS_SUPPORTS_HIGHMEM
1846 config SYS_SUPPORTS_SMARTMIPS
1849 config ARCH_FLATMEM_ENABLE
1851 depends on !NUMA && !CPU_LOONGSON2
1853 config ARCH_DISCONTIGMEM_ENABLE
1855 default y if SGI_IP27
1857 Say Y to support efficient handling of discontiguous physical memory,
1858 for architectures which are either NUMA (Non-Uniform Memory Access)
1859 or have huge holes in the physical address space for other reasons.
1860 See <file:Documentation/vm/numa> for more.
1862 config ARCH_POPULATES_NODE_MAP
1865 config ARCH_SPARSEMEM_ENABLE
1867 select SPARSEMEM_STATIC
1871 depends on SYS_SUPPORTS_NUMA
1873 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1874 Access). This option improves performance on systems with more
1875 than two nodes; on two node systems it is generally better to
1876 leave it disabled; on single node systems disable this option
1879 config SYS_SUPPORTS_NUMA
1885 depends on NEED_MULTIPLE_NODES
1890 bool "Multi-Processing support"
1891 depends on SYS_SUPPORTS_SMP
1893 select USE_GENERIC_SMP_HELPERS
1895 This enables support for systems with more than one CPU. If you have
1896 a system with only one CPU, like most personal computers, say N. If
1897 you have a system with more than one CPU, say Y.
1899 If you say N here, the kernel will run on single and multiprocessor
1900 machines, but will use only one CPU of a multiprocessor machine. If
1901 you say Y here, the kernel will run on many, but not all,
1902 singleprocessor machines. On a singleprocessor machine, the kernel
1903 will run faster if you say N here.
1905 People using multiprocessor machines who say Y here should also say
1906 Y to "Enhanced Real Time Clock Support", below.
1908 See also the SMP-HOWTO available at
1909 <http://www.tldp.org/docs.html#howto>.
1911 If you don't know what to do here, say N.
1916 config SYS_SUPPORTS_MIPS_CMP
1919 config SYS_SUPPORTS_SMP
1922 config NR_CPUS_DEFAULT_1
1925 config NR_CPUS_DEFAULT_2
1928 config NR_CPUS_DEFAULT_4
1931 config NR_CPUS_DEFAULT_8
1934 config NR_CPUS_DEFAULT_16
1937 config NR_CPUS_DEFAULT_32
1940 config NR_CPUS_DEFAULT_64
1944 int "Maximum number of CPUs (2-64)"
1945 range 1 64 if NR_CPUS_DEFAULT_1
1947 default "1" if NR_CPUS_DEFAULT_1
1948 default "2" if NR_CPUS_DEFAULT_2
1949 default "4" if NR_CPUS_DEFAULT_4
1950 default "8" if NR_CPUS_DEFAULT_8
1951 default "16" if NR_CPUS_DEFAULT_16
1952 default "32" if NR_CPUS_DEFAULT_32
1953 default "64" if NR_CPUS_DEFAULT_64
1955 This allows you to specify the maximum number of CPUs which this
1956 kernel will support. The maximum supported value is 32 for 32-bit
1957 kernel and 64 for 64-bit kernels; the minimum value which makes
1958 sense is 1 for Qemu (useful only for kernel debugging purposes)
1959 and 2 for all others.
1961 This is purely to save memory - each supported CPU adds
1962 approximately eight kilobytes to the kernel image. For best
1963 performance should round up your number of processors to the next
1966 source "kernel/time/Kconfig"
1969 # Timer Interrupt Frequency Configuration
1973 prompt "Timer frequency"
1976 Allows the configuration of the timer frequency.
1979 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
1982 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1985 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1988 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1991 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1994 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1997 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2001 config SYS_SUPPORTS_48HZ
2004 config SYS_SUPPORTS_100HZ
2007 config SYS_SUPPORTS_128HZ
2010 config SYS_SUPPORTS_250HZ
2013 config SYS_SUPPORTS_256HZ
2016 config SYS_SUPPORTS_1000HZ
2019 config SYS_SUPPORTS_1024HZ
2022 config SYS_SUPPORTS_ARBIT_HZ
2024 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2025 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2026 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2027 !SYS_SUPPORTS_1024HZ
2032 default 100 if HZ_100
2033 default 128 if HZ_128
2034 default 250 if HZ_250
2035 default 256 if HZ_256
2036 default 1000 if HZ_1000
2037 default 1024 if HZ_1024
2039 source "kernel/Kconfig.preempt"
2041 config MIPS_INSANE_LARGE
2042 bool "Support for large 64-bit configurations"
2043 depends on CPU_R10000 && 64BIT
2045 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
2046 previous 64-bit processors which only supported 40 bit / 1TB. If you
2047 need processes of more than 1TB virtual address space, say Y here.
2048 This will result in additional memory usage, so it is not
2049 recommended for normal users.
2052 bool "Kexec system call (EXPERIMENTAL)"
2053 depends on EXPERIMENTAL
2055 kexec is a system call that implements the ability to shutdown your
2056 current kernel, and to start another kernel. It is like a reboot
2057 but it is independent of the system firmware. And like a reboot
2058 you can start any kernel with it, not just Linux.
2060 The name comes from the similarity to the exec system call.
2062 It is an ongoing process to be certain the hardware in a machine
2063 is properly shutdown, so do not be surprised if this code does not
2064 initially work for you. It may help to enable device hotplugging
2065 support. As of this writing the exact hardware interface is
2066 strongly in flux, so no good recommendation can be made.
2069 bool "Enable seccomp to safely compute untrusted bytecode"
2073 This kernel feature is useful for number crunching applications
2074 that may need to compute untrusted bytecode during their
2075 execution. By using pipes or other transports made available to
2076 the process as file descriptors supporting the read/write
2077 syscalls, it's possible to isolate those applications in
2078 their own address space using seccomp. Once seccomp is
2079 enabled via /proc/<pid>/seccomp, it cannot be disabled
2080 and the task is only allowed to execute a few safe syscalls
2081 defined by each seccomp mode.
2083 If unsure, say Y. Only embedded should say N here.
2087 config LOCKDEP_SUPPORT
2091 config STACKTRACE_SUPPORT
2095 source "init/Kconfig"
2097 source "kernel/Kconfig.freezer"
2099 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2107 bool "Support for PCI controller"
2108 depends on HW_HAS_PCI
2111 Find out whether you have a PCI motherboard. PCI is the name of a
2112 bus system, i.e. the way the CPU talks to the other stuff inside
2113 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2119 source "drivers/pci/Kconfig"
2122 # ISA support is now enabled via select. Too many systems still have the one
2123 # or other ISA chip on the board that users don't know about so don't expect
2124 # users to choose the right thing ...
2131 depends on HW_HAS_EISA
2133 select GENERIC_ISA_DMA
2135 The Extended Industry Standard Architecture (EISA) bus was
2136 developed as an open alternative to the IBM MicroChannel bus.
2138 The EISA bus provided some of the features of the IBM MicroChannel
2139 bus while maintaining backward compatibility with cards made for
2140 the older ISA bus. The EISA bus saw limited use between 1988 and
2141 1995 when it was made obsolete by the PCI bus.
2143 Say Y here if you are building a kernel for an EISA-based machine.
2147 source "drivers/eisa/Kconfig"
2150 bool "TURBOchannel support"
2151 depends on MACH_DECSTATION
2153 TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2154 processors. Documentation on writing device drivers for TurboChannel
2156 <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
2159 # bool "Access.Bus support"
2168 select MIPS_EXTERNAL_TIMER
2173 source "drivers/pcmcia/Kconfig"
2175 source "drivers/pci/hotplug/Kconfig"
2179 menu "Executable file formats"
2181 source "fs/Kconfig.binfmt"
2186 config MIPS32_COMPAT
2187 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2190 Select this option if you want Linux/MIPS 32-bit binary
2191 compatibility. Since all software available for Linux/MIPS is
2192 currently 32-bit you should say Y here.
2196 depends on MIPS32_COMPAT
2199 config SYSVIPC_COMPAT
2201 depends on COMPAT && SYSVIPC
2205 bool "Kernel support for o32 binaries"
2206 depends on MIPS32_COMPAT
2208 Select this option if you want to run o32 binaries. These are pure
2209 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2210 existing binaries are in this format.
2215 bool "Kernel support for n32 binaries"
2216 depends on MIPS32_COMPAT
2218 Select this option if you want to run n32 binaries. These are
2219 64-bit binaries using 32-bit quantities for addressing and certain
2220 data that would normally be 64-bit. They are used in special
2227 default y if MIPS32_O32 || MIPS32_N32
2231 menu "Power management options"
2233 config ARCH_HIBERNATION_POSSIBLE
2235 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2237 config ARCH_SUSPEND_POSSIBLE
2239 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2241 source "kernel/power/Kconfig"
2245 source "arch/mips/kernel/cpufreq/Kconfig"
2247 source "net/Kconfig"
2249 source "drivers/Kconfig"
2253 source "arch/mips/Kconfig.debug"
2255 source "security/Kconfig"
2257 source "crypto/Kconfig"
2259 source "lib/Kconfig"