4 # Horrible source of confusion. Die, die, die ...
7 mainmenu "Linux/MIPS Kernel Configuration"
11 menu "Machine selection"
18 bool "Support for 4G Systems MTX-1 board"
19 select DMA_NONCOHERENT
22 select SYS_SUPPORTS_LITTLE_ENDIAN
25 bool "AMD Alchemy Bosporus board"
27 select DMA_NONCOHERENT
28 select SYS_SUPPORTS_LITTLE_ENDIAN
31 bool "AMD Alchemy PB1000 board"
33 select DMA_NONCOHERENT
36 select SYS_SUPPORTS_LITTLE_ENDIAN
39 bool "AMD Alchemy PB1100 board"
41 select DMA_NONCOHERENT
44 select SYS_SUPPORTS_LITTLE_ENDIAN
47 bool "AMD Alchemy PB1500 board"
49 select DMA_NONCOHERENT
51 select SYS_SUPPORTS_LITTLE_ENDIAN
54 bool "AMD Alchemy PB1550 board"
56 select DMA_NONCOHERENT
58 select MIPS_DISABLE_OBSOLETE_IDE
59 select SYS_SUPPORTS_LITTLE_ENDIAN
62 bool "AMD Alchemy PB1200 board"
64 select DMA_NONCOHERENT
65 select MIPS_DISABLE_OBSOLETE_IDE
66 select SYS_SUPPORTS_LITTLE_ENDIAN
69 bool "AMD Alchemy DB1000 board"
71 select DMA_NONCOHERENT
73 select SYS_SUPPORTS_LITTLE_ENDIAN
76 bool "AMD Alchemy DB1100 board"
78 select DMA_NONCOHERENT
79 select SYS_SUPPORTS_LITTLE_ENDIAN
82 bool "AMD Alchemy DB1500 board"
84 select DMA_NONCOHERENT
86 select MIPS_DISABLE_OBSOLETE_IDE
87 select SYS_SUPPORTS_BIG_ENDIAN
88 select SYS_SUPPORTS_LITTLE_ENDIAN
91 bool "AMD Alchemy DB1550 board"
94 select DMA_NONCOHERENT
95 select MIPS_DISABLE_OBSOLETE_IDE
96 select SYS_SUPPORTS_LITTLE_ENDIAN
99 bool "AMD Alchemy DB1200 board"
102 select MIPS_DISABLE_OBSOLETE_IDE
103 select SYS_SUPPORTS_LITTLE_ENDIAN
106 bool "AMD Alchemy Mirage board"
107 select DMA_NONCOHERENT
109 select SYS_SUPPORTS_LITTLE_ENDIAN
112 bool "Support for Cobalt Server"
113 select DMA_NONCOHERENT
118 select SYS_SUPPORTS_32BIT_KERNEL
119 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
120 select SYS_SUPPORTS_LITTLE_ENDIAN
122 config MACH_DECSTATION
123 bool "Support for DECstations"
125 select DMA_NONCOHERENT
128 select SYS_SUPPORTS_32BIT_KERNEL
129 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
130 select SYS_SUPPORTS_LITTLE_ENDIAN
132 This enables support for DEC's MIPS based workstations. For details
133 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
134 DECstation porting pages on <http://decstation.unix-ag.org/>.
136 If you have one of the following DECstation Models you definitely
137 want to choose R4xx0 for the CPU Type:
144 otherwise choose R3000.
147 bool "Support for Galileo EV64120 Evaluation board (EXPERIMENTAL)"
148 depends on EXPERIMENTAL
149 select DMA_NONCOHERENT
152 select SYS_SUPPORTS_32BIT_KERNEL
153 select SYS_SUPPORTS_64BIT_KERNEL
154 select SYS_SUPPORTS_BIG_ENDIAN
156 This is an evaluation board based on the Galileo GT-64120
157 single-chip system controller that contains a MIPS R5000 compatible
158 core running at 75/100MHz. Their website is located at
159 <http://www.marvell.com/>. Say Y here if you wish to build a
160 kernel for this platform.
163 bool "Support for Galileo EV96100 Evaluation board (EXPERIMENTAL)"
164 depends on EXPERIMENTAL
165 select DMA_NONCOHERENT
169 select RM7000_CPU_SCACHE
171 select SYS_SUPPORTS_32BIT_KERNEL
172 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
173 select SYS_SUPPORTS_BIG_ENDIAN
175 This is an evaluation board based on the Galileo GT-96100 LAN/WAN
176 communications controllers containing a MIPS R5000 compatible core
177 running at 83MHz. Their website is <http://www.marvell.com/>. Say Y
178 here if you wish to build a kernel for this platform.
181 bool "Support for Globespan IVR board"
182 select DMA_NONCOHERENT
185 select SYS_SUPPORTS_32BIT_KERNEL
186 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
187 select SYS_SUPPORTS_LITTLE_ENDIAN
189 This is an evaluation board built by Globespan to showcase thir
190 iVR (Internet Video Recorder) design. It utilizes a QED RM5231
191 R5000 MIPS core. More information can be found out their website
192 located at <http://www.globespan.net/>. Say Y here if you wish to
193 build a kernel for this platform.
196 bool "Support for ITE 8172G board"
197 select DMA_NONCOHERENT
200 select SYS_SUPPORTS_32BIT_KERNEL
201 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
202 select SYS_SUPPORTS_LITTLE_ENDIAN
204 Ths is an evaluation board made by ITE <http://www.ite.com.tw/>
205 with ATX form factor that utilizes a MIPS R5000 to work with its
206 ITE8172G companion internet appliance chip. The MIPS core can be
207 either a NEC Vr5432 or QED RM5231. Say Y here if you wish to build
208 a kernel for this platform.
211 bool "Support for the Jazz family of machines"
214 select ARCH_MAY_HAVE_PC_FDC
215 select GENERIC_ISA_DMA
218 select SYS_SUPPORTS_32BIT_KERNEL
219 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
221 This a family of machines based on the MIPS R4030 chipset which was
222 used by several vendors to build RISC/os and Windows NT workstations.
223 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
224 Olivetti M700-10 workstations.
227 bool "Support for LASAT Networks platforms"
228 select DMA_NONCOHERENT
232 select R5000_CPU_SCACHE
233 select SYS_SUPPORTS_32BIT_KERNEL
234 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
235 select SYS_SUPPORTS_LITTLE_ENDIAN
238 bool "Support for MIPS Atlas board"
240 select DMA_NONCOHERENT
243 select MIPS_BOARDS_GEN
247 select RM7000_CPU_SCACHE
249 select SYS_SUPPORTS_32BIT_KERNEL
250 select SYS_SUPPORTS_64BIT_KERNEL
251 select SYS_SUPPORTS_BIG_ENDIAN
252 select SYS_SUPPORTS_LITTLE_ENDIAN
254 This enables support for the MIPS Technologies Atlas evaluation
258 bool "Support for MIPS Malta board"
259 select ARCH_MAY_HAVE_PC_FDC
261 select HAVE_STD_PC_SERIAL_PORT
262 select DMA_NONCOHERENT
264 select GENERIC_ISA_DMA
267 select MIPS_BOARDS_GEN
272 select SYS_SUPPORTS_32BIT_KERNEL
273 select SYS_SUPPORTS_64BIT_KERNEL
274 select SYS_SUPPORTS_BIG_ENDIAN
275 select SYS_SUPPORTS_LITTLE_ENDIAN
277 This enables support for the MIPS Technologies Malta evaluation
281 bool "Support for MIPS SEAD board (EXPERIMENTAL)"
282 depends on EXPERIMENTAL
284 select DMA_NONCOHERENT
285 select MIPS_BOARDS_GEN
286 select SYS_SUPPORTS_32BIT_KERNEL
287 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
288 select SYS_SUPPORTS_BIG_ENDIAN
289 select SYS_SUPPORTS_LITTLE_ENDIAN
291 This enables support for the MIPS Technologies SEAD evaluation
295 bool 'Support for MIPS simulator (MIPSsim)'
296 select DMA_NONCOHERENT
298 select SYS_SUPPORTS_32BIT_KERNEL
299 select SYS_SUPPORTS_BIG_ENDIAN
300 select SYS_SUPPORTS_LITTLE_ENDIAN
302 This option enables support for MIPS Technologies MIPSsim software
305 config MOMENCO_JAGUAR_ATX
306 bool "Support for Momentum Jaguar board"
308 select DMA_NONCOHERENT
315 select RM7000_CPU_SCACHE
317 select SYS_SUPPORTS_32BIT_KERNEL
318 select SYS_SUPPORTS_64BIT_KERNEL
319 select SYS_SUPPORTS_BIG_ENDIAN
321 The Jaguar ATX is a MIPS-based Single Board Computer (SBC) made by
322 Momentum Computer <http://www.momenco.com/>.
324 config MOMENCO_OCELOT
325 bool "Support for Momentum Ocelot board"
326 select DMA_NONCOHERENT
331 select RM7000_CPU_SCACHE
333 select SYS_SUPPORTS_32BIT_KERNEL
334 select SYS_SUPPORTS_64BIT_KERNEL
335 select SYS_SUPPORTS_BIG_ENDIAN
337 The Ocelot is a MIPS-based Single Board Computer (SBC) made by
338 Momentum Computer <http://www.momenco.com/>.
340 config MOMENCO_OCELOT_3
341 bool "Support for Momentum Ocelot-3 board"
343 select DMA_NONCOHERENT
349 select RM7000_CPU_SCACHE
351 select SYS_SUPPORTS_32BIT_KERNEL
352 select SYS_SUPPORTS_64BIT_KERNEL
353 select SYS_SUPPORTS_BIG_ENDIAN
355 The Ocelot-3 is based off Discovery III System Controller and
356 PMC-Sierra Rm79000 core.
358 config MOMENCO_OCELOT_C
359 bool "Support for Momentum Ocelot-C board"
360 select DMA_NONCOHERENT
365 select RM7000_CPU_SCACHE
367 select SYS_SUPPORTS_32BIT_KERNEL
368 select SYS_SUPPORTS_64BIT_KERNEL
369 select SYS_SUPPORTS_BIG_ENDIAN
371 The Ocelot is a MIPS-based Single Board Computer (SBC) made by
372 Momentum Computer <http://www.momenco.com/>.
374 config MOMENCO_OCELOT_G
375 bool "Support for Momentum Ocelot-G board"
376 select DMA_NONCOHERENT
381 select RM7000_CPU_SCACHE
383 select SYS_SUPPORTS_32BIT_KERNEL
384 select SYS_SUPPORTS_64BIT_KERNEL
385 select SYS_SUPPORTS_BIG_ENDIAN
387 The Ocelot is a MIPS-based Single Board Computer (SBC) made by
388 Momentum Computer <http://www.momenco.com/>.
391 bool "Support for MyCable XXS1500 board"
392 select DMA_NONCOHERENT
394 select SYS_SUPPORTS_LITTLE_ENDIAN
397 bool "Support for Philips PNX8550 based Viper2-PCI board"
399 select SYS_SUPPORTS_LITTLE_ENDIAN
402 bool "Support for Philips PNX8550 based JBS board"
404 select SYS_SUPPORTS_LITTLE_ENDIAN
407 bool "Support for NEC DDB Vrc-5074 (EXPERIMENTAL)"
408 depends on EXPERIMENTAL
409 select DDB5XXX_COMMON
410 select DMA_NONCOHERENT
411 select HAVE_STD_PC_SERIAL_PORT
416 select SYS_SUPPORTS_32BIT_KERNEL
417 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
418 select SYS_SUPPORTS_LITTLE_ENDIAN
420 This enables support for the VR5000-based NEC DDB Vrc-5074
424 bool "Support for NEC DDB Vrc-5476"
425 select DDB5XXX_COMMON
426 select DMA_NONCOHERENT
427 select HAVE_STD_PC_SERIAL_PORT
432 select SYS_SUPPORTS_32BIT_KERNEL
433 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
434 select SYS_SUPPORTS_LITTLE_ENDIAN
436 This enables support for the R5432-based NEC DDB Vrc-5476
439 Features : kernel debugging, serial terminal, NFS root fs, on-board
440 ether port USB, AC97, PCI, PCI VGA card & framebuffer console,
441 IDE controller, PS2 keyboard, PS2 mouse, etc.
444 bool "Support for NEC DDB Vrc-5477"
445 select DDB5XXX_COMMON
446 select DMA_NONCOHERENT
450 select SYS_SUPPORTS_32BIT_KERNEL
451 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
452 select SYS_SUPPORTS_LITTLE_ENDIAN
454 This enables support for the R5432-based NEC DDB Vrc-5477,
455 or Rockhopper/SolutionGear boards with R5432/R5500 CPUs.
457 Features : kernel debugging, serial terminal, NFS root fs, on-board
458 ether port USB, AC97, PCI, etc.
461 bool "Support for NEC VR4100 series based machines"
462 select SYS_SUPPORTS_32BIT_KERNEL
463 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
466 bool "Support for PMC-Sierra Yosemite eval board"
473 select SYS_SUPPORTS_32BIT_KERNEL
474 select SYS_SUPPORTS_64BIT_KERNEL
475 select SYS_SUPPORTS_BIG_ENDIAN
476 select SYS_SUPPORTS_HIGHMEM
478 Yosemite is an evaluation board for the RM9000x2 processor
479 manufactured by PMC-Sierra.
482 bool "Support for Qemu"
484 select GENERIC_ISA_DMA
485 select HAVE_STD_PC_SERIAL_PORT
489 select SYS_SUPPORTS_32BIT_KERNEL
490 select SYS_SUPPORTS_BIG_ENDIAN
492 Qemu is a software emulator which among other architectures also
493 can simulate a MIPS32 4Kc system. This patch adds support for the
494 system architecture that currently is being simulated by Qemu. It
495 will eventually be removed again when Qemu has the capability to
496 simulate actual MIPS hardware platforms. More information on Qemu
497 can be found at http://www.linux-mips.org/wiki/Qemu.
500 bool "Support for SGI IP22 (Indy/Indigo2)"
504 select DMA_NONCOHERENT
506 select IP22_CPU_SCACHE
509 select SYS_SUPPORTS_32BIT_KERNEL
510 select SYS_SUPPORTS_64BIT_KERNEL
511 select SYS_SUPPORTS_BIG_ENDIAN
513 This are the SGI Indy, Challenge S and Indigo2, as well as certain
514 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
515 that runs on these, say Y here.
518 bool "Support for SGI IP27 (Origin200/2000)"
525 select SYS_SUPPORTS_64BIT_KERNEL
526 select SYS_SUPPORTS_BIG_ENDIAN
528 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
529 workstations. To compile a Linux kernel that runs on these, say Y
533 bool "Support for SGI IP32 (O2) (EXPERIMENTAL)"
534 depends on EXPERIMENTAL
540 select DMA_NONCOHERENT
542 select R5000_CPU_SCACHE
543 select RM7000_CPU_SCACHE
544 select SYS_SUPPORTS_64BIT_KERNEL
545 select SYS_SUPPORTS_BIG_ENDIAN
547 If you want this kernel to run on SGI O2 workstation, say Y here.
550 bool "Support for Sibyte BCM91250A-SWARM"
555 select SYS_SUPPORTS_BIG_ENDIAN
556 select SYS_SUPPORTS_HIGHMEM
557 select SYS_SUPPORTS_LITTLE_ENDIAN
559 config SIBYTE_SENTOSA
560 bool "Support for Sibyte BCM91250E-Sentosa"
561 depends on EXPERIMENTAL
566 select SYS_SUPPORTS_BIG_ENDIAN
567 select SYS_SUPPORTS_LITTLE_ENDIAN
570 bool "Support for Sibyte BCM91125E-Rhone"
571 depends on EXPERIMENTAL
574 select SIBYTE_BCM1125H
576 select SYS_SUPPORTS_BIG_ENDIAN
577 select SYS_SUPPORTS_LITTLE_ENDIAN
580 bool "Support for Sibyte BCM91120x-Carmel"
581 depends on EXPERIMENTAL
584 select SIBYTE_BCM1120
586 select SYS_SUPPORTS_BIG_ENDIAN
587 select SYS_SUPPORTS_LITTLE_ENDIAN
589 config SIBYTE_PTSWARM
590 bool "Support for Sibyte BCM91250PT-PTSWARM"
591 depends on EXPERIMENTAL
596 select SYS_SUPPORTS_BIG_ENDIAN
597 select SYS_SUPPORTS_HIGHMEM
598 select SYS_SUPPORTS_LITTLE_ENDIAN
600 config SIBYTE_LITTLESUR
601 bool "Support for Sibyte BCM91250C2-LittleSur"
602 depends on EXPERIMENTAL
607 select SYS_SUPPORTS_BIG_ENDIAN
608 select SYS_SUPPORTS_HIGHMEM
609 select SYS_SUPPORTS_LITTLE_ENDIAN
612 bool "Support for Sibyte BCM91120C-CRhine"
613 depends on EXPERIMENTAL
616 select SIBYTE_BCM1120
618 select SYS_SUPPORTS_BIG_ENDIAN
619 select SYS_SUPPORTS_LITTLE_ENDIAN
622 bool "Support for Sibyte BCM91125C-CRhone"
623 depends on EXPERIMENTAL
626 select SIBYTE_BCM1125
628 select SYS_SUPPORTS_BIG_ENDIAN
629 select SYS_SUPPORTS_HIGHMEM
630 select SYS_SUPPORTS_LITTLE_ENDIAN
633 bool "Support for SNI RM200 PCI"
636 select ARCH_MAY_HAVE_PC_FDC
638 select DMA_NONCOHERENT
639 select GENERIC_ISA_DMA
640 select HAVE_STD_PC_SERIAL_PORT
645 select SYS_SUPPORTS_32BIT_KERNEL
646 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
647 select SYS_SUPPORTS_BIG_ENDIAN if EXPERIMENTAL
648 select SYS_SUPPORTS_HIGHMEM
649 select SYS_SUPPORTS_LITTLE_ENDIAN
651 The SNI RM200 PCI was a MIPS-based platform manufactured by Siemens
652 Nixdorf Informationssysteme (SNI), parent company of Pyramid
653 Technology and now in turn merged with Fujitsu. Say Y here to
654 support this machine type.
656 config TOSHIBA_JMR3927
657 bool "Support for Toshiba JMR-TX3927 board"
658 select DMA_NONCOHERENT
662 select SYS_SUPPORTS_32BIT_KERNEL
663 select SYS_SUPPORTS_BIG_ENDIAN
664 select TOSHIBA_BOARDS
666 config TOSHIBA_RBTX4927
667 bool "Support for Toshiba TBTX49[23]7 board"
668 select DMA_NONCOHERENT
669 select HAS_TXX9_SERIAL
674 select SYS_SUPPORTS_32BIT_KERNEL
675 select SYS_SUPPORTS_64BIT_KERNEL
676 select SYS_SUPPORTS_BIG_ENDIAN
677 select TOSHIBA_BOARDS
679 This Toshiba board is based on the TX4927 processor. Say Y here to
680 support this machine type
682 config TOSHIBA_RBTX4938
683 bool "Support for Toshiba RBTX4938 board"
684 select HAVE_STD_PC_SERIAL_PORT
685 select DMA_NONCOHERENT
686 select GENERIC_ISA_DMA
687 select HAS_TXX9_SERIAL
692 select SYS_SUPPORTS_32BIT_KERNEL
693 select SYS_SUPPORTS_LITTLE_ENDIAN
694 select SYS_SUPPORTS_BIG_ENDIAN
695 select TOSHIBA_BOARDS
697 This Toshiba board is based on the TX4938 processor. Say Y here to
698 support this machine type
702 source "arch/mips/ddb5xxx/Kconfig"
703 source "arch/mips/gt64120/ev64120/Kconfig"
704 source "arch/mips/jazz/Kconfig"
705 source "arch/mips/ite-boards/Kconfig"
706 source "arch/mips/lasat/Kconfig"
707 source "arch/mips/momentum/Kconfig"
708 source "arch/mips/pmc-sierra/Kconfig"
709 source "arch/mips/sgi-ip27/Kconfig"
710 source "arch/mips/sibyte/Kconfig"
711 source "arch/mips/tx4927/Kconfig"
712 source "arch/mips/tx4938/Kconfig"
713 source "arch/mips/vr41xx/Kconfig"
714 source "arch/mips/philips/pnx8550/common/Kconfig"
718 config RWSEM_GENERIC_SPINLOCK
722 config RWSEM_XCHGADD_ALGORITHM
725 config GENERIC_CALIBRATE_DELAY
730 # Select some configuration options automatically based on user selections.
735 config ARCH_MAY_HAVE_PC_FDC
746 select DMA_NEED_PCI_MAP_STATE
748 config DMA_NONCOHERENT
750 select DMA_NEED_PCI_MAP_STATE
752 config DMA_NEED_PCI_MAP_STATE
761 config GENERIC_ISA_DMA
770 select SYS_SUPPORTS_HIGHMEM
781 config MIPS_DISABLE_OBSOLETE_IDE
785 # Endianess selection. Suffiently obscure so many users don't know what to
786 # answer,so we try hard to limit the available choices. Also the use of a
787 # choice statement should be more obvious to the user.
790 prompt "Endianess selection"
792 Some MIPS machines can be configured for either little or big endian
793 byte order. These modes require different kernels and a different
794 Linux distribution. In general there is one prefered byteorder for a
795 particular system but some systems are just as commonly used in the
796 one or the other endianess.
798 config CPU_BIG_ENDIAN
800 depends on SYS_SUPPORTS_BIG_ENDIAN
802 config CPU_LITTLE_ENDIAN
804 depends on SYS_SUPPORTS_LITTLE_ENDIAN
809 config SYS_SUPPORTS_BIG_ENDIAN
812 config SYS_SUPPORTS_LITTLE_ENDIAN
827 config DDB5XXX_COMMON
830 config MIPS_BOARDS_GEN
841 select HAS_TXX9_SERIAL
871 select SYS_SUPPORTS_32BIT_KERNEL
879 select SYS_SUPPORTS_32BIT_KERNEL
880 select DMA_NONCOHERENT
887 # Unfortunately not all GT64120 systems run the chip at the same clock.
888 # As the user for the clock rate and try to minimize the available options.
891 prompt "Galileo Chip Clock"
892 #default SYSCLK_83 if MIPS_EV64120
893 depends on MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
894 default SYSCLK_83 if MIPS_EV64120
895 default SYSCLK_100 if MOMENCO_OCELOT || MOMENCO_OCELOT_G
898 bool "75" if MIPS_EV64120
901 bool "83.3" if MIPS_EV64120
904 bool "100" if MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
911 config AU1X00_USB_DEVICE
913 depends on MIPS_PB1500 || MIPS_PB1100 || MIPS_PB1000
922 depends on MIPS_ITE8172 || MIPS_IVR
927 depends on MIPS_ITE8172
933 config MIPS_L1_CACHE_SHIFT
935 default "4" if MACH_DECSTATION
936 default "7" if SGI_IP27
939 config HAVE_STD_PC_SERIAL_PORT
943 bool "ARC console support"
944 depends on SGI_IP22 || SNI_RM200_PCI
948 depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP32
953 depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP22 || SGI_IP32
962 config TOSHIBA_BOARDS
972 bool "MIPS32 Release 1"
973 select CPU_HAS_PREFETCH
974 select CPU_SUPPORTS_32BIT_KERNEL
976 Choose this option to build a kernel for release 1 or later of the
977 MIPS32 architecture. Most modern embedded systems with a 32-bit
978 MIPS processor are based on a MIPS32 processor. If you know the
979 specific type of processor in your system, choose those that one
980 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
981 Release 2 of the MIPS32 architecture is available since several
982 years so chances are you even have a MIPS32 Release 2 processor
983 in which case you should choose CPU_MIPS32_R2 instead for better
987 bool "MIPS32 Release 2"
988 select CPU_HAS_PREFETCH
989 select CPU_SUPPORTS_32BIT_KERNEL
991 Choose this option to build a kernel for release 2 or later of the
992 MIPS32 architecture. Most modern embedded systems with a 32-bit
993 MIPS processor are based on a MIPS32 processor. If you know the
994 specific type of processor in your system, choose those that one
995 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
998 bool "MIPS64 Release 1"
999 select CPU_HAS_PREFETCH
1000 select CPU_SUPPORTS_32BIT_KERNEL
1001 select CPU_SUPPORTS_64BIT_KERNEL
1003 Choose this option to build a kernel for release 1 or later of the
1004 MIPS64 architecture. Many modern embedded systems with a 64-bit
1005 MIPS processor are based on a MIPS64 processor. If you know the
1006 specific type of processor in your system, choose those that one
1007 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1008 Release 2 of the MIPS64 architecture is available since several
1009 years so chances are you even have a MIPS64 Release 2 processor
1010 in which case you should choose CPU_MIPS64_R2 instead for better
1013 config CPU_MIPS64_R2
1014 bool "MIPS64 Release 2"
1015 select CPU_HAS_PREFETCH
1016 select CPU_SUPPORTS_32BIT_KERNEL
1017 select CPU_SUPPORTS_64BIT_KERNEL
1019 Choose this option to build a kernel for release 2 or later of the
1020 MIPS64 architecture. Many modern embedded systems with a 64-bit
1021 MIPS processor are based on a MIPS64 processor. If you know the
1022 specific type of processor in your system, choose those that one
1023 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1027 select CPU_SUPPORTS_32BIT_KERNEL
1028 select CPU_SUPPORTS_HIGHMEM
1030 Please make sure to pick the right CPU type. Linux/MIPS is not
1031 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1032 *not* work on R4000 machines and vice versa. However, since most
1033 of the supported machines have an R4000 (or similar) CPU, R4x00
1034 might be a safe bet. If the resulting kernel does not work,
1035 try to recompile with R3000.
1039 select CPU_SUPPORTS_32BIT_KERNEL
1043 select CPU_SUPPORTS_32BIT_KERNEL
1044 select CPU_SUPPORTS_64BIT_KERNEL
1046 The options selects support for the NEC VR4100 series of processors.
1047 Only choose this option if you have one of these processors as a
1048 kernel built with this option will not run on any other type of
1049 processor or vice versa.
1053 select CPU_SUPPORTS_32BIT_KERNEL
1054 select CPU_SUPPORTS_64BIT_KERNEL
1056 MIPS Technologies R4300-series processors.
1060 select CPU_SUPPORTS_32BIT_KERNEL
1061 select CPU_SUPPORTS_64BIT_KERNEL
1063 MIPS Technologies R4000-series processors other than 4300, including
1064 the R4000, R4400, R4600, and 4700.
1068 select CPU_SUPPORTS_32BIT_KERNEL
1069 select CPU_SUPPORTS_64BIT_KERNEL
1073 select CPU_SUPPORTS_32BIT_KERNEL
1074 select CPU_SUPPORTS_64BIT_KERNEL
1076 MIPS Technologies R5000-series processors other than the Nevada.
1080 select CPU_SUPPORTS_32BIT_KERNEL
1081 select CPU_SUPPORTS_64BIT_KERNEL
1085 depends on EXPERIMENTAL
1086 select CPU_SUPPORTS_32BIT_KERNEL
1088 MIPS Technologies R6000 and R6000A series processors. Note these
1089 processors are extremly rare and the support for them is incomplete.
1093 select CPU_SUPPORTS_32BIT_KERNEL
1094 select CPU_SUPPORTS_64BIT_KERNEL
1096 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1100 depends on EXPERIMENTAL
1101 select CPU_HAS_PREFETCH
1102 select CPU_SUPPORTS_64BIT_KERNEL
1104 MIPS Technologies R8000 processors. Note these processors are
1105 uncommon and the support for them is incomplete.
1109 select CPU_HAS_PREFETCH
1110 select CPU_SUPPORTS_32BIT_KERNEL
1111 select CPU_SUPPORTS_64BIT_KERNEL
1112 select CPU_SUPPORTS_HIGHMEM
1114 MIPS Technologies R10000-series processors.
1118 select CPU_HAS_PREFETCH
1119 select CPU_SUPPORTS_32BIT_KERNEL
1120 select CPU_SUPPORTS_64BIT_KERNEL
1121 select CPU_SUPPORTS_HIGHMEM
1125 select CPU_HAS_PREFETCH
1126 select CPU_SUPPORTS_32BIT_KERNEL
1127 select CPU_SUPPORTS_64BIT_KERNEL
1128 select CPU_SUPPORTS_HIGHMEM
1132 select CPU_SUPPORTS_32BIT_KERNEL
1133 select CPU_SUPPORTS_64BIT_KERNEL
1134 select CPU_SUPPORTS_HIGHMEM
1141 # These two indicate any levelof the MIPS32 and MIPS64 architecture
1145 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1149 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1152 # These two indicate the revision of the architecture, either 32 bot 64 bit.
1156 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1160 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1162 config SYS_SUPPORTS_32BIT_KERNEL
1164 config SYS_SUPPORTS_64BIT_KERNEL
1166 config CPU_SUPPORTS_32BIT_KERNEL
1168 config CPU_SUPPORTS_64BIT_KERNEL
1175 prompt "Kernel code model"
1177 You should only select this option if you have a workload that
1178 actually benefits from 64-bit processing or if your machine has
1179 large memory. You will only be presented a single option in this
1180 menu if your system does not support both 32-bit and 64-bit kernels.
1183 bool "32-bit kernel"
1184 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1187 Select this option if you want to build a 32-bit kernel.
1189 bool "64-bit kernel"
1190 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1192 Select this option if you want to build a 64-bit kernel.
1197 prompt "Kernel page size"
1198 default PAGE_SIZE_4KB
1200 config PAGE_SIZE_4KB
1203 This option select the standard 4kB Linux page size. On some
1204 R3000-family processors this is the only available page size. Using
1205 4kB page size will minimize memory consumption and is therefore
1206 recommended for low memory systems.
1208 config PAGE_SIZE_8KB
1210 depends on EXPERIMENTAL && CPU_R8000
1212 Using 8kB page size will result in higher performance kernel at
1213 the price of higher memory consumption. This option is available
1214 only on the R8000 processor. Not that at the time of this writing
1215 this option is still high experimental; there are also issues with
1216 compatibility of user applications.
1218 config PAGE_SIZE_16KB
1220 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1222 Using 16kB page size will result in higher performance kernel at
1223 the price of higher memory consumption. This option is available on
1224 all non-R3000 family processor. Not that at the time of this
1225 writing this option is still high experimental; there are also
1226 issues with compatibility of user applications.
1228 config PAGE_SIZE_64KB
1230 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1232 Using 64kB page size will result in higher performance kernel at
1233 the price of higher memory consumption. This option is available on
1234 all non-R3000 family processor. Not that at the time of this
1235 writing this option is still high experimental; there are also
1236 issues with compatibility of user applications.
1243 config IP22_CPU_SCACHE
1247 config R5000_CPU_SCACHE
1251 config RM7000_CPU_SCACHE
1255 config SIBYTE_DMA_PAGEOPS
1256 bool "Use DMA to clear/copy pages"
1259 Instead of using the CPU to zero and copy pages, use a Data Mover
1260 channel. These DMA channels are otherwise unused by the standard
1261 SiByte Linux port. Seems to give a small performance benefit.
1263 config CPU_HAS_PREFETCH
1267 bool "Enable MIPS MT"
1270 prompt "MIPS MT options"
1274 bool "Use 1 TC on each available VPE for SMP"
1277 config MIPS_VPE_LOADER
1278 bool "VPE loader support."
1281 Includes a loader for loading an elf relocatable object
1282 onto another VPE and running it.
1286 config MIPS_VPE_LOADER_TOM
1287 bool "Load VPE program into memory hidden from linux"
1288 depends on MIPS_VPE_LOADER
1291 The loader can use memory that is present but has been hidden from
1292 Linux using the kernel command line option "mem=xxMB". It's up to
1293 you to ensure the amount you put in the option and the space your
1294 program requires is less or equal to the amount physically present.
1296 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1297 config MIPS_VPE_APSP_API
1298 bool "Enable support for AP/SP API (RTLX)"
1299 depends on MIPS_VPE_LOADER
1302 config SB1_PASS_1_WORKAROUNDS
1304 depends on CPU_SB1_PASS_1
1307 config SB1_PASS_2_WORKAROUNDS
1309 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1312 config SB1_PASS_2_1_WORKAROUNDS
1314 depends on CPU_SB1 && CPU_SB1_PASS_2
1317 config 64BIT_PHYS_ADDR
1318 bool "Support for 64-bit physical address space"
1319 depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32_R1 || CPU_MIPS64_R1) && 32BIT
1322 bool "Override CPU Options"
1325 Saying yes here allows you to select support for various features
1326 your CPU may or may not have. Most people should say N here.
1329 bool "ll/sc Instructions available" if CPU_ADVANCED
1330 default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX
1332 MIPS R4000 series and later provide the Load Linked (ll)
1333 and Store Conditional (sc) instructions. More information is
1334 available at <http://www.go-ecs.com/mips/miptek1.htm>.
1336 Say Y here if your CPU has the ll and sc instructions. Say Y here
1337 for better performance, N if you don't know. You must say Y here
1338 for multiprocessor machines.
1340 config CPU_HAS_LLDSCD
1341 bool "lld/scd Instructions available" if CPU_ADVANCED
1342 default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX && !CPU_MIPS32_R1
1344 Say Y here if your CPU has the lld and scd instructions, the 64-bit
1345 equivalents of ll and sc. Say Y here for better performance, N if
1346 you don't know. You must say Y here for multiprocessor machines.
1349 bool "Writeback Buffer available" if CPU_ADVANCED
1350 default y if !CPU_ADVANCED && CPU_R3000 && MACH_DECSTATION
1352 Say N here for slightly better performance. You must say Y here for
1353 machines which require flushing of write buffers in software. Saying
1354 Y is the safe option; N may result in kernel malfunction and crashes.
1356 menu "MIPSR2 Interrupt handling"
1357 depends on CPU_MIPSR2 && CPU_ADVANCED
1359 config CPU_MIPSR2_IRQ_VI
1360 bool "Vectored interrupt mode"
1362 Vectored interrupt mode allowing faster dispatching of interrupts.
1363 The board support code needs to be written to take advantage of this
1364 mode. Compatibility code is included to allow the kernel to run on
1365 a CPU that does not support vectored interrupts. It's safe to
1368 config CPU_MIPSR2_IRQ_EI
1369 bool "External interrupt controller mode"
1371 Extended interrupt mode takes advantage of an external interrupt
1372 controller to allow fast dispatching from many possible interrupt
1373 sources. Say N unless you know that external interrupt support is
1376 config CPU_MIPSR2_SRS
1377 bool "Make shadow set registers available for interrupt handlers"
1378 depends on CPU_MIPSR2_IRQ_VI || CPU_MIPSR2_IRQ_EI
1380 Allow the kernel to use shadow register sets for fast interrupts.
1381 Interrupt handlers must be specially written to use shadow sets.
1382 Say N unless you know that shadow register set upport is needed.
1387 depends on !CPU_R3000
1391 # Use the generic interrupt handling code in kernel/irq/:
1393 config GENERIC_HARDIRQS
1397 config GENERIC_IRQ_PROBE
1402 # - Highmem only makes sense for the 32-bit kernel.
1403 # - The current highmem code will only work properly on physically indexed
1404 # caches such as R3000, SB1, R7000 or those that look like they're virtually
1405 # indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1406 # moment we protect the user and offer the highmem option only on machines
1407 # where it's known to be safe. This will not offer highmem on a few systems
1408 # such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1409 # indexed CPUs but we're playing safe.
1410 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1411 # know they might have memory configurations that could make use of highmem
1415 bool "High Memory Support"
1416 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1418 config CPU_SUPPORTS_HIGHMEM
1421 config SYS_SUPPORTS_HIGHMEM
1424 config ARCH_FLATMEM_ENABLE
1431 bool "Multi-Processing support"
1432 depends on CPU_RM9000 || (SIBYTE_SB1250 && !SIBYTE_STANDALONE) || SGI_IP27 || MIPS_MT_SMP
1434 This enables support for systems with more than one CPU. If you have
1435 a system with only one CPU, like most personal computers, say N. If
1436 you have a system with more than one CPU, say Y.
1438 If you say N here, the kernel will run on single and multiprocessor
1439 machines, but will use only one CPU of a multiprocessor machine. If
1440 you say Y here, the kernel will run on many, but not all,
1441 singleprocessor machines. On a singleprocessor machine, the kernel
1442 will run faster if you say N here.
1444 People using multiprocessor machines who say Y here should also say
1445 Y to "Enhanced Real Time Clock Support", below.
1447 See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1448 available at <http://www.tldp.org/docs.html#howto>.
1450 If you don't know what to do here, say N.
1453 int "Maximum number of CPUs (2-64)"
1456 default "64" if SGI_IP27
1459 This allows you to specify the maximum number of CPUs which this
1460 kernel will support. The maximum supported value is 32 for 32-bit
1461 kernel and 64 for 64-bit kernels; the minimum value which makes
1464 This is purely to save memory - each supported CPU adds
1465 approximately eight kilobytes to the kernel image.
1467 source "kernel/Kconfig.preempt"
1470 bool "DS1742 BRAM/RTC support"
1471 depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927
1473 config MIPS_INSANE_LARGE
1474 bool "Support for large 64-bit configurations"
1475 depends on CPU_R10000 && 64BIT
1477 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1478 previous 64-bit processors which only supported 40 bit / 1TB. If you
1479 need processes of more than 1TB virtual address space, say Y here.
1480 This will result in additional memory usage, so it is not
1481 recommended for normal users.
1485 config RWSEM_GENERIC_SPINLOCK
1489 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1497 bool "Support for PCI controller"
1498 depends on HW_HAS_PCI
1500 Find out whether you have a PCI motherboard. PCI is the name of a
1501 bus system, i.e. the way the CPU talks to the other stuff inside
1502 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1505 The PCI-HOWTO, available from
1506 <http://www.tldp.org/docs.html#howto>, contains valuable
1507 information about which PCI hardware does work under Linux and which
1514 source "drivers/pci/Kconfig"
1517 # ISA support is now enabled via select. Too many systems still have the one
1518 # or other ISA chip on the board that users don't know about so don't expect
1519 # users to choose the right thing ...
1526 depends on HW_HAS_EISA
1529 The Extended Industry Standard Architecture (EISA) bus was
1530 developed as an open alternative to the IBM MicroChannel bus.
1532 The EISA bus provided some of the features of the IBM MicroChannel
1533 bus while maintaining backward compatibility with cards made for
1534 the older ISA bus. The EISA bus saw limited use between 1988 and
1535 1995 when it was made obsolete by the PCI bus.
1537 Say Y here if you are building a kernel for an EISA-based machine.
1541 source "drivers/eisa/Kconfig"
1544 bool "TURBOchannel support"
1545 depends on MACH_DECSTATION
1547 TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1548 processors. Documentation on writing device drivers for TurboChannel
1550 <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1553 # bool "Access.Bus support"
1560 source "drivers/pcmcia/Kconfig"
1562 source "drivers/pci/hotplug/Kconfig"
1566 menu "Executable file formats"
1568 source "fs/Kconfig.binfmt"
1574 bool "Use 64-bit ELF format for building"
1577 A 64-bit kernel is usually built using the 64-bit ELF binary object
1578 format as it's one that allows arbitrary 64-bit constructs. For
1579 kernels that are loaded within the KSEG compatibility segments the
1580 32-bit ELF format can optionally be used resulting in a somewhat
1581 smaller binary, but this option is not explicitly supported by the
1582 toolchain and since binutils 2.14 it does not even work at all.
1584 Say Y to use the 64-bit format or N to use the 32-bit one.
1589 bool "Include IRIX binary compatibility"
1590 depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
1592 config MIPS32_COMPAT
1593 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
1596 Select this option if you want Linux/MIPS 32-bit binary
1597 compatibility. Since all software available for Linux/MIPS is
1598 currently 32-bit you should say Y here.
1602 depends on MIPS32_COMPAT
1606 bool "Kernel support for o32 binaries"
1607 depends on MIPS32_COMPAT
1609 Select this option if you want to run o32 binaries. These are pure
1610 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
1611 existing binaries are in this format.
1616 bool "Kernel support for n32 binaries"
1617 depends on MIPS32_COMPAT
1619 Select this option if you want to run n32 binaries. These are
1620 64-bit binaries using 32-bit quantities for addressing and certain
1621 data that would normally be 64-bit. They are used in special
1628 default y if MIPS32_O32 || MIPS32_N32
1631 bool "Enable seccomp to safely compute untrusted bytecode"
1632 depends on PROC_FS && BROKEN
1635 This kernel feature is useful for number crunching applications
1636 that may need to compute untrusted bytecode during their
1637 execution. By using pipes or other transports made available to
1638 the process as file descriptors supporting the read/write
1639 syscalls, it's possible to isolate those applications in
1640 their own address space using seccomp. Once seccomp is
1641 enabled via /proc/<pid>/seccomp, it cannot be disabled
1642 and the task is only allowed to execute a few safe syscalls
1643 defined by each seccomp mode.
1645 If unsure, say Y. Only embedded should say N here.
1648 bool "Power Management support (EXPERIMENTAL)"
1649 depends on EXPERIMENTAL && SOC_AU1X00
1653 source "net/Kconfig"
1655 source "drivers/Kconfig"
1659 source "arch/mips/oprofile/Kconfig"
1661 source "arch/mips/Kconfig.debug"
1663 source "security/Kconfig"
1665 source "crypto/Kconfig"
1667 source "lib/Kconfig"