xref: /linux/arch/mips/Kconfig (revision 20d60d9973c3b441902b0a3f4f6f7e7ade08f77d)
11da177e4SLinus Torvaldsconfig MIPS
21da177e4SLinus Torvalds	bool
31da177e4SLinus Torvalds	default y
41da177e4SLinus Torvalds	# Horrible source of confusion.  Die, die, die ...
51da177e4SLinus Torvalds	select EMBEDDED
690b02340SRalf Baechle	select RTC_LIB
71da177e4SLinus Torvalds
81da177e4SLinus Torvaldsmainmenu "Linux/MIPS Kernel Configuration"
91da177e4SLinus Torvalds
101da177e4SLinus Torvaldsmenu "Machine selection"
111da177e4SLinus Torvalds
125ac6da66SChristoph Lameterconfig ZONE_DMA
135ac6da66SChristoph Lameter	bool
145ac6da66SChristoph Lameter
155e83d430SRalf Baechlechoice
165e83d430SRalf Baechle	prompt "System type"
175e83d430SRalf Baechle	default SGI_IP22
181da177e4SLinus Torvalds
19c3543e25SYoichi Yuasaconfig MACH_ALCHEMY
20c3543e25SYoichi Yuasa	bool "Alchemy processor based machines"
211da177e4SLinus Torvalds
2235189fadSRalf Baechleconfig BASLER_EXCITE
23be91589eSThomas Koeller	bool "Basler eXcite smart camera"
2442f77542SRalf Baechle	select CEVT_R4K
25940f6b48SRalf Baechle	select CSRC_R4K
2635189fadSRalf Baechle	select DMA_COHERENT
2735189fadSRalf Baechle	select HW_HAS_PCI
2835189fadSRalf Baechle	select IRQ_CPU
2935189fadSRalf Baechle	select IRQ_CPU_RM7K
3035189fadSRalf Baechle	select IRQ_CPU_RM9K
31663c3d90Sthomas@koeller.dyndns.org	select MIPS_RM9122
3235189fadSRalf Baechle	select SYS_HAS_CPU_RM9000
3335189fadSRalf Baechle	select SYS_SUPPORTS_32BIT_KERNEL
3435189fadSRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
35cc801077SRalf Baechle	select SYS_SUPPORTS_KGDB
3635189fadSRalf Baechle	help
3735189fadSRalf Baechle	  The eXcite is a smart camera platform manufactured by
38be91589eSThomas Koeller	  Basler Vision Technologies AG.
3935189fadSRalf Baechle
4035189fadSRalf Baechleconfig BASLER_EXCITE_PROTOTYPE
4135189fadSRalf Baechle	bool "Support for pre-release units"
4235189fadSRalf Baechle	depends on BASLER_EXCITE
4335189fadSRalf Baechle	default n
4435189fadSRalf Baechle	help
4535189fadSRalf Baechle	  Pre-series (prototype) units are different from later ones in
4635189fadSRalf Baechle	  some ways. Select this option if you have one of these. Please
4735189fadSRalf Baechle	  note that a kernel built with this option selected will not be
4835189fadSRalf Baechle	  able to run on normal units.
4935189fadSRalf Baechle
501c0c13ebSAurelien Jarnoconfig BCM47XX
511c0c13ebSAurelien Jarno	bool "BCM47XX based boards"
5242f77542SRalf Baechle	select CEVT_R4K
53940f6b48SRalf Baechle	select CSRC_R4K
541c0c13ebSAurelien Jarno	select DMA_NONCOHERENT
551c0c13ebSAurelien Jarno	select HW_HAS_PCI
561c0c13ebSAurelien Jarno	select IRQ_CPU
571c0c13ebSAurelien Jarno	select SYS_HAS_CPU_MIPS32_R1
581c0c13ebSAurelien Jarno	select SYS_SUPPORTS_32BIT_KERNEL
591c0c13ebSAurelien Jarno	select SYS_SUPPORTS_LITTLE_ENDIAN
601c0c13ebSAurelien Jarno	select SSB
611c0c13ebSAurelien Jarno	select SSB_DRIVER_MIPS
622f02c15aSAurelien Jarno	select SSB_DRIVER_EXTIF
632f02c15aSAurelien Jarno	select SSB_PCICORE_HOSTMODE if PCI
641c0c13ebSAurelien Jarno	select GENERIC_GPIO
6525e5fb97SAurelien Jarno	select SYS_HAS_EARLY_PRINTK
6625e5fb97SAurelien Jarno	select CFE
671c0c13ebSAurelien Jarno	help
681c0c13ebSAurelien Jarno	 Support for BCM47XX based boards
691c0c13ebSAurelien Jarno
701da177e4SLinus Torvaldsconfig MIPS_COBALT
713fa986faSMartin Michlmayr	bool "Cobalt Server"
7242f77542SRalf Baechle	select CEVT_R4K
73940f6b48SRalf Baechle	select CSRC_R4K
741097c6acSYoichi Yuasa	select CEVT_GT641XX
751da177e4SLinus Torvalds	select DMA_NONCOHERENT
761da177e4SLinus Torvalds	select HW_HAS_PCI
77d865bea4SRalf Baechle	select I8253
781da177e4SLinus Torvalds	select I8259
791da177e4SLinus Torvalds	select IRQ_CPU
80d5ab1a69SYoichi Yuasa	select IRQ_GT641XX
81252161ecSYoichi Yuasa	select PCI_GT64XXX_PCI0
827cf8053bSRalf Baechle	select SYS_HAS_CPU_NEVADA
830a22e0d4SYoichi Yuasa	select SYS_HAS_EARLY_PRINTK
84ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
85ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
865e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
879fd32cfbSAtsushi Nemoto	select GENERIC_HARDIRQS_NO__DO_IRQ
881da177e4SLinus Torvalds
891da177e4SLinus Torvaldsconfig MACH_DECSTATION
903fa986faSMartin Michlmayr	bool "DECstations"
911da177e4SLinus Torvalds	select BOOT_ELF32
9242f77542SRalf Baechle	select CEVT_R4K
93940f6b48SRalf Baechle	select CSRC_R4K
94*20d60d99SMaciej W. Rozycki	select CPU_DADDI_WORKAROUNDS if 64BIT
95*20d60d99SMaciej W. Rozycki	select CPU_R4000_WORKAROUNDS if 64BIT
96*20d60d99SMaciej W. Rozycki	select CPU_R4400_WORKAROUNDS if 64BIT
971da177e4SLinus Torvalds	select DMA_NONCOHERENT
98d388d685SMaciej W. Rozycki	select NO_IOPORT
991da177e4SLinus Torvalds	select IRQ_CPU
1007cf8053bSRalf Baechle	select SYS_HAS_CPU_R3000
1017cf8053bSRalf Baechle	select SYS_HAS_CPU_R4X00
102ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
103ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
1045e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
1051723b4a3SAtsushi Nemoto	select SYS_SUPPORTS_128HZ
1061723b4a3SAtsushi Nemoto	select SYS_SUPPORTS_256HZ
1071723b4a3SAtsushi Nemoto	select SYS_SUPPORTS_1024HZ
1085e83d430SRalf Baechle	help
1091da177e4SLinus Torvalds	  This enables support for DEC's MIPS based workstations.  For details
1101da177e4SLinus Torvalds	  see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
1111da177e4SLinus Torvalds	  DECstation porting pages on <http://decstation.unix-ag.org/>.
1121da177e4SLinus Torvalds
1131da177e4SLinus Torvalds	  If you have one of the following DECstation Models you definitely
1141da177e4SLinus Torvalds	  want to choose R4xx0 for the CPU Type:
1151da177e4SLinus Torvalds
1161da177e4SLinus Torvalds		DECstation 5000/50
1171da177e4SLinus Torvalds		DECstation 5000/150
1181da177e4SLinus Torvalds		DECstation 5000/260
1191da177e4SLinus Torvalds		DECsystem 5900/260
1201da177e4SLinus Torvalds
1211da177e4SLinus Torvalds	  otherwise choose R3000.
1221da177e4SLinus Torvalds
1235e83d430SRalf Baechleconfig MACH_JAZZ
1243fa986faSMartin Michlmayr	bool "Jazz family of machines"
1255e83d430SRalf Baechle	select ARC
1265e83d430SRalf Baechle	select ARC32
1275e83d430SRalf Baechle	select ARCH_MAY_HAVE_PC_FDC
12842f77542SRalf Baechle	select CEVT_R4K
129940f6b48SRalf Baechle	select CSRC_R4K
1305e83d430SRalf Baechle	select GENERIC_ISA_DMA
131ea202c63SThomas Bogendoerfer	select IRQ_CPU
132d865bea4SRalf Baechle	select I8253
1335e83d430SRalf Baechle	select I8259
1345e83d430SRalf Baechle	select ISA
135de61b542SRalf Baechle	select PCSPEAKER
1367cf8053bSRalf Baechle	select SYS_HAS_CPU_R4X00
1375e83d430SRalf Baechle	select SYS_SUPPORTS_32BIT_KERNEL
1385e83d430SRalf Baechle	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
1391723b4a3SAtsushi Nemoto	select SYS_SUPPORTS_100HZ
1409fd32cfbSAtsushi Nemoto	select GENERIC_HARDIRQS_NO__DO_IRQ
1411da177e4SLinus Torvalds	help
1425e83d430SRalf Baechle	 This a family of machines based on the MIPS R4030 chipset which was
1435e83d430SRalf Baechle	 used by several vendors to build RISC/os and Windows NT workstations.
1445e83d430SRalf Baechle	 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
1455e83d430SRalf Baechle	 Olivetti M700-10 workstations.
1465e83d430SRalf Baechle
1471f21d2bdSBrian Murphyconfig LASAT
1481f21d2bdSBrian Murphy	bool "LASAT Networks platforms"
14942f77542SRalf Baechle	select CEVT_R4K
150940f6b48SRalf Baechle	select CSRC_R4K
1511f21d2bdSBrian Murphy	select DMA_NONCOHERENT
1521f21d2bdSBrian Murphy	select SYS_HAS_EARLY_PRINTK
1531f21d2bdSBrian Murphy	select HW_HAS_PCI
154a5ccfe5cSRalf Baechle	select IRQ_CPU
1551f21d2bdSBrian Murphy	select PCI_GT64XXX_PCI0
1561f21d2bdSBrian Murphy	select MIPS_NILE4
1571f21d2bdSBrian Murphy	select R5000_CPU_SCACHE
1581f21d2bdSBrian Murphy	select SYS_HAS_CPU_R5000
1591f21d2bdSBrian Murphy	select SYS_SUPPORTS_32BIT_KERNEL
1601f21d2bdSBrian Murphy	select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
1611f21d2bdSBrian Murphy	select SYS_SUPPORTS_LITTLE_ENDIAN
1621f21d2bdSBrian Murphy	select GENERIC_HARDIRQS_NO__DO_IRQ
1631f21d2bdSBrian Murphy
164ade299d8SYoichi Yuasaconfig LEMOTE_FULONG
165ade299d8SYoichi Yuasa	bool "Lemote Fulong mini-PC"
166ade299d8SYoichi Yuasa	select ARCH_SPARSEMEM_ENABLE
16742f77542SRalf Baechle	select CEVT_R4K
168940f6b48SRalf Baechle	select CSRC_R4K
169ade299d8SYoichi Yuasa	select SYS_HAS_CPU_LOONGSON2
170ade299d8SYoichi Yuasa	select DMA_NONCOHERENT
171ade299d8SYoichi Yuasa	select BOOT_ELF32
172ade299d8SYoichi Yuasa	select BOARD_SCACHE
173ade299d8SYoichi Yuasa	select HAVE_STD_PC_SERIAL_PORT
174ade299d8SYoichi Yuasa	select HW_HAS_PCI
175ade299d8SYoichi Yuasa	select I8259
176ade299d8SYoichi Yuasa	select ISA
177ade299d8SYoichi Yuasa	select IRQ_CPU
178ade299d8SYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
179ade299d8SYoichi Yuasa	select SYS_SUPPORTS_64BIT_KERNEL
180ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
181ade299d8SYoichi Yuasa	select SYS_SUPPORTS_HIGHMEM
182ade299d8SYoichi Yuasa	select SYS_HAS_EARLY_PRINTK
183ade299d8SYoichi Yuasa	select GENERIC_HARDIRQS_NO__DO_IRQ
18423dd6d35SRalf Baechle	select GENERIC_ISA_DMA_SUPPORT_BROKEN
185ade299d8SYoichi Yuasa	select CPU_HAS_WB
186ade299d8SYoichi Yuasa	help
187ade299d8SYoichi Yuasa	  Lemote Fulong mini-PC board based on the Chinese Loongson-2E CPU and
188ade299d8SYoichi Yuasa	  an FPGA northbridge
189ade299d8SYoichi Yuasa
1901da177e4SLinus Torvaldsconfig MIPS_ATLAS
1913fa986faSMartin Michlmayr	bool "MIPS Atlas board"
1921da177e4SLinus Torvalds	select BOOT_ELF32
19342f77542SRalf Baechle	select CEVT_R4K
194940f6b48SRalf Baechle	select CSRC_R4K
1951da177e4SLinus Torvalds	select DMA_NONCOHERENT
19636a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
1975e83d430SRalf Baechle	select IRQ_CPU
1981da177e4SLinus Torvalds	select HW_HAS_PCI
1995e83d430SRalf Baechle	select MIPS_BOARDS_GEN
2005e83d430SRalf Baechle	select MIPS_BONITO64
201252161ecSYoichi Yuasa	select PCI_GT64XXX_PCI0
2025e83d430SRalf Baechle	select MIPS_MSC
203f4b7cdb4SMaciej W. Rozycki	select RM7000_CPU_SCACHE
2041da177e4SLinus Torvalds	select SWAP_IO_SPACE
2057cf8053bSRalf Baechle	select SYS_HAS_CPU_MIPS32_R1
2067cf8053bSRalf Baechle	select SYS_HAS_CPU_MIPS32_R2
2077cf8053bSRalf Baechle	select SYS_HAS_CPU_MIPS64_R1
2087cf8053bSRalf Baechle	select SYS_HAS_CPU_NEVADA
2097cf8053bSRalf Baechle	select SYS_HAS_CPU_RM7000
210ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
211ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_64BIT_KERNEL
2125e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
2135e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
214f41ae0b2SRalf Baechle	select SYS_SUPPORTS_MULTITHREADING if EXPERIMENTAL
2159693a853SFranck Bui-Huu	select SYS_SUPPORTS_SMARTMIPS
216e77c232cSFranck Bui-Huu	select GENERIC_HARDIRQS_NO__DO_IRQ
2171da177e4SLinus Torvalds	help
218f638d197SMaciej W. Rozycki	  This enables support for the MIPS Technologies Atlas evaluation
2191da177e4SLinus Torvalds	  board.
2201da177e4SLinus Torvalds
2211da177e4SLinus Torvaldsconfig MIPS_MALTA
2223fa986faSMartin Michlmayr	bool "MIPS Malta board"
22361ed242dSRalf Baechle	select ARCH_MAY_HAVE_PC_FDC
2241da177e4SLinus Torvalds	select BOOT_ELF32
22542f77542SRalf Baechle	select CEVT_R4K
226940f6b48SRalf Baechle	select CSRC_R4K
2271da177e4SLinus Torvalds	select DMA_NONCOHERENT
2281da177e4SLinus Torvalds	select GENERIC_ISA_DMA
229aa414dffSRalf Baechle	select IRQ_CPU
2301da177e4SLinus Torvalds	select HW_HAS_PCI
231d865bea4SRalf Baechle	select I8253
2321da177e4SLinus Torvalds	select I8259
2335e83d430SRalf Baechle	select MIPS_BOARDS_GEN
2345e83d430SRalf Baechle	select MIPS_BONITO64
2359318c51aSChris Dearman	select MIPS_CPU_SCACHE
236252161ecSYoichi Yuasa	select PCI_GT64XXX_PCI0
2375e83d430SRalf Baechle	select MIPS_MSC
2381da177e4SLinus Torvalds	select SWAP_IO_SPACE
2397cf8053bSRalf Baechle	select SYS_HAS_CPU_MIPS32_R1
2407cf8053bSRalf Baechle	select SYS_HAS_CPU_MIPS32_R2
2417cf8053bSRalf Baechle	select SYS_HAS_CPU_MIPS64_R1
2427cf8053bSRalf Baechle	select SYS_HAS_CPU_NEVADA
2437cf8053bSRalf Baechle	select SYS_HAS_CPU_RM7000
24436a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
245ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
246ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_64BIT_KERNEL
2475e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
2485e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
249f41ae0b2SRalf Baechle	select SYS_SUPPORTS_MULTITHREADING
2509693a853SFranck Bui-Huu	select SYS_SUPPORTS_SMARTMIPS
2511da177e4SLinus Torvalds	help
252f638d197SMaciej W. Rozycki	  This enables support for the MIPS Technologies Malta evaluation
2531da177e4SLinus Torvalds	  board.
2541da177e4SLinus Torvalds
2551da177e4SLinus Torvaldsconfig MIPS_SEAD
256d98cc84dSRalf Baechle	bool "MIPS SEAD board"
25742f77542SRalf Baechle	select CEVT_R4K
258940f6b48SRalf Baechle	select CSRC_R4K
2591da177e4SLinus Torvalds	select IRQ_CPU
2601da177e4SLinus Torvalds	select DMA_NONCOHERENT
26136a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
2625e83d430SRalf Baechle	select MIPS_BOARDS_GEN
2637cf8053bSRalf Baechle	select SYS_HAS_CPU_MIPS32_R1
2647cf8053bSRalf Baechle	select SYS_HAS_CPU_MIPS32_R2
2657cf8053bSRalf Baechle	select SYS_HAS_CPU_MIPS64_R1
266ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
2675e83d430SRalf Baechle	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
2685e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
2695e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
2709693a853SFranck Bui-Huu	select SYS_SUPPORTS_SMARTMIPS
271f638d197SMaciej W. Rozycki	help
272f638d197SMaciej W. Rozycki	  This enables support for the MIPS Technologies SEAD evaluation
273f638d197SMaciej W. Rozycki	  board.
2741da177e4SLinus Torvalds
275c78cbf49SRalf Baechleconfig MIPS_SIM
2763fa986faSMartin Michlmayr	bool 'MIPS simulator (MIPSsim)'
27742f77542SRalf Baechle	select CEVT_R4K
278940f6b48SRalf Baechle	select CSRC_R4K
279c78cbf49SRalf Baechle	select DMA_NONCOHERENT
28036a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
281c78cbf49SRalf Baechle	select IRQ_CPU
2829267a30dSMarc St-Jean	select BOOT_RAW
2837cf8053bSRalf Baechle	select SYS_HAS_CPU_MIPS32_R1
2847cf8053bSRalf Baechle	select SYS_HAS_CPU_MIPS32_R2
28536a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
286c78cbf49SRalf Baechle	select SYS_SUPPORTS_32BIT_KERNEL
287c78cbf49SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
288f6e2373aSRalf Baechle	select SYS_SUPPORTS_MULTITHREADING
289c78cbf49SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
290c78cbf49SRalf Baechle	help
291c78cbf49SRalf Baechle	  This option enables support for MIPS Technologies MIPSsim software
292c78cbf49SRalf Baechle	  emulator.
293c78cbf49SRalf Baechle
294ade299d8SYoichi Yuasaconfig MARKEINS
295ade299d8SYoichi Yuasa	bool "NEC EMMA2RH Mark-eins"
29642f77542SRalf Baechle	select CEVT_R4K
297940f6b48SRalf Baechle	select CSRC_R4K
298ade299d8SYoichi Yuasa	select DMA_NONCOHERENT
299ade299d8SYoichi Yuasa	select HW_HAS_PCI
300ade299d8SYoichi Yuasa	select IRQ_CPU
301ade299d8SYoichi Yuasa	select SWAP_IO_SPACE
302ade299d8SYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
303ade299d8SYoichi Yuasa	select SYS_SUPPORTS_BIG_ENDIAN
304ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
305ade299d8SYoichi Yuasa	select SYS_HAS_CPU_R5000
306ade299d8SYoichi Yuasa	help
307ade299d8SYoichi Yuasa	  This enables support for the R5432-based NEC Mark-eins
308ade299d8SYoichi Yuasa	  boards with R5500 CPU.
309ade299d8SYoichi Yuasa
3105e83d430SRalf Baechleconfig MACH_VR41XX
31174142d65SYoichi Yuasa	bool "NEC VR4100 series based machines"
31242f77542SRalf Baechle	select CEVT_R4K
313940f6b48SRalf Baechle	select CSRC_R4K
3147cf8053bSRalf Baechle	select SYS_HAS_CPU_VR41XX
3159fd32cfbSAtsushi Nemoto	select GENERIC_HARDIRQS_NO__DO_IRQ
3165e83d430SRalf Baechle
317ade299d8SYoichi Yuasaconfig PNX8550_JBS
318ade299d8SYoichi Yuasa	bool "Philips PNX8550 based JBS board"
319ade299d8SYoichi Yuasa	select PNX8550
320ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
321ade299d8SYoichi Yuasa
322ade299d8SYoichi Yuasaconfig PNX8550_STB810
323ade299d8SYoichi Yuasa	bool "Philips PNX8550 based STB810 board"
324ade299d8SYoichi Yuasa	select PNX8550
325ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
326ade299d8SYoichi Yuasa
3279267a30dSMarc St-Jeanconfig PMC_MSP
3289267a30dSMarc St-Jean	bool "PMC-Sierra MSP chipsets"
3299267a30dSMarc St-Jean	depends on EXPERIMENTAL
3309267a30dSMarc St-Jean	select DMA_NONCOHERENT
3319267a30dSMarc St-Jean	select SWAP_IO_SPACE
3329267a30dSMarc St-Jean	select NO_EXCEPT_FILL
3339267a30dSMarc St-Jean	select BOOT_RAW
3349267a30dSMarc St-Jean	select SYS_HAS_CPU_MIPS32_R1
3359267a30dSMarc St-Jean	select SYS_HAS_CPU_MIPS32_R2
3369267a30dSMarc St-Jean	select SYS_SUPPORTS_32BIT_KERNEL
3379267a30dSMarc St-Jean	select SYS_SUPPORTS_BIG_ENDIAN
3389267a30dSMarc St-Jean	select SYS_SUPPORTS_KGDB
3399267a30dSMarc St-Jean	select IRQ_CPU
3409267a30dSMarc St-Jean	select SERIAL_8250
3419267a30dSMarc St-Jean	select SERIAL_8250_CONSOLE
3429267a30dSMarc St-Jean	help
3439267a30dSMarc St-Jean	  This adds support for the PMC-Sierra family of Multi-Service
3449267a30dSMarc St-Jean	  Processor System-On-A-Chips.  These parts include a number
3459267a30dSMarc St-Jean	  of integrated peripherals, interfaces and DSPs in addition to
3469267a30dSMarc St-Jean	  a variety of MIPS cores.
3479267a30dSMarc St-Jean
3485e83d430SRalf Baechleconfig PMC_YOSEMITE
3493fa986faSMartin Michlmayr	bool "PMC-Sierra Yosemite eval board"
35042f77542SRalf Baechle	select CEVT_R4K
351940f6b48SRalf Baechle	select CSRC_R4K
3525e83d430SRalf Baechle	select DMA_COHERENT
3535e83d430SRalf Baechle	select HW_HAS_PCI
3545e83d430SRalf Baechle	select IRQ_CPU
3555e83d430SRalf Baechle	select IRQ_CPU_RM7K
3565e83d430SRalf Baechle	select IRQ_CPU_RM9K
3575e83d430SRalf Baechle	select SWAP_IO_SPACE
3587cf8053bSRalf Baechle	select SYS_HAS_CPU_RM9000
35936a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
3605e83d430SRalf Baechle	select SYS_SUPPORTS_32BIT_KERNEL
3615e83d430SRalf Baechle	select SYS_SUPPORTS_64BIT_KERNEL
3625e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
3635e83d430SRalf Baechle	select SYS_SUPPORTS_HIGHMEM
364cc801077SRalf Baechle	select SYS_SUPPORTS_KGDB
365e73ea273SRalf Baechle	select SYS_SUPPORTS_SMP
3665e83d430SRalf Baechle	help
3675e83d430SRalf Baechle	  Yosemite is an evaluation board for the RM9000x2 processor
3685e83d430SRalf Baechle	  manufactured by PMC-Sierra.
3691da177e4SLinus Torvalds
37007119621SRalf Baechleconfig QEMU
3713fa986faSMartin Michlmayr	bool "Qemu"
37242f77542SRalf Baechle	select CEVT_R4K
373940f6b48SRalf Baechle	select CSRC_R4K
37407119621SRalf Baechle	select DMA_COHERENT
37507119621SRalf Baechle	select GENERIC_ISA_DMA
37607119621SRalf Baechle	select HAVE_STD_PC_SERIAL_PORT
377d865bea4SRalf Baechle	select I8253
37807119621SRalf Baechle	select I8259
3797bcf7717SRalf Baechle	select IRQ_CPU
38007119621SRalf Baechle	select ISA
381de61b542SRalf Baechle	select PCSPEAKER
38207119621SRalf Baechle	select SWAP_IO_SPACE
3837cf8053bSRalf Baechle	select SYS_HAS_CPU_MIPS32_R1
384a57c2289SRalf Baechle	select SYS_HAS_EARLY_PRINTK
38507119621SRalf Baechle	select SYS_SUPPORTS_32BIT_KERNEL
38607119621SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
387c8cc9618SAurelien Jarno	select SYS_SUPPORTS_LITTLE_ENDIAN
3889fd32cfbSAtsushi Nemoto	select GENERIC_HARDIRQS_NO__DO_IRQ
38972ede9b1SAtsushi Nemoto	select NR_CPUS_DEFAULT_1
39072ede9b1SAtsushi Nemoto	select SYS_SUPPORTS_SMP
39107119621SRalf Baechle	help
39207119621SRalf Baechle	  Qemu is a software emulator which among other architectures also
39307119621SRalf Baechle	  can simulate a MIPS32 4Kc system.  This patch adds support for the
39407119621SRalf Baechle	  system architecture that currently is being simulated by Qemu.  It
39507119621SRalf Baechle	  will eventually be removed again when Qemu has the capability to
39607119621SRalf Baechle	  simulate actual MIPS hardware platforms.  More information on Qemu
39707119621SRalf Baechle	  can be found at http://www.linux-mips.org/wiki/Qemu.
39807119621SRalf Baechle
3991da177e4SLinus Torvaldsconfig SGI_IP22
4003fa986faSMartin Michlmayr	bool "SGI IP22 (Indy/Indigo2)"
4011da177e4SLinus Torvalds	select ARC
4021da177e4SLinus Torvalds	select ARC32
4031da177e4SLinus Torvalds	select BOOT_ELF32
40442f77542SRalf Baechle	select CEVT_R4K
405940f6b48SRalf Baechle	select CSRC_R4K
4061da177e4SLinus Torvalds	select DMA_NONCOHERENT
4075e83d430SRalf Baechle	select HW_HAS_EISA
408d865bea4SRalf Baechle	select I8253
40968de4803SThomas Bogendoerfer	select I8259
4101da177e4SLinus Torvalds	select IP22_CPU_SCACHE
4111da177e4SLinus Torvalds	select IRQ_CPU
412aa414dffSRalf Baechle	select GENERIC_ISA_DMA_SUPPORT_BROKEN
4131da177e4SLinus Torvalds	select SWAP_IO_SPACE
4147cf8053bSRalf Baechle	select SYS_HAS_CPU_R4X00
4157cf8053bSRalf Baechle	select SYS_HAS_CPU_R5000
41636a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
417ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
418ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_64BIT_KERNEL
4195e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
4201da177e4SLinus Torvalds	help
4211da177e4SLinus Torvalds	  This are the SGI Indy, Challenge S and Indigo2, as well as certain
4221da177e4SLinus Torvalds	  OEM variants like the Tandem CMN B006S. To compile a Linux kernel
4231da177e4SLinus Torvalds	  that runs on these, say Y here.
4241da177e4SLinus Torvalds
4251da177e4SLinus Torvaldsconfig SGI_IP27
4263fa986faSMartin Michlmayr	bool "SGI IP27 (Origin200/2000)"
4271da177e4SLinus Torvalds	select ARC
4281da177e4SLinus Torvalds	select ARC64
4295e83d430SRalf Baechle	select BOOT_ELF64
4301da177e4SLinus Torvalds	select DMA_IP27
43136a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
4321da177e4SLinus Torvalds	select HW_HAS_PCI
433130e2fb7SRalf Baechle	select NR_CPUS_DEFAULT_64
4347cf8053bSRalf Baechle	select SYS_HAS_CPU_R10000
435ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_64BIT_KERNEL
4365e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
437cc801077SRalf Baechle	select SYS_SUPPORTS_KGDB
438d8cb4e11SRalf Baechle	select SYS_SUPPORTS_NUMA
4391a5c5de1SRalf Baechle	select SYS_SUPPORTS_SMP
440e77c232cSFranck Bui-Huu	select GENERIC_HARDIRQS_NO__DO_IRQ
4411da177e4SLinus Torvalds	help
4421da177e4SLinus Torvalds	  This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
4431da177e4SLinus Torvalds	  workstations.  To compile a Linux kernel that runs on these, say Y
4441da177e4SLinus Torvalds	  here.
4451da177e4SLinus Torvalds
4461da177e4SLinus Torvaldsconfig SGI_IP32
447cfd2afc0SRalf Baechle	bool "SGI IP32 (O2)"
4481da177e4SLinus Torvalds	select ARC
4491da177e4SLinus Torvalds	select ARC32
4501da177e4SLinus Torvalds	select BOOT_ELF32
45142f77542SRalf Baechle	select CEVT_R4K
452940f6b48SRalf Baechle	select CSRC_R4K
4531da177e4SLinus Torvalds	select DMA_NONCOHERENT
4541da177e4SLinus Torvalds	select HW_HAS_PCI
455dd67b155SRalf Baechle	select IRQ_CPU
4561da177e4SLinus Torvalds	select R5000_CPU_SCACHE
4571da177e4SLinus Torvalds	select RM7000_CPU_SCACHE
4587cf8053bSRalf Baechle	select SYS_HAS_CPU_R5000
4597cf8053bSRalf Baechle	select SYS_HAS_CPU_R10000 if BROKEN
4607cf8053bSRalf Baechle	select SYS_HAS_CPU_RM7000
461dd2f18feSRalf Baechle	select SYS_HAS_CPU_NEVADA
462ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_64BIT_KERNEL
4635e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
4641da177e4SLinus Torvalds	help
4651da177e4SLinus Torvalds	  If you want this kernel to run on SGI O2 workstation, say Y here.
4661da177e4SLinus Torvalds
467ade299d8SYoichi Yuasaconfig SIBYTE_CRHINE
468ade299d8SYoichi Yuasa	bool "Sibyte BCM91120C-CRhine"
4695e83d430SRalf Baechle	depends on EXPERIMENTAL
4705e83d430SRalf Baechle	select BOOT_ELF32
4715e83d430SRalf Baechle	select DMA_COHERENT
4725e83d430SRalf Baechle	select SIBYTE_BCM1120
4735e83d430SRalf Baechle	select SWAP_IO_SPACE
4747cf8053bSRalf Baechle	select SYS_HAS_CPU_SB1
4755e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
4765e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
4775e83d430SRalf Baechle
478ade299d8SYoichi Yuasaconfig SIBYTE_CARMEL
479ade299d8SYoichi Yuasa	bool "Sibyte BCM91120x-Carmel"
4805e83d430SRalf Baechle	depends on EXPERIMENTAL
4815e83d430SRalf Baechle	select BOOT_ELF32
4825e83d430SRalf Baechle	select DMA_COHERENT
4835e83d430SRalf Baechle	select SIBYTE_BCM1120
4845e83d430SRalf Baechle	select SWAP_IO_SPACE
4857cf8053bSRalf Baechle	select SYS_HAS_CPU_SB1
4865e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
4875e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
4885e83d430SRalf Baechle
4895e83d430SRalf Baechleconfig SIBYTE_CRHONE
4903fa986faSMartin Michlmayr	bool "Sibyte BCM91125C-CRhone"
4915e83d430SRalf Baechle	depends on EXPERIMENTAL
4925e83d430SRalf Baechle	select BOOT_ELF32
4935e83d430SRalf Baechle	select DMA_COHERENT
4945e83d430SRalf Baechle	select SIBYTE_BCM1125
4955e83d430SRalf Baechle	select SWAP_IO_SPACE
4967cf8053bSRalf Baechle	select SYS_HAS_CPU_SB1
4975e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
4985e83d430SRalf Baechle	select SYS_SUPPORTS_HIGHMEM
4995e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
5005e83d430SRalf Baechle
501ade299d8SYoichi Yuasaconfig SIBYTE_RHONE
502ade299d8SYoichi Yuasa	bool "Sibyte BCM91125E-Rhone"
503ade299d8SYoichi Yuasa	depends on EXPERIMENTAL
504ade299d8SYoichi Yuasa	select BOOT_ELF32
505ade299d8SYoichi Yuasa	select DMA_COHERENT
506ade299d8SYoichi Yuasa	select SIBYTE_BCM1125H
507ade299d8SYoichi Yuasa	select SWAP_IO_SPACE
508ade299d8SYoichi Yuasa	select SYS_HAS_CPU_SB1
509ade299d8SYoichi Yuasa	select SYS_SUPPORTS_BIG_ENDIAN
510ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
511ade299d8SYoichi Yuasa
512ade299d8SYoichi Yuasaconfig SIBYTE_SWARM
513ade299d8SYoichi Yuasa	bool "Sibyte BCM91250A-SWARM"
514ade299d8SYoichi Yuasa	select BOOT_ELF32
515ade299d8SYoichi Yuasa	select DMA_COHERENT
516ade299d8SYoichi Yuasa	select NR_CPUS_DEFAULT_2
517ade299d8SYoichi Yuasa	select SIBYTE_SB1250
518ade299d8SYoichi Yuasa	select SWAP_IO_SPACE
519ade299d8SYoichi Yuasa	select SYS_HAS_CPU_SB1
520ade299d8SYoichi Yuasa	select SYS_SUPPORTS_BIG_ENDIAN
521ade299d8SYoichi Yuasa	select SYS_SUPPORTS_HIGHMEM
522ade299d8SYoichi Yuasa	select SYS_SUPPORTS_KGDB
523ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
524cce335aeSRalf Baechle	select ZONE_DMA32 if 64BIT
525ade299d8SYoichi Yuasa
526ade299d8SYoichi Yuasaconfig SIBYTE_LITTLESUR
527ade299d8SYoichi Yuasa	bool "Sibyte BCM91250C2-LittleSur"
528ade299d8SYoichi Yuasa	depends on EXPERIMENTAL
529ade299d8SYoichi Yuasa	select BOOT_ELF32
530ade299d8SYoichi Yuasa	select DMA_COHERENT
531ade299d8SYoichi Yuasa	select NR_CPUS_DEFAULT_2
532ade299d8SYoichi Yuasa	select SIBYTE_SB1250
533ade299d8SYoichi Yuasa	select SWAP_IO_SPACE
534ade299d8SYoichi Yuasa	select SYS_HAS_CPU_SB1
535ade299d8SYoichi Yuasa	select SYS_SUPPORTS_BIG_ENDIAN
536ade299d8SYoichi Yuasa	select SYS_SUPPORTS_HIGHMEM
537ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
538ade299d8SYoichi Yuasa
539ade299d8SYoichi Yuasaconfig SIBYTE_SENTOSA
540ade299d8SYoichi Yuasa	bool "Sibyte BCM91250E-Sentosa"
541ade299d8SYoichi Yuasa	depends on EXPERIMENTAL
542ade299d8SYoichi Yuasa	select BOOT_ELF32
543ade299d8SYoichi Yuasa	select DMA_COHERENT
544ade299d8SYoichi Yuasa	select NR_CPUS_DEFAULT_2
545ade299d8SYoichi Yuasa	select SIBYTE_SB1250
546ade299d8SYoichi Yuasa	select SWAP_IO_SPACE
547ade299d8SYoichi Yuasa	select SYS_HAS_CPU_SB1
548ade299d8SYoichi Yuasa	select SYS_SUPPORTS_BIG_ENDIAN
549ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
550ade299d8SYoichi Yuasa
551ade299d8SYoichi Yuasaconfig SIBYTE_PTSWARM
552ade299d8SYoichi Yuasa	bool "Sibyte BCM91250PT-PTSWARM"
553ade299d8SYoichi Yuasa	depends on EXPERIMENTAL
554ade299d8SYoichi Yuasa	select BOOT_ELF32
555ade299d8SYoichi Yuasa	select DMA_COHERENT
556ade299d8SYoichi Yuasa	select NR_CPUS_DEFAULT_2
557ade299d8SYoichi Yuasa	select SIBYTE_SB1250
558ade299d8SYoichi Yuasa	select SWAP_IO_SPACE
559ade299d8SYoichi Yuasa	select SYS_HAS_CPU_SB1
560ade299d8SYoichi Yuasa	select SYS_SUPPORTS_BIG_ENDIAN
561ade299d8SYoichi Yuasa	select SYS_SUPPORTS_HIGHMEM
562ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
563ade299d8SYoichi Yuasa
564ade299d8SYoichi Yuasaconfig SIBYTE_BIGSUR
565ade299d8SYoichi Yuasa	bool "Sibyte BCM91480B-BigSur"
566ade299d8SYoichi Yuasa	select BOOT_ELF32
567ade299d8SYoichi Yuasa	select DMA_COHERENT
568ade299d8SYoichi Yuasa	select NR_CPUS_DEFAULT_4
569ade299d8SYoichi Yuasa	select SIBYTE_BCM1x80
570ade299d8SYoichi Yuasa	select SWAP_IO_SPACE
571ade299d8SYoichi Yuasa	select SYS_HAS_CPU_SB1
572ade299d8SYoichi Yuasa	select SYS_SUPPORTS_BIG_ENDIAN
573651194f8SRalf Baechle	select SYS_SUPPORTS_HIGHMEM
574ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
575cce335aeSRalf Baechle	select ZONE_DMA32 if 64BIT
576ade299d8SYoichi Yuasa
57714b36af4SThomas Bogendoerferconfig SNI_RM
57814b36af4SThomas Bogendoerfer	bool "SNI RM200/300/400"
5794a0312fcSThomas Bogendoerfer	select ARC if CPU_LITTLE_ENDIAN
5804a0312fcSThomas Bogendoerfer	select ARC32 if CPU_LITTLE_ENDIAN
5815e83d430SRalf Baechle	select ARCH_MAY_HAVE_PC_FDC
5825e83d430SRalf Baechle	select BOOT_ELF32
58342f77542SRalf Baechle	select CEVT_R4K
584940f6b48SRalf Baechle	select CSRC_R4K
5855e83d430SRalf Baechle	select DMA_NONCOHERENT
5865e83d430SRalf Baechle	select GENERIC_ISA_DMA
5875e83d430SRalf Baechle	select HW_HAS_EISA
5885e83d430SRalf Baechle	select HW_HAS_PCI
589c066a32aSThomas Bogendoerfer	select IRQ_CPU
590d865bea4SRalf Baechle	select I8253
5915e83d430SRalf Baechle	select I8259
5925e83d430SRalf Baechle	select ISA
593de61b542SRalf Baechle	select PCSPEAKER
5944a0312fcSThomas Bogendoerfer	select SWAP_IO_SPACE if CPU_BIG_ENDIAN
5957cf8053bSRalf Baechle	select SYS_HAS_CPU_R4X00
5964a0312fcSThomas Bogendoerfer	select SYS_HAS_CPU_R5000
597c066a32aSThomas Bogendoerfer	select SYS_HAS_CPU_R10000
5984a0312fcSThomas Bogendoerfer	select R5000_CPU_SCACHE
59936a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
600ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
6015e83d430SRalf Baechle	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
6024a0312fcSThomas Bogendoerfer	select SYS_SUPPORTS_BIG_ENDIAN
6035e83d430SRalf Baechle	select SYS_SUPPORTS_HIGHMEM
6045e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
6051da177e4SLinus Torvalds	help
60614b36af4SThomas Bogendoerfer	  The SNI RM200/300/400 are MIPS-based machines manufactured by
60714b36af4SThomas Bogendoerfer	  Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
6085e83d430SRalf Baechle	  Technology and now in turn merged with Fujitsu.  Say Y here to
6095e83d430SRalf Baechle	  support this machine type.
6101da177e4SLinus Torvalds
6115e83d430SRalf Baechleconfig TOSHIBA_JMR3927
6123fa986faSMartin Michlmayr	bool "Toshiba JMR-TX3927 board"
613229f773eSAtsushi Nemoto	select CEVT_TXX9
6145e83d430SRalf Baechle	select DMA_NONCOHERENT
6155e83d430SRalf Baechle	select HW_HAS_PCI
6165e83d430SRalf Baechle	select MIPS_TX3927
617c87abd75SAtsushi Nemoto	select IRQ_TXX9
6185e83d430SRalf Baechle	select SWAP_IO_SPACE
6197cf8053bSRalf Baechle	select SYS_HAS_CPU_TX39XX
6205e83d430SRalf Baechle	select SYS_SUPPORTS_32BIT_KERNEL
6216a2603a2SSergei Shtylyov	select SYS_SUPPORTS_LITTLE_ENDIAN
6225e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
6232127435eSAtsushi Nemoto	select GENERIC_HARDIRQS_NO__DO_IRQ
6245e83d430SRalf Baechle
6255e83d430SRalf Baechleconfig TOSHIBA_RBTX4927
62608a91283SYoichi Yuasa	bool "Toshiba RBTX49[23]7 board"
62742f77542SRalf Baechle	select CEVT_R4K
628940f6b48SRalf Baechle	select CSRC_R4K
629229f773eSAtsushi Nemoto	select CEVT_TXX9
6305e83d430SRalf Baechle	select DMA_NONCOHERENT
6315e83d430SRalf Baechle	select HAS_TXX9_SERIAL
6325e83d430SRalf Baechle	select HW_HAS_PCI
633c87abd75SAtsushi Nemoto	select IRQ_CPU
634c87abd75SAtsushi Nemoto	select IRQ_TXX9
635c87abd75SAtsushi Nemoto	select I8259 if TOSHIBA_FPCIB0
6365e83d430SRalf Baechle	select SWAP_IO_SPACE
6377cf8053bSRalf Baechle	select SYS_HAS_CPU_TX49XX
6385e83d430SRalf Baechle	select SYS_SUPPORTS_32BIT_KERNEL
6395e83d430SRalf Baechle	select SYS_SUPPORTS_64BIT_KERNEL
6406a2603a2SSergei Shtylyov	select SYS_SUPPORTS_LITTLE_ENDIAN
6415e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
642cc801077SRalf Baechle	select SYS_SUPPORTS_KGDB
6439fd32cfbSAtsushi Nemoto	select GENERIC_HARDIRQS_NO__DO_IRQ
6445e83d430SRalf Baechle	help
6455e83d430SRalf Baechle	  This Toshiba board is based on the TX4927 processor. Say Y here to
6465e83d430SRalf Baechle	  support this machine type
6471da177e4SLinus Torvalds
64823fbee9dSRalf Baechleconfig TOSHIBA_RBTX4938
6493fa986faSMartin Michlmayr	bool "Toshiba RBTX4938 board"
65042f77542SRalf Baechle	select CEVT_R4K
651940f6b48SRalf Baechle	select CSRC_R4K
652229f773eSAtsushi Nemoto	select CEVT_TXX9
65323fbee9dSRalf Baechle	select DMA_NONCOHERENT
65423fbee9dSRalf Baechle	select HAS_TXX9_SERIAL
65523fbee9dSRalf Baechle	select HW_HAS_PCI
656c87abd75SAtsushi Nemoto	select IRQ_CPU
657c87abd75SAtsushi Nemoto	select IRQ_TXX9
65823fbee9dSRalf Baechle	select SWAP_IO_SPACE
6597cf8053bSRalf Baechle	select SYS_HAS_CPU_TX49XX
66023fbee9dSRalf Baechle	select SYS_SUPPORTS_32BIT_KERNEL
66123fbee9dSRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
66223fbee9dSRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
663cc801077SRalf Baechle	select SYS_SUPPORTS_KGDB
6649fd32cfbSAtsushi Nemoto	select GENERIC_HARDIRQS_NO__DO_IRQ
6653896b054SAtsushi Nemoto	select GENERIC_GPIO
66623fbee9dSRalf Baechle	help
66723fbee9dSRalf Baechle	  This Toshiba board is based on the TX4938 processor. Say Y here to
66823fbee9dSRalf Baechle	  support this machine type
66923fbee9dSRalf Baechle
670ade299d8SYoichi Yuasaconfig WR_PPMC
671ade299d8SYoichi Yuasa	bool "Wind River PPMC board"
67242f77542SRalf Baechle	select CEVT_R4K
673940f6b48SRalf Baechle	select CSRC_R4K
674ade299d8SYoichi Yuasa	select IRQ_CPU
675ade299d8SYoichi Yuasa	select BOOT_ELF32
676ade299d8SYoichi Yuasa	select DMA_NONCOHERENT
677ade299d8SYoichi Yuasa	select HW_HAS_PCI
678ade299d8SYoichi Yuasa	select PCI_GT64XXX_PCI0
679ade299d8SYoichi Yuasa	select SWAP_IO_SPACE
680ade299d8SYoichi Yuasa	select SYS_HAS_CPU_MIPS32_R1
681ade299d8SYoichi Yuasa	select SYS_HAS_CPU_MIPS32_R2
682ade299d8SYoichi Yuasa	select SYS_HAS_CPU_MIPS64_R1
683ade299d8SYoichi Yuasa	select SYS_HAS_CPU_NEVADA
684ade299d8SYoichi Yuasa	select SYS_HAS_CPU_RM7000
685ade299d8SYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
686ade299d8SYoichi Yuasa	select SYS_SUPPORTS_64BIT_KERNEL
687ade299d8SYoichi Yuasa	select SYS_SUPPORTS_BIG_ENDIAN
688ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
689ade299d8SYoichi Yuasa	help
690ade299d8SYoichi Yuasa	  This enables support for the Wind River MIPS32 4KC PPMC evaluation
691ade299d8SYoichi Yuasa	  board, which is based on GT64120 bridge chip.
692ade299d8SYoichi Yuasa
6931da177e4SLinus Torvaldsendchoice
6941da177e4SLinus Torvalds
695c3543e25SYoichi Yuasasource "arch/mips/au1000/Kconfig"
6965e83d430SRalf Baechlesource "arch/mips/jazz/Kconfig"
6971f21d2bdSBrian Murphysource "arch/mips/lasat/Kconfig"
6985e83d430SRalf Baechlesource "arch/mips/pmc-sierra/Kconfig"
69929c48699SRalf Baechlesource "arch/mips/sgi-ip27/Kconfig"
70038b18f72SRalf Baechlesource "arch/mips/sibyte/Kconfig"
7015e83d430SRalf Baechlesource "arch/mips/tx4927/Kconfig"
70223fbee9dSRalf Baechlesource "arch/mips/tx4938/Kconfig"
7035e83d430SRalf Baechlesource "arch/mips/vr41xx/Kconfig"
70438b18f72SRalf Baechle
7055e83d430SRalf Baechleendmenu
7065e83d430SRalf Baechle
7071da177e4SLinus Torvaldsconfig RWSEM_GENERIC_SPINLOCK
7081da177e4SLinus Torvalds	bool
7091da177e4SLinus Torvalds	default y
7101da177e4SLinus Torvalds
7111da177e4SLinus Torvaldsconfig RWSEM_XCHGADD_ALGORITHM
7121da177e4SLinus Torvalds	bool
7131da177e4SLinus Torvalds
714f0d1b0b3SDavid Howellsconfig ARCH_HAS_ILOG2_U32
715f0d1b0b3SDavid Howells	bool
716f0d1b0b3SDavid Howells	default n
717f0d1b0b3SDavid Howells
718f0d1b0b3SDavid Howellsconfig ARCH_HAS_ILOG2_U64
719f0d1b0b3SDavid Howells	bool
720f0d1b0b3SDavid Howells	default n
721f0d1b0b3SDavid Howells
72200a58253SRalf Baechleconfig ARCH_SUPPORTS_OPROFILE
72300a58253SRalf Baechle	bool
72400a58253SRalf Baechle	default y if !MIPS_MT_SMTC
72500a58253SRalf Baechle
7263c9ee7efSAkinobu Mitaconfig GENERIC_FIND_NEXT_BIT
7273c9ee7efSAkinobu Mita	bool
7283c9ee7efSAkinobu Mita	default y
7293c9ee7efSAkinobu Mita
7303c9ee7efSAkinobu Mitaconfig GENERIC_HWEIGHT
7313c9ee7efSAkinobu Mita	bool
7323c9ee7efSAkinobu Mita	default y
7333c9ee7efSAkinobu Mita
7341da177e4SLinus Torvaldsconfig GENERIC_CALIBRATE_DELAY
7351da177e4SLinus Torvalds	bool
7361da177e4SLinus Torvalds	default y
7371da177e4SLinus Torvalds
7387bcf7717SRalf Baechleconfig GENERIC_CLOCKEVENTS
7397bcf7717SRalf Baechle	bool
7407bcf7717SRalf Baechle	default y
7417bcf7717SRalf Baechle
7428db02010SRalf Baechleconfig GENERIC_TIME
7438db02010SRalf Baechle	bool
7448db02010SRalf Baechle	default y
7458db02010SRalf Baechle
746f5ff0a28SRalf Baechleconfig GENERIC_CMOS_UPDATE
747f5ff0a28SRalf Baechle	bool
748f5ff0a28SRalf Baechle	default y
749f5ff0a28SRalf Baechle
7501cc89038SAtsushi Nemotoconfig SCHED_NO_NO_OMIT_FRAME_POINTER
7511cc89038SAtsushi Nemoto	bool
7521cc89038SAtsushi Nemoto	default y
7531cc89038SAtsushi Nemoto
754e77c232cSFranck Bui-Huuconfig GENERIC_HARDIRQS_NO__DO_IRQ
755e77c232cSFranck Bui-Huu	bool
756e77c232cSFranck Bui-Huu	default n
757e77c232cSFranck Bui-Huu
7581da177e4SLinus Torvalds#
7591da177e4SLinus Torvalds# Select some configuration options automatically based on user selections.
7601da177e4SLinus Torvalds#
7611da177e4SLinus Torvaldsconfig ARC
7621da177e4SLinus Torvalds	bool
7631da177e4SLinus Torvalds
76461ed242dSRalf Baechleconfig ARCH_MAY_HAVE_PC_FDC
76561ed242dSRalf Baechle	bool
76661ed242dSRalf Baechle
7679267a30dSMarc St-Jeanconfig BOOT_RAW
7689267a30dSMarc St-Jean	bool
7699267a30dSMarc St-Jean
770217dd11eSRalf Baechleconfig CEVT_BCM1480
771217dd11eSRalf Baechle	bool
772217dd11eSRalf Baechle
7731097c6acSYoichi Yuasaconfig CEVT_GT641XX
7741097c6acSYoichi Yuasa	bool
7751097c6acSYoichi Yuasa
77642f77542SRalf Baechleconfig CEVT_R4K
77742f77542SRalf Baechle	bool
77842f77542SRalf Baechle
779217dd11eSRalf Baechleconfig CEVT_SB1250
780217dd11eSRalf Baechle	bool
781217dd11eSRalf Baechle
782229f773eSAtsushi Nemotoconfig CEVT_TXX9
783229f773eSAtsushi Nemoto	bool
784229f773eSAtsushi Nemoto
785217dd11eSRalf Baechleconfig CSRC_BCM1480
786217dd11eSRalf Baechle	bool
787217dd11eSRalf Baechle
788940f6b48SRalf Baechleconfig CSRC_R4K
789940f6b48SRalf Baechle	bool
790940f6b48SRalf Baechle
791217dd11eSRalf Baechleconfig CSRC_SB1250
792217dd11eSRalf Baechle	bool
793217dd11eSRalf Baechle
794df78b5c8SAurelien Jarnoconfig CFE
795df78b5c8SAurelien Jarno	bool
796df78b5c8SAurelien Jarno
7971da177e4SLinus Torvaldsconfig DMA_COHERENT
7981da177e4SLinus Torvalds	bool
7991da177e4SLinus Torvalds
8001da177e4SLinus Torvaldsconfig DMA_IP27
8011da177e4SLinus Torvalds	bool
8021da177e4SLinus Torvalds
8031da177e4SLinus Torvaldsconfig DMA_NONCOHERENT
8041da177e4SLinus Torvalds	bool
8054ce588cdSRalf Baechle	select DMA_NEED_PCI_MAP_STATE
8064ce588cdSRalf Baechle
8074ce588cdSRalf Baechleconfig DMA_NEED_PCI_MAP_STATE
8084ce588cdSRalf Baechle	bool
8091da177e4SLinus Torvalds
8101da177e4SLinus Torvaldsconfig EARLY_PRINTK
81136a88530SRalf Baechle	bool "Early printk" if EMBEDDED && DEBUG_KERNEL
81236a88530SRalf Baechle	depends on SYS_HAS_EARLY_PRINTK
81336a88530SRalf Baechle	default y
81436a88530SRalf Baechle	help
81536a88530SRalf Baechle	  This option enables special console drivers which allow the kernel
81636a88530SRalf Baechle	  to print messages very early in the bootup process.
81736a88530SRalf Baechle
81836a88530SRalf Baechle	  This is useful for kernel debugging when your machine crashes very
819490dcc4dSRobert P. J. Day	  early before the console code is initialized. For normal operation,
820490dcc4dSRobert P. J. Day	  it is not recommended because it looks ugly on some machines and
821490dcc4dSRobert P. J. Day	  doesn't cooperate with an X server. You should normally say N here,
82236a88530SRalf Baechle	  unless you want to debug such a crash.
82336a88530SRalf Baechle
82436a88530SRalf Baechleconfig SYS_HAS_EARLY_PRINTK
8251da177e4SLinus Torvalds	bool
8261da177e4SLinus Torvalds
827dbb74540SRalf Baechleconfig HOTPLUG_CPU
828dbb74540SRalf Baechle	bool
829dbb74540SRalf Baechle	default n
830dbb74540SRalf Baechle
8311da177e4SLinus Torvaldsconfig I8259
8321da177e4SLinus Torvalds	bool
8331da177e4SLinus Torvalds
8341da177e4SLinus Torvaldsconfig MIPS_BONITO64
8351da177e4SLinus Torvalds	bool
8361da177e4SLinus Torvalds
8371da177e4SLinus Torvaldsconfig MIPS_MSC
8381da177e4SLinus Torvalds	bool
8391da177e4SLinus Torvalds
8401f21d2bdSBrian Murphyconfig MIPS_NILE4
8411f21d2bdSBrian Murphy	bool
8421f21d2bdSBrian Murphy
8431da177e4SLinus Torvaldsconfig MIPS_DISABLE_OBSOLETE_IDE
8441da177e4SLinus Torvalds	bool
8451da177e4SLinus Torvalds
846d388d685SMaciej W. Rozyckiconfig NO_IOPORT
847d388d685SMaciej W. Rozycki	def_bool n
848d388d685SMaciej W. Rozycki
8498313da30SRalf Baechleconfig GENERIC_ISA_DMA
8508313da30SRalf Baechle	bool
8518313da30SRalf Baechle	select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
8528313da30SRalf Baechle
853aa414dffSRalf Baechleconfig GENERIC_ISA_DMA_SUPPORT_BROKEN
854aa414dffSRalf Baechle	bool
8558313da30SRalf Baechle	select GENERIC_ISA_DMA
856aa414dffSRalf Baechle
85709663335SYoichi Yuasaconfig GENERIC_GPIO
85809663335SYoichi Yuasa	bool
85909663335SYoichi Yuasa
8605e83d430SRalf Baechle#
8613cb2fcccSMatt LaPlante# Endianess selection.  Sufficiently obscure so many users don't know what to
8625e83d430SRalf Baechle# answer,so we try hard to limit the available choices.  Also the use of a
8635e83d430SRalf Baechle# choice statement should be more obvious to the user.
8645e83d430SRalf Baechle#
8655e83d430SRalf Baechlechoice
8665e83d430SRalf Baechle	prompt "Endianess selection"
8671da177e4SLinus Torvalds	help
8681da177e4SLinus Torvalds	  Some MIPS machines can be configured for either little or big endian
8695e83d430SRalf Baechle	  byte order. These modes require different kernels and a different
8703cb2fcccSMatt LaPlante	  Linux distribution.  In general there is one preferred byteorder for a
8715e83d430SRalf Baechle	  particular system but some systems are just as commonly used in the
8723dde6ad8SDavid Sterba	  one or the other endianness.
8735e83d430SRalf Baechle
8745e83d430SRalf Baechleconfig CPU_BIG_ENDIAN
8755e83d430SRalf Baechle	bool "Big endian"
8765e83d430SRalf Baechle	depends on SYS_SUPPORTS_BIG_ENDIAN
8775e83d430SRalf Baechle
8785e83d430SRalf Baechleconfig CPU_LITTLE_ENDIAN
8795e83d430SRalf Baechle	bool "Little endian"
8805e83d430SRalf Baechle	depends on SYS_SUPPORTS_LITTLE_ENDIAN
8815e83d430SRalf Baechle	help
8825e83d430SRalf Baechle
8835e83d430SRalf Baechleendchoice
8845e83d430SRalf Baechle
8852116245eSRalf Baechleconfig SYS_SUPPORTS_APM_EMULATION
8862116245eSRalf Baechle	bool
8872116245eSRalf Baechle
8885e83d430SRalf Baechleconfig SYS_SUPPORTS_BIG_ENDIAN
8895e83d430SRalf Baechle	bool
8905e83d430SRalf Baechle
8915e83d430SRalf Baechleconfig SYS_SUPPORTS_LITTLE_ENDIAN
8925e83d430SRalf Baechle	bool
8931da177e4SLinus Torvalds
8941da177e4SLinus Torvaldsconfig IRQ_CPU
8951da177e4SLinus Torvalds	bool
8961da177e4SLinus Torvalds
8971da177e4SLinus Torvaldsconfig IRQ_CPU_RM7K
8981da177e4SLinus Torvalds	bool
8991da177e4SLinus Torvalds
9005e83d430SRalf Baechleconfig IRQ_CPU_RM9K
9015e83d430SRalf Baechle	bool
9025e83d430SRalf Baechle
9039267a30dSMarc St-Jeanconfig IRQ_MSP_SLP
9049267a30dSMarc St-Jean	bool
9059267a30dSMarc St-Jean
9069267a30dSMarc St-Jeanconfig IRQ_MSP_CIC
9079267a30dSMarc St-Jean	bool
9089267a30dSMarc St-Jean
9098420fd00SAtsushi Nemotoconfig IRQ_TXX9
9108420fd00SAtsushi Nemoto	bool
9118420fd00SAtsushi Nemoto
912d5ab1a69SYoichi Yuasaconfig IRQ_GT641XX
913d5ab1a69SYoichi Yuasa	bool
914d5ab1a69SYoichi Yuasa
9151da177e4SLinus Torvaldsconfig MIPS_BOARDS_GEN
9161da177e4SLinus Torvalds	bool
9171da177e4SLinus Torvalds
918252161ecSYoichi Yuasaconfig PCI_GT64XXX_PCI0
9191da177e4SLinus Torvalds	bool
9201da177e4SLinus Torvalds
9219267a30dSMarc St-Jeanconfig NO_EXCEPT_FILL
9229267a30dSMarc St-Jean	bool
9239267a30dSMarc St-Jean
9241da177e4SLinus Torvaldsconfig MIPS_TX3927
9251da177e4SLinus Torvalds	bool
9261da177e4SLinus Torvalds	select HAS_TXX9_SERIAL
9271da177e4SLinus Torvalds
928663c3d90Sthomas@koeller.dyndns.orgconfig MIPS_RM9122
929663c3d90Sthomas@koeller.dyndns.org	bool
930663c3d90Sthomas@koeller.dyndns.org	select SERIAL_RM9000
931663c3d90Sthomas@koeller.dyndns.org
932bdf21b18SPete Popovconfig PNX8550
933bdf21b18SPete Popov	bool
934bdf21b18SPete Popov	select SOC_PNX8550
935bdf21b18SPete Popov
936bdf21b18SPete Popovconfig SOC_PNX8550
937bdf21b18SPete Popov	bool
938bdf21b18SPete Popov	select DMA_NONCOHERENT
939bdf21b18SPete Popov	select HW_HAS_PCI
940b8c2a77cSRalf Baechle	select SYS_HAS_CPU_MIPS32_R1
94136a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
9427cf8053bSRalf Baechle	select SYS_SUPPORTS_32BIT_KERNEL
943e77c232cSFranck Bui-Huu	select GENERIC_HARDIRQS_NO__DO_IRQ
944cc801077SRalf Baechle	select SYS_SUPPORTS_KGDB
9454ead1681SFlorian Fainelli	select GENERIC_GPIO
946bdf21b18SPete Popov
9471da177e4SLinus Torvaldsconfig SWAP_IO_SPACE
9481da177e4SLinus Torvalds	bool
9491da177e4SLinus Torvalds
950355c471fSdmitry pervushinconfig EMMA2RH
951355c471fSdmitry pervushin	bool
952355c471fSdmitry pervushin	depends on MARKEINS
953355c471fSdmitry pervushin	default y
954355c471fSdmitry pervushin
955663c3d90Sthomas@koeller.dyndns.orgconfig SERIAL_RM9000
956663c3d90Sthomas@koeller.dyndns.org	bool
957663c3d90Sthomas@koeller.dyndns.org
9585e83d430SRalf Baechleconfig ARC32
9595e83d430SRalf Baechle	bool
9605e83d430SRalf Baechle
9611da177e4SLinus Torvaldsconfig BOOT_ELF32
9621da177e4SLinus Torvalds	bool
9631da177e4SLinus Torvalds
9641da177e4SLinus Torvaldsconfig MIPS_L1_CACHE_SHIFT
9651da177e4SLinus Torvalds	int
96606cf5583SThomas Bogendoerfer	default "4" if MACH_DECSTATION
96706cf5583SThomas Bogendoerfer	default "7" if SGI_IP27 || SNI_RM
9689267a30dSMarc St-Jean	default "4" if PMC_MSP4200_EVAL
9691da177e4SLinus Torvalds	default "5"
9701da177e4SLinus Torvalds
9711da177e4SLinus Torvaldsconfig HAVE_STD_PC_SERIAL_PORT
9721da177e4SLinus Torvalds	bool
9731da177e4SLinus Torvalds
9741da177e4SLinus Torvaldsconfig ARC_CONSOLE
9751da177e4SLinus Torvalds	bool "ARC console support"
97636a88530SRalf Baechle	depends on SGI_IP22 || (SNI_RM && CPU_LITTLE_ENDIAN)
9771da177e4SLinus Torvalds
9781da177e4SLinus Torvaldsconfig ARC_MEMORY
9791da177e4SLinus Torvalds	bool
98014b36af4SThomas Bogendoerfer	depends on MACH_JAZZ || SNI_RM || SGI_IP32
9811da177e4SLinus Torvalds	default y
9821da177e4SLinus Torvalds
9831da177e4SLinus Torvaldsconfig ARC_PROMLIB
9841da177e4SLinus Torvalds	bool
98514b36af4SThomas Bogendoerfer	depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP32
9861da177e4SLinus Torvalds	default y
9871da177e4SLinus Torvalds
9881da177e4SLinus Torvaldsconfig ARC64
9891da177e4SLinus Torvalds	bool
9901da177e4SLinus Torvalds
9911da177e4SLinus Torvaldsconfig BOOT_ELF64
9921da177e4SLinus Torvalds	bool
9931da177e4SLinus Torvalds
9941da177e4SLinus Torvaldsmenu "CPU selection"
9951da177e4SLinus Torvalds
9961da177e4SLinus Torvaldschoice
9971da177e4SLinus Torvalds	prompt "CPU type"
9981da177e4SLinus Torvalds	default CPU_R4X00
9991da177e4SLinus Torvalds
10002a21c730SFuxin Zhangconfig CPU_LOONGSON2
10012a21c730SFuxin Zhang	bool "Loongson 2"
10022a21c730SFuxin Zhang	depends on SYS_HAS_CPU_LOONGSON2
10032a21c730SFuxin Zhang	select CPU_SUPPORTS_32BIT_KERNEL
10042a21c730SFuxin Zhang	select CPU_SUPPORTS_64BIT_KERNEL
10052a21c730SFuxin Zhang	select CPU_SUPPORTS_HIGHMEM
10062a21c730SFuxin Zhang	help
10072a21c730SFuxin Zhang	  The Loongson 2E processor implements the MIPS III instruction set
10082a21c730SFuxin Zhang	  with many extensions.
10092a21c730SFuxin Zhang
10106e760c8dSRalf Baechleconfig CPU_MIPS32_R1
10116e760c8dSRalf Baechle	bool "MIPS32 Release 1"
10127cf8053bSRalf Baechle	depends on SYS_HAS_CPU_MIPS32_R1
1013f7062ddbSRalf Baechle	select CPU_HAS_LLSC
10146e760c8dSRalf Baechle	select CPU_HAS_PREFETCH
1015797798c1SRalf Baechle	select CPU_SUPPORTS_32BIT_KERNEL
1016ec28f306SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
10176e760c8dSRalf Baechle	help
10185e83d430SRalf Baechle	  Choose this option to build a kernel for release 1 or later of the
10191e5f1caaSRalf Baechle	  MIPS32 architecture.  Most modern embedded systems with a 32-bit
10201e5f1caaSRalf Baechle	  MIPS processor are based on a MIPS32 processor.  If you know the
10211e5f1caaSRalf Baechle	  specific type of processor in your system, choose those that one
10221e5f1caaSRalf Baechle	  otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
10231e5f1caaSRalf Baechle	  Release 2 of the MIPS32 architecture is available since several
10241e5f1caaSRalf Baechle	  years so chances are you even have a MIPS32 Release 2 processor
10251e5f1caaSRalf Baechle	  in which case you should choose CPU_MIPS32_R2 instead for better
10261e5f1caaSRalf Baechle	  performance.
10271e5f1caaSRalf Baechle
10281e5f1caaSRalf Baechleconfig CPU_MIPS32_R2
10291e5f1caaSRalf Baechle	bool "MIPS32 Release 2"
10307cf8053bSRalf Baechle	depends on SYS_HAS_CPU_MIPS32_R2
1031f7062ddbSRalf Baechle	select CPU_HAS_LLSC
10321e5f1caaSRalf Baechle	select CPU_HAS_PREFETCH
1033797798c1SRalf Baechle	select CPU_SUPPORTS_32BIT_KERNEL
1034ec28f306SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
10351e5f1caaSRalf Baechle	help
10365e83d430SRalf Baechle	  Choose this option to build a kernel for release 2 or later of the
10376e760c8dSRalf Baechle	  MIPS32 architecture.  Most modern embedded systems with a 32-bit
10386e760c8dSRalf Baechle	  MIPS processor are based on a MIPS32 processor.  If you know the
10396e760c8dSRalf Baechle	  specific type of processor in your system, choose those that one
10406e760c8dSRalf Baechle	  otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
10411da177e4SLinus Torvalds
10426e760c8dSRalf Baechleconfig CPU_MIPS64_R1
10436e760c8dSRalf Baechle	bool "MIPS64 Release 1"
10447cf8053bSRalf Baechle	depends on SYS_HAS_CPU_MIPS64_R1
1045f7062ddbSRalf Baechle	select CPU_HAS_LLSC
1046797798c1SRalf Baechle	select CPU_HAS_PREFETCH
1047ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1048ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
1049ec28f306SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
10506e760c8dSRalf Baechle	help
10516e760c8dSRalf Baechle	  Choose this option to build a kernel for release 1 or later of the
10526e760c8dSRalf Baechle	  MIPS64 architecture.  Many modern embedded systems with a 64-bit
10536e760c8dSRalf Baechle	  MIPS processor are based on a MIPS64 processor.  If you know the
10546e760c8dSRalf Baechle	  specific type of processor in your system, choose those that one
10556e760c8dSRalf Baechle	  otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
10561e5f1caaSRalf Baechle	  Release 2 of the MIPS64 architecture is available since several
10571e5f1caaSRalf Baechle	  years so chances are you even have a MIPS64 Release 2 processor
10581e5f1caaSRalf Baechle	  in which case you should choose CPU_MIPS64_R2 instead for better
10591e5f1caaSRalf Baechle	  performance.
10601e5f1caaSRalf Baechle
10611e5f1caaSRalf Baechleconfig CPU_MIPS64_R2
10621e5f1caaSRalf Baechle	bool "MIPS64 Release 2"
10637cf8053bSRalf Baechle	depends on SYS_HAS_CPU_MIPS64_R2
1064f7062ddbSRalf Baechle	select CPU_HAS_LLSC
1065797798c1SRalf Baechle	select CPU_HAS_PREFETCH
10661e5f1caaSRalf Baechle	select CPU_SUPPORTS_32BIT_KERNEL
10671e5f1caaSRalf Baechle	select CPU_SUPPORTS_64BIT_KERNEL
1068ec28f306SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
10691e5f1caaSRalf Baechle	help
10701e5f1caaSRalf Baechle	  Choose this option to build a kernel for release 2 or later of the
10711e5f1caaSRalf Baechle	  MIPS64 architecture.  Many modern embedded systems with a 64-bit
10721e5f1caaSRalf Baechle	  MIPS processor are based on a MIPS64 processor.  If you know the
10731e5f1caaSRalf Baechle	  specific type of processor in your system, choose those that one
10741e5f1caaSRalf Baechle	  otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
10751da177e4SLinus Torvalds
10761da177e4SLinus Torvaldsconfig CPU_R3000
10771da177e4SLinus Torvalds	bool "R3000"
10787cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R3000
1079f7062ddbSRalf Baechle	select CPU_HAS_WB
1080ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1081797798c1SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
10821da177e4SLinus Torvalds	help
10831da177e4SLinus Torvalds	  Please make sure to pick the right CPU type. Linux/MIPS is not
10841da177e4SLinus Torvalds	  designed to be generic, i.e. Kernels compiled for R3000 CPUs will
10851da177e4SLinus Torvalds	  *not* work on R4000 machines and vice versa.  However, since most
10861da177e4SLinus Torvalds	  of the supported machines have an R4000 (or similar) CPU, R4x00
10871da177e4SLinus Torvalds	  might be a safe bet.  If the resulting kernel does not work,
10881da177e4SLinus Torvalds	  try to recompile with R3000.
10891da177e4SLinus Torvalds
10901da177e4SLinus Torvaldsconfig CPU_TX39XX
10911da177e4SLinus Torvalds	bool "R39XX"
10927cf8053bSRalf Baechle	depends on SYS_HAS_CPU_TX39XX
1093ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
10941da177e4SLinus Torvalds
10951da177e4SLinus Torvaldsconfig CPU_VR41XX
10961da177e4SLinus Torvalds	bool "R41xx"
10977cf8053bSRalf Baechle	depends on SYS_HAS_CPU_VR41XX
1098ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1099ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
11001da177e4SLinus Torvalds	help
11015e83d430SRalf Baechle	  The options selects support for the NEC VR4100 series of processors.
11021da177e4SLinus Torvalds	  Only choose this option if you have one of these processors as a
11031da177e4SLinus Torvalds	  kernel built with this option will not run on any other type of
11041da177e4SLinus Torvalds	  processor or vice versa.
11051da177e4SLinus Torvalds
11061da177e4SLinus Torvaldsconfig CPU_R4300
11071da177e4SLinus Torvalds	bool "R4300"
11087cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R4300
1109f7062ddbSRalf Baechle	select CPU_HAS_LLSC
1110ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1111ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
11121da177e4SLinus Torvalds	help
11131da177e4SLinus Torvalds	  MIPS Technologies R4300-series processors.
11141da177e4SLinus Torvalds
11151da177e4SLinus Torvaldsconfig CPU_R4X00
11161da177e4SLinus Torvalds	bool "R4x00"
11177cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R4X00
1118f7062ddbSRalf Baechle	select CPU_HAS_LLSC
1119ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1120ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
11211da177e4SLinus Torvalds	help
11221da177e4SLinus Torvalds	  MIPS Technologies R4000-series processors other than 4300, including
11231da177e4SLinus Torvalds	  the R4000, R4400, R4600, and 4700.
11241da177e4SLinus Torvalds
11251da177e4SLinus Torvaldsconfig CPU_TX49XX
11261da177e4SLinus Torvalds	bool "R49XX"
11277cf8053bSRalf Baechle	depends on SYS_HAS_CPU_TX49XX
1128f7062ddbSRalf Baechle	select CPU_HAS_LLSC
1129de862b48SAtsushi Nemoto	select CPU_HAS_PREFETCH
1130ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1131ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
11321da177e4SLinus Torvalds
11331da177e4SLinus Torvaldsconfig CPU_R5000
11341da177e4SLinus Torvalds	bool "R5000"
11357cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R5000
1136f7062ddbSRalf Baechle	select CPU_HAS_LLSC
1137ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1138ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
11391da177e4SLinus Torvalds	help
11401da177e4SLinus Torvalds	  MIPS Technologies R5000-series processors other than the Nevada.
11411da177e4SLinus Torvalds
11421da177e4SLinus Torvaldsconfig CPU_R5432
11431da177e4SLinus Torvalds	bool "R5432"
11447cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R5432
1145f7062ddbSRalf Baechle	select CPU_HAS_LLSC
11465e83d430SRalf Baechle	select CPU_SUPPORTS_32BIT_KERNEL
11475e83d430SRalf Baechle	select CPU_SUPPORTS_64BIT_KERNEL
11481da177e4SLinus Torvalds
11491da177e4SLinus Torvaldsconfig CPU_R6000
11501da177e4SLinus Torvalds	bool "R6000"
1151ed5ba2fbSYoichi Yuasa	depends on EXPERIMENTAL
1152f7062ddbSRalf Baechle	select CPU_HAS_LLSC
11537cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R6000
1154ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
11551da177e4SLinus Torvalds	help
11561da177e4SLinus Torvalds	  MIPS Technologies R6000 and R6000A series processors.  Note these
1157c09b47d8SChris Dearman	  processors are extremely rare and the support for them is incomplete.
11581da177e4SLinus Torvalds
11591da177e4SLinus Torvaldsconfig CPU_NEVADA
11601da177e4SLinus Torvalds	bool "RM52xx"
11617cf8053bSRalf Baechle	depends on SYS_HAS_CPU_NEVADA
1162f7062ddbSRalf Baechle	select CPU_HAS_LLSC
1163ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1164ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
11651da177e4SLinus Torvalds	help
11661da177e4SLinus Torvalds	  QED / PMC-Sierra RM52xx-series ("Nevada") processors.
11671da177e4SLinus Torvalds
11681da177e4SLinus Torvaldsconfig CPU_R8000
11691da177e4SLinus Torvalds	bool "R8000"
1170ed5ba2fbSYoichi Yuasa	depends on EXPERIMENTAL
11717cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R8000
1172f7062ddbSRalf Baechle	select CPU_HAS_LLSC
11735e83d430SRalf Baechle	select CPU_HAS_PREFETCH
1174ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
11751da177e4SLinus Torvalds	help
11761da177e4SLinus Torvalds	  MIPS Technologies R8000 processors.  Note these processors are
11771da177e4SLinus Torvalds	  uncommon and the support for them is incomplete.
11781da177e4SLinus Torvalds
11791da177e4SLinus Torvaldsconfig CPU_R10000
11801da177e4SLinus Torvalds	bool "R10000"
11817cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R10000
1182f7062ddbSRalf Baechle	select CPU_HAS_LLSC
11835e83d430SRalf Baechle	select CPU_HAS_PREFETCH
1184ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1185ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
1186797798c1SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
11871da177e4SLinus Torvalds	help
11881da177e4SLinus Torvalds	  MIPS Technologies R10000-series processors.
11891da177e4SLinus Torvalds
11901da177e4SLinus Torvaldsconfig CPU_RM7000
11911da177e4SLinus Torvalds	bool "RM7000"
11927cf8053bSRalf Baechle	depends on SYS_HAS_CPU_RM7000
1193f7062ddbSRalf Baechle	select CPU_HAS_LLSC
11945e83d430SRalf Baechle	select CPU_HAS_PREFETCH
1195ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1196ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
1197797798c1SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
11981da177e4SLinus Torvalds
11991da177e4SLinus Torvaldsconfig CPU_RM9000
12001da177e4SLinus Torvalds	bool "RM9000"
12017cf8053bSRalf Baechle	depends on SYS_HAS_CPU_RM9000
1202f7062ddbSRalf Baechle	select CPU_HAS_LLSC
12035e83d430SRalf Baechle	select CPU_HAS_PREFETCH
1204ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1205ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
1206797798c1SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
12070004a9dfSRalf Baechle	select WEAK_ORDERING
12081da177e4SLinus Torvalds
12091da177e4SLinus Torvaldsconfig CPU_SB1
12101da177e4SLinus Torvalds	bool "SB1"
12117cf8053bSRalf Baechle	depends on SYS_HAS_CPU_SB1
1212f7062ddbSRalf Baechle	select CPU_HAS_LLSC
1213ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1214ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
1215797798c1SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
12160004a9dfSRalf Baechle	select WEAK_ORDERING
12171da177e4SLinus Torvalds
12181da177e4SLinus Torvaldsendchoice
12191da177e4SLinus Torvalds
12202a21c730SFuxin Zhangconfig SYS_HAS_CPU_LOONGSON2
12212a21c730SFuxin Zhang	bool
12222a21c730SFuxin Zhang
12237cf8053bSRalf Baechleconfig SYS_HAS_CPU_MIPS32_R1
12247cf8053bSRalf Baechle	bool
12257cf8053bSRalf Baechle
12267cf8053bSRalf Baechleconfig SYS_HAS_CPU_MIPS32_R2
12277cf8053bSRalf Baechle	bool
12287cf8053bSRalf Baechle
12297cf8053bSRalf Baechleconfig SYS_HAS_CPU_MIPS64_R1
12307cf8053bSRalf Baechle	bool
12317cf8053bSRalf Baechle
12327cf8053bSRalf Baechleconfig SYS_HAS_CPU_MIPS64_R2
12337cf8053bSRalf Baechle	bool
12347cf8053bSRalf Baechle
12357cf8053bSRalf Baechleconfig SYS_HAS_CPU_R3000
12367cf8053bSRalf Baechle	bool
12377cf8053bSRalf Baechle
12387cf8053bSRalf Baechleconfig SYS_HAS_CPU_TX39XX
12397cf8053bSRalf Baechle	bool
12407cf8053bSRalf Baechle
12417cf8053bSRalf Baechleconfig SYS_HAS_CPU_VR41XX
12427cf8053bSRalf Baechle	bool
12437cf8053bSRalf Baechle
12447cf8053bSRalf Baechleconfig SYS_HAS_CPU_R4300
12457cf8053bSRalf Baechle	bool
12467cf8053bSRalf Baechle
12477cf8053bSRalf Baechleconfig SYS_HAS_CPU_R4X00
12487cf8053bSRalf Baechle	bool
12497cf8053bSRalf Baechle
12507cf8053bSRalf Baechleconfig SYS_HAS_CPU_TX49XX
12517cf8053bSRalf Baechle	bool
12527cf8053bSRalf Baechle
12537cf8053bSRalf Baechleconfig SYS_HAS_CPU_R5000
12547cf8053bSRalf Baechle	bool
12557cf8053bSRalf Baechle
12567cf8053bSRalf Baechleconfig SYS_HAS_CPU_R5432
12577cf8053bSRalf Baechle	bool
12587cf8053bSRalf Baechle
12597cf8053bSRalf Baechleconfig SYS_HAS_CPU_R6000
12607cf8053bSRalf Baechle	bool
12617cf8053bSRalf Baechle
12627cf8053bSRalf Baechleconfig SYS_HAS_CPU_NEVADA
12637cf8053bSRalf Baechle	bool
12647cf8053bSRalf Baechle
12657cf8053bSRalf Baechleconfig SYS_HAS_CPU_R8000
12667cf8053bSRalf Baechle	bool
12677cf8053bSRalf Baechle
12687cf8053bSRalf Baechleconfig SYS_HAS_CPU_R10000
12697cf8053bSRalf Baechle	bool
12707cf8053bSRalf Baechle
12717cf8053bSRalf Baechleconfig SYS_HAS_CPU_RM7000
12727cf8053bSRalf Baechle	bool
12737cf8053bSRalf Baechle
12747cf8053bSRalf Baechleconfig SYS_HAS_CPU_RM9000
12757cf8053bSRalf Baechle	bool
12767cf8053bSRalf Baechle
12777cf8053bSRalf Baechleconfig SYS_HAS_CPU_SB1
12787cf8053bSRalf Baechle	bool
12797cf8053bSRalf Baechle
128017099b11SRalf Baechle#
128117099b11SRalf Baechle# CPU may reorder R->R, R->W, W->R, W->W
128217099b11SRalf Baechle# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
128317099b11SRalf Baechle#
12840004a9dfSRalf Baechleconfig WEAK_ORDERING
12850004a9dfSRalf Baechle	bool
128617099b11SRalf Baechle
128717099b11SRalf Baechle#
128817099b11SRalf Baechle# CPU may reorder reads and writes beyond LL/SC
128917099b11SRalf Baechle# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
129017099b11SRalf Baechle#
129117099b11SRalf Baechleconfig WEAK_REORDERING_BEYOND_LLSC
129217099b11SRalf Baechle	bool
12935e83d430SRalf Baechleendmenu
12945e83d430SRalf Baechle
12955e83d430SRalf Baechle#
12965e83d430SRalf Baechle# These two indicate any level of the MIPS32 and MIPS64 architecture
12975e83d430SRalf Baechle#
12985e83d430SRalf Baechleconfig CPU_MIPS32
12995e83d430SRalf Baechle	bool
13005e83d430SRalf Baechle	default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
13015e83d430SRalf Baechle
13025e83d430SRalf Baechleconfig CPU_MIPS64
13035e83d430SRalf Baechle	bool
13045e83d430SRalf Baechle	default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
13055e83d430SRalf Baechle
13065e83d430SRalf Baechle#
1307c09b47d8SChris Dearman# These two indicate the revision of the architecture, either Release 1 or Release 2
13085e83d430SRalf Baechle#
13095e83d430SRalf Baechleconfig CPU_MIPSR1
13105e83d430SRalf Baechle	bool
13115e83d430SRalf Baechle	default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
13125e83d430SRalf Baechle
13135e83d430SRalf Baechleconfig CPU_MIPSR2
13145e83d430SRalf Baechle	bool
13155e83d430SRalf Baechle	default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
13165e83d430SRalf Baechle
13175e83d430SRalf Baechleconfig SYS_SUPPORTS_32BIT_KERNEL
13185e83d430SRalf Baechle	bool
13195e83d430SRalf Baechleconfig SYS_SUPPORTS_64BIT_KERNEL
13205e83d430SRalf Baechle	bool
13215e83d430SRalf Baechleconfig CPU_SUPPORTS_32BIT_KERNEL
13225e83d430SRalf Baechle	bool
13235e83d430SRalf Baechleconfig CPU_SUPPORTS_64BIT_KERNEL
13245e83d430SRalf Baechle	bool
13255e83d430SRalf Baechle
13265e83d430SRalf Baechlemenu "Kernel type"
13275e83d430SRalf Baechle
13285e83d430SRalf Baechlechoice
13295e83d430SRalf Baechle
13305e83d430SRalf Baechle	prompt "Kernel code model"
13315e83d430SRalf Baechle	help
13325e83d430SRalf Baechle	  You should only select this option if you have a workload that
13335e83d430SRalf Baechle	  actually benefits from 64-bit processing or if your machine has
13345e83d430SRalf Baechle	  large memory.  You will only be presented a single option in this
13355e83d430SRalf Baechle	  menu if your system does not support both 32-bit and 64-bit kernels.
13365e83d430SRalf Baechle
13375e83d430SRalf Baechleconfig 32BIT
13385e83d430SRalf Baechle	bool "32-bit kernel"
13395e83d430SRalf Baechle	depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
13405e83d430SRalf Baechle	select TRAD_SIGNALS
13415e83d430SRalf Baechle	help
13425e83d430SRalf Baechle	  Select this option if you want to build a 32-bit kernel.
13435e83d430SRalf Baechleconfig 64BIT
13445e83d430SRalf Baechle	bool "64-bit kernel"
13455e83d430SRalf Baechle	depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
13465e83d430SRalf Baechle	help
13475e83d430SRalf Baechle	  Select this option if you want to build a 64-bit kernel.
13485e83d430SRalf Baechle
13495e83d430SRalf Baechleendchoice
13505e83d430SRalf Baechle
13511da177e4SLinus Torvaldschoice
13521da177e4SLinus Torvalds	prompt "Kernel page size"
13531da177e4SLinus Torvalds	default PAGE_SIZE_4KB
13541da177e4SLinus Torvalds
13551da177e4SLinus Torvaldsconfig PAGE_SIZE_4KB
13561da177e4SLinus Torvalds	bool "4kB"
13571da177e4SLinus Torvalds	help
13581da177e4SLinus Torvalds	 This option select the standard 4kB Linux page size.  On some
13591da177e4SLinus Torvalds	 R3000-family processors this is the only available page size.  Using
13601da177e4SLinus Torvalds	 4kB page size will minimize memory consumption and is therefore
13611da177e4SLinus Torvalds	 recommended for low memory systems.
13621da177e4SLinus Torvalds
13631da177e4SLinus Torvaldsconfig PAGE_SIZE_8KB
13641da177e4SLinus Torvalds	bool "8kB"
13651da177e4SLinus Torvalds	depends on EXPERIMENTAL && CPU_R8000
13661da177e4SLinus Torvalds	help
13671da177e4SLinus Torvalds	  Using 8kB page size will result in higher performance kernel at
13681da177e4SLinus Torvalds	  the price of higher memory consumption.  This option is available
13691da177e4SLinus Torvalds	  only on the R8000 processor.  Not that at the time of this writing
13701da177e4SLinus Torvalds	  this option is still high experimental; there are also issues with
13711da177e4SLinus Torvalds	  compatibility of user applications.
13721da177e4SLinus Torvalds
13731da177e4SLinus Torvaldsconfig PAGE_SIZE_16KB
13741da177e4SLinus Torvalds	bool "16kB"
1375714bfad6SRalf Baechle	depends on !CPU_R3000 && !CPU_TX39XX
13761da177e4SLinus Torvalds	help
13771da177e4SLinus Torvalds	  Using 16kB page size will result in higher performance kernel at
13781da177e4SLinus Torvalds	  the price of higher memory consumption.  This option is available on
1379714bfad6SRalf Baechle	  all non-R3000 family processors.  Note that you will need a suitable
1380714bfad6SRalf Baechle	  Linux distribution to support this.
13811da177e4SLinus Torvalds
13821da177e4SLinus Torvaldsconfig PAGE_SIZE_64KB
13831da177e4SLinus Torvalds	bool "64kB"
13841da177e4SLinus Torvalds	depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
13851da177e4SLinus Torvalds	help
13861da177e4SLinus Torvalds	  Using 64kB page size will result in higher performance kernel at
13871da177e4SLinus Torvalds	  the price of higher memory consumption.  This option is available on
13881da177e4SLinus Torvalds	  all non-R3000 family processor.  Not that at the time of this
1389714bfad6SRalf Baechle	  writing this option is still high experimental.
13901da177e4SLinus Torvalds
13911da177e4SLinus Torvaldsendchoice
13921da177e4SLinus Torvalds
13931da177e4SLinus Torvaldsconfig BOARD_SCACHE
13941da177e4SLinus Torvalds	bool
13951da177e4SLinus Torvalds
13961da177e4SLinus Torvaldsconfig IP22_CPU_SCACHE
13971da177e4SLinus Torvalds	bool
13981da177e4SLinus Torvalds	select BOARD_SCACHE
13991da177e4SLinus Torvalds
14009318c51aSChris Dearman#
14019318c51aSChris Dearman# Support for a MIPS32 / MIPS64 style S-caches
14029318c51aSChris Dearman#
14039318c51aSChris Dearmanconfig MIPS_CPU_SCACHE
14049318c51aSChris Dearman	bool
14059318c51aSChris Dearman	select BOARD_SCACHE
14069318c51aSChris Dearman
14071da177e4SLinus Torvaldsconfig R5000_CPU_SCACHE
14081da177e4SLinus Torvalds	bool
14091da177e4SLinus Torvalds	select BOARD_SCACHE
14101da177e4SLinus Torvalds
14111da177e4SLinus Torvaldsconfig RM7000_CPU_SCACHE
14121da177e4SLinus Torvalds	bool
14131da177e4SLinus Torvalds	select BOARD_SCACHE
14141da177e4SLinus Torvalds
14151da177e4SLinus Torvaldsconfig SIBYTE_DMA_PAGEOPS
14161da177e4SLinus Torvalds	bool "Use DMA to clear/copy pages"
14171da177e4SLinus Torvalds	depends on CPU_SB1
14181da177e4SLinus Torvalds	help
14191da177e4SLinus Torvalds	  Instead of using the CPU to zero and copy pages, use a Data Mover
14201da177e4SLinus Torvalds	  channel.  These DMA channels are otherwise unused by the standard
14211da177e4SLinus Torvalds	  SiByte Linux port.  Seems to give a small performance benefit.
14221da177e4SLinus Torvalds
14231da177e4SLinus Torvaldsconfig CPU_HAS_PREFETCH
1424c8094b53SRalf Baechle	bool
14251da177e4SLinus Torvalds
1426340ee4b9SRalf Baechlechoice
1427340ee4b9SRalf Baechle	prompt "MIPS MT options"
1428f41ae0b2SRalf Baechle
1429f41ae0b2SRalf Baechleconfig MIPS_MT_DISABLED
1430f41ae0b2SRalf Baechle	bool "Disable multithreading support."
1431f41ae0b2SRalf Baechle	help
1432f41ae0b2SRalf Baechle	  Use this option if your workload can't take advantage of
1433f41ae0b2SRalf Baechle	  MIPS hardware multithreading support.  On systems that don't have
1434f41ae0b2SRalf Baechle	  the option of an MT-enabled processor this option will be the only
1435f41ae0b2SRalf Baechle	  option in this menu.
1436340ee4b9SRalf Baechle
143759d6ab86SRalf Baechleconfig MIPS_MT_SMP
143859d6ab86SRalf Baechle	bool "Use 1 TC on each available VPE for SMP"
143959d6ab86SRalf Baechle	depends on SYS_SUPPORTS_MULTITHREADING
144059d6ab86SRalf Baechle	select CPU_MIPSR2_IRQ_VI
1441d725cf38SChris Dearman	select CPU_MIPSR2_IRQ_EI
144259d6ab86SRalf Baechle	select MIPS_MT
1443f510aa3bSRalf Baechle	select NR_CPUS_DEFAULT_2
144459d6ab86SRalf Baechle	select SMP
144559d6ab86SRalf Baechle	select SYS_SUPPORTS_SMP
144659d6ab86SRalf Baechle	help
144759d6ab86SRalf Baechle	  This is a kernel model which is also known a VSMP or lately
144859d6ab86SRalf Baechle	  has been marketesed into SMVP.
144959d6ab86SRalf Baechle
145041c594abSRalf Baechleconfig MIPS_MT_SMTC
145141c594abSRalf Baechle	bool "SMTC: Use all TCs on all VPEs for SMP"
1452f41ae0b2SRalf Baechle	depends on CPU_MIPS32_R2
1453f41ae0b2SRalf Baechle	#depends on CPU_MIPS64_R2		# once there is hardware ...
1454f41ae0b2SRalf Baechle	depends on SYS_SUPPORTS_MULTITHREADING
1455ea580401SRalf Baechle	select GENERIC_CLOCKEVENTS_BROADCAST
1456f7062ddbSRalf Baechle	select CPU_MIPSR2_IRQ_VI
1457d725cf38SChris Dearman	select CPU_MIPSR2_IRQ_EI
1458f41ae0b2SRalf Baechle	select MIPS_MT
1459130e2fb7SRalf Baechle	select NR_CPUS_DEFAULT_8
146041c594abSRalf Baechle	select SMP
146173b76c78SRalf Baechle	select SYS_SUPPORTS_SMP
1462f41ae0b2SRalf Baechle	help
1463f41ae0b2SRalf Baechle	  This is a kernel model which is known a SMTC or lately has been
1464f41ae0b2SRalf Baechle	  marketesed into SMVP.
146541c594abSRalf Baechle
1466340ee4b9SRalf Baechleendchoice
1467340ee4b9SRalf Baechle
1468f41ae0b2SRalf Baechleconfig MIPS_MT
1469f41ae0b2SRalf Baechle	bool
1470f41ae0b2SRalf Baechle
1471f41ae0b2SRalf Baechleconfig SYS_SUPPORTS_MULTITHREADING
1472f41ae0b2SRalf Baechle	bool
1473f41ae0b2SRalf Baechle
1474f088fc84SRalf Baechleconfig MIPS_MT_FPAFF
1475f088fc84SRalf Baechle	bool "Dynamic FPU affinity for FP-intensive threads"
1476f088fc84SRalf Baechle	default y
147707cc0c9eSRalf Baechle	depends on MIPS_MT_SMP || MIPS_MT_SMTC
147807cc0c9eSRalf Baechle
147907cc0c9eSRalf Baechleconfig MIPS_VPE_LOADER
148007cc0c9eSRalf Baechle	bool "VPE loader support."
148107cc0c9eSRalf Baechle	depends on SYS_SUPPORTS_MULTITHREADING
148207cc0c9eSRalf Baechle	select CPU_MIPSR2_IRQ_VI
148307cc0c9eSRalf Baechle	select CPU_MIPSR2_IRQ_EI
148407cc0c9eSRalf Baechle	select MIPS_MT
148507cc0c9eSRalf Baechle	help
148607cc0c9eSRalf Baechle	  Includes a loader for loading an elf relocatable object
148707cc0c9eSRalf Baechle	  onto another VPE and running it.
1488f088fc84SRalf Baechle
1489ac8be955SRalf Baechleconfig MIPS_MT_SMTC_INSTANT_REPLAY
1490ac8be955SRalf Baechle	bool "Low-latency Dispatch of Deferred SMTC IPIs"
1491619af723SRalf Baechle	depends on MIPS_MT_SMTC && !PREEMPT
1492ac8be955SRalf Baechle	default y
1493ac8be955SRalf Baechle	help
1494ac8be955SRalf Baechle	  SMTC pseudo-interrupts between TCs are deferred and queued
1495ac8be955SRalf Baechle	  if the target TC is interrupt-inhibited (IXMT). In the first
1496ac8be955SRalf Baechle	  SMTC prototypes, these queued IPIs were serviced on return
1497ac8be955SRalf Baechle	  to user mode, or on entry into the kernel idle loop. The
1498ac8be955SRalf Baechle	  INSTANT_REPLAY option dispatches them as part of local_irq_restore()
1499ac8be955SRalf Baechle	  processing, which adds runtime overhead (hence the option to turn
1500ac8be955SRalf Baechle	  it off), but ensures that IPIs are handled promptly even under
1501ac8be955SRalf Baechle	  heavy I/O interrupt load.
1502ac8be955SRalf Baechle
15030db34215SKevin D. Kissellconfig MIPS_MT_SMTC_IM_BACKSTOP
15040db34215SKevin D. Kissell	bool "Use per-TC register bits as backstop for inhibited IM bits"
15050db34215SKevin D. Kissell	depends on MIPS_MT_SMTC
15060db34215SKevin D. Kissell	default y
15070db34215SKevin D. Kissell	help
15080db34215SKevin D. Kissell	  To support multiple TC microthreads acting as "CPUs" within
15090db34215SKevin D. Kissell	  a VPE, VPE-wide interrupt mask bits must be specially manipulated
15100db34215SKevin D. Kissell	  during interrupt handling. To support legacy drivers and interrupt
15110db34215SKevin D. Kissell	  controller management code, SMTC has a "backstop" to track and
15120db34215SKevin D. Kissell	  if necessary restore the interrupt mask. This has some performance
15130db34215SKevin D. Kissell	  impact on interrupt service overhead. Disable it only if you know
15140db34215SKevin D. Kissell	  what you are doing.
15150db34215SKevin D. Kissell
1516f571eff0SKevin D. Kissellconfig MIPS_MT_SMTC_IRQAFF
1517f571eff0SKevin D. Kissell	bool "Support IRQ affinity API"
1518f571eff0SKevin D. Kissell	depends on MIPS_MT_SMTC
1519f571eff0SKevin D. Kissell	default n
1520f571eff0SKevin D. Kissell	help
1521f571eff0SKevin D. Kissell	  Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1522f571eff0SKevin D. Kissell	  for SMTC Linux kernel. Requires platform support, of which
1523f571eff0SKevin D. Kissell	  an example can be found in the MIPS kernel i8259 and Malta
1524f571eff0SKevin D. Kissell	  platform code.  It is recommended that MIPS_MT_SMTC_INSTANT_REPLAY
1525f571eff0SKevin D. Kissell	  be enabled if MIPS_MT_SMTC_IRQAFF is used. Adds overhead to
1526f571eff0SKevin D. Kissell	  interrupt dispatch, and should be used only if you know what
1527f571eff0SKevin D. Kissell	  you are doing.
1528f571eff0SKevin D. Kissell
1529e01402b1SRalf Baechleconfig MIPS_VPE_LOADER_TOM
1530e01402b1SRalf Baechle	bool "Load VPE program into memory hidden from linux"
1531e01402b1SRalf Baechle	depends on MIPS_VPE_LOADER
1532e01402b1SRalf Baechle	default y
1533e01402b1SRalf Baechle	help
1534e01402b1SRalf Baechle	  The loader can use memory that is present but has been hidden from
1535e01402b1SRalf Baechle	  Linux using the kernel command line option "mem=xxMB". It's up to
1536e01402b1SRalf Baechle	  you to ensure the amount you put in the option and the space your
1537e01402b1SRalf Baechle	  program requires is less or equal to the amount physically present.
1538e01402b1SRalf Baechle
1539e01402b1SRalf Baechle# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1540e01402b1SRalf Baechleconfig MIPS_VPE_APSP_API
1541e01402b1SRalf Baechle	bool "Enable support for AP/SP API (RTLX)"
1542e01402b1SRalf Baechle	depends on MIPS_VPE_LOADER
15435e83d430SRalf Baechle	help
1544e01402b1SRalf Baechle
15452600990eSRalf Baechleconfig MIPS_APSP_KSPD
15462600990eSRalf Baechle	bool "Enable KSPD"
15472600990eSRalf Baechle	depends on MIPS_VPE_APSP_API
15482600990eSRalf Baechle	default y
15492600990eSRalf Baechle	help
15502600990eSRalf Baechle	  KSPD is a kernel daemon that accepts syscall requests from the SP
15512600990eSRalf Baechle	  side, actions them and returns the results. It also handles the
15522600990eSRalf Baechle	  "exit" syscall notifying other kernel modules the SP program is
15532600990eSRalf Baechle	  exiting.  You probably want to say yes here.
15542600990eSRalf Baechle
15551da177e4SLinus Torvaldsconfig SB1_PASS_1_WORKAROUNDS
15561da177e4SLinus Torvalds	bool
15571da177e4SLinus Torvalds	depends on CPU_SB1_PASS_1
15581da177e4SLinus Torvalds	default y
15591da177e4SLinus Torvalds
15601da177e4SLinus Torvaldsconfig SB1_PASS_2_WORKAROUNDS
15611da177e4SLinus Torvalds	bool
15621da177e4SLinus Torvalds	depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
15631da177e4SLinus Torvalds	default y
15641da177e4SLinus Torvalds
15651da177e4SLinus Torvaldsconfig SB1_PASS_2_1_WORKAROUNDS
15661da177e4SLinus Torvalds	bool
15671da177e4SLinus Torvalds	depends on CPU_SB1 && CPU_SB1_PASS_2
15681da177e4SLinus Torvalds	default y
15691da177e4SLinus Torvalds
15701da177e4SLinus Torvaldsconfig 64BIT_PHYS_ADDR
1571d806cb2bSRalf Baechle	bool
15721da177e4SLinus Torvalds
15731da177e4SLinus Torvaldsconfig CPU_HAS_LLSC
1574f7062ddbSRalf Baechle	bool
15751da177e4SLinus Torvalds
15769693a853SFranck Bui-Huuconfig CPU_HAS_SMARTMIPS
15779693a853SFranck Bui-Huu	depends on SYS_SUPPORTS_SMARTMIPS
15789693a853SFranck Bui-Huu	bool "Support for the SmartMIPS ASE"
15799693a853SFranck Bui-Huu	help
15809693a853SFranck Bui-Huu	  SmartMIPS is a extension of the MIPS32 architecture aimed at
15819693a853SFranck Bui-Huu	  increased security at both hardware and software level for
15829693a853SFranck Bui-Huu	  smartcards.  Enabling this option will allow proper use of the
15839693a853SFranck Bui-Huu	  SmartMIPS instructions by Linux applications.  However a kernel with
15849693a853SFranck Bui-Huu	  this option will not work on a MIPS core without SmartMIPS core.  If
15859693a853SFranck Bui-Huu	  you don't know you probably don't have SmartMIPS and should say N
15869693a853SFranck Bui-Huu	  here.
15879693a853SFranck Bui-Huu
15881da177e4SLinus Torvaldsconfig CPU_HAS_WB
1589f7062ddbSRalf Baechle	bool
1590e01402b1SRalf Baechle
1591f41ae0b2SRalf Baechle#
1592f41ae0b2SRalf Baechle# Vectored interrupt mode is an R2 feature
1593f41ae0b2SRalf Baechle#
1594e01402b1SRalf Baechleconfig CPU_MIPSR2_IRQ_VI
1595f41ae0b2SRalf Baechle	bool
1596e01402b1SRalf Baechle
1597f41ae0b2SRalf Baechle#
1598f41ae0b2SRalf Baechle# Extended interrupt mode is an R2 feature
1599f41ae0b2SRalf Baechle#
1600e01402b1SRalf Baechleconfig CPU_MIPSR2_IRQ_EI
1601f41ae0b2SRalf Baechle	bool
1602e01402b1SRalf Baechle
16031da177e4SLinus Torvaldsconfig CPU_HAS_SYNC
16041da177e4SLinus Torvalds	bool
16051da177e4SLinus Torvalds	depends on !CPU_R3000
16061da177e4SLinus Torvalds	default y
16071da177e4SLinus Torvalds
1608ea580401SRalf Baechleconfig GENERIC_CLOCKEVENTS_BROADCAST
1609ea580401SRalf Baechle	bool
1610ea580401SRalf Baechle
16111da177e4SLinus Torvalds#
1612*20d60d99SMaciej W. Rozycki# CPU non-features
1613*20d60d99SMaciej W. Rozycki#
1614*20d60d99SMaciej W. Rozyckiconfig CPU_DADDI_WORKAROUNDS
1615*20d60d99SMaciej W. Rozycki	bool
1616*20d60d99SMaciej W. Rozycki
1617*20d60d99SMaciej W. Rozyckiconfig CPU_R4000_WORKAROUNDS
1618*20d60d99SMaciej W. Rozycki	bool
1619*20d60d99SMaciej W. Rozycki	select CPU_R4400_WORKAROUNDS
1620*20d60d99SMaciej W. Rozycki
1621*20d60d99SMaciej W. Rozyckiconfig CPU_R4400_WORKAROUNDS
1622*20d60d99SMaciej W. Rozycki	bool
1623*20d60d99SMaciej W. Rozycki
1624*20d60d99SMaciej W. Rozycki#
1625797798c1SRalf Baechle# Use the generic interrupt handling code in kernel/irq/:
1626797798c1SRalf Baechle#
1627797798c1SRalf Baechleconfig GENERIC_HARDIRQS
1628797798c1SRalf Baechle	bool
1629797798c1SRalf Baechle	default y
1630797798c1SRalf Baechle
1631797798c1SRalf Baechleconfig GENERIC_IRQ_PROBE
1632797798c1SRalf Baechle	bool
1633797798c1SRalf Baechle	default y
1634797798c1SRalf Baechle
16350d7012a9SIngo Molnarconfig IRQ_PER_CPU
16360d7012a9SIngo Molnar	bool
16370d7012a9SIngo Molnar
1638797798c1SRalf Baechle#
16391da177e4SLinus Torvalds# - Highmem only makes sense for the 32-bit kernel.
16401da177e4SLinus Torvalds# - The current highmem code will only work properly on physically indexed
16411da177e4SLinus Torvalds#   caches such as R3000, SB1, R7000 or those that look like they're virtually
16421da177e4SLinus Torvalds#   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
16431da177e4SLinus Torvalds#   moment we protect the user and offer the highmem option only on machines
16441da177e4SLinus Torvalds#   where it's known to be safe.  This will not offer highmem on a few systems
16451da177e4SLinus Torvalds#   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
16461da177e4SLinus Torvalds#   indexed CPUs but we're playing safe.
1647797798c1SRalf Baechle# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1648797798c1SRalf Baechle#   know they might have memory configurations that could make use of highmem
1649797798c1SRalf Baechle#   support.
16501da177e4SLinus Torvalds#
16511da177e4SLinus Torvaldsconfig HIGHMEM
16521da177e4SLinus Torvalds	bool "High Memory Support"
1653797798c1SRalf Baechle	depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1654797798c1SRalf Baechle
1655797798c1SRalf Baechleconfig CPU_SUPPORTS_HIGHMEM
1656797798c1SRalf Baechle	bool
1657797798c1SRalf Baechle
1658797798c1SRalf Baechleconfig SYS_SUPPORTS_HIGHMEM
1659797798c1SRalf Baechle	bool
16601da177e4SLinus Torvalds
16619693a853SFranck Bui-Huuconfig SYS_SUPPORTS_SMARTMIPS
16629693a853SFranck Bui-Huu	bool
16639693a853SFranck Bui-Huu
1664b4819b59SYoichi Yuasaconfig ARCH_FLATMEM_ENABLE
1665b4819b59SYoichi Yuasa	def_bool y
1666b4819b59SYoichi Yuasa	depends on !NUMA
1667b4819b59SYoichi Yuasa
1668d8cb4e11SRalf Baechleconfig ARCH_DISCONTIGMEM_ENABLE
1669d8cb4e11SRalf Baechle	bool
1670d8cb4e11SRalf Baechle	default y if SGI_IP27
1671d8cb4e11SRalf Baechle	help
16723dde6ad8SDavid Sterba	  Say Y to support efficient handling of discontiguous physical memory,
1673d8cb4e11SRalf Baechle	  for architectures which are either NUMA (Non-Uniform Memory Access)
1674d8cb4e11SRalf Baechle	  or have huge holes in the physical address space for other reasons.
1675d8cb4e11SRalf Baechle	  See <file:Documentation/vm/numa> for more.
1676d8cb4e11SRalf Baechle
1677cce335aeSRalf Baechleconfig ARCH_POPULATES_NODE_MAP
1678cce335aeSRalf Baechle	def_bool y
1679cce335aeSRalf Baechle
1680b1c6cd42SAtsushi Nemotoconfig ARCH_SPARSEMEM_ENABLE
1681b1c6cd42SAtsushi Nemoto	bool
16827de58fabSAtsushi Nemoto	select SPARSEMEM_STATIC
168331473747SAtsushi Nemoto
1684d8cb4e11SRalf Baechleconfig NUMA
1685d8cb4e11SRalf Baechle	bool "NUMA Support"
1686d8cb4e11SRalf Baechle	depends on SYS_SUPPORTS_NUMA
1687d8cb4e11SRalf Baechle	help
1688d8cb4e11SRalf Baechle	  Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1689d8cb4e11SRalf Baechle	  Access).  This option improves performance on systems with more
1690d8cb4e11SRalf Baechle	  than two nodes; on two node systems it is generally better to
1691d8cb4e11SRalf Baechle	  leave it disabled; on single node systems disable this option
1692d8cb4e11SRalf Baechle	  disabled.
1693d8cb4e11SRalf Baechle
1694d8cb4e11SRalf Baechleconfig SYS_SUPPORTS_NUMA
1695d8cb4e11SRalf Baechle	bool
1696d8cb4e11SRalf Baechle
1697c80d79d7SYasunori Gotoconfig NODES_SHIFT
1698c80d79d7SYasunori Goto	int
1699c80d79d7SYasunori Goto	default "6"
1700c80d79d7SYasunori Goto	depends on NEED_MULTIPLE_NODES
1701c80d79d7SYasunori Goto
1702b4819b59SYoichi Yuasasource "mm/Kconfig"
1703b4819b59SYoichi Yuasa
17041da177e4SLinus Torvaldsconfig SMP
17051da177e4SLinus Torvalds	bool "Multi-Processing support"
1706e73ea273SRalf Baechle	depends on SYS_SUPPORTS_SMP
1707b4b30a5aSRalf Baechle	select IRQ_PER_CPU
1708e73ea273SRalf Baechle	help
17091da177e4SLinus Torvalds	  This enables support for systems with more than one CPU. If you have
17101da177e4SLinus Torvalds	  a system with only one CPU, like most personal computers, say N. If
17111da177e4SLinus Torvalds	  you have a system with more than one CPU, say Y.
17121da177e4SLinus Torvalds
17131da177e4SLinus Torvalds	  If you say N here, the kernel will run on single and multiprocessor
17141da177e4SLinus Torvalds	  machines, but will use only one CPU of a multiprocessor machine. If
17151da177e4SLinus Torvalds	  you say Y here, the kernel will run on many, but not all,
17161da177e4SLinus Torvalds	  singleprocessor machines. On a singleprocessor machine, the kernel
17171da177e4SLinus Torvalds	  will run faster if you say N here.
17181da177e4SLinus Torvalds
17191da177e4SLinus Torvalds	  People using multiprocessor machines who say Y here should also say
17201da177e4SLinus Torvalds	  Y to "Enhanced Real Time Clock Support", below.
17211da177e4SLinus Torvalds
17221da177e4SLinus Torvalds	  See also the <file:Documentation/smp.txt> and the SMP-HOWTO
17231da177e4SLinus Torvalds	  available at <http://www.tldp.org/docs.html#howto>.
17241da177e4SLinus Torvalds
17251da177e4SLinus Torvalds	  If you don't know what to do here, say N.
17261da177e4SLinus Torvalds
1727e73ea273SRalf Baechleconfig SYS_SUPPORTS_SMP
1728e73ea273SRalf Baechle	bool
1729e73ea273SRalf Baechle
173072ede9b1SAtsushi Nemotoconfig NR_CPUS_DEFAULT_1
173172ede9b1SAtsushi Nemoto	bool
173272ede9b1SAtsushi Nemoto
1733130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_2
1734130e2fb7SRalf Baechle	bool
1735130e2fb7SRalf Baechle
1736130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_4
1737130e2fb7SRalf Baechle	bool
1738130e2fb7SRalf Baechle
1739130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_8
1740130e2fb7SRalf Baechle	bool
1741130e2fb7SRalf Baechle
1742130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_16
1743130e2fb7SRalf Baechle	bool
1744130e2fb7SRalf Baechle
1745130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_32
1746130e2fb7SRalf Baechle	bool
1747130e2fb7SRalf Baechle
1748130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_64
1749130e2fb7SRalf Baechle	bool
1750130e2fb7SRalf Baechle
17511da177e4SLinus Torvaldsconfig NR_CPUS
17521da177e4SLinus Torvalds	int "Maximum number of CPUs (2-64)"
175372ede9b1SAtsushi Nemoto	range 1 64 if NR_CPUS_DEFAULT_1
17541da177e4SLinus Torvalds	depends on SMP
175572ede9b1SAtsushi Nemoto	default "1" if NR_CPUS_DEFAULT_1
1756130e2fb7SRalf Baechle	default "2" if NR_CPUS_DEFAULT_2
1757130e2fb7SRalf Baechle	default "4" if NR_CPUS_DEFAULT_4
1758130e2fb7SRalf Baechle	default "8" if NR_CPUS_DEFAULT_8
1759130e2fb7SRalf Baechle	default "16" if NR_CPUS_DEFAULT_16
1760130e2fb7SRalf Baechle	default "32" if NR_CPUS_DEFAULT_32
1761130e2fb7SRalf Baechle	default "64" if NR_CPUS_DEFAULT_64
17621da177e4SLinus Torvalds	help
17631da177e4SLinus Torvalds	  This allows you to specify the maximum number of CPUs which this
17641da177e4SLinus Torvalds	  kernel will support.  The maximum supported value is 32 for 32-bit
17651da177e4SLinus Torvalds	  kernel and 64 for 64-bit kernels; the minimum value which makes
176672ede9b1SAtsushi Nemoto	  sense is 1 for Qemu (useful only for kernel debugging purposes)
176772ede9b1SAtsushi Nemoto	  and 2 for all others.
17681da177e4SLinus Torvalds
17691da177e4SLinus Torvalds	  This is purely to save memory - each supported CPU adds
177072ede9b1SAtsushi Nemoto	  approximately eight kilobytes to the kernel image.  For best
177172ede9b1SAtsushi Nemoto	  performance should round up your number of processors to the next
177272ede9b1SAtsushi Nemoto	  power of two.
17731da177e4SLinus Torvalds
1774c4eee283SAtsushi Nemotosource "kernel/time/Kconfig"
1775c4eee283SAtsushi Nemoto
17761723b4a3SAtsushi Nemoto#
17771723b4a3SAtsushi Nemoto# Timer Interrupt Frequency Configuration
17781723b4a3SAtsushi Nemoto#
17791723b4a3SAtsushi Nemoto
17801723b4a3SAtsushi Nemotochoice
17811723b4a3SAtsushi Nemoto	prompt "Timer frequency"
17821723b4a3SAtsushi Nemoto	default HZ_250
17831723b4a3SAtsushi Nemoto	help
17841723b4a3SAtsushi Nemoto	 Allows the configuration of the timer frequency.
17851723b4a3SAtsushi Nemoto
17861723b4a3SAtsushi Nemoto	config HZ_48
17871723b4a3SAtsushi Nemoto		bool "48 HZ" if SYS_SUPPORTS_48HZ
17881723b4a3SAtsushi Nemoto
17891723b4a3SAtsushi Nemoto	config HZ_100
17901723b4a3SAtsushi Nemoto		bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
17911723b4a3SAtsushi Nemoto
17921723b4a3SAtsushi Nemoto	config HZ_128
17931723b4a3SAtsushi Nemoto		bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
17941723b4a3SAtsushi Nemoto
17951723b4a3SAtsushi Nemoto	config HZ_250
17961723b4a3SAtsushi Nemoto		bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
17971723b4a3SAtsushi Nemoto
17981723b4a3SAtsushi Nemoto	config HZ_256
17991723b4a3SAtsushi Nemoto		bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
18001723b4a3SAtsushi Nemoto
18011723b4a3SAtsushi Nemoto	config HZ_1000
18021723b4a3SAtsushi Nemoto		bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
18031723b4a3SAtsushi Nemoto
18041723b4a3SAtsushi Nemoto	config HZ_1024
18051723b4a3SAtsushi Nemoto		bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
18061723b4a3SAtsushi Nemoto
18071723b4a3SAtsushi Nemotoendchoice
18081723b4a3SAtsushi Nemoto
18091723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_48HZ
18101723b4a3SAtsushi Nemoto	bool
18111723b4a3SAtsushi Nemoto
18121723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_100HZ
18131723b4a3SAtsushi Nemoto	bool
18141723b4a3SAtsushi Nemoto
18151723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_128HZ
18161723b4a3SAtsushi Nemoto	bool
18171723b4a3SAtsushi Nemoto
18181723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_250HZ
18191723b4a3SAtsushi Nemoto	bool
18201723b4a3SAtsushi Nemoto
18211723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_256HZ
18221723b4a3SAtsushi Nemoto	bool
18231723b4a3SAtsushi Nemoto
18241723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_1000HZ
18251723b4a3SAtsushi Nemoto	bool
18261723b4a3SAtsushi Nemoto
18271723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_1024HZ
18281723b4a3SAtsushi Nemoto	bool
18291723b4a3SAtsushi Nemoto
18301723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_ARBIT_HZ
18311723b4a3SAtsushi Nemoto	bool
18321723b4a3SAtsushi Nemoto	default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
18331723b4a3SAtsushi Nemoto		     !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
18341723b4a3SAtsushi Nemoto		     !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
18351723b4a3SAtsushi Nemoto		     !SYS_SUPPORTS_1024HZ
18361723b4a3SAtsushi Nemoto
18371723b4a3SAtsushi Nemotoconfig HZ
18381723b4a3SAtsushi Nemoto	int
18391723b4a3SAtsushi Nemoto	default 48 if HZ_48
18401723b4a3SAtsushi Nemoto	default 100 if HZ_100
18411723b4a3SAtsushi Nemoto	default 128 if HZ_128
18421723b4a3SAtsushi Nemoto	default 250 if HZ_250
18431723b4a3SAtsushi Nemoto	default 256 if HZ_256
18441723b4a3SAtsushi Nemoto	default 1000 if HZ_1000
18451723b4a3SAtsushi Nemoto	default 1024 if HZ_1024
18461723b4a3SAtsushi Nemoto
1847e80de850SRalf Baechlesource "kernel/Kconfig.preempt"
18481da177e4SLinus Torvalds
18491da177e4SLinus Torvaldsconfig MIPS_INSANE_LARGE
18501da177e4SLinus Torvalds	bool "Support for large 64-bit configurations"
1851875d43e7SRalf Baechle	depends on CPU_R10000 && 64BIT
18521da177e4SLinus Torvalds	help
18531da177e4SLinus Torvalds	  MIPS R10000 does support a 44 bit / 16TB address space as opposed to
18541da177e4SLinus Torvalds	  previous 64-bit processors which only supported 40 bit / 1TB. If you
18551da177e4SLinus Torvalds	  need processes of more than 1TB virtual address space, say Y here.
18561da177e4SLinus Torvalds	  This will result in additional memory usage, so it is not
18571da177e4SLinus Torvalds	  recommended for normal users.
18581da177e4SLinus Torvalds
1859ea6e942bSAtsushi Nemotoconfig KEXEC
1860ea6e942bSAtsushi Nemoto	bool "Kexec system call (EXPERIMENTAL)"
1861ea6e942bSAtsushi Nemoto	depends on EXPERIMENTAL
1862ea6e942bSAtsushi Nemoto	help
1863ea6e942bSAtsushi Nemoto	  kexec is a system call that implements the ability to shutdown your
1864ea6e942bSAtsushi Nemoto	  current kernel, and to start another kernel.  It is like a reboot
18653dde6ad8SDavid Sterba	  but it is independent of the system firmware.   And like a reboot
1866ea6e942bSAtsushi Nemoto	  you can start any kernel with it, not just Linux.
1867ea6e942bSAtsushi Nemoto
186801dd2fbfSMatt LaPlante	  The name comes from the similarity to the exec system call.
1869ea6e942bSAtsushi Nemoto
1870ea6e942bSAtsushi Nemoto	  It is an ongoing process to be certain the hardware in a machine
1871ea6e942bSAtsushi Nemoto	  is properly shutdown, so do not be surprised if this code does not
1872ea6e942bSAtsushi Nemoto	  initially work for you.  It may help to enable device hotplugging
1873ea6e942bSAtsushi Nemoto	  support.  As of this writing the exact hardware interface is
1874ea6e942bSAtsushi Nemoto	  strongly in flux, so no good recommendation can be made.
1875ea6e942bSAtsushi Nemoto
1876ea6e942bSAtsushi Nemotoconfig SECCOMP
1877ea6e942bSAtsushi Nemoto	bool "Enable seccomp to safely compute untrusted bytecode"
1878293c5bd1SRalf Baechle	depends on PROC_FS
1879ea6e942bSAtsushi Nemoto	default y
1880ea6e942bSAtsushi Nemoto	help
1881ea6e942bSAtsushi Nemoto	  This kernel feature is useful for number crunching applications
1882ea6e942bSAtsushi Nemoto	  that may need to compute untrusted bytecode during their
1883ea6e942bSAtsushi Nemoto	  execution. By using pipes or other transports made available to
1884ea6e942bSAtsushi Nemoto	  the process as file descriptors supporting the read/write
1885ea6e942bSAtsushi Nemoto	  syscalls, it's possible to isolate those applications in
1886ea6e942bSAtsushi Nemoto	  their own address space using seccomp. Once seccomp is
1887ea6e942bSAtsushi Nemoto	  enabled via /proc/<pid>/seccomp, it cannot be disabled
1888ea6e942bSAtsushi Nemoto	  and the task is only allowed to execute a few safe syscalls
1889ea6e942bSAtsushi Nemoto	  defined by each seccomp mode.
1890ea6e942bSAtsushi Nemoto
1891ea6e942bSAtsushi Nemoto	  If unsure, say Y. Only embedded should say N here.
1892ea6e942bSAtsushi Nemoto
18935e83d430SRalf Baechleendmenu
18945e83d430SRalf Baechle
18951da177e4SLinus Torvaldsconfig RWSEM_GENERIC_SPINLOCK
18961da177e4SLinus Torvalds	bool
18971da177e4SLinus Torvalds	default y
18981da177e4SLinus Torvalds
18991df0f0ffSAtsushi Nemotoconfig LOCKDEP_SUPPORT
19001df0f0ffSAtsushi Nemoto	bool
19011df0f0ffSAtsushi Nemoto	default y
19021df0f0ffSAtsushi Nemoto
19031df0f0ffSAtsushi Nemotoconfig STACKTRACE_SUPPORT
19041df0f0ffSAtsushi Nemoto	bool
19051df0f0ffSAtsushi Nemoto	default y
19061df0f0ffSAtsushi Nemoto
1907b6c3539bSRalf Baechlesource "init/Kconfig"
1908b6c3539bSRalf Baechle
19091da177e4SLinus Torvaldsmenu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
19101da177e4SLinus Torvalds
19115e83d430SRalf Baechleconfig HW_HAS_EISA
19125e83d430SRalf Baechle	bool
19131da177e4SLinus Torvaldsconfig HW_HAS_PCI
19141da177e4SLinus Torvalds	bool
19151da177e4SLinus Torvalds
19161da177e4SLinus Torvaldsconfig PCI
19171da177e4SLinus Torvalds	bool "Support for PCI controller"
19181da177e4SLinus Torvalds	depends on HW_HAS_PCI
1919abb4ae46SRalf Baechle	select PCI_DOMAINS
19201da177e4SLinus Torvalds	help
19211da177e4SLinus Torvalds	  Find out whether you have a PCI motherboard. PCI is the name of a
19221da177e4SLinus Torvalds	  bus system, i.e. the way the CPU talks to the other stuff inside
19231da177e4SLinus Torvalds	  your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
19241da177e4SLinus Torvalds	  say Y, otherwise N.
19251da177e4SLinus Torvalds
19261da177e4SLinus Torvalds	  The PCI-HOWTO, available from
19271da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>, contains valuable
19281da177e4SLinus Torvalds	  information about which PCI hardware does work under Linux and which
19291da177e4SLinus Torvalds	  doesn't.
19301da177e4SLinus Torvalds
19311da177e4SLinus Torvaldsconfig PCI_DOMAINS
19321da177e4SLinus Torvalds	bool
19331da177e4SLinus Torvalds
19341da177e4SLinus Torvaldssource "drivers/pci/Kconfig"
19351da177e4SLinus Torvalds
19361da177e4SLinus Torvalds#
19371da177e4SLinus Torvalds# ISA support is now enabled via select.  Too many systems still have the one
19381da177e4SLinus Torvalds# or other ISA chip on the board that users don't know about so don't expect
19391da177e4SLinus Torvalds# users to choose the right thing ...
19401da177e4SLinus Torvalds#
19411da177e4SLinus Torvaldsconfig ISA
19421da177e4SLinus Torvalds	bool
19431da177e4SLinus Torvalds
19441da177e4SLinus Torvaldsconfig EISA
19451da177e4SLinus Torvalds	bool "EISA support"
19465e83d430SRalf Baechle	depends on HW_HAS_EISA
19471da177e4SLinus Torvalds	select ISA
1948aa414dffSRalf Baechle	select GENERIC_ISA_DMA
19491da177e4SLinus Torvalds	---help---
19501da177e4SLinus Torvalds	  The Extended Industry Standard Architecture (EISA) bus was
19511da177e4SLinus Torvalds	  developed as an open alternative to the IBM MicroChannel bus.
19521da177e4SLinus Torvalds
19531da177e4SLinus Torvalds	  The EISA bus provided some of the features of the IBM MicroChannel
19541da177e4SLinus Torvalds	  bus while maintaining backward compatibility with cards made for
19551da177e4SLinus Torvalds	  the older ISA bus.  The EISA bus saw limited use between 1988 and
19561da177e4SLinus Torvalds	  1995 when it was made obsolete by the PCI bus.
19571da177e4SLinus Torvalds
19581da177e4SLinus Torvalds	  Say Y here if you are building a kernel for an EISA-based machine.
19591da177e4SLinus Torvalds
19601da177e4SLinus Torvalds	  Otherwise, say N.
19611da177e4SLinus Torvalds
19621da177e4SLinus Torvaldssource "drivers/eisa/Kconfig"
19631da177e4SLinus Torvalds
19641da177e4SLinus Torvaldsconfig TC
19651da177e4SLinus Torvalds	bool "TURBOchannel support"
19661da177e4SLinus Torvalds	depends on MACH_DECSTATION
19671da177e4SLinus Torvalds	help
19681da177e4SLinus Torvalds	  TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
19691da177e4SLinus Torvalds	  processors.  Documentation on writing device drivers for TurboChannel
19701da177e4SLinus Torvalds	  is available at:
19711da177e4SLinus Torvalds	  <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
19721da177e4SLinus Torvalds
19731da177e4SLinus Torvalds#config ACCESSBUS
19741da177e4SLinus Torvalds#	bool "Access.Bus support"
19751da177e4SLinus Torvalds#	depends on TC
19761da177e4SLinus Torvalds
19771da177e4SLinus Torvaldsconfig MMU
19781da177e4SLinus Torvalds	bool
19791da177e4SLinus Torvalds	default y
19801da177e4SLinus Torvalds
1981d865bea4SRalf Baechleconfig I8253
1982d865bea4SRalf Baechle	bool
1983d865bea4SRalf Baechle
1984de61b542SRalf Baechleconfig PCSPEAKER
1985e5c6c8e4SMichael Neuling	bool
1986e5c6c8e4SMichael Neuling
1987cce335aeSRalf Baechleconfig ZONE_DMA32
1988cce335aeSRalf Baechle	bool
1989cce335aeSRalf Baechle
19901da177e4SLinus Torvaldssource "drivers/pcmcia/Kconfig"
19911da177e4SLinus Torvalds
19921da177e4SLinus Torvaldssource "drivers/pci/hotplug/Kconfig"
19931da177e4SLinus Torvalds
19941da177e4SLinus Torvaldsendmenu
19951da177e4SLinus Torvalds
19961da177e4SLinus Torvaldsmenu "Executable file formats"
19971da177e4SLinus Torvalds
19981da177e4SLinus Torvaldssource "fs/Kconfig.binfmt"
19991da177e4SLinus Torvalds
20001da177e4SLinus Torvaldsconfig TRAD_SIGNALS
20011da177e4SLinus Torvalds	bool
20021da177e4SLinus Torvalds
20031da177e4SLinus Torvaldsconfig BINFMT_IRIX
20041da177e4SLinus Torvalds	bool "Include IRIX binary compatibility"
20055e83d430SRalf Baechle	depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
20061da177e4SLinus Torvalds
20071da177e4SLinus Torvaldsconfig MIPS32_COMPAT
20081da177e4SLinus Torvalds	bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2009875d43e7SRalf Baechle	depends on 64BIT
20101da177e4SLinus Torvalds	help
20111da177e4SLinus Torvalds	  Select this option if you want Linux/MIPS 32-bit binary
20121da177e4SLinus Torvalds	  compatibility. Since all software available for Linux/MIPS is
20131da177e4SLinus Torvalds	  currently 32-bit you should say Y here.
20141da177e4SLinus Torvalds
20151da177e4SLinus Torvaldsconfig COMPAT
20161da177e4SLinus Torvalds	bool
20171da177e4SLinus Torvalds	depends on MIPS32_COMPAT
20181da177e4SLinus Torvalds	default y
20191da177e4SLinus Torvalds
202005e43966SAtsushi Nemotoconfig SYSVIPC_COMPAT
202105e43966SAtsushi Nemoto	bool
202205e43966SAtsushi Nemoto	depends on COMPAT && SYSVIPC
202305e43966SAtsushi Nemoto	default y
202405e43966SAtsushi Nemoto
20251da177e4SLinus Torvaldsconfig MIPS32_O32
20261da177e4SLinus Torvalds	bool "Kernel support for o32 binaries"
20271da177e4SLinus Torvalds	depends on MIPS32_COMPAT
20281da177e4SLinus Torvalds	help
20291da177e4SLinus Torvalds	  Select this option if you want to run o32 binaries.  These are pure
20301da177e4SLinus Torvalds	  32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
20311da177e4SLinus Torvalds	  existing binaries are in this format.
20321da177e4SLinus Torvalds
20331da177e4SLinus Torvalds	  If unsure, say Y.
20341da177e4SLinus Torvalds
20351da177e4SLinus Torvaldsconfig MIPS32_N32
20361da177e4SLinus Torvalds	bool "Kernel support for n32 binaries"
20371da177e4SLinus Torvalds	depends on MIPS32_COMPAT
20381da177e4SLinus Torvalds	help
20391da177e4SLinus Torvalds	  Select this option if you want to run n32 binaries.  These are
20401da177e4SLinus Torvalds	  64-bit binaries using 32-bit quantities for addressing and certain
20411da177e4SLinus Torvalds	  data that would normally be 64-bit.  They are used in special
20421da177e4SLinus Torvalds	  cases.
20431da177e4SLinus Torvalds
20441da177e4SLinus Torvalds	  If unsure, say N.
20451da177e4SLinus Torvalds
20461da177e4SLinus Torvaldsconfig BINFMT_ELF32
20471da177e4SLinus Torvalds	bool
20481da177e4SLinus Torvalds	default y if MIPS32_O32 || MIPS32_N32
20491da177e4SLinus Torvalds
20502116245eSRalf Baechleendmenu
20511da177e4SLinus Torvalds
20522116245eSRalf Baechlemenu "Power management options"
2053952fa954SRodolfo Giometti
20542116245eSRalf Baechlesource "kernel/power/Kconfig"
2055952fa954SRodolfo Giometti
20561da177e4SLinus Torvaldsendmenu
20571da177e4SLinus Torvalds
2058d5950b43SSam Ravnborgsource "net/Kconfig"
2059d5950b43SSam Ravnborg
20601da177e4SLinus Torvaldssource "drivers/Kconfig"
20611da177e4SLinus Torvalds
20621da177e4SLinus Torvaldssource "fs/Kconfig"
20631da177e4SLinus Torvalds
206409cadedbSMathieu Desnoyerssource "kernel/Kconfig.instrumentation"
20655e83d430SRalf Baechle
20661da177e4SLinus Torvaldssource "arch/mips/Kconfig.debug"
20671da177e4SLinus Torvalds
20681da177e4SLinus Torvaldssource "security/Kconfig"
20691da177e4SLinus Torvalds
20701da177e4SLinus Torvaldssource "crypto/Kconfig"
20711da177e4SLinus Torvalds
20721da177e4SLinus Torvaldssource "lib/Kconfig"
2073