xref: /linux/arch/mips/Kconfig (revision 94bb0c1ab293c298a8852e4f10c4215bad6daa9b)
11da177e4SLinus Torvaldsconfig MIPS
21da177e4SLinus Torvalds	bool
31da177e4SLinus Torvalds	default y
4f8ac0425SYoichi Yuasa	select HAVE_GENERIC_DMA_COHERENT
5ec7748b5SSam Ravnborg	select HAVE_IDE
642d4b839SMathieu Desnoyers	select HAVE_OPROFILE
77f788d2dSDeng-Cheng Zhu	select HAVE_PERF_EVENTS
87f788d2dSDeng-Cheng Zhu	select PERF_USE_VMALLOC
988547001SJason Wessel	select HAVE_ARCH_KGDB
10d2bb0762SWu Zhangjin	select HAVE_FUNCTION_TRACER
1169a7d1b3SWu Zhangjin	select HAVE_FUNCTION_TRACE_MCOUNT_TEST
12538f1952SWu Zhangjin	select HAVE_DYNAMIC_FTRACE
13538f1952SWu Zhangjin	select HAVE_FTRACE_MCOUNT_RECORD
1464575f91SWu Zhangjin	select HAVE_C_RECORDMCOUNT
1529c5d346SWu Zhangjin	select HAVE_FUNCTION_GRAPH_TRACER
16c1bf207dSDavid Daney	select HAVE_KPROBES
17c1bf207dSDavid Daney	select HAVE_KRETPROBES
1821a41faaSWu Zhangjin	select RTC_LIB if !MACH_LOONGSON
192b78920dSDeng-Cheng Zhu	select GENERIC_ATOMIC64 if !64BIT
2048e1fd5aSDavid Daney	select HAVE_DMA_ATTRS
2148e1fd5aSDavid Daney	select HAVE_DMA_API_DEBUG
223bd27e32SDavid Daney	select HAVE_GENERIC_HARDIRQS
233bd27e32SDavid Daney	select GENERIC_IRQ_PROBE
24*94bb0c1aSDavid Daney	select HAVE_ARCH_JUMP_LABEL
251da177e4SLinus Torvalds
261da177e4SLinus Torvaldsmenu "Machine selection"
271da177e4SLinus Torvalds
285ac6da66SChristoph Lameterconfig ZONE_DMA
295ac6da66SChristoph Lameter	bool
305ac6da66SChristoph Lameter
315e83d430SRalf Baechlechoice
325e83d430SRalf Baechle	prompt "System type"
335e83d430SRalf Baechle	default SGI_IP22
341da177e4SLinus Torvalds
3542a4f17dSManuel Laussconfig MIPS_ALCHEMY
36c3543e25SYoichi Yuasa	bool "Alchemy processor based machines"
3742a4f17dSManuel Lauss	select 64BIT_PHYS_ADDR
3842a4f17dSManuel Lauss	select CEVT_R4K_LIB
3942a4f17dSManuel Lauss	select CSRC_R4K_LIB
4042a4f17dSManuel Lauss	select IRQ_CPU
4142a4f17dSManuel Lauss	select SYS_HAS_CPU_MIPS32_R1
4242a4f17dSManuel Lauss	select SYS_SUPPORTS_32BIT_KERNEL
4342a4f17dSManuel Lauss	select SYS_SUPPORTS_APM_EMULATION
4442a4f17dSManuel Lauss	select GENERIC_GPIO
4542a4f17dSManuel Lauss	select ARCH_WANT_OPTIONAL_GPIOLIB
461b93b3c3SWu Zhangjin	select SYS_SUPPORTS_ZBOOT
471da177e4SLinus Torvalds
487ca5dc14SFlorian Fainelliconfig AR7
497ca5dc14SFlorian Fainelli	bool "Texas Instruments AR7"
507ca5dc14SFlorian Fainelli	select BOOT_ELF32
517ca5dc14SFlorian Fainelli	select DMA_NONCOHERENT
527ca5dc14SFlorian Fainelli	select CEVT_R4K
537ca5dc14SFlorian Fainelli	select CSRC_R4K
547ca5dc14SFlorian Fainelli	select IRQ_CPU
557ca5dc14SFlorian Fainelli	select NO_EXCEPT_FILL
567ca5dc14SFlorian Fainelli	select SWAP_IO_SPACE
577ca5dc14SFlorian Fainelli	select SYS_HAS_CPU_MIPS32_R1
587ca5dc14SFlorian Fainelli	select SYS_HAS_EARLY_PRINTK
597ca5dc14SFlorian Fainelli	select SYS_SUPPORTS_32BIT_KERNEL
607ca5dc14SFlorian Fainelli	select SYS_SUPPORTS_LITTLE_ENDIAN
611b93b3c3SWu Zhangjin	select SYS_SUPPORTS_ZBOOT_UART16550
625f3c9098SFlorian Fainelli	select ARCH_REQUIRE_GPIOLIB
637ca5dc14SFlorian Fainelli	select GCD
647ca5dc14SFlorian Fainelli	select VLYNQ
657ca5dc14SFlorian Fainelli	help
667ca5dc14SFlorian Fainelli	  Support for the Texas Instruments AR7 System-on-a-Chip
677ca5dc14SFlorian Fainelli	  family: TNETD7100, 7200 and 7300.
687ca5dc14SFlorian Fainelli
691c0c13ebSAurelien Jarnoconfig BCM47XX
70c619366eSFlorian Fainelli	bool "Broadcom BCM47XX based boards"
7142f77542SRalf Baechle	select CEVT_R4K
72940f6b48SRalf Baechle	select CSRC_R4K
731c0c13ebSAurelien Jarno	select DMA_NONCOHERENT
741c0c13ebSAurelien Jarno	select HW_HAS_PCI
751c0c13ebSAurelien Jarno	select IRQ_CPU
761c0c13ebSAurelien Jarno	select SYS_HAS_CPU_MIPS32_R1
771c0c13ebSAurelien Jarno	select SYS_SUPPORTS_32BIT_KERNEL
781c0c13ebSAurelien Jarno	select SYS_SUPPORTS_LITTLE_ENDIAN
791c0c13ebSAurelien Jarno	select SSB
801c0c13ebSAurelien Jarno	select SSB_DRIVER_MIPS
812f02c15aSAurelien Jarno	select SSB_DRIVER_EXTIF
82b06f3e19SAurelien Jarno	select SSB_EMBEDDED
83220937b1SHauke Mehrtens	select SSB_B43_PCI_BRIDGE if PCI
842f02c15aSAurelien Jarno	select SSB_PCICORE_HOSTMODE if PCI
851c0c13ebSAurelien Jarno	select GENERIC_GPIO
8625e5fb97SAurelien Jarno	select SYS_HAS_EARLY_PRINTK
8725e5fb97SAurelien Jarno	select CFE
881c0c13ebSAurelien Jarno	help
891c0c13ebSAurelien Jarno	 Support for BCM47XX based boards
901c0c13ebSAurelien Jarno
91e7300d04SMaxime Bizonconfig BCM63XX
92e7300d04SMaxime Bizon	bool "Broadcom BCM63XX based boards"
93e7300d04SMaxime Bizon	select CEVT_R4K
94e7300d04SMaxime Bizon	select CSRC_R4K
95e7300d04SMaxime Bizon	select DMA_NONCOHERENT
96e7300d04SMaxime Bizon	select IRQ_CPU
97e7300d04SMaxime Bizon	select SYS_HAS_CPU_MIPS32_R1
98e7300d04SMaxime Bizon	select SYS_SUPPORTS_32BIT_KERNEL
99e7300d04SMaxime Bizon	select SYS_SUPPORTS_BIG_ENDIAN
100e7300d04SMaxime Bizon	select SYS_HAS_EARLY_PRINTK
101e7300d04SMaxime Bizon	select SWAP_IO_SPACE
102e7300d04SMaxime Bizon	select ARCH_REQUIRE_GPIOLIB
103e7300d04SMaxime Bizon	help
104e7300d04SMaxime Bizon	 Support for BCM63XX based boards
105e7300d04SMaxime Bizon
1061da177e4SLinus Torvaldsconfig MIPS_COBALT
1073fa986faSMartin Michlmayr	bool "Cobalt Server"
10842f77542SRalf Baechle	select CEVT_R4K
109940f6b48SRalf Baechle	select CSRC_R4K
1101097c6acSYoichi Yuasa	select CEVT_GT641XX
1111da177e4SLinus Torvalds	select DMA_NONCOHERENT
1121da177e4SLinus Torvalds	select HW_HAS_PCI
113d865bea4SRalf Baechle	select I8253
1141da177e4SLinus Torvalds	select I8259
1151da177e4SLinus Torvalds	select IRQ_CPU
116d5ab1a69SYoichi Yuasa	select IRQ_GT641XX
117252161ecSYoichi Yuasa	select PCI_GT64XXX_PCI0
118e25bfc92SYoichi Yuasa	select PCI
1197cf8053bSRalf Baechle	select SYS_HAS_CPU_NEVADA
1200a22e0d4SYoichi Yuasa	select SYS_HAS_EARLY_PRINTK
121ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
1220e8774b6SFlorian Fainelli	select SYS_SUPPORTS_64BIT_KERNEL
1235e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
1241da177e4SLinus Torvalds
1251da177e4SLinus Torvaldsconfig MACH_DECSTATION
1263fa986faSMartin Michlmayr	bool "DECstations"
1271da177e4SLinus Torvalds	select BOOT_ELF32
1286457d9fcSYoichi Yuasa	select CEVT_DS1287
12942f77542SRalf Baechle	select CEVT_R4K
1304247417dSYoichi Yuasa	select CSRC_IOASIC
131940f6b48SRalf Baechle	select CSRC_R4K
13220d60d99SMaciej W. Rozycki	select CPU_DADDI_WORKAROUNDS if 64BIT
13320d60d99SMaciej W. Rozycki	select CPU_R4000_WORKAROUNDS if 64BIT
13420d60d99SMaciej W. Rozycki	select CPU_R4400_WORKAROUNDS if 64BIT
1351da177e4SLinus Torvalds	select DMA_NONCOHERENT
136d388d685SMaciej W. Rozycki	select NO_IOPORT
1371da177e4SLinus Torvalds	select IRQ_CPU
1387cf8053bSRalf Baechle	select SYS_HAS_CPU_R3000
1397cf8053bSRalf Baechle	select SYS_HAS_CPU_R4X00
140ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
141ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
1425e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
1431723b4a3SAtsushi Nemoto	select SYS_SUPPORTS_128HZ
1441723b4a3SAtsushi Nemoto	select SYS_SUPPORTS_256HZ
1451723b4a3SAtsushi Nemoto	select SYS_SUPPORTS_1024HZ
1465e83d430SRalf Baechle	help
1471da177e4SLinus Torvalds	  This enables support for DEC's MIPS based workstations.  For details
1481da177e4SLinus Torvalds	  see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
1491da177e4SLinus Torvalds	  DECstation porting pages on <http://decstation.unix-ag.org/>.
1501da177e4SLinus Torvalds
1511da177e4SLinus Torvalds	  If you have one of the following DECstation Models you definitely
1521da177e4SLinus Torvalds	  want to choose R4xx0 for the CPU Type:
1531da177e4SLinus Torvalds
1541da177e4SLinus Torvalds		DECstation 5000/50
1551da177e4SLinus Torvalds		DECstation 5000/150
1561da177e4SLinus Torvalds		DECstation 5000/260
1571da177e4SLinus Torvalds		DECsystem 5900/260
1581da177e4SLinus Torvalds
1591da177e4SLinus Torvalds	  otherwise choose R3000.
1601da177e4SLinus Torvalds
1615e83d430SRalf Baechleconfig MACH_JAZZ
1623fa986faSMartin Michlmayr	bool "Jazz family of machines"
1635e83d430SRalf Baechle	select ARC
1645e83d430SRalf Baechle	select ARC32
1655e83d430SRalf Baechle	select ARCH_MAY_HAVE_PC_FDC
16642f77542SRalf Baechle	select CEVT_R4K
167940f6b48SRalf Baechle	select CSRC_R4K
168e2defae5SThomas Bogendoerfer	select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
1695e83d430SRalf Baechle	select GENERIC_ISA_DMA
170ea202c63SThomas Bogendoerfer	select IRQ_CPU
171d865bea4SRalf Baechle	select I8253
1725e83d430SRalf Baechle	select I8259
1735e83d430SRalf Baechle	select ISA
1747cf8053bSRalf Baechle	select SYS_HAS_CPU_R4X00
1755e83d430SRalf Baechle	select SYS_SUPPORTS_32BIT_KERNEL
1765e83d430SRalf Baechle	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
1771723b4a3SAtsushi Nemoto	select SYS_SUPPORTS_100HZ
1781da177e4SLinus Torvalds	help
1795e83d430SRalf Baechle	 This a family of machines based on the MIPS R4030 chipset which was
1805e83d430SRalf Baechle	 used by several vendors to build RISC/os and Windows NT workstations.
181692105b8SMatt LaPlante	 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
1825e83d430SRalf Baechle	 Olivetti M700-10 workstations.
1835e83d430SRalf Baechle
1845ebabe59SLars-Peter Clausenconfig MACH_JZ4740
1855ebabe59SLars-Peter Clausen	bool "Ingenic JZ4740 based machines"
1865ebabe59SLars-Peter Clausen	select SYS_HAS_CPU_MIPS32_R1
1875ebabe59SLars-Peter Clausen	select SYS_SUPPORTS_32BIT_KERNEL
1885ebabe59SLars-Peter Clausen	select SYS_SUPPORTS_LITTLE_ENDIAN
1895ebabe59SLars-Peter Clausen	select DMA_NONCOHERENT
1905ebabe59SLars-Peter Clausen	select IRQ_CPU
1915ebabe59SLars-Peter Clausen	select GENERIC_GPIO
1925ebabe59SLars-Peter Clausen	select ARCH_REQUIRE_GPIOLIB
1935ebabe59SLars-Peter Clausen	select SYS_HAS_EARLY_PRINTK
1945ebabe59SLars-Peter Clausen	select HAVE_PWM
1955ebabe59SLars-Peter Clausen
1961f21d2bdSBrian Murphyconfig LASAT
1971f21d2bdSBrian Murphy	bool "LASAT Networks platforms"
19842f77542SRalf Baechle	select CEVT_R4K
199940f6b48SRalf Baechle	select CSRC_R4K
2001f21d2bdSBrian Murphy	select DMA_NONCOHERENT
2011f21d2bdSBrian Murphy	select SYS_HAS_EARLY_PRINTK
2021f21d2bdSBrian Murphy	select HW_HAS_PCI
203a5ccfe5cSRalf Baechle	select IRQ_CPU
2041f21d2bdSBrian Murphy	select PCI_GT64XXX_PCI0
2051f21d2bdSBrian Murphy	select MIPS_NILE4
2061f21d2bdSBrian Murphy	select R5000_CPU_SCACHE
2071f21d2bdSBrian Murphy	select SYS_HAS_CPU_R5000
2081f21d2bdSBrian Murphy	select SYS_SUPPORTS_32BIT_KERNEL
2091f21d2bdSBrian Murphy	select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
2101f21d2bdSBrian Murphy	select SYS_SUPPORTS_LITTLE_ENDIAN
2111f21d2bdSBrian Murphy
21285749d24SWu Zhangjinconfig MACH_LOONGSON
21385749d24SWu Zhangjin	bool "Loongson family of machines"
214c7e8c668SWu Zhangjin	select SYS_SUPPORTS_ZBOOT
215ade299d8SYoichi Yuasa	help
21685749d24SWu Zhangjin	  This enables the support of Loongson family of machines.
21785749d24SWu Zhangjin
21885749d24SWu Zhangjin	  Loongson is a family of general-purpose MIPS-compatible CPUs.
21985749d24SWu Zhangjin	  developed at Institute of Computing Technology (ICT),
22085749d24SWu Zhangjin	  Chinese Academy of Sciences (CAS) in the People's Republic
22185749d24SWu Zhangjin	  of China. The chief architect is Professor Weiwu Hu.
222ade299d8SYoichi Yuasa
2231da177e4SLinus Torvaldsconfig MIPS_MALTA
2243fa986faSMartin Michlmayr	bool "MIPS Malta board"
22561ed242dSRalf Baechle	select ARCH_MAY_HAVE_PC_FDC
2261da177e4SLinus Torvalds	select BOOT_ELF32
227fa71c960SRalf Baechle	select BOOT_RAW
22842f77542SRalf Baechle	select CEVT_R4K
229940f6b48SRalf Baechle	select CSRC_R4K
2301da177e4SLinus Torvalds	select DMA_NONCOHERENT
2311da177e4SLinus Torvalds	select GENERIC_ISA_DMA
232aa414dffSRalf Baechle	select IRQ_CPU
23339b8d525SRalf Baechle	select IRQ_GIC
2341da177e4SLinus Torvalds	select HW_HAS_PCI
235d865bea4SRalf Baechle	select I8253
2361da177e4SLinus Torvalds	select I8259
2375e83d430SRalf Baechle	select MIPS_BOARDS_GEN
2385e83d430SRalf Baechle	select MIPS_BONITO64
2399318c51aSChris Dearman	select MIPS_CPU_SCACHE
240252161ecSYoichi Yuasa	select PCI_GT64XXX_PCI0
2415e83d430SRalf Baechle	select MIPS_MSC
2421da177e4SLinus Torvalds	select SWAP_IO_SPACE
2437cf8053bSRalf Baechle	select SYS_HAS_CPU_MIPS32_R1
2447cf8053bSRalf Baechle	select SYS_HAS_CPU_MIPS32_R2
2457cf8053bSRalf Baechle	select SYS_HAS_CPU_MIPS64_R1
2467cf8053bSRalf Baechle	select SYS_HAS_CPU_NEVADA
2477cf8053bSRalf Baechle	select SYS_HAS_CPU_RM7000
24836a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
249ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
250ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_64BIT_KERNEL
2515e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
2525e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
2530365070fSTim Anderson	select SYS_SUPPORTS_MIPS_CMP
254f41ae0b2SRalf Baechle	select SYS_SUPPORTS_MULTITHREADING
2559693a853SFranck Bui-Huu	select SYS_SUPPORTS_SMARTMIPS
2561b93b3c3SWu Zhangjin	select SYS_SUPPORTS_ZBOOT
2571da177e4SLinus Torvalds	help
258f638d197SMaciej W. Rozycki	  This enables support for the MIPS Technologies Malta evaluation
2591da177e4SLinus Torvalds	  board.
2601da177e4SLinus Torvalds
261c78cbf49SRalf Baechleconfig MIPS_SIM
2623fa986faSMartin Michlmayr	bool 'MIPS simulator (MIPSsim)'
26342f77542SRalf Baechle	select CEVT_R4K
264940f6b48SRalf Baechle	select CSRC_R4K
265c78cbf49SRalf Baechle	select DMA_NONCOHERENT
26636a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
267c78cbf49SRalf Baechle	select IRQ_CPU
2689267a30dSMarc St-Jean	select BOOT_RAW
2697cf8053bSRalf Baechle	select SYS_HAS_CPU_MIPS32_R1
2707cf8053bSRalf Baechle	select SYS_HAS_CPU_MIPS32_R2
27136a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
272c78cbf49SRalf Baechle	select SYS_SUPPORTS_32BIT_KERNEL
273c78cbf49SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
274f6e2373aSRalf Baechle	select SYS_SUPPORTS_MULTITHREADING
275c78cbf49SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
276c78cbf49SRalf Baechle	help
277c78cbf49SRalf Baechle	  This option enables support for MIPS Technologies MIPSsim software
278c78cbf49SRalf Baechle	  emulator.
279c78cbf49SRalf Baechle
280a83860c2SRalf Baechleconfig NEC_MARKEINS
281a83860c2SRalf Baechle	bool "NEC EMMA2RH Mark-eins board"
282a83860c2SRalf Baechle	select SOC_EMMA2RH
283a83860c2SRalf Baechle	select HW_HAS_PCI
284a83860c2SRalf Baechle	help
285a83860c2SRalf Baechle	  This enables support for the NEC Electronics Mark-eins boards.
286ade299d8SYoichi Yuasa
2875e83d430SRalf Baechleconfig MACH_VR41XX
28874142d65SYoichi Yuasa	bool "NEC VR4100 series based machines"
28942f77542SRalf Baechle	select CEVT_R4K
290940f6b48SRalf Baechle	select CSRC_R4K
2917cf8053bSRalf Baechle	select SYS_HAS_CPU_VR41XX
29227fdd325SYoichi Yuasa	select ARCH_REQUIRE_GPIOLIB
2935e83d430SRalf Baechle
294edb6310aSDaniel Lairdconfig NXP_STB220
295edb6310aSDaniel Laird	bool "NXP STB220 board"
296edb6310aSDaniel Laird	select SOC_PNX833X
297edb6310aSDaniel Laird	help
298edb6310aSDaniel Laird	 Support for NXP Semiconductors STB220 Development Board.
299edb6310aSDaniel Laird
300edb6310aSDaniel Lairdconfig NXP_STB225
301edb6310aSDaniel Laird	bool "NXP 225 board"
302edb6310aSDaniel Laird	select SOC_PNX833X
303edb6310aSDaniel Laird	select SOC_PNX8335
304edb6310aSDaniel Laird	help
305edb6310aSDaniel Laird	 Support for NXP Semiconductors STB225 Development Board.
306edb6310aSDaniel Laird
307ade299d8SYoichi Yuasaconfig PNX8550_JBS
308a92b0588SDaniel Laird	bool "NXP PNX8550 based JBS board"
309ade299d8SYoichi Yuasa	select PNX8550
310ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
311ade299d8SYoichi Yuasa
312ade299d8SYoichi Yuasaconfig PNX8550_STB810
313a92b0588SDaniel Laird	bool "NXP PNX8550 based STB810 board"
314ade299d8SYoichi Yuasa	select PNX8550
315ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
316ade299d8SYoichi Yuasa
3179267a30dSMarc St-Jeanconfig PMC_MSP
3189267a30dSMarc St-Jean	bool "PMC-Sierra MSP chipsets"
3199267a30dSMarc St-Jean	depends on EXPERIMENTAL
3209267a30dSMarc St-Jean	select DMA_NONCOHERENT
3219267a30dSMarc St-Jean	select SWAP_IO_SPACE
3229267a30dSMarc St-Jean	select NO_EXCEPT_FILL
3239267a30dSMarc St-Jean	select BOOT_RAW
3249267a30dSMarc St-Jean	select SYS_HAS_CPU_MIPS32_R1
3259267a30dSMarc St-Jean	select SYS_HAS_CPU_MIPS32_R2
3269267a30dSMarc St-Jean	select SYS_SUPPORTS_32BIT_KERNEL
3279267a30dSMarc St-Jean	select SYS_SUPPORTS_BIG_ENDIAN
3289267a30dSMarc St-Jean	select IRQ_CPU
3299267a30dSMarc St-Jean	select SERIAL_8250
3309267a30dSMarc St-Jean	select SERIAL_8250_CONSOLE
3319267a30dSMarc St-Jean	help
3329267a30dSMarc St-Jean	  This adds support for the PMC-Sierra family of Multi-Service
3339267a30dSMarc St-Jean	  Processor System-On-A-Chips.  These parts include a number
3349267a30dSMarc St-Jean	  of integrated peripherals, interfaces and DSPs in addition to
3359267a30dSMarc St-Jean	  a variety of MIPS cores.
3369267a30dSMarc St-Jean
3375e83d430SRalf Baechleconfig PMC_YOSEMITE
3383fa986faSMartin Michlmayr	bool "PMC-Sierra Yosemite eval board"
33942f77542SRalf Baechle	select CEVT_R4K
340940f6b48SRalf Baechle	select CSRC_R4K
3415e83d430SRalf Baechle	select DMA_COHERENT
3425e83d430SRalf Baechle	select HW_HAS_PCI
3435e83d430SRalf Baechle	select IRQ_CPU
3445e83d430SRalf Baechle	select IRQ_CPU_RM7K
3455e83d430SRalf Baechle	select IRQ_CPU_RM9K
3465e83d430SRalf Baechle	select SWAP_IO_SPACE
3477cf8053bSRalf Baechle	select SYS_HAS_CPU_RM9000
34836a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
3495e83d430SRalf Baechle	select SYS_SUPPORTS_32BIT_KERNEL
3505e83d430SRalf Baechle	select SYS_SUPPORTS_64BIT_KERNEL
3515e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
3525e83d430SRalf Baechle	select SYS_SUPPORTS_HIGHMEM
353e73ea273SRalf Baechle	select SYS_SUPPORTS_SMP
3545e83d430SRalf Baechle	help
3555e83d430SRalf Baechle	  Yosemite is an evaluation board for the RM9000x2 processor
3565e83d430SRalf Baechle	  manufactured by PMC-Sierra.
3571da177e4SLinus Torvalds
358a3a0f8c8SDavid VomLehnconfig POWERTV
359a3a0f8c8SDavid VomLehn	bool "Cisco PowerTV"
360a3a0f8c8SDavid VomLehn	select BOOT_ELF32
361a3a0f8c8SDavid VomLehn	select CEVT_R4K
362a3a0f8c8SDavid VomLehn	select CPU_MIPSR2_IRQ_VI
363a3a0f8c8SDavid VomLehn	select CPU_MIPSR2_IRQ_EI
364a3a0f8c8SDavid VomLehn	select CSRC_POWERTV
365a3a0f8c8SDavid VomLehn	select DMA_NONCOHERENT
366a3a0f8c8SDavid VomLehn	select HW_HAS_PCI
367a3a0f8c8SDavid VomLehn	select SYS_HAS_EARLY_PRINTK
368a3a0f8c8SDavid VomLehn	select SYS_HAS_CPU_MIPS32_R2
369a3a0f8c8SDavid VomLehn	select SYS_SUPPORTS_32BIT_KERNEL
370a3a0f8c8SDavid VomLehn	select SYS_SUPPORTS_BIG_ENDIAN
371a3a0f8c8SDavid VomLehn	select SYS_SUPPORTS_HIGHMEM
372a3a0f8c8SDavid VomLehn	select USB_OHCI_LITTLE_ENDIAN
373a3a0f8c8SDavid VomLehn	help
374a3a0f8c8SDavid VomLehn	  This enables support for the Cisco PowerTV Platform.
375a3a0f8c8SDavid VomLehn
3761da177e4SLinus Torvaldsconfig SGI_IP22
3773fa986faSMartin Michlmayr	bool "SGI IP22 (Indy/Indigo2)"
3781da177e4SLinus Torvalds	select ARC
3791da177e4SLinus Torvalds	select ARC32
3801da177e4SLinus Torvalds	select BOOT_ELF32
38142f77542SRalf Baechle	select CEVT_R4K
382940f6b48SRalf Baechle	select CSRC_R4K
383e2defae5SThomas Bogendoerfer	select DEFAULT_SGI_PARTITION
3841da177e4SLinus Torvalds	select DMA_NONCOHERENT
3855e83d430SRalf Baechle	select HW_HAS_EISA
386d865bea4SRalf Baechle	select I8253
38768de4803SThomas Bogendoerfer	select I8259
3881da177e4SLinus Torvalds	select IP22_CPU_SCACHE
3891da177e4SLinus Torvalds	select IRQ_CPU
390aa414dffSRalf Baechle	select GENERIC_ISA_DMA_SUPPORT_BROKEN
391e2defae5SThomas Bogendoerfer	select SGI_HAS_I8042
392e2defae5SThomas Bogendoerfer	select SGI_HAS_INDYDOG
39336e5c21dSThomas Bogendoerfer	select SGI_HAS_HAL2
394e2defae5SThomas Bogendoerfer	select SGI_HAS_SEEQ
395e2defae5SThomas Bogendoerfer	select SGI_HAS_WD93
396e2defae5SThomas Bogendoerfer	select SGI_HAS_ZILOG
3971da177e4SLinus Torvalds	select SWAP_IO_SPACE
3987cf8053bSRalf Baechle	select SYS_HAS_CPU_R4X00
3997cf8053bSRalf Baechle	select SYS_HAS_CPU_R5000
4002b5e63f6SMartin Michlmayr	#
4012b5e63f6SMartin Michlmayr	# Disable EARLY_PRINTK for now since it leads to overwritten prom
4022b5e63f6SMartin Michlmayr	# memory during early boot on some machines.
4032b5e63f6SMartin Michlmayr	#
4042b5e63f6SMartin Michlmayr	# See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
4052b5e63f6SMartin Michlmayr	# for a more details discussion
4062b5e63f6SMartin Michlmayr	#
4072b5e63f6SMartin Michlmayr	# select SYS_HAS_EARLY_PRINTK
408ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
409ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_64BIT_KERNEL
4105e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
4111da177e4SLinus Torvalds	help
4121da177e4SLinus Torvalds	  This are the SGI Indy, Challenge S and Indigo2, as well as certain
4131da177e4SLinus Torvalds	  OEM variants like the Tandem CMN B006S. To compile a Linux kernel
4141da177e4SLinus Torvalds	  that runs on these, say Y here.
4151da177e4SLinus Torvalds
4161da177e4SLinus Torvaldsconfig SGI_IP27
4173fa986faSMartin Michlmayr	bool "SGI IP27 (Origin200/2000)"
4181da177e4SLinus Torvalds	select ARC
4191da177e4SLinus Torvalds	select ARC64
4205e83d430SRalf Baechle	select BOOT_ELF64
421e2defae5SThomas Bogendoerfer	select DEFAULT_SGI_PARTITION
422634286f1SRalf Baechle	select DMA_COHERENT
42336a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
4241da177e4SLinus Torvalds	select HW_HAS_PCI
425130e2fb7SRalf Baechle	select NR_CPUS_DEFAULT_64
4267cf8053bSRalf Baechle	select SYS_HAS_CPU_R10000
427ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_64BIT_KERNEL
4285e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
429d8cb4e11SRalf Baechle	select SYS_SUPPORTS_NUMA
4301a5c5de1SRalf Baechle	select SYS_SUPPORTS_SMP
4311da177e4SLinus Torvalds	help
4321da177e4SLinus Torvalds	  This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
4331da177e4SLinus Torvalds	  workstations.  To compile a Linux kernel that runs on these, say Y
4341da177e4SLinus Torvalds	  here.
4351da177e4SLinus Torvalds
436e2defae5SThomas Bogendoerferconfig SGI_IP28
437e2defae5SThomas Bogendoerfer	bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
438e2defae5SThomas Bogendoerfer	depends on EXPERIMENTAL
439e2defae5SThomas Bogendoerfer	select ARC
440e2defae5SThomas Bogendoerfer	select ARC64
441e2defae5SThomas Bogendoerfer	select BOOT_ELF64
442e2defae5SThomas Bogendoerfer	select CEVT_R4K
443e2defae5SThomas Bogendoerfer	select CSRC_R4K
444e2defae5SThomas Bogendoerfer	select DEFAULT_SGI_PARTITION
445e2defae5SThomas Bogendoerfer	select DMA_NONCOHERENT
446e2defae5SThomas Bogendoerfer	select GENERIC_ISA_DMA_SUPPORT_BROKEN
447e2defae5SThomas Bogendoerfer	select IRQ_CPU
448e2defae5SThomas Bogendoerfer	select HW_HAS_EISA
449e2defae5SThomas Bogendoerfer	select I8253
450e2defae5SThomas Bogendoerfer	select I8259
451e2defae5SThomas Bogendoerfer	select SGI_HAS_I8042
452e2defae5SThomas Bogendoerfer	select SGI_HAS_INDYDOG
4535b438c44SThomas Bogendoerfer	select SGI_HAS_HAL2
454e2defae5SThomas Bogendoerfer	select SGI_HAS_SEEQ
455e2defae5SThomas Bogendoerfer	select SGI_HAS_WD93
456e2defae5SThomas Bogendoerfer	select SGI_HAS_ZILOG
457e2defae5SThomas Bogendoerfer	select SWAP_IO_SPACE
458e2defae5SThomas Bogendoerfer	select SYS_HAS_CPU_R10000
4592b5e63f6SMartin Michlmayr	#
4602b5e63f6SMartin Michlmayr	# Disable EARLY_PRINTK for now since it leads to overwritten prom
4612b5e63f6SMartin Michlmayr	# memory during early boot on some machines.
4622b5e63f6SMartin Michlmayr	#
4632b5e63f6SMartin Michlmayr	# See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
4642b5e63f6SMartin Michlmayr	# for a more details discussion
4652b5e63f6SMartin Michlmayr	#
4662b5e63f6SMartin Michlmayr	# select SYS_HAS_EARLY_PRINTK
467e2defae5SThomas Bogendoerfer	select SYS_SUPPORTS_64BIT_KERNEL
468e2defae5SThomas Bogendoerfer	select SYS_SUPPORTS_BIG_ENDIAN
469e2defae5SThomas Bogendoerfer      help
470e2defae5SThomas Bogendoerfer        This is the SGI Indigo2 with R10000 processor.  To compile a Linux
471e2defae5SThomas Bogendoerfer        kernel that runs on these, say Y here.
472e2defae5SThomas Bogendoerfer
4731da177e4SLinus Torvaldsconfig SGI_IP32
474cfd2afc0SRalf Baechle	bool "SGI IP32 (O2)"
4751da177e4SLinus Torvalds	select ARC
4761da177e4SLinus Torvalds	select ARC32
4771da177e4SLinus Torvalds	select BOOT_ELF32
47842f77542SRalf Baechle	select CEVT_R4K
479940f6b48SRalf Baechle	select CSRC_R4K
4801da177e4SLinus Torvalds	select DMA_NONCOHERENT
4811da177e4SLinus Torvalds	select HW_HAS_PCI
482dd67b155SRalf Baechle	select IRQ_CPU
4831da177e4SLinus Torvalds	select R5000_CPU_SCACHE
4841da177e4SLinus Torvalds	select RM7000_CPU_SCACHE
4857cf8053bSRalf Baechle	select SYS_HAS_CPU_R5000
4867cf8053bSRalf Baechle	select SYS_HAS_CPU_R10000 if BROKEN
4877cf8053bSRalf Baechle	select SYS_HAS_CPU_RM7000
488dd2f18feSRalf Baechle	select SYS_HAS_CPU_NEVADA
489ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_64BIT_KERNEL
4905e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
4911da177e4SLinus Torvalds	help
4921da177e4SLinus Torvalds	  If you want this kernel to run on SGI O2 workstation, say Y here.
4931da177e4SLinus Torvalds
494ade299d8SYoichi Yuasaconfig SIBYTE_CRHINE
495ade299d8SYoichi Yuasa	bool "Sibyte BCM91120C-CRhine"
4965e83d430SRalf Baechle	depends on EXPERIMENTAL
4975e83d430SRalf Baechle	select BOOT_ELF32
4985e83d430SRalf Baechle	select DMA_COHERENT
4995e83d430SRalf Baechle	select SIBYTE_BCM1120
5005e83d430SRalf Baechle	select SWAP_IO_SPACE
5017cf8053bSRalf Baechle	select SYS_HAS_CPU_SB1
5025e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
5035e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
5045e83d430SRalf Baechle
505ade299d8SYoichi Yuasaconfig SIBYTE_CARMEL
506ade299d8SYoichi Yuasa	bool "Sibyte BCM91120x-Carmel"
5075e83d430SRalf Baechle	depends on EXPERIMENTAL
5085e83d430SRalf Baechle	select BOOT_ELF32
5095e83d430SRalf Baechle	select DMA_COHERENT
5105e83d430SRalf Baechle	select SIBYTE_BCM1120
5115e83d430SRalf Baechle	select SWAP_IO_SPACE
5127cf8053bSRalf Baechle	select SYS_HAS_CPU_SB1
5135e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
5145e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
5155e83d430SRalf Baechle
5165e83d430SRalf Baechleconfig SIBYTE_CRHONE
5173fa986faSMartin Michlmayr	bool "Sibyte BCM91125C-CRhone"
5185e83d430SRalf Baechle	depends on EXPERIMENTAL
5195e83d430SRalf Baechle	select BOOT_ELF32
5205e83d430SRalf Baechle	select DMA_COHERENT
5215e83d430SRalf Baechle	select SIBYTE_BCM1125
5225e83d430SRalf Baechle	select SWAP_IO_SPACE
5237cf8053bSRalf Baechle	select SYS_HAS_CPU_SB1
5245e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
5255e83d430SRalf Baechle	select SYS_SUPPORTS_HIGHMEM
5265e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
5275e83d430SRalf Baechle
528ade299d8SYoichi Yuasaconfig SIBYTE_RHONE
529ade299d8SYoichi Yuasa	bool "Sibyte BCM91125E-Rhone"
530ade299d8SYoichi Yuasa	depends on EXPERIMENTAL
531ade299d8SYoichi Yuasa	select BOOT_ELF32
532ade299d8SYoichi Yuasa	select DMA_COHERENT
533ade299d8SYoichi Yuasa	select SIBYTE_BCM1125H
534ade299d8SYoichi Yuasa	select SWAP_IO_SPACE
535ade299d8SYoichi Yuasa	select SYS_HAS_CPU_SB1
536ade299d8SYoichi Yuasa	select SYS_SUPPORTS_BIG_ENDIAN
537ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
538ade299d8SYoichi Yuasa
539ade299d8SYoichi Yuasaconfig SIBYTE_SWARM
540ade299d8SYoichi Yuasa	bool "Sibyte BCM91250A-SWARM"
541ade299d8SYoichi Yuasa	select BOOT_ELF32
542ade299d8SYoichi Yuasa	select DMA_COHERENT
543fcf3ca4cSSebastian Andrzej Siewior	select HAVE_PATA_PLATFORM
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_HIGHMEM
550ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
551cce335aeSRalf Baechle	select ZONE_DMA32 if 64BIT
552ade299d8SYoichi Yuasa
553ade299d8SYoichi Yuasaconfig SIBYTE_LITTLESUR
554ade299d8SYoichi Yuasa	bool "Sibyte BCM91250C2-LittleSur"
555ade299d8SYoichi Yuasa	depends on EXPERIMENTAL
556ade299d8SYoichi Yuasa	select BOOT_ELF32
557ade299d8SYoichi Yuasa	select DMA_COHERENT
558fcf3ca4cSSebastian Andrzej Siewior	select HAVE_PATA_PLATFORM
559ade299d8SYoichi Yuasa	select NR_CPUS_DEFAULT_2
560ade299d8SYoichi Yuasa	select SIBYTE_SB1250
561ade299d8SYoichi Yuasa	select SWAP_IO_SPACE
562ade299d8SYoichi Yuasa	select SYS_HAS_CPU_SB1
563ade299d8SYoichi Yuasa	select SYS_SUPPORTS_BIG_ENDIAN
564ade299d8SYoichi Yuasa	select SYS_SUPPORTS_HIGHMEM
565ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
566ade299d8SYoichi Yuasa
567ade299d8SYoichi Yuasaconfig SIBYTE_SENTOSA
568ade299d8SYoichi Yuasa	bool "Sibyte BCM91250E-Sentosa"
569ade299d8SYoichi Yuasa	depends on EXPERIMENTAL
570ade299d8SYoichi Yuasa	select BOOT_ELF32
571ade299d8SYoichi Yuasa	select DMA_COHERENT
572ade299d8SYoichi Yuasa	select NR_CPUS_DEFAULT_2
573ade299d8SYoichi Yuasa	select SIBYTE_SB1250
574ade299d8SYoichi Yuasa	select SWAP_IO_SPACE
575ade299d8SYoichi Yuasa	select SYS_HAS_CPU_SB1
576ade299d8SYoichi Yuasa	select SYS_SUPPORTS_BIG_ENDIAN
577ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
578ade299d8SYoichi Yuasa
579ade299d8SYoichi Yuasaconfig SIBYTE_BIGSUR
580ade299d8SYoichi Yuasa	bool "Sibyte BCM91480B-BigSur"
581ade299d8SYoichi Yuasa	select BOOT_ELF32
582ade299d8SYoichi Yuasa	select DMA_COHERENT
583ade299d8SYoichi Yuasa	select NR_CPUS_DEFAULT_4
584ade299d8SYoichi Yuasa	select SIBYTE_BCM1x80
585ade299d8SYoichi Yuasa	select SWAP_IO_SPACE
586ade299d8SYoichi Yuasa	select SYS_HAS_CPU_SB1
587ade299d8SYoichi Yuasa	select SYS_SUPPORTS_BIG_ENDIAN
588651194f8SRalf Baechle	select SYS_SUPPORTS_HIGHMEM
589ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
590cce335aeSRalf Baechle	select ZONE_DMA32 if 64BIT
591ade299d8SYoichi Yuasa
59214b36af4SThomas Bogendoerferconfig SNI_RM
59314b36af4SThomas Bogendoerfer	bool "SNI RM200/300/400"
5944a0312fcSThomas Bogendoerfer	select ARC if CPU_LITTLE_ENDIAN
5954a0312fcSThomas Bogendoerfer	select ARC32 if CPU_LITTLE_ENDIAN
596231a35d3SThomas Bogendoerfer	select SNIPROM if CPU_BIG_ENDIAN
5975e83d430SRalf Baechle	select ARCH_MAY_HAVE_PC_FDC
5985e83d430SRalf Baechle	select BOOT_ELF32
59942f77542SRalf Baechle	select CEVT_R4K
600940f6b48SRalf Baechle	select CSRC_R4K
601e2defae5SThomas Bogendoerfer	select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
6025e83d430SRalf Baechle	select DMA_NONCOHERENT
6035e83d430SRalf Baechle	select GENERIC_ISA_DMA
6045e83d430SRalf Baechle	select HW_HAS_EISA
6055e83d430SRalf Baechle	select HW_HAS_PCI
606c066a32aSThomas Bogendoerfer	select IRQ_CPU
607d865bea4SRalf Baechle	select I8253
6085e83d430SRalf Baechle	select I8259
6095e83d430SRalf Baechle	select ISA
6104a0312fcSThomas Bogendoerfer	select SWAP_IO_SPACE if CPU_BIG_ENDIAN
6117cf8053bSRalf Baechle	select SYS_HAS_CPU_R4X00
6124a0312fcSThomas Bogendoerfer	select SYS_HAS_CPU_R5000
613c066a32aSThomas Bogendoerfer	select SYS_HAS_CPU_R10000
6144a0312fcSThomas Bogendoerfer	select R5000_CPU_SCACHE
61536a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
616ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
6175e83d430SRalf Baechle	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
6184a0312fcSThomas Bogendoerfer	select SYS_SUPPORTS_BIG_ENDIAN
6195e83d430SRalf Baechle	select SYS_SUPPORTS_HIGHMEM
6205e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
6211da177e4SLinus Torvalds	help
62214b36af4SThomas Bogendoerfer	  The SNI RM200/300/400 are MIPS-based machines manufactured by
62314b36af4SThomas Bogendoerfer	  Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
6245e83d430SRalf Baechle	  Technology and now in turn merged with Fujitsu.  Say Y here to
6255e83d430SRalf Baechle	  support this machine type.
6261da177e4SLinus Torvalds
627edcaf1a6SAtsushi Nemotoconfig MACH_TX39XX
628edcaf1a6SAtsushi Nemoto	bool "Toshiba TX39 series based machines"
6295e83d430SRalf Baechle
630edcaf1a6SAtsushi Nemotoconfig MACH_TX49XX
631edcaf1a6SAtsushi Nemoto	bool "Toshiba TX49 series based machines"
63223fbee9dSRalf Baechle
63373b4390fSRalf Baechleconfig MIKROTIK_RB532
63473b4390fSRalf Baechle	bool "Mikrotik RB532 boards"
63573b4390fSRalf Baechle	select CEVT_R4K
63673b4390fSRalf Baechle	select CSRC_R4K
63773b4390fSRalf Baechle	select DMA_NONCOHERENT
63873b4390fSRalf Baechle	select HW_HAS_PCI
63973b4390fSRalf Baechle	select IRQ_CPU
64073b4390fSRalf Baechle	select SYS_HAS_CPU_MIPS32_R1
64173b4390fSRalf Baechle	select SYS_SUPPORTS_32BIT_KERNEL
64273b4390fSRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
64373b4390fSRalf Baechle	select SWAP_IO_SPACE
64473b4390fSRalf Baechle	select BOOT_RAW
645d888e25bSFlorian Fainelli	select ARCH_REQUIRE_GPIOLIB
64673b4390fSRalf Baechle	help
64773b4390fSRalf Baechle	  Support the Mikrotik(tm) RouterBoard 532 series,
64873b4390fSRalf Baechle	  based on the IDT RC32434 SoC.
64973b4390fSRalf Baechle
650ade299d8SYoichi Yuasaconfig WR_PPMC
651ade299d8SYoichi Yuasa	bool "Wind River PPMC board"
65242f77542SRalf Baechle	select CEVT_R4K
653940f6b48SRalf Baechle	select CSRC_R4K
654ade299d8SYoichi Yuasa	select IRQ_CPU
655ade299d8SYoichi Yuasa	select BOOT_ELF32
656ade299d8SYoichi Yuasa	select DMA_NONCOHERENT
657ade299d8SYoichi Yuasa	select HW_HAS_PCI
658ade299d8SYoichi Yuasa	select PCI_GT64XXX_PCI0
659ade299d8SYoichi Yuasa	select SWAP_IO_SPACE
660ade299d8SYoichi Yuasa	select SYS_HAS_CPU_MIPS32_R1
661ade299d8SYoichi Yuasa	select SYS_HAS_CPU_MIPS32_R2
662ade299d8SYoichi Yuasa	select SYS_HAS_CPU_MIPS64_R1
663ade299d8SYoichi Yuasa	select SYS_HAS_CPU_NEVADA
664ade299d8SYoichi Yuasa	select SYS_HAS_CPU_RM7000
665ade299d8SYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
666ade299d8SYoichi Yuasa	select SYS_SUPPORTS_64BIT_KERNEL
667ade299d8SYoichi Yuasa	select SYS_SUPPORTS_BIG_ENDIAN
668ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
669ade299d8SYoichi Yuasa	help
670ade299d8SYoichi Yuasa	  This enables support for the Wind River MIPS32 4KC PPMC evaluation
671ade299d8SYoichi Yuasa	  board, which is based on GT64120 bridge chip.
672ade299d8SYoichi Yuasa
673a86c7f72SDavid Daneyconfig CAVIUM_OCTEON_SIMULATOR
674c9d89d97SYoichi Yuasa	bool "Cavium Networks Octeon Simulator"
675a86c7f72SDavid Daney	select CEVT_R4K
676a86c7f72SDavid Daney	select 64BIT_PHYS_ADDR
677a86c7f72SDavid Daney	select DMA_COHERENT
678a86c7f72SDavid Daney	select SYS_SUPPORTS_64BIT_KERNEL
679a86c7f72SDavid Daney	select SYS_SUPPORTS_BIG_ENDIAN
680a86c7f72SDavid Daney	select SYS_SUPPORTS_HIGHMEM
681773cb77dSRalf Baechle	select SYS_SUPPORTS_HOTPLUG_CPU
6825e683389SDavid Daney	select SYS_HAS_CPU_CAVIUM_OCTEON
683a86c7f72SDavid Daney	help
684a86c7f72SDavid Daney	  The Octeon simulator is software performance model of the Cavium
685a86c7f72SDavid Daney	  Octeon Processor. It supports simulating Octeon processors on x86
686a86c7f72SDavid Daney	  hardware.
687a86c7f72SDavid Daney
688a86c7f72SDavid Daneyconfig CAVIUM_OCTEON_REFERENCE_BOARD
689c9d89d97SYoichi Yuasa	bool "Cavium Networks Octeon reference board"
690a86c7f72SDavid Daney	select CEVT_R4K
691a86c7f72SDavid Daney	select 64BIT_PHYS_ADDR
692a86c7f72SDavid Daney	select DMA_COHERENT
693a86c7f72SDavid Daney	select SYS_SUPPORTS_64BIT_KERNEL
694a86c7f72SDavid Daney	select SYS_SUPPORTS_BIG_ENDIAN
695a86c7f72SDavid Daney	select SYS_SUPPORTS_HIGHMEM
696773cb77dSRalf Baechle	select SYS_SUPPORTS_HOTPLUG_CPU
697a86c7f72SDavid Daney	select SYS_HAS_EARLY_PRINTK
6985e683389SDavid Daney	select SYS_HAS_CPU_CAVIUM_OCTEON
699a86c7f72SDavid Daney	select SWAP_IO_SPACE
700e8635b48SDavid Daney	select HW_HAS_PCI
701e8635b48SDavid Daney	select ARCH_SUPPORTS_MSI
702f00e001eSDavid Daney	select ZONE_DMA32
703340fbb8bSDavid Daney	select USB_ARCH_HAS_OHCI
704340fbb8bSDavid Daney	select USB_ARCH_HAS_EHCI
705a86c7f72SDavid Daney	help
706a86c7f72SDavid Daney	  This option supports all of the Octeon reference boards from Cavium
707a86c7f72SDavid Daney	  Networks. It builds a kernel that dynamically determines the Octeon
708a86c7f72SDavid Daney	  CPU type and supports all known board reference implementations.
709a86c7f72SDavid Daney	  Some of the supported boards are:
710a86c7f72SDavid Daney		EBT3000
711a86c7f72SDavid Daney		EBH3000
712a86c7f72SDavid Daney		EBH3100
713a86c7f72SDavid Daney		Thunder
714a86c7f72SDavid Daney		Kodama
715a86c7f72SDavid Daney		Hikari
716a86c7f72SDavid Daney	  Say Y here for most Octeon reference boards.
717a86c7f72SDavid Daney
7181da177e4SLinus Torvaldsendchoice
7191da177e4SLinus Torvalds
720e8c7c482SRalf Baechlesource "arch/mips/alchemy/Kconfig"
721e7300d04SMaxime Bizonsource "arch/mips/bcm63xx/Kconfig"
7225e83d430SRalf Baechlesource "arch/mips/jazz/Kconfig"
7235ebabe59SLars-Peter Clausensource "arch/mips/jz4740/Kconfig"
7241f21d2bdSBrian Murphysource "arch/mips/lasat/Kconfig"
7255e83d430SRalf Baechlesource "arch/mips/pmc-sierra/Kconfig"
726a3a0f8c8SDavid VomLehnsource "arch/mips/powertv/Kconfig"
72729c48699SRalf Baechlesource "arch/mips/sgi-ip27/Kconfig"
72838b18f72SRalf Baechlesource "arch/mips/sibyte/Kconfig"
72922b1d707SAtsushi Nemotosource "arch/mips/txx9/Kconfig"
7305e83d430SRalf Baechlesource "arch/mips/vr41xx/Kconfig"
731a86c7f72SDavid Daneysource "arch/mips/cavium-octeon/Kconfig"
73285749d24SWu Zhangjinsource "arch/mips/loongson/Kconfig"
73338b18f72SRalf Baechle
7345e83d430SRalf Baechleendmenu
7355e83d430SRalf Baechle
7361da177e4SLinus Torvaldsconfig RWSEM_GENERIC_SPINLOCK
7371da177e4SLinus Torvalds	bool
7381da177e4SLinus Torvalds	default y
7391da177e4SLinus Torvalds
7401da177e4SLinus Torvaldsconfig RWSEM_XCHGADD_ALGORITHM
7411da177e4SLinus Torvalds	bool
7421da177e4SLinus Torvalds
743f0d1b0b3SDavid Howellsconfig ARCH_HAS_ILOG2_U32
744f0d1b0b3SDavid Howells	bool
745f0d1b0b3SDavid Howells	default n
746f0d1b0b3SDavid Howells
747f0d1b0b3SDavid Howellsconfig ARCH_HAS_ILOG2_U64
748f0d1b0b3SDavid Howells	bool
749f0d1b0b3SDavid Howells	default n
750f0d1b0b3SDavid Howells
75100a58253SRalf Baechleconfig ARCH_SUPPORTS_OPROFILE
75200a58253SRalf Baechle	bool
75300a58253SRalf Baechle	default y if !MIPS_MT_SMTC
75400a58253SRalf Baechle
7553c9ee7efSAkinobu Mitaconfig GENERIC_FIND_NEXT_BIT
7563c9ee7efSAkinobu Mita	bool
7573c9ee7efSAkinobu Mita	default y
7583c9ee7efSAkinobu Mita
7593c9ee7efSAkinobu Mitaconfig GENERIC_HWEIGHT
7603c9ee7efSAkinobu Mita	bool
7613c9ee7efSAkinobu Mita	default y
7623c9ee7efSAkinobu Mita
7631da177e4SLinus Torvaldsconfig GENERIC_CALIBRATE_DELAY
7641da177e4SLinus Torvalds	bool
7651da177e4SLinus Torvalds	default y
7661da177e4SLinus Torvalds
7677bcf7717SRalf Baechleconfig GENERIC_CLOCKEVENTS
7687bcf7717SRalf Baechle	bool
7697bcf7717SRalf Baechle	default y
7707bcf7717SRalf Baechle
771f5ff0a28SRalf Baechleconfig GENERIC_CMOS_UPDATE
772f5ff0a28SRalf Baechle	bool
773f5ff0a28SRalf Baechle	default y
774f5ff0a28SRalf Baechle
775ae1e9130SIngo Molnarconfig SCHED_OMIT_FRAME_POINTER
7761cc89038SAtsushi Nemoto	bool
7771cc89038SAtsushi Nemoto	default y
7781cc89038SAtsushi Nemoto
779e77c232cSFranck Bui-Huuconfig GENERIC_HARDIRQS_NO__DO_IRQ
780c87e0909SRalf Baechle	def_bool y
781e77c232cSFranck Bui-Huu
7821da177e4SLinus Torvalds#
7831da177e4SLinus Torvalds# Select some configuration options automatically based on user selections.
7841da177e4SLinus Torvalds#
7851da177e4SLinus Torvaldsconfig ARC
7861da177e4SLinus Torvalds	bool
7871da177e4SLinus Torvalds
78861ed242dSRalf Baechleconfig ARCH_MAY_HAVE_PC_FDC
78961ed242dSRalf Baechle	bool
79061ed242dSRalf Baechle
7919267a30dSMarc St-Jeanconfig BOOT_RAW
7929267a30dSMarc St-Jean	bool
7939267a30dSMarc St-Jean
794217dd11eSRalf Baechleconfig CEVT_BCM1480
795217dd11eSRalf Baechle	bool
796217dd11eSRalf Baechle
7976457d9fcSYoichi Yuasaconfig CEVT_DS1287
7986457d9fcSYoichi Yuasa	bool
7996457d9fcSYoichi Yuasa
8001097c6acSYoichi Yuasaconfig CEVT_GT641XX
8011097c6acSYoichi Yuasa	bool
8021097c6acSYoichi Yuasa
803779e7d41SManuel Laussconfig CEVT_R4K_LIB
804779e7d41SManuel Lauss	bool
805779e7d41SManuel Lauss
80642f77542SRalf Baechleconfig CEVT_R4K
807779e7d41SManuel Lauss	select CEVT_R4K_LIB
80842f77542SRalf Baechle	bool
80942f77542SRalf Baechle
810217dd11eSRalf Baechleconfig CEVT_SB1250
811217dd11eSRalf Baechle	bool
812217dd11eSRalf Baechle
813229f773eSAtsushi Nemotoconfig CEVT_TXX9
814229f773eSAtsushi Nemoto	bool
815229f773eSAtsushi Nemoto
816217dd11eSRalf Baechleconfig CSRC_BCM1480
817217dd11eSRalf Baechle	bool
818217dd11eSRalf Baechle
8194247417dSYoichi Yuasaconfig CSRC_IOASIC
8204247417dSYoichi Yuasa	bool
8214247417dSYoichi Yuasa
822a3a0f8c8SDavid VomLehnconfig CSRC_POWERTV
823a3a0f8c8SDavid VomLehn	bool
824a3a0f8c8SDavid VomLehn
825779e7d41SManuel Laussconfig CSRC_R4K_LIB
826779e7d41SManuel Lauss	bool
827779e7d41SManuel Lauss
828940f6b48SRalf Baechleconfig CSRC_R4K
829779e7d41SManuel Lauss	select CSRC_R4K_LIB
830940f6b48SRalf Baechle	bool
831940f6b48SRalf Baechle
832217dd11eSRalf Baechleconfig CSRC_SB1250
833217dd11eSRalf Baechle	bool
834217dd11eSRalf Baechle
835a9aec7feSAtsushi Nemotoconfig GPIO_TXX9
836a9aec7feSAtsushi Nemoto	select GENERIC_GPIO
8377444a72eSMichael Buesch	select ARCH_REQUIRE_GPIOLIB
838a9aec7feSAtsushi Nemoto	bool
839a9aec7feSAtsushi Nemoto
840df78b5c8SAurelien Jarnoconfig CFE
841df78b5c8SAurelien Jarno	bool
842df78b5c8SAurelien Jarno
8431da177e4SLinus Torvaldsconfig DMA_COHERENT
8441da177e4SLinus Torvalds	bool
8451da177e4SLinus Torvalds
8461da177e4SLinus Torvaldsconfig DMA_NONCOHERENT
8471da177e4SLinus Torvalds	bool
848e1e02b32SFUJITA Tomonori	select NEED_DMA_MAP_STATE
8494ce588cdSRalf Baechle
850e1e02b32SFUJITA Tomonoriconfig NEED_DMA_MAP_STATE
8514ce588cdSRalf Baechle	bool
8521da177e4SLinus Torvalds
85336a88530SRalf Baechleconfig SYS_HAS_EARLY_PRINTK
8541da177e4SLinus Torvalds	bool
8551da177e4SLinus Torvalds
856dbb74540SRalf Baechleconfig HOTPLUG_CPU
8571b2bc75cSRalf Baechle	bool "Support for hot-pluggable CPUs"
8581b2bc75cSRalf Baechle	depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU
8591b2bc75cSRalf Baechle	help
8601b2bc75cSRalf Baechle	  Say Y here to allow turning CPUs off and on. CPUs can be
8611b2bc75cSRalf Baechle	  controlled through /sys/devices/system/cpu.
8621b2bc75cSRalf Baechle	  (Note: power management support will enable this option
8631b2bc75cSRalf Baechle	    automatically on SMP systems. )
8641b2bc75cSRalf Baechle	  Say N if you want to disable CPU hotplug.
8651b2bc75cSRalf Baechle
8661b2bc75cSRalf Baechleconfig SYS_SUPPORTS_HOTPLUG_CPU
867dbb74540SRalf Baechle	bool
868dbb74540SRalf Baechle
8691da177e4SLinus Torvaldsconfig I8259
8701da177e4SLinus Torvalds	bool
8711da177e4SLinus Torvalds
8721da177e4SLinus Torvaldsconfig MIPS_BONITO64
8731da177e4SLinus Torvalds	bool
8741da177e4SLinus Torvalds
8751da177e4SLinus Torvaldsconfig MIPS_MSC
8761da177e4SLinus Torvalds	bool
8771da177e4SLinus Torvalds
8781f21d2bdSBrian Murphyconfig MIPS_NILE4
8791f21d2bdSBrian Murphy	bool
8801f21d2bdSBrian Murphy
8811da177e4SLinus Torvaldsconfig MIPS_DISABLE_OBSOLETE_IDE
8821da177e4SLinus Torvalds	bool
8831da177e4SLinus Torvalds
88439b8d525SRalf Baechleconfig SYNC_R4K
88539b8d525SRalf Baechle	bool
88639b8d525SRalf Baechle
887487d70d0SGabor Juhosconfig MIPS_MACHINE
888487d70d0SGabor Juhos	def_bool n
889487d70d0SGabor Juhos
890d388d685SMaciej W. Rozyckiconfig NO_IOPORT
891d388d685SMaciej W. Rozycki	def_bool n
892d388d685SMaciej W. Rozycki
8938313da30SRalf Baechleconfig GENERIC_ISA_DMA
8948313da30SRalf Baechle	bool
8958313da30SRalf Baechle	select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
896a35bee8aSNamhyung Kim	select ISA_DMA_API
8978313da30SRalf Baechle
898aa414dffSRalf Baechleconfig GENERIC_ISA_DMA_SUPPORT_BROKEN
899aa414dffSRalf Baechle	bool
9008313da30SRalf Baechle	select GENERIC_ISA_DMA
901aa414dffSRalf Baechle
902a35bee8aSNamhyung Kimconfig ISA_DMA_API
903a35bee8aSNamhyung Kim	bool
904a35bee8aSNamhyung Kim
90509663335SYoichi Yuasaconfig GENERIC_GPIO
90609663335SYoichi Yuasa	bool
90709663335SYoichi Yuasa
9085e83d430SRalf Baechle#
9093cb2fcccSMatt LaPlante# Endianess selection.  Sufficiently obscure so many users don't know what to
9105e83d430SRalf Baechle# answer,so we try hard to limit the available choices.  Also the use of a
9115e83d430SRalf Baechle# choice statement should be more obvious to the user.
9125e83d430SRalf Baechle#
9135e83d430SRalf Baechlechoice
9145e83d430SRalf Baechle	prompt "Endianess selection"
9151da177e4SLinus Torvalds	help
9161da177e4SLinus Torvalds	  Some MIPS machines can be configured for either little or big endian
9175e83d430SRalf Baechle	  byte order. These modes require different kernels and a different
9183cb2fcccSMatt LaPlante	  Linux distribution.  In general there is one preferred byteorder for a
9195e83d430SRalf Baechle	  particular system but some systems are just as commonly used in the
9203dde6ad8SDavid Sterba	  one or the other endianness.
9215e83d430SRalf Baechle
9225e83d430SRalf Baechleconfig CPU_BIG_ENDIAN
9235e83d430SRalf Baechle	bool "Big endian"
9245e83d430SRalf Baechle	depends on SYS_SUPPORTS_BIG_ENDIAN
9255e83d430SRalf Baechle
9265e83d430SRalf Baechleconfig CPU_LITTLE_ENDIAN
9275e83d430SRalf Baechle	bool "Little endian"
9285e83d430SRalf Baechle	depends on SYS_SUPPORTS_LITTLE_ENDIAN
9295e83d430SRalf Baechle	help
9305e83d430SRalf Baechle
9315e83d430SRalf Baechleendchoice
9325e83d430SRalf Baechle
93322b0763aSDavid Daneyconfig EXPORT_UASM
93422b0763aSDavid Daney	bool
93522b0763aSDavid Daney
9362116245eSRalf Baechleconfig SYS_SUPPORTS_APM_EMULATION
9372116245eSRalf Baechle	bool
9382116245eSRalf Baechle
9395e83d430SRalf Baechleconfig SYS_SUPPORTS_BIG_ENDIAN
9405e83d430SRalf Baechle	bool
9415e83d430SRalf Baechle
9425e83d430SRalf Baechleconfig SYS_SUPPORTS_LITTLE_ENDIAN
9435e83d430SRalf Baechle	bool
9441da177e4SLinus Torvalds
9459cffd154SDavid Daneyconfig SYS_SUPPORTS_HUGETLBFS
9469cffd154SDavid Daney	bool
9479cffd154SDavid Daney	depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
9489cffd154SDavid Daney	default y
9499cffd154SDavid Daney
9501da177e4SLinus Torvaldsconfig IRQ_CPU
9511da177e4SLinus Torvalds	bool
9521da177e4SLinus Torvalds
9531da177e4SLinus Torvaldsconfig IRQ_CPU_RM7K
9541da177e4SLinus Torvalds	bool
9551da177e4SLinus Torvalds
9565e83d430SRalf Baechleconfig IRQ_CPU_RM9K
9575e83d430SRalf Baechle	bool
9585e83d430SRalf Baechle
9599267a30dSMarc St-Jeanconfig IRQ_MSP_SLP
9609267a30dSMarc St-Jean	bool
9619267a30dSMarc St-Jean
9629267a30dSMarc St-Jeanconfig IRQ_MSP_CIC
9639267a30dSMarc St-Jean	bool
9649267a30dSMarc St-Jean
9658420fd00SAtsushi Nemotoconfig IRQ_TXX9
9668420fd00SAtsushi Nemoto	bool
9678420fd00SAtsushi Nemoto
968d5ab1a69SYoichi Yuasaconfig IRQ_GT641XX
969d5ab1a69SYoichi Yuasa	bool
970d5ab1a69SYoichi Yuasa
97139b8d525SRalf Baechleconfig IRQ_GIC
97239b8d525SRalf Baechle	bool
97339b8d525SRalf Baechle
974a86c7f72SDavid Daneyconfig IRQ_CPU_OCTEON
975a86c7f72SDavid Daney	bool
976a86c7f72SDavid Daney
9771da177e4SLinus Torvaldsconfig MIPS_BOARDS_GEN
9781da177e4SLinus Torvalds	bool
9791da177e4SLinus Torvalds
980252161ecSYoichi Yuasaconfig PCI_GT64XXX_PCI0
9811da177e4SLinus Torvalds	bool
9821da177e4SLinus Torvalds
9839267a30dSMarc St-Jeanconfig NO_EXCEPT_FILL
9849267a30dSMarc St-Jean	bool
9859267a30dSMarc St-Jean
986663c3d90Sthomas@koeller.dyndns.orgconfig MIPS_RM9122
987663c3d90Sthomas@koeller.dyndns.org	bool
988663c3d90Sthomas@koeller.dyndns.org	select SERIAL_RM9000
989663c3d90Sthomas@koeller.dyndns.org
990a83860c2SRalf Baechleconfig SOC_EMMA2RH
991a83860c2SRalf Baechle	bool
992a83860c2SRalf Baechle	select CEVT_R4K
993a83860c2SRalf Baechle	select CSRC_R4K
994a83860c2SRalf Baechle	select DMA_NONCOHERENT
995a83860c2SRalf Baechle	select IRQ_CPU
996a83860c2SRalf Baechle	select SWAP_IO_SPACE
997a83860c2SRalf Baechle	select SYS_HAS_CPU_R5500
998a83860c2SRalf Baechle	select SYS_SUPPORTS_32BIT_KERNEL
999a83860c2SRalf Baechle	select SYS_SUPPORTS_64BIT_KERNEL
1000a83860c2SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
1001a83860c2SRalf Baechle
1002edb6310aSDaniel Lairdconfig SOC_PNX833X
1003edb6310aSDaniel Laird	bool
1004edb6310aSDaniel Laird	select CEVT_R4K
1005edb6310aSDaniel Laird	select CSRC_R4K
1006edb6310aSDaniel Laird	select IRQ_CPU
1007edb6310aSDaniel Laird	select DMA_NONCOHERENT
1008edb6310aSDaniel Laird	select SYS_HAS_CPU_MIPS32_R2
1009edb6310aSDaniel Laird	select SYS_SUPPORTS_32BIT_KERNEL
1010edb6310aSDaniel Laird	select SYS_SUPPORTS_LITTLE_ENDIAN
1011edb6310aSDaniel Laird	select SYS_SUPPORTS_BIG_ENDIAN
1012edb6310aSDaniel Laird	select GENERIC_GPIO
1013edb6310aSDaniel Laird	select CPU_MIPSR2_IRQ_VI
1014edb6310aSDaniel Laird
1015edb6310aSDaniel Lairdconfig SOC_PNX8335
1016edb6310aSDaniel Laird	bool
1017edb6310aSDaniel Laird	select SOC_PNX833X
1018edb6310aSDaniel Laird
1019bdf21b18SPete Popovconfig PNX8550
1020bdf21b18SPete Popov	bool
1021bdf21b18SPete Popov	select SOC_PNX8550
1022bdf21b18SPete Popov
1023bdf21b18SPete Popovconfig SOC_PNX8550
1024bdf21b18SPete Popov	bool
1025bdf21b18SPete Popov	select DMA_NONCOHERENT
1026bdf21b18SPete Popov	select HW_HAS_PCI
1027b8c2a77cSRalf Baechle	select SYS_HAS_CPU_MIPS32_R1
102836a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
10297cf8053bSRalf Baechle	select SYS_SUPPORTS_32BIT_KERNEL
10304ead1681SFlorian Fainelli	select GENERIC_GPIO
1031bdf21b18SPete Popov
10321da177e4SLinus Torvaldsconfig SWAP_IO_SPACE
10331da177e4SLinus Torvalds	bool
10341da177e4SLinus Torvalds
1035663c3d90Sthomas@koeller.dyndns.orgconfig SERIAL_RM9000
1036663c3d90Sthomas@koeller.dyndns.org	bool
1037663c3d90Sthomas@koeller.dyndns.org
1038e2defae5SThomas Bogendoerferconfig SGI_HAS_INDYDOG
1039e2defae5SThomas Bogendoerfer	bool
1040e2defae5SThomas Bogendoerfer
10415b438c44SThomas Bogendoerferconfig SGI_HAS_HAL2
10425b438c44SThomas Bogendoerfer	bool
10435b438c44SThomas Bogendoerfer
1044e2defae5SThomas Bogendoerferconfig SGI_HAS_SEEQ
1045e2defae5SThomas Bogendoerfer	bool
1046e2defae5SThomas Bogendoerfer
1047e2defae5SThomas Bogendoerferconfig SGI_HAS_WD93
1048e2defae5SThomas Bogendoerfer	bool
1049e2defae5SThomas Bogendoerfer
1050e2defae5SThomas Bogendoerferconfig SGI_HAS_ZILOG
1051e2defae5SThomas Bogendoerfer	bool
1052e2defae5SThomas Bogendoerfer
1053e2defae5SThomas Bogendoerferconfig SGI_HAS_I8042
1054e2defae5SThomas Bogendoerfer	bool
1055e2defae5SThomas Bogendoerfer
1056e2defae5SThomas Bogendoerferconfig DEFAULT_SGI_PARTITION
1057e2defae5SThomas Bogendoerfer	bool
1058e2defae5SThomas Bogendoerfer
10595e83d430SRalf Baechleconfig ARC32
10605e83d430SRalf Baechle	bool
10615e83d430SRalf Baechle
1062231a35d3SThomas Bogendoerferconfig SNIPROM
1063231a35d3SThomas Bogendoerfer	bool
1064231a35d3SThomas Bogendoerfer
10651da177e4SLinus Torvaldsconfig BOOT_ELF32
10661da177e4SLinus Torvalds	bool
10671da177e4SLinus Torvalds
10681da177e4SLinus Torvaldsconfig MIPS_L1_CACHE_SHIFT
10691da177e4SLinus Torvalds	int
1070c7088755SRalf Baechle	default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL
10710db2b74eSRalf Baechle	default "6" if MIPS_CPU_SCACHE
1072a86c7f72SDavid Daney	default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON
10731da177e4SLinus Torvalds	default "5"
10741da177e4SLinus Torvalds
10751da177e4SLinus Torvaldsconfig HAVE_STD_PC_SERIAL_PORT
10761da177e4SLinus Torvalds	bool
10771da177e4SLinus Torvalds
10781da177e4SLinus Torvaldsconfig ARC_CONSOLE
10791da177e4SLinus Torvalds	bool "ARC console support"
1080e2defae5SThomas Bogendoerfer	depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
10811da177e4SLinus Torvalds
10821da177e4SLinus Torvaldsconfig ARC_MEMORY
10831da177e4SLinus Torvalds	bool
108414b36af4SThomas Bogendoerfer	depends on MACH_JAZZ || SNI_RM || SGI_IP32
10851da177e4SLinus Torvalds	default y
10861da177e4SLinus Torvalds
10871da177e4SLinus Torvaldsconfig ARC_PROMLIB
10881da177e4SLinus Torvalds	bool
1089e2defae5SThomas Bogendoerfer	depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
10901da177e4SLinus Torvalds	default y
10911da177e4SLinus Torvalds
10921da177e4SLinus Torvaldsconfig ARC64
10931da177e4SLinus Torvalds	bool
10941da177e4SLinus Torvalds
10951da177e4SLinus Torvaldsconfig BOOT_ELF64
10961da177e4SLinus Torvalds	bool
10971da177e4SLinus Torvalds
10981da177e4SLinus Torvaldsmenu "CPU selection"
10991da177e4SLinus Torvalds
11001da177e4SLinus Torvaldschoice
11011da177e4SLinus Torvalds	prompt "CPU type"
11021da177e4SLinus Torvalds	default CPU_R4X00
11031da177e4SLinus Torvalds
11043702bba5SWu Zhangjinconfig CPU_LOONGSON2E
11053702bba5SWu Zhangjin	bool "Loongson 2E"
11063702bba5SWu Zhangjin	depends on SYS_HAS_CPU_LOONGSON2E
11073702bba5SWu Zhangjin	select CPU_LOONGSON2
11082a21c730SFuxin Zhang	help
11092a21c730SFuxin Zhang	  The Loongson 2E processor implements the MIPS III instruction set
11102a21c730SFuxin Zhang	  with many extensions.
11112a21c730SFuxin Zhang
11126f7a251aSWu Zhangjin	  It has an internal FPGA northbridge, which is compatiable to
11136f7a251aSWu Zhangjin	  bonito64.
11146f7a251aSWu Zhangjin
11156f7a251aSWu Zhangjinconfig CPU_LOONGSON2F
11166f7a251aSWu Zhangjin	bool "Loongson 2F"
11176f7a251aSWu Zhangjin	depends on SYS_HAS_CPU_LOONGSON2F
11186f7a251aSWu Zhangjin	select CPU_LOONGSON2
1119c197da91SArnaud Patard	select GENERIC_GPIO
1120c197da91SArnaud Patard	select ARCH_REQUIRE_GPIOLIB
11216f7a251aSWu Zhangjin	help
11226f7a251aSWu Zhangjin	  The Loongson 2F processor implements the MIPS III instruction set
11236f7a251aSWu Zhangjin	  with many extensions.
11246f7a251aSWu Zhangjin
11256f7a251aSWu Zhangjin	  Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
11266f7a251aSWu Zhangjin	  have a similar programming interface with FPGA northbridge used in
11276f7a251aSWu Zhangjin	  Loongson2E.
11286f7a251aSWu Zhangjin
11296e760c8dSRalf Baechleconfig CPU_MIPS32_R1
11306e760c8dSRalf Baechle	bool "MIPS32 Release 1"
11317cf8053bSRalf Baechle	depends on SYS_HAS_CPU_MIPS32_R1
11326e760c8dSRalf Baechle	select CPU_HAS_PREFETCH
1133797798c1SRalf Baechle	select CPU_SUPPORTS_32BIT_KERNEL
1134ec28f306SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
11356e760c8dSRalf Baechle	help
11365e83d430SRalf Baechle	  Choose this option to build a kernel for release 1 or later of the
11371e5f1caaSRalf Baechle	  MIPS32 architecture.  Most modern embedded systems with a 32-bit
11381e5f1caaSRalf Baechle	  MIPS processor are based on a MIPS32 processor.  If you know the
11391e5f1caaSRalf Baechle	  specific type of processor in your system, choose those that one
11401e5f1caaSRalf Baechle	  otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
11411e5f1caaSRalf Baechle	  Release 2 of the MIPS32 architecture is available since several
11421e5f1caaSRalf Baechle	  years so chances are you even have a MIPS32 Release 2 processor
11431e5f1caaSRalf Baechle	  in which case you should choose CPU_MIPS32_R2 instead for better
11441e5f1caaSRalf Baechle	  performance.
11451e5f1caaSRalf Baechle
11461e5f1caaSRalf Baechleconfig CPU_MIPS32_R2
11471e5f1caaSRalf Baechle	bool "MIPS32 Release 2"
11487cf8053bSRalf Baechle	depends on SYS_HAS_CPU_MIPS32_R2
11491e5f1caaSRalf Baechle	select CPU_HAS_PREFETCH
1150797798c1SRalf Baechle	select CPU_SUPPORTS_32BIT_KERNEL
1151ec28f306SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
11521e5f1caaSRalf Baechle	help
11535e83d430SRalf Baechle	  Choose this option to build a kernel for release 2 or later of the
11546e760c8dSRalf Baechle	  MIPS32 architecture.  Most modern embedded systems with a 32-bit
11556e760c8dSRalf Baechle	  MIPS processor are based on a MIPS32 processor.  If you know the
11566e760c8dSRalf Baechle	  specific type of processor in your system, choose those that one
11576e760c8dSRalf Baechle	  otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
11581da177e4SLinus Torvalds
11596e760c8dSRalf Baechleconfig CPU_MIPS64_R1
11606e760c8dSRalf Baechle	bool "MIPS64 Release 1"
11617cf8053bSRalf Baechle	depends on SYS_HAS_CPU_MIPS64_R1
1162797798c1SRalf Baechle	select CPU_HAS_PREFETCH
1163ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1164ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
1165ec28f306SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
11669cffd154SDavid Daney	select CPU_SUPPORTS_HUGEPAGES
11676e760c8dSRalf Baechle	help
11686e760c8dSRalf Baechle	  Choose this option to build a kernel for release 1 or later of the
11696e760c8dSRalf Baechle	  MIPS64 architecture.  Many modern embedded systems with a 64-bit
11706e760c8dSRalf Baechle	  MIPS processor are based on a MIPS64 processor.  If you know the
11716e760c8dSRalf Baechle	  specific type of processor in your system, choose those that one
11726e760c8dSRalf Baechle	  otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
11731e5f1caaSRalf Baechle	  Release 2 of the MIPS64 architecture is available since several
11741e5f1caaSRalf Baechle	  years so chances are you even have a MIPS64 Release 2 processor
11751e5f1caaSRalf Baechle	  in which case you should choose CPU_MIPS64_R2 instead for better
11761e5f1caaSRalf Baechle	  performance.
11771e5f1caaSRalf Baechle
11781e5f1caaSRalf Baechleconfig CPU_MIPS64_R2
11791e5f1caaSRalf Baechle	bool "MIPS64 Release 2"
11807cf8053bSRalf Baechle	depends on SYS_HAS_CPU_MIPS64_R2
1181797798c1SRalf Baechle	select CPU_HAS_PREFETCH
11821e5f1caaSRalf Baechle	select CPU_SUPPORTS_32BIT_KERNEL
11831e5f1caaSRalf Baechle	select CPU_SUPPORTS_64BIT_KERNEL
1184ec28f306SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
11859cffd154SDavid Daney	select CPU_SUPPORTS_HUGEPAGES
11861e5f1caaSRalf Baechle	help
11871e5f1caaSRalf Baechle	  Choose this option to build a kernel for release 2 or later of the
11881e5f1caaSRalf Baechle	  MIPS64 architecture.  Many modern embedded systems with a 64-bit
11891e5f1caaSRalf Baechle	  MIPS processor are based on a MIPS64 processor.  If you know the
11901e5f1caaSRalf Baechle	  specific type of processor in your system, choose those that one
11911e5f1caaSRalf Baechle	  otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
11921da177e4SLinus Torvalds
11931da177e4SLinus Torvaldsconfig CPU_R3000
11941da177e4SLinus Torvalds	bool "R3000"
11957cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R3000
1196f7062ddbSRalf Baechle	select CPU_HAS_WB
1197ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1198797798c1SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
11991da177e4SLinus Torvalds	help
12001da177e4SLinus Torvalds	  Please make sure to pick the right CPU type. Linux/MIPS is not
12011da177e4SLinus Torvalds	  designed to be generic, i.e. Kernels compiled for R3000 CPUs will
12021da177e4SLinus Torvalds	  *not* work on R4000 machines and vice versa.  However, since most
12031da177e4SLinus Torvalds	  of the supported machines have an R4000 (or similar) CPU, R4x00
12041da177e4SLinus Torvalds	  might be a safe bet.  If the resulting kernel does not work,
12051da177e4SLinus Torvalds	  try to recompile with R3000.
12061da177e4SLinus Torvalds
12071da177e4SLinus Torvaldsconfig CPU_TX39XX
12081da177e4SLinus Torvalds	bool "R39XX"
12097cf8053bSRalf Baechle	depends on SYS_HAS_CPU_TX39XX
1210ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
12111da177e4SLinus Torvalds
12121da177e4SLinus Torvaldsconfig CPU_VR41XX
12131da177e4SLinus Torvalds	bool "R41xx"
12147cf8053bSRalf Baechle	depends on SYS_HAS_CPU_VR41XX
1215ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1216ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
12171da177e4SLinus Torvalds	help
12185e83d430SRalf Baechle	  The options selects support for the NEC VR4100 series of processors.
12191da177e4SLinus Torvalds	  Only choose this option if you have one of these processors as a
12201da177e4SLinus Torvalds	  kernel built with this option will not run on any other type of
12211da177e4SLinus Torvalds	  processor or vice versa.
12221da177e4SLinus Torvalds
12231da177e4SLinus Torvaldsconfig CPU_R4300
12241da177e4SLinus Torvalds	bool "R4300"
12257cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R4300
1226ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1227ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
12281da177e4SLinus Torvalds	help
12291da177e4SLinus Torvalds	  MIPS Technologies R4300-series processors.
12301da177e4SLinus Torvalds
12311da177e4SLinus Torvaldsconfig CPU_R4X00
12321da177e4SLinus Torvalds	bool "R4x00"
12337cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R4X00
1234ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1235ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
12361da177e4SLinus Torvalds	help
12371da177e4SLinus Torvalds	  MIPS Technologies R4000-series processors other than 4300, including
12381da177e4SLinus Torvalds	  the R4000, R4400, R4600, and 4700.
12391da177e4SLinus Torvalds
12401da177e4SLinus Torvaldsconfig CPU_TX49XX
12411da177e4SLinus Torvalds	bool "R49XX"
12427cf8053bSRalf Baechle	depends on SYS_HAS_CPU_TX49XX
1243de862b48SAtsushi Nemoto	select CPU_HAS_PREFETCH
1244ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1245ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
12461da177e4SLinus Torvalds
12471da177e4SLinus Torvaldsconfig CPU_R5000
12481da177e4SLinus Torvalds	bool "R5000"
12497cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R5000
1250ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1251ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
12521da177e4SLinus Torvalds	help
12531da177e4SLinus Torvalds	  MIPS Technologies R5000-series processors other than the Nevada.
12541da177e4SLinus Torvalds
12551da177e4SLinus Torvaldsconfig CPU_R5432
12561da177e4SLinus Torvalds	bool "R5432"
12577cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R5432
12585e83d430SRalf Baechle	select CPU_SUPPORTS_32BIT_KERNEL
12595e83d430SRalf Baechle	select CPU_SUPPORTS_64BIT_KERNEL
12601da177e4SLinus Torvalds
1261542c1020SShinya Kuribayashiconfig CPU_R5500
1262542c1020SShinya Kuribayashi	bool "R5500"
1263542c1020SShinya Kuribayashi	depends on SYS_HAS_CPU_R5500
1264542c1020SShinya Kuribayashi	select CPU_SUPPORTS_32BIT_KERNEL
1265542c1020SShinya Kuribayashi	select CPU_SUPPORTS_64BIT_KERNEL
12669cffd154SDavid Daney	select CPU_SUPPORTS_HUGEPAGES
1267542c1020SShinya Kuribayashi	help
1268542c1020SShinya Kuribayashi	  NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1269542c1020SShinya Kuribayashi	  instruction set.
1270542c1020SShinya Kuribayashi
12711da177e4SLinus Torvaldsconfig CPU_R6000
12721da177e4SLinus Torvalds	bool "R6000"
1273ed5ba2fbSYoichi Yuasa	depends on EXPERIMENTAL
12747cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R6000
1275ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
12761da177e4SLinus Torvalds	help
12771da177e4SLinus Torvalds	  MIPS Technologies R6000 and R6000A series processors.  Note these
1278c09b47d8SChris Dearman	  processors are extremely rare and the support for them is incomplete.
12791da177e4SLinus Torvalds
12801da177e4SLinus Torvaldsconfig CPU_NEVADA
12811da177e4SLinus Torvalds	bool "RM52xx"
12827cf8053bSRalf Baechle	depends on SYS_HAS_CPU_NEVADA
1283ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1284ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
12851da177e4SLinus Torvalds	help
12861da177e4SLinus Torvalds	  QED / PMC-Sierra RM52xx-series ("Nevada") processors.
12871da177e4SLinus Torvalds
12881da177e4SLinus Torvaldsconfig CPU_R8000
12891da177e4SLinus Torvalds	bool "R8000"
1290ed5ba2fbSYoichi Yuasa	depends on EXPERIMENTAL
12917cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R8000
12925e83d430SRalf Baechle	select CPU_HAS_PREFETCH
1293ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
12941da177e4SLinus Torvalds	help
12951da177e4SLinus Torvalds	  MIPS Technologies R8000 processors.  Note these processors are
12961da177e4SLinus Torvalds	  uncommon and the support for them is incomplete.
12971da177e4SLinus Torvalds
12981da177e4SLinus Torvaldsconfig CPU_R10000
12991da177e4SLinus Torvalds	bool "R10000"
13007cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R10000
13015e83d430SRalf Baechle	select CPU_HAS_PREFETCH
1302ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1303ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
1304797798c1SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
13051da177e4SLinus Torvalds	help
13061da177e4SLinus Torvalds	  MIPS Technologies R10000-series processors.
13071da177e4SLinus Torvalds
13081da177e4SLinus Torvaldsconfig CPU_RM7000
13091da177e4SLinus Torvalds	bool "RM7000"
13107cf8053bSRalf Baechle	depends on SYS_HAS_CPU_RM7000
13115e83d430SRalf Baechle	select CPU_HAS_PREFETCH
1312ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1313ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
1314797798c1SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
13151da177e4SLinus Torvalds
13161da177e4SLinus Torvaldsconfig CPU_RM9000
13171da177e4SLinus Torvalds	bool "RM9000"
13187cf8053bSRalf Baechle	depends on SYS_HAS_CPU_RM9000
13195e83d430SRalf Baechle	select CPU_HAS_PREFETCH
1320ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1321ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
1322797798c1SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
13230004a9dfSRalf Baechle	select WEAK_ORDERING
13241da177e4SLinus Torvalds
13251da177e4SLinus Torvaldsconfig CPU_SB1
13261da177e4SLinus Torvalds	bool "SB1"
13277cf8053bSRalf Baechle	depends on SYS_HAS_CPU_SB1
1328ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1329ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
1330797798c1SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
13310004a9dfSRalf Baechle	select WEAK_ORDERING
13321da177e4SLinus Torvalds
1333a86c7f72SDavid Daneyconfig CPU_CAVIUM_OCTEON
1334a86c7f72SDavid Daney	bool "Cavium Octeon processor"
13355e683389SDavid Daney	depends on SYS_HAS_CPU_CAVIUM_OCTEON
1336a86c7f72SDavid Daney	select IRQ_CPU
1337a86c7f72SDavid Daney	select IRQ_CPU_OCTEON
1338a86c7f72SDavid Daney	select CPU_HAS_PREFETCH
1339a86c7f72SDavid Daney	select CPU_SUPPORTS_64BIT_KERNEL
1340a86c7f72SDavid Daney	select SYS_SUPPORTS_SMP
1341a86c7f72SDavid Daney	select NR_CPUS_DEFAULT_16
1342a86c7f72SDavid Daney	select WEAK_ORDERING
1343a86c7f72SDavid Daney	select CPU_SUPPORTS_HIGHMEM
13449cffd154SDavid Daney	select CPU_SUPPORTS_HUGEPAGES
1345a86c7f72SDavid Daney	help
1346a86c7f72SDavid Daney	  The Cavium Octeon processor is a highly integrated chip containing
1347a86c7f72SDavid Daney	  many ethernet hardware widgets for networking tasks. The processor
1348a86c7f72SDavid Daney	  can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1349a86c7f72SDavid Daney	  Full details can be found at http://www.caviumnetworks.com.
1350a86c7f72SDavid Daney
1351c1c0c461SKevin Cernekeeconfig CPU_BMIPS3300
1352c1c0c461SKevin Cernekee	bool "BMIPS3300"
1353c1c0c461SKevin Cernekee	depends on SYS_HAS_CPU_BMIPS3300
1354c1c0c461SKevin Cernekee	select DMA_NONCOHERENT
1355c1c0c461SKevin Cernekee	select IRQ_CPU
1356c1c0c461SKevin Cernekee	select SWAP_IO_SPACE
1357c1c0c461SKevin Cernekee	select SYS_SUPPORTS_32BIT_KERNEL
1358c1c0c461SKevin Cernekee	select WEAK_ORDERING
1359c1c0c461SKevin Cernekee	help
1360c1c0c461SKevin Cernekee	  Broadcom BMIPS3300 processors.
1361c1c0c461SKevin Cernekee
1362c1c0c461SKevin Cernekeeconfig CPU_BMIPS4350
1363c1c0c461SKevin Cernekee	bool "BMIPS4350"
1364c1c0c461SKevin Cernekee	depends on SYS_HAS_CPU_BMIPS4350
1365c1c0c461SKevin Cernekee	select CPU_SUPPORTS_32BIT_KERNEL
1366c1c0c461SKevin Cernekee	select DMA_NONCOHERENT
1367c1c0c461SKevin Cernekee	select IRQ_CPU
1368c1c0c461SKevin Cernekee	select SWAP_IO_SPACE
1369c1c0c461SKevin Cernekee	select SYS_SUPPORTS_SMP
1370c1c0c461SKevin Cernekee	select SYS_SUPPORTS_HOTPLUG_CPU
1371c1c0c461SKevin Cernekee	select WEAK_ORDERING
1372c1c0c461SKevin Cernekee	help
1373c1c0c461SKevin Cernekee	  Broadcom BMIPS4350 ("VIPER") processors.
1374c1c0c461SKevin Cernekee
1375c1c0c461SKevin Cernekeeconfig CPU_BMIPS4380
1376c1c0c461SKevin Cernekee	bool "BMIPS4380"
1377c1c0c461SKevin Cernekee	depends on SYS_HAS_CPU_BMIPS4380
1378c1c0c461SKevin Cernekee	select CPU_SUPPORTS_32BIT_KERNEL
1379c1c0c461SKevin Cernekee	select DMA_NONCOHERENT
1380c1c0c461SKevin Cernekee	select IRQ_CPU
1381c1c0c461SKevin Cernekee	select SWAP_IO_SPACE
1382c1c0c461SKevin Cernekee	select SYS_SUPPORTS_SMP
1383c1c0c461SKevin Cernekee	select SYS_SUPPORTS_HOTPLUG_CPU
1384c1c0c461SKevin Cernekee	select WEAK_ORDERING
1385c1c0c461SKevin Cernekee	help
1386c1c0c461SKevin Cernekee	  Broadcom BMIPS4380 processors.
1387c1c0c461SKevin Cernekee
1388c1c0c461SKevin Cernekeeconfig CPU_BMIPS5000
1389c1c0c461SKevin Cernekee	bool "BMIPS5000"
1390c1c0c461SKevin Cernekee	depends on SYS_HAS_CPU_BMIPS5000
1391c1c0c461SKevin Cernekee	select CPU_SUPPORTS_32BIT_KERNEL
1392c1c0c461SKevin Cernekee	select CPU_SUPPORTS_HIGHMEM
1393c1c0c461SKevin Cernekee	select DMA_NONCOHERENT
1394c1c0c461SKevin Cernekee	select IRQ_CPU
1395c1c0c461SKevin Cernekee	select SWAP_IO_SPACE
1396c1c0c461SKevin Cernekee	select SYS_SUPPORTS_SMP
1397c1c0c461SKevin Cernekee	select SYS_SUPPORTS_HOTPLUG_CPU
1398c1c0c461SKevin Cernekee	select WEAK_ORDERING
1399c1c0c461SKevin Cernekee	help
1400c1c0c461SKevin Cernekee	  Broadcom BMIPS5000 processors.
1401c1c0c461SKevin Cernekee
14021da177e4SLinus Torvaldsendchoice
14031da177e4SLinus Torvalds
1404622844bfSWu Zhangjinif CPU_LOONGSON2F
1405622844bfSWu Zhangjinconfig CPU_NOP_WORKAROUNDS
1406622844bfSWu Zhangjin	bool
1407622844bfSWu Zhangjin
1408622844bfSWu Zhangjinconfig CPU_JUMP_WORKAROUNDS
1409622844bfSWu Zhangjin	bool
1410622844bfSWu Zhangjin
1411622844bfSWu Zhangjinconfig CPU_LOONGSON2F_WORKAROUNDS
1412622844bfSWu Zhangjin	bool "Loongson 2F Workarounds"
1413622844bfSWu Zhangjin	default y
1414622844bfSWu Zhangjin	select CPU_NOP_WORKAROUNDS
1415622844bfSWu Zhangjin	select CPU_JUMP_WORKAROUNDS
1416622844bfSWu Zhangjin	help
1417622844bfSWu Zhangjin	  Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1418622844bfSWu Zhangjin	  require workarounds.  Without workarounds the system may hang
1419622844bfSWu Zhangjin	  unexpectedly.  For more information please refer to the gas
1420622844bfSWu Zhangjin	  -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1421622844bfSWu Zhangjin
1422622844bfSWu Zhangjin	  Loongson 2F03 and later have fixed these issues and no workarounds
1423622844bfSWu Zhangjin	  are needed.  The workarounds have no significant side effect on them
1424622844bfSWu Zhangjin	  but may decrease the performance of the system so this option should
1425622844bfSWu Zhangjin	  be disabled unless the kernel is intended to be run on 2F01 or 2F02
1426622844bfSWu Zhangjin	  systems.
1427622844bfSWu Zhangjin
1428622844bfSWu Zhangjin	  If unsure, please say Y.
1429622844bfSWu Zhangjinendif # CPU_LOONGSON2F
1430622844bfSWu Zhangjin
14311b93b3c3SWu Zhangjinconfig SYS_SUPPORTS_ZBOOT
14321b93b3c3SWu Zhangjin	bool
14331b93b3c3SWu Zhangjin	select HAVE_KERNEL_GZIP
14341b93b3c3SWu Zhangjin	select HAVE_KERNEL_BZIP2
14351b93b3c3SWu Zhangjin	select HAVE_KERNEL_LZMA
1436fe1d45e0SWu Zhangjin	select HAVE_KERNEL_LZO
14371b93b3c3SWu Zhangjin
14381b93b3c3SWu Zhangjinconfig SYS_SUPPORTS_ZBOOT_UART16550
14391b93b3c3SWu Zhangjin	bool
14401b93b3c3SWu Zhangjin	select SYS_SUPPORTS_ZBOOT
14411b93b3c3SWu Zhangjin
14423702bba5SWu Zhangjinconfig CPU_LOONGSON2
14433702bba5SWu Zhangjin	bool
14443702bba5SWu Zhangjin	select CPU_SUPPORTS_32BIT_KERNEL
14453702bba5SWu Zhangjin	select CPU_SUPPORTS_64BIT_KERNEL
14463702bba5SWu Zhangjin	select CPU_SUPPORTS_HIGHMEM
14473702bba5SWu Zhangjin
14483702bba5SWu Zhangjinconfig SYS_HAS_CPU_LOONGSON2E
14492a21c730SFuxin Zhang	bool
14502a21c730SFuxin Zhang
14516f7a251aSWu Zhangjinconfig SYS_HAS_CPU_LOONGSON2F
14526f7a251aSWu Zhangjin	bool
145355045ff5SWu Zhangjin	select CPU_SUPPORTS_CPUFREQ
145455045ff5SWu Zhangjin	select CPU_SUPPORTS_ADDRWINCFG if 64BIT
145522f1fdfdSWu Zhangjin	select CPU_SUPPORTS_UNCACHED_ACCELERATED
14566f7a251aSWu Zhangjin
14577cf8053bSRalf Baechleconfig SYS_HAS_CPU_MIPS32_R1
14587cf8053bSRalf Baechle	bool
14597cf8053bSRalf Baechle
14607cf8053bSRalf Baechleconfig SYS_HAS_CPU_MIPS32_R2
14617cf8053bSRalf Baechle	bool
14627cf8053bSRalf Baechle
14637cf8053bSRalf Baechleconfig SYS_HAS_CPU_MIPS64_R1
14647cf8053bSRalf Baechle	bool
14657cf8053bSRalf Baechle
14667cf8053bSRalf Baechleconfig SYS_HAS_CPU_MIPS64_R2
14677cf8053bSRalf Baechle	bool
14687cf8053bSRalf Baechle
14697cf8053bSRalf Baechleconfig SYS_HAS_CPU_R3000
14707cf8053bSRalf Baechle	bool
14717cf8053bSRalf Baechle
14727cf8053bSRalf Baechleconfig SYS_HAS_CPU_TX39XX
14737cf8053bSRalf Baechle	bool
14747cf8053bSRalf Baechle
14757cf8053bSRalf Baechleconfig SYS_HAS_CPU_VR41XX
14767cf8053bSRalf Baechle	bool
14777cf8053bSRalf Baechle
14787cf8053bSRalf Baechleconfig SYS_HAS_CPU_R4300
14797cf8053bSRalf Baechle	bool
14807cf8053bSRalf Baechle
14817cf8053bSRalf Baechleconfig SYS_HAS_CPU_R4X00
14827cf8053bSRalf Baechle	bool
14837cf8053bSRalf Baechle
14847cf8053bSRalf Baechleconfig SYS_HAS_CPU_TX49XX
14857cf8053bSRalf Baechle	bool
14867cf8053bSRalf Baechle
14877cf8053bSRalf Baechleconfig SYS_HAS_CPU_R5000
14887cf8053bSRalf Baechle	bool
14897cf8053bSRalf Baechle
14907cf8053bSRalf Baechleconfig SYS_HAS_CPU_R5432
14917cf8053bSRalf Baechle	bool
14927cf8053bSRalf Baechle
1493542c1020SShinya Kuribayashiconfig SYS_HAS_CPU_R5500
1494542c1020SShinya Kuribayashi	bool
1495542c1020SShinya Kuribayashi
14967cf8053bSRalf Baechleconfig SYS_HAS_CPU_R6000
14977cf8053bSRalf Baechle	bool
14987cf8053bSRalf Baechle
14997cf8053bSRalf Baechleconfig SYS_HAS_CPU_NEVADA
15007cf8053bSRalf Baechle	bool
15017cf8053bSRalf Baechle
15027cf8053bSRalf Baechleconfig SYS_HAS_CPU_R8000
15037cf8053bSRalf Baechle	bool
15047cf8053bSRalf Baechle
15057cf8053bSRalf Baechleconfig SYS_HAS_CPU_R10000
15067cf8053bSRalf Baechle	bool
15077cf8053bSRalf Baechle
15087cf8053bSRalf Baechleconfig SYS_HAS_CPU_RM7000
15097cf8053bSRalf Baechle	bool
15107cf8053bSRalf Baechle
15117cf8053bSRalf Baechleconfig SYS_HAS_CPU_RM9000
15127cf8053bSRalf Baechle	bool
15137cf8053bSRalf Baechle
15147cf8053bSRalf Baechleconfig SYS_HAS_CPU_SB1
15157cf8053bSRalf Baechle	bool
15167cf8053bSRalf Baechle
15175e683389SDavid Daneyconfig SYS_HAS_CPU_CAVIUM_OCTEON
15185e683389SDavid Daney	bool
15195e683389SDavid Daney
1520c1c0c461SKevin Cernekeeconfig SYS_HAS_CPU_BMIPS3300
1521c1c0c461SKevin Cernekee	bool
1522c1c0c461SKevin Cernekee
1523c1c0c461SKevin Cernekeeconfig SYS_HAS_CPU_BMIPS4350
1524c1c0c461SKevin Cernekee	bool
1525c1c0c461SKevin Cernekee
1526c1c0c461SKevin Cernekeeconfig SYS_HAS_CPU_BMIPS4380
1527c1c0c461SKevin Cernekee	bool
1528c1c0c461SKevin Cernekee
1529c1c0c461SKevin Cernekeeconfig SYS_HAS_CPU_BMIPS5000
1530c1c0c461SKevin Cernekee	bool
1531c1c0c461SKevin Cernekee
153217099b11SRalf Baechle#
153317099b11SRalf Baechle# CPU may reorder R->R, R->W, W->R, W->W
153417099b11SRalf Baechle# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
153517099b11SRalf Baechle#
15360004a9dfSRalf Baechleconfig WEAK_ORDERING
15370004a9dfSRalf Baechle	bool
153817099b11SRalf Baechle
153917099b11SRalf Baechle#
154017099b11SRalf Baechle# CPU may reorder reads and writes beyond LL/SC
154117099b11SRalf Baechle# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
154217099b11SRalf Baechle#
154317099b11SRalf Baechleconfig WEAK_REORDERING_BEYOND_LLSC
154417099b11SRalf Baechle	bool
15455e83d430SRalf Baechleendmenu
15465e83d430SRalf Baechle
15475e83d430SRalf Baechle#
15485e83d430SRalf Baechle# These two indicate any level of the MIPS32 and MIPS64 architecture
15495e83d430SRalf Baechle#
15505e83d430SRalf Baechleconfig CPU_MIPS32
15515e83d430SRalf Baechle	bool
15525e83d430SRalf Baechle	default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
15535e83d430SRalf Baechle
15545e83d430SRalf Baechleconfig CPU_MIPS64
15555e83d430SRalf Baechle	bool
15565e83d430SRalf Baechle	default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
15575e83d430SRalf Baechle
15585e83d430SRalf Baechle#
1559c09b47d8SChris Dearman# These two indicate the revision of the architecture, either Release 1 or Release 2
15605e83d430SRalf Baechle#
15615e83d430SRalf Baechleconfig CPU_MIPSR1
15625e83d430SRalf Baechle	bool
15635e83d430SRalf Baechle	default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
15645e83d430SRalf Baechle
15655e83d430SRalf Baechleconfig CPU_MIPSR2
15665e83d430SRalf Baechle	bool
1567a86c7f72SDavid Daney	default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
15685e83d430SRalf Baechle
15695e83d430SRalf Baechleconfig SYS_SUPPORTS_32BIT_KERNEL
15705e83d430SRalf Baechle	bool
15715e83d430SRalf Baechleconfig SYS_SUPPORTS_64BIT_KERNEL
15725e83d430SRalf Baechle	bool
15735e83d430SRalf Baechleconfig CPU_SUPPORTS_32BIT_KERNEL
15745e83d430SRalf Baechle	bool
15755e83d430SRalf Baechleconfig CPU_SUPPORTS_64BIT_KERNEL
15765e83d430SRalf Baechle	bool
157755045ff5SWu Zhangjinconfig CPU_SUPPORTS_CPUFREQ
157855045ff5SWu Zhangjin	bool
157955045ff5SWu Zhangjinconfig CPU_SUPPORTS_ADDRWINCFG
158055045ff5SWu Zhangjin	bool
15819cffd154SDavid Daneyconfig CPU_SUPPORTS_HUGEPAGES
15829cffd154SDavid Daney	bool
158322f1fdfdSWu Zhangjinconfig CPU_SUPPORTS_UNCACHED_ACCELERATED
158422f1fdfdSWu Zhangjin	bool
158582622284SDavid Daneyconfig MIPS_PGD_C0_CONTEXT
158682622284SDavid Daney	bool
158782622284SDavid Daney	default y if 64BIT && CPU_MIPSR2
15885e83d430SRalf Baechle
15898192c9eaSDavid Daney#
15908192c9eaSDavid Daney# Set to y for ptrace access to watch registers.
15918192c9eaSDavid Daney#
15928192c9eaSDavid Daneyconfig HARDWARE_WATCHPOINTS
15938192c9eaSDavid Daney       bool
1594f839490aSDavid Daney       default y if CPU_MIPSR1 || CPU_MIPSR2
15958192c9eaSDavid Daney
15965e83d430SRalf Baechlemenu "Kernel type"
15975e83d430SRalf Baechle
15985e83d430SRalf Baechlechoice
15995e83d430SRalf Baechle
16005e83d430SRalf Baechle	prompt "Kernel code model"
16015e83d430SRalf Baechle	help
16025e83d430SRalf Baechle	  You should only select this option if you have a workload that
16035e83d430SRalf Baechle	  actually benefits from 64-bit processing or if your machine has
16045e83d430SRalf Baechle	  large memory.  You will only be presented a single option in this
16055e83d430SRalf Baechle	  menu if your system does not support both 32-bit and 64-bit kernels.
16065e83d430SRalf Baechle
16075e83d430SRalf Baechleconfig 32BIT
16085e83d430SRalf Baechle	bool "32-bit kernel"
16095e83d430SRalf Baechle	depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
16105e83d430SRalf Baechle	select TRAD_SIGNALS
16115e83d430SRalf Baechle	help
16125e83d430SRalf Baechle	  Select this option if you want to build a 32-bit kernel.
16135e83d430SRalf Baechleconfig 64BIT
16145e83d430SRalf Baechle	bool "64-bit kernel"
16155e83d430SRalf Baechle	depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1616dbda6ac0SRalf Baechle	select HAVE_SYSCALL_WRAPPERS
16175e83d430SRalf Baechle	help
16185e83d430SRalf Baechle	  Select this option if you want to build a 64-bit kernel.
16195e83d430SRalf Baechle
16205e83d430SRalf Baechleendchoice
16215e83d430SRalf Baechle
16221da177e4SLinus Torvaldschoice
16231da177e4SLinus Torvalds	prompt "Kernel page size"
16241da177e4SLinus Torvalds	default PAGE_SIZE_4KB
16251da177e4SLinus Torvalds
16261da177e4SLinus Torvaldsconfig PAGE_SIZE_4KB
16271da177e4SLinus Torvalds	bool "4kB"
1628315fe625SWu Zhangjin	depends on !CPU_LOONGSON2
16291da177e4SLinus Torvalds	help
16301da177e4SLinus Torvalds	 This option select the standard 4kB Linux page size.  On some
16311da177e4SLinus Torvalds	 R3000-family processors this is the only available page size.  Using
16321da177e4SLinus Torvalds	 4kB page size will minimize memory consumption and is therefore
16331da177e4SLinus Torvalds	 recommended for low memory systems.
16341da177e4SLinus Torvalds
16351da177e4SLinus Torvaldsconfig PAGE_SIZE_8KB
16361da177e4SLinus Torvalds	bool "8kB"
1637c52399beSRalf Baechle	depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
16381da177e4SLinus Torvalds	help
16391da177e4SLinus Torvalds	  Using 8kB page size will result in higher performance kernel at
16401da177e4SLinus Torvalds	  the price of higher memory consumption.  This option is available
1641c52399beSRalf Baechle	  only on R8000 and cnMIPS processors.  Note that you will need a
1642c52399beSRalf Baechle	  suitable Linux distribution to support this.
16431da177e4SLinus Torvalds
16441da177e4SLinus Torvaldsconfig PAGE_SIZE_16KB
16451da177e4SLinus Torvalds	bool "16kB"
1646714bfad6SRalf Baechle	depends on !CPU_R3000 && !CPU_TX39XX
16471da177e4SLinus Torvalds	help
16481da177e4SLinus Torvalds	  Using 16kB page size will result in higher performance kernel at
16491da177e4SLinus Torvalds	  the price of higher memory consumption.  This option is available on
1650714bfad6SRalf Baechle	  all non-R3000 family processors.  Note that you will need a suitable
1651714bfad6SRalf Baechle	  Linux distribution to support this.
16521da177e4SLinus Torvalds
1653c52399beSRalf Baechleconfig PAGE_SIZE_32KB
1654c52399beSRalf Baechle	bool "32kB"
1655c52399beSRalf Baechle	depends on CPU_CAVIUM_OCTEON
1656c52399beSRalf Baechle	help
1657c52399beSRalf Baechle	  Using 32kB page size will result in higher performance kernel at
1658c52399beSRalf Baechle	  the price of higher memory consumption.  This option is available
1659c52399beSRalf Baechle	  only on cnMIPS cores.  Note that you will need a suitable Linux
1660c52399beSRalf Baechle	  distribution to support this.
1661c52399beSRalf Baechle
16621da177e4SLinus Torvaldsconfig PAGE_SIZE_64KB
16631da177e4SLinus Torvalds	bool "64kB"
16641da177e4SLinus Torvalds	depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
16651da177e4SLinus Torvalds	help
16661da177e4SLinus Torvalds	  Using 64kB page size will result in higher performance kernel at
16671da177e4SLinus Torvalds	  the price of higher memory consumption.  This option is available on
16681da177e4SLinus Torvalds	  all non-R3000 family processor.  Not that at the time of this
1669714bfad6SRalf Baechle	  writing this option is still high experimental.
16701da177e4SLinus Torvalds
16711da177e4SLinus Torvaldsendchoice
16721da177e4SLinus Torvalds
1673c9bace7cSDavid Daneyconfig FORCE_MAX_ZONEORDER
1674c9bace7cSDavid Daney	int "Maximum zone order"
1675c9bace7cSDavid Daney	range 13 64 if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_32KB
1676c9bace7cSDavid Daney	default "13" if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_32KB
1677c9bace7cSDavid Daney	range 12 64 if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_16KB
1678c9bace7cSDavid Daney	default "12" if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_16KB
1679c9bace7cSDavid Daney	range 11 64
1680c9bace7cSDavid Daney	default "11"
1681c9bace7cSDavid Daney	help
1682c9bace7cSDavid Daney	  The kernel memory allocator divides physically contiguous memory
1683c9bace7cSDavid Daney	  blocks into "zones", where each zone is a power of two number of
1684c9bace7cSDavid Daney	  pages.  This option selects the largest power of two that the kernel
1685c9bace7cSDavid Daney	  keeps in the memory allocator.  If you need to allocate very large
1686c9bace7cSDavid Daney	  blocks of physically contiguous memory, then you may need to
1687c9bace7cSDavid Daney	  increase this value.
1688c9bace7cSDavid Daney
1689c9bace7cSDavid Daney	  This config option is actually maximum order plus one. For example,
1690c9bace7cSDavid Daney	  a value of 11 means that the largest free memory block is 2^10 pages.
1691c9bace7cSDavid Daney
1692c9bace7cSDavid Daney	  The page size is not necessarily 4KB.  Keep this in mind
1693c9bace7cSDavid Daney	  when choosing a value for this option.
1694c9bace7cSDavid Daney
16951da177e4SLinus Torvaldsconfig BOARD_SCACHE
16961da177e4SLinus Torvalds	bool
16971da177e4SLinus Torvalds
16981da177e4SLinus Torvaldsconfig IP22_CPU_SCACHE
16991da177e4SLinus Torvalds	bool
17001da177e4SLinus Torvalds	select BOARD_SCACHE
17011da177e4SLinus Torvalds
17029318c51aSChris Dearman#
17039318c51aSChris Dearman# Support for a MIPS32 / MIPS64 style S-caches
17049318c51aSChris Dearman#
17059318c51aSChris Dearmanconfig MIPS_CPU_SCACHE
17069318c51aSChris Dearman	bool
17079318c51aSChris Dearman	select BOARD_SCACHE
17089318c51aSChris Dearman
17091da177e4SLinus Torvaldsconfig R5000_CPU_SCACHE
17101da177e4SLinus Torvalds	bool
17111da177e4SLinus Torvalds	select BOARD_SCACHE
17121da177e4SLinus Torvalds
17131da177e4SLinus Torvaldsconfig RM7000_CPU_SCACHE
17141da177e4SLinus Torvalds	bool
17151da177e4SLinus Torvalds	select BOARD_SCACHE
17161da177e4SLinus Torvalds
17171da177e4SLinus Torvaldsconfig SIBYTE_DMA_PAGEOPS
17181da177e4SLinus Torvalds	bool "Use DMA to clear/copy pages"
17191da177e4SLinus Torvalds	depends on CPU_SB1
17201da177e4SLinus Torvalds	help
17211da177e4SLinus Torvalds	  Instead of using the CPU to zero and copy pages, use a Data Mover
17221da177e4SLinus Torvalds	  channel.  These DMA channels are otherwise unused by the standard
17231da177e4SLinus Torvalds	  SiByte Linux port.  Seems to give a small performance benefit.
17241da177e4SLinus Torvalds
17251da177e4SLinus Torvaldsconfig CPU_HAS_PREFETCH
1726c8094b53SRalf Baechle	bool
17271da177e4SLinus Torvalds
1728340ee4b9SRalf Baechlechoice
1729340ee4b9SRalf Baechle	prompt "MIPS MT options"
1730f41ae0b2SRalf Baechle
1731f41ae0b2SRalf Baechleconfig MIPS_MT_DISABLED
1732f41ae0b2SRalf Baechle	bool "Disable multithreading support."
1733f41ae0b2SRalf Baechle	help
1734f41ae0b2SRalf Baechle	  Use this option if your workload can't take advantage of
1735f41ae0b2SRalf Baechle	  MIPS hardware multithreading support.  On systems that don't have
1736f41ae0b2SRalf Baechle	  the option of an MT-enabled processor this option will be the only
1737f41ae0b2SRalf Baechle	  option in this menu.
1738340ee4b9SRalf Baechle
173959d6ab86SRalf Baechleconfig MIPS_MT_SMP
174059d6ab86SRalf Baechle	bool "Use 1 TC on each available VPE for SMP"
174159d6ab86SRalf Baechle	depends on SYS_SUPPORTS_MULTITHREADING
174259d6ab86SRalf Baechle	select CPU_MIPSR2_IRQ_VI
1743d725cf38SChris Dearman	select CPU_MIPSR2_IRQ_EI
174459d6ab86SRalf Baechle	select MIPS_MT
1745f510aa3bSRalf Baechle	select NR_CPUS_DEFAULT_2
174659d6ab86SRalf Baechle	select SMP
17470ab7aefcSRalf Baechle	select SYS_SUPPORTS_SCHED_SMT if SMP
174859d6ab86SRalf Baechle	select SYS_SUPPORTS_SMP
174987353d8aSRalf Baechle	select SMP_UP
175059d6ab86SRalf Baechle	help
175125f12b33SRalf Baechle	  This is a kernel model which is known a VSMP but lately has been
175225f12b33SRalf Baechle	  marketesed into SMVP.
175325f12b33SRalf Baechle	  Virtual SMP uses the processor's VPEs  to implement virtual
175425f12b33SRalf Baechle	  processors. In currently available configuration of the 34K processor
175525f12b33SRalf Baechle	  this allows for a dual processor. Both processors will share the same
175625f12b33SRalf Baechle	  primary caches; each will obtain the half of the TLB for it's own
175725f12b33SRalf Baechle	  exclusive use. For a layman this model can be described as similar to
175825f12b33SRalf Baechle	  what Intel calls Hyperthreading.
175925f12b33SRalf Baechle
176025f12b33SRalf Baechle	  For further information see http://www.linux-mips.org/wiki/34K#VSMP
176159d6ab86SRalf Baechle
176241c594abSRalf Baechleconfig MIPS_MT_SMTC
176341c594abSRalf Baechle	bool "SMTC: Use all TCs on all VPEs for SMP"
1764f41ae0b2SRalf Baechle	depends on CPU_MIPS32_R2
1765f41ae0b2SRalf Baechle	#depends on CPU_MIPS64_R2		# once there is hardware ...
1766f41ae0b2SRalf Baechle	depends on SYS_SUPPORTS_MULTITHREADING
1767f7062ddbSRalf Baechle	select CPU_MIPSR2_IRQ_VI
1768d725cf38SChris Dearman	select CPU_MIPSR2_IRQ_EI
1769f41ae0b2SRalf Baechle	select MIPS_MT
1770130e2fb7SRalf Baechle	select NR_CPUS_DEFAULT_8
177141c594abSRalf Baechle	select SMP
177273b76c78SRalf Baechle	select SYS_SUPPORTS_SMP
177387353d8aSRalf Baechle	select SMP_UP
1774f41ae0b2SRalf Baechle	help
1775f41ae0b2SRalf Baechle	  This is a kernel model which is known a SMTC or lately has been
1776f41ae0b2SRalf Baechle	  marketesed into SMVP.
177725f12b33SRalf Baechle	  is presenting the available TC's of the core as processors to Linux.
177825f12b33SRalf Baechle	  On currently available 34K processors this means a Linux system will
177925f12b33SRalf Baechle	  see up to 5 processors. The implementation of the SMTC kernel differs
178025f12b33SRalf Baechle	  significantly from VSMP and cannot efficiently coexist in the same
178125f12b33SRalf Baechle	  kernel binary so the choice between VSMP and SMTC is a compile time
178225f12b33SRalf Baechle	  decision.
178325f12b33SRalf Baechle
178425f12b33SRalf Baechle	  For further information see http://www.linux-mips.org/wiki/34K#SMTC
178541c594abSRalf Baechle
1786340ee4b9SRalf Baechleendchoice
1787340ee4b9SRalf Baechle
1788f41ae0b2SRalf Baechleconfig MIPS_MT
1789f41ae0b2SRalf Baechle	bool
1790f41ae0b2SRalf Baechle
17910ab7aefcSRalf Baechleconfig SCHED_SMT
17920ab7aefcSRalf Baechle	bool "SMT (multithreading) scheduler support"
17930ab7aefcSRalf Baechle	depends on SYS_SUPPORTS_SCHED_SMT
17940ab7aefcSRalf Baechle	default n
17950ab7aefcSRalf Baechle	help
17960ab7aefcSRalf Baechle	  SMT scheduler support improves the CPU scheduler's decision making
17970ab7aefcSRalf Baechle	  when dealing with MIPS MT enabled cores at a cost of slightly
17980ab7aefcSRalf Baechle	  increased overhead in some places. If unsure say N here.
17990ab7aefcSRalf Baechle
18000ab7aefcSRalf Baechleconfig SYS_SUPPORTS_SCHED_SMT
18010ab7aefcSRalf Baechle	bool
18020ab7aefcSRalf Baechle
18030ab7aefcSRalf Baechle
1804f41ae0b2SRalf Baechleconfig SYS_SUPPORTS_MULTITHREADING
1805f41ae0b2SRalf Baechle	bool
1806f41ae0b2SRalf Baechle
1807f088fc84SRalf Baechleconfig MIPS_MT_FPAFF
1808f088fc84SRalf Baechle	bool "Dynamic FPU affinity for FP-intensive threads"
1809f088fc84SRalf Baechle	default y
181007cc0c9eSRalf Baechle	depends on MIPS_MT_SMP || MIPS_MT_SMTC
181107cc0c9eSRalf Baechle
181207cc0c9eSRalf Baechleconfig MIPS_VPE_LOADER
181307cc0c9eSRalf Baechle	bool "VPE loader support."
181407cc0c9eSRalf Baechle	depends on SYS_SUPPORTS_MULTITHREADING
181507cc0c9eSRalf Baechle	select CPU_MIPSR2_IRQ_VI
181607cc0c9eSRalf Baechle	select CPU_MIPSR2_IRQ_EI
181707cc0c9eSRalf Baechle	select MIPS_MT
181807cc0c9eSRalf Baechle	help
181907cc0c9eSRalf Baechle	  Includes a loader for loading an elf relocatable object
182007cc0c9eSRalf Baechle	  onto another VPE and running it.
1821f088fc84SRalf Baechle
18220db34215SKevin D. Kissellconfig MIPS_MT_SMTC_IM_BACKSTOP
18230db34215SKevin D. Kissell	bool "Use per-TC register bits as backstop for inhibited IM bits"
18240db34215SKevin D. Kissell	depends on MIPS_MT_SMTC
18258531a35eSKevin D. Kissell	default n
18260db34215SKevin D. Kissell	help
18270db34215SKevin D. Kissell	  To support multiple TC microthreads acting as "CPUs" within
18280db34215SKevin D. Kissell	  a VPE, VPE-wide interrupt mask bits must be specially manipulated
18290db34215SKevin D. Kissell	  during interrupt handling. To support legacy drivers and interrupt
18300db34215SKevin D. Kissell	  controller management code, SMTC has a "backstop" to track and
18310db34215SKevin D. Kissell	  if necessary restore the interrupt mask. This has some performance
18328531a35eSKevin D. Kissell	  impact on interrupt service overhead.
18330db34215SKevin D. Kissell
1834f571eff0SKevin D. Kissellconfig MIPS_MT_SMTC_IRQAFF
1835f571eff0SKevin D. Kissell	bool "Support IRQ affinity API"
1836f571eff0SKevin D. Kissell	depends on MIPS_MT_SMTC
1837f571eff0SKevin D. Kissell	default n
1838f571eff0SKevin D. Kissell	help
1839f571eff0SKevin D. Kissell	  Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1840f571eff0SKevin D. Kissell	  for SMTC Linux kernel. Requires platform support, of which
1841f571eff0SKevin D. Kissell	  an example can be found in the MIPS kernel i8259 and Malta
18428531a35eSKevin D. Kissell	  platform code.  Adds some overhead to interrupt dispatch, and
18438531a35eSKevin D. Kissell	  should be used only if you know what you are doing.
1844f571eff0SKevin D. Kissell
1845e01402b1SRalf Baechleconfig MIPS_VPE_LOADER_TOM
1846e01402b1SRalf Baechle	bool "Load VPE program into memory hidden from linux"
1847e01402b1SRalf Baechle	depends on MIPS_VPE_LOADER
1848e01402b1SRalf Baechle	default y
1849e01402b1SRalf Baechle	help
1850e01402b1SRalf Baechle	  The loader can use memory that is present but has been hidden from
1851e01402b1SRalf Baechle	  Linux using the kernel command line option "mem=xxMB". It's up to
1852e01402b1SRalf Baechle	  you to ensure the amount you put in the option and the space your
1853e01402b1SRalf Baechle	  program requires is less or equal to the amount physically present.
1854e01402b1SRalf Baechle
1855e01402b1SRalf Baechle# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1856e01402b1SRalf Baechleconfig MIPS_VPE_APSP_API
1857e01402b1SRalf Baechle	bool "Enable support for AP/SP API (RTLX)"
1858e01402b1SRalf Baechle	depends on MIPS_VPE_LOADER
18595e83d430SRalf Baechle	help
1860e01402b1SRalf Baechle
18612600990eSRalf Baechleconfig MIPS_APSP_KSPD
18622600990eSRalf Baechle	bool "Enable KSPD"
18632600990eSRalf Baechle	depends on MIPS_VPE_APSP_API
18642600990eSRalf Baechle	default y
18652600990eSRalf Baechle	help
18662600990eSRalf Baechle	  KSPD is a kernel daemon that accepts syscall requests from the SP
18672600990eSRalf Baechle	  side, actions them and returns the results. It also handles the
18682600990eSRalf Baechle	  "exit" syscall notifying other kernel modules the SP program is
18692600990eSRalf Baechle	  exiting.  You probably want to say yes here.
18702600990eSRalf Baechle
18714a16ff4cSRalf Baechleconfig MIPS_CMP
18724a16ff4cSRalf Baechle	bool "MIPS CMP framework support"
18734a16ff4cSRalf Baechle	depends on SYS_SUPPORTS_MIPS_CMP
1874eb9b5141STim Anderson	select SYNC_R4K
18754a16ff4cSRalf Baechle	select SYS_SUPPORTS_SMP
18764a16ff4cSRalf Baechle	select SYS_SUPPORTS_SCHED_SMT if SMP
18774a16ff4cSRalf Baechle	select WEAK_ORDERING
18784a16ff4cSRalf Baechle	default n
18794a16ff4cSRalf Baechle	help
18804a16ff4cSRalf Baechle	  This is a placeholder option for the GCMP work. It will need to
18814a16ff4cSRalf Baechle	  be handled differently...
18824a16ff4cSRalf Baechle
18831da177e4SLinus Torvaldsconfig SB1_PASS_1_WORKAROUNDS
18841da177e4SLinus Torvalds	bool
18851da177e4SLinus Torvalds	depends on CPU_SB1_PASS_1
18861da177e4SLinus Torvalds	default y
18871da177e4SLinus Torvalds
18881da177e4SLinus Torvaldsconfig SB1_PASS_2_WORKAROUNDS
18891da177e4SLinus Torvalds	bool
18901da177e4SLinus Torvalds	depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
18911da177e4SLinus Torvalds	default y
18921da177e4SLinus Torvalds
18931da177e4SLinus Torvaldsconfig SB1_PASS_2_1_WORKAROUNDS
18941da177e4SLinus Torvalds	bool
18951da177e4SLinus Torvalds	depends on CPU_SB1 && CPU_SB1_PASS_2
18961da177e4SLinus Torvalds	default y
18971da177e4SLinus Torvalds
18981da177e4SLinus Torvaldsconfig 64BIT_PHYS_ADDR
1899d806cb2bSRalf Baechle	bool
19001da177e4SLinus Torvalds
190160ec6571Spascal@pabr.orgconfig ARCH_PHYS_ADDR_T_64BIT
190260ec6571Spascal@pabr.org       def_bool 64BIT_PHYS_ADDR
190360ec6571Spascal@pabr.org
19049693a853SFranck Bui-Huuconfig CPU_HAS_SMARTMIPS
19059693a853SFranck Bui-Huu	depends on SYS_SUPPORTS_SMARTMIPS
19069693a853SFranck Bui-Huu	bool "Support for the SmartMIPS ASE"
19079693a853SFranck Bui-Huu	help
19089693a853SFranck Bui-Huu	  SmartMIPS is a extension of the MIPS32 architecture aimed at
19099693a853SFranck Bui-Huu	  increased security at both hardware and software level for
19109693a853SFranck Bui-Huu	  smartcards.  Enabling this option will allow proper use of the
19119693a853SFranck Bui-Huu	  SmartMIPS instructions by Linux applications.  However a kernel with
19129693a853SFranck Bui-Huu	  this option will not work on a MIPS core without SmartMIPS core.  If
19139693a853SFranck Bui-Huu	  you don't know you probably don't have SmartMIPS and should say N
19149693a853SFranck Bui-Huu	  here.
19159693a853SFranck Bui-Huu
19161da177e4SLinus Torvaldsconfig CPU_HAS_WB
1917f7062ddbSRalf Baechle	bool
1918e01402b1SRalf Baechle
1919f41ae0b2SRalf Baechle#
1920f41ae0b2SRalf Baechle# Vectored interrupt mode is an R2 feature
1921f41ae0b2SRalf Baechle#
1922e01402b1SRalf Baechleconfig CPU_MIPSR2_IRQ_VI
1923f41ae0b2SRalf Baechle	bool
1924e01402b1SRalf Baechle
1925f41ae0b2SRalf Baechle#
1926f41ae0b2SRalf Baechle# Extended interrupt mode is an R2 feature
1927f41ae0b2SRalf Baechle#
1928e01402b1SRalf Baechleconfig CPU_MIPSR2_IRQ_EI
1929f41ae0b2SRalf Baechle	bool
1930e01402b1SRalf Baechle
19311da177e4SLinus Torvaldsconfig CPU_HAS_SYNC
19321da177e4SLinus Torvalds	bool
19331da177e4SLinus Torvalds	depends on !CPU_R3000
19341da177e4SLinus Torvalds	default y
19351da177e4SLinus Torvalds
1936ea580401SRalf Baechleconfig GENERIC_CLOCKEVENTS_BROADCAST
1937ea580401SRalf Baechle	bool
1938ea580401SRalf Baechle
19391da177e4SLinus Torvalds#
194020d60d99SMaciej W. Rozycki# CPU non-features
194120d60d99SMaciej W. Rozycki#
194220d60d99SMaciej W. Rozyckiconfig CPU_DADDI_WORKAROUNDS
194320d60d99SMaciej W. Rozycki	bool
194420d60d99SMaciej W. Rozycki
194520d60d99SMaciej W. Rozyckiconfig CPU_R4000_WORKAROUNDS
194620d60d99SMaciej W. Rozycki	bool
194720d60d99SMaciej W. Rozycki	select CPU_R4400_WORKAROUNDS
194820d60d99SMaciej W. Rozycki
194920d60d99SMaciej W. Rozyckiconfig CPU_R4400_WORKAROUNDS
195020d60d99SMaciej W. Rozycki	bool
195120d60d99SMaciej W. Rozycki
195220d60d99SMaciej W. Rozycki#
19531da177e4SLinus Torvalds# - Highmem only makes sense for the 32-bit kernel.
19541da177e4SLinus Torvalds# - The current highmem code will only work properly on physically indexed
19551da177e4SLinus Torvalds#   caches such as R3000, SB1, R7000 or those that look like they're virtually
19561da177e4SLinus Torvalds#   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
19571da177e4SLinus Torvalds#   moment we protect the user and offer the highmem option only on machines
19581da177e4SLinus Torvalds#   where it's known to be safe.  This will not offer highmem on a few systems
19591da177e4SLinus Torvalds#   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
19601da177e4SLinus Torvalds#   indexed CPUs but we're playing safe.
1961797798c1SRalf Baechle# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1962797798c1SRalf Baechle#   know they might have memory configurations that could make use of highmem
1963797798c1SRalf Baechle#   support.
19641da177e4SLinus Torvalds#
19651da177e4SLinus Torvaldsconfig HIGHMEM
19661da177e4SLinus Torvalds	bool "High Memory Support"
1967797798c1SRalf Baechle	depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1968797798c1SRalf Baechle
1969797798c1SRalf Baechleconfig CPU_SUPPORTS_HIGHMEM
1970797798c1SRalf Baechle	bool
1971797798c1SRalf Baechle
1972797798c1SRalf Baechleconfig SYS_SUPPORTS_HIGHMEM
1973797798c1SRalf Baechle	bool
19741da177e4SLinus Torvalds
19759693a853SFranck Bui-Huuconfig SYS_SUPPORTS_SMARTMIPS
19769693a853SFranck Bui-Huu	bool
19779693a853SFranck Bui-Huu
1978b4819b59SYoichi Yuasaconfig ARCH_FLATMEM_ENABLE
1979b4819b59SYoichi Yuasa	def_bool y
1980f133f22dSWu Zhangjin	depends on !NUMA && !CPU_LOONGSON2
1981b4819b59SYoichi Yuasa
1982d8cb4e11SRalf Baechleconfig ARCH_DISCONTIGMEM_ENABLE
1983d8cb4e11SRalf Baechle	bool
1984d8cb4e11SRalf Baechle	default y if SGI_IP27
1985d8cb4e11SRalf Baechle	help
19863dde6ad8SDavid Sterba	  Say Y to support efficient handling of discontiguous physical memory,
1987d8cb4e11SRalf Baechle	  for architectures which are either NUMA (Non-Uniform Memory Access)
1988d8cb4e11SRalf Baechle	  or have huge holes in the physical address space for other reasons.
1989d8cb4e11SRalf Baechle	  See <file:Documentation/vm/numa> for more.
1990d8cb4e11SRalf Baechle
1991cce335aeSRalf Baechleconfig ARCH_POPULATES_NODE_MAP
1992cce335aeSRalf Baechle	def_bool y
1993cce335aeSRalf Baechle
1994b1c6cd42SAtsushi Nemotoconfig ARCH_SPARSEMEM_ENABLE
1995b1c6cd42SAtsushi Nemoto	bool
19967de58fabSAtsushi Nemoto	select SPARSEMEM_STATIC
199731473747SAtsushi Nemoto
1998d8cb4e11SRalf Baechleconfig NUMA
1999d8cb4e11SRalf Baechle	bool "NUMA Support"
2000d8cb4e11SRalf Baechle	depends on SYS_SUPPORTS_NUMA
2001d8cb4e11SRalf Baechle	help
2002d8cb4e11SRalf Baechle	  Say Y to compile the kernel to support NUMA (Non-Uniform Memory
2003d8cb4e11SRalf Baechle	  Access).  This option improves performance on systems with more
2004d8cb4e11SRalf Baechle	  than two nodes; on two node systems it is generally better to
2005d8cb4e11SRalf Baechle	  leave it disabled; on single node systems disable this option
2006d8cb4e11SRalf Baechle	  disabled.
2007d8cb4e11SRalf Baechle
2008d8cb4e11SRalf Baechleconfig SYS_SUPPORTS_NUMA
2009d8cb4e11SRalf Baechle	bool
2010d8cb4e11SRalf Baechle
2011c80d79d7SYasunori Gotoconfig NODES_SHIFT
2012c80d79d7SYasunori Goto	int
2013c80d79d7SYasunori Goto	default "6"
2014c80d79d7SYasunori Goto	depends on NEED_MULTIPLE_NODES
2015c80d79d7SYasunori Goto
201614f70012SDeng-Cheng Zhuconfig HW_PERF_EVENTS
201714f70012SDeng-Cheng Zhu	bool "Enable hardware performance counter support for perf events"
201814f70012SDeng-Cheng Zhu	depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && CPU_MIPS32
201914f70012SDeng-Cheng Zhu	default y
202014f70012SDeng-Cheng Zhu	help
202114f70012SDeng-Cheng Zhu	  Enable hardware performance counter support for perf events. If
202214f70012SDeng-Cheng Zhu	  disabled, perf events will use software events only.
202314f70012SDeng-Cheng Zhu
2024b4819b59SYoichi Yuasasource "mm/Kconfig"
2025b4819b59SYoichi Yuasa
20261da177e4SLinus Torvaldsconfig SMP
20271da177e4SLinus Torvalds	bool "Multi-Processing support"
2028e73ea273SRalf Baechle	depends on SYS_SUPPORTS_SMP
2029b4b30a5aSRalf Baechle	select IRQ_PER_CPU
20302f304c0aSJens Axboe	select USE_GENERIC_SMP_HELPERS
2031e73ea273SRalf Baechle	help
20321da177e4SLinus Torvalds	  This enables support for systems with more than one CPU. If you have
20331da177e4SLinus Torvalds	  a system with only one CPU, like most personal computers, say N. If
20341da177e4SLinus Torvalds	  you have a system with more than one CPU, say Y.
20351da177e4SLinus Torvalds
20361da177e4SLinus Torvalds	  If you say N here, the kernel will run on single and multiprocessor
20371da177e4SLinus Torvalds	  machines, but will use only one CPU of a multiprocessor machine. If
20381da177e4SLinus Torvalds	  you say Y here, the kernel will run on many, but not all,
20391da177e4SLinus Torvalds	  singleprocessor machines. On a singleprocessor machine, the kernel
20401da177e4SLinus Torvalds	  will run faster if you say N here.
20411da177e4SLinus Torvalds
20421da177e4SLinus Torvalds	  People using multiprocessor machines who say Y here should also say
20431da177e4SLinus Torvalds	  Y to "Enhanced Real Time Clock Support", below.
20441da177e4SLinus Torvalds
204503502faaSAdrian Bunk	  See also the SMP-HOWTO available at
204603502faaSAdrian Bunk	  <http://www.tldp.org/docs.html#howto>.
20471da177e4SLinus Torvalds
20481da177e4SLinus Torvalds	  If you don't know what to do here, say N.
20491da177e4SLinus Torvalds
205087353d8aSRalf Baechleconfig SMP_UP
205187353d8aSRalf Baechle	bool
205287353d8aSRalf Baechle
20534a16ff4cSRalf Baechleconfig SYS_SUPPORTS_MIPS_CMP
20544a16ff4cSRalf Baechle	bool
20554a16ff4cSRalf Baechle
2056e73ea273SRalf Baechleconfig SYS_SUPPORTS_SMP
2057e73ea273SRalf Baechle	bool
2058e73ea273SRalf Baechle
205972ede9b1SAtsushi Nemotoconfig NR_CPUS_DEFAULT_1
206072ede9b1SAtsushi Nemoto	bool
206172ede9b1SAtsushi Nemoto
2062130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_2
2063130e2fb7SRalf Baechle	bool
2064130e2fb7SRalf Baechle
2065130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_4
2066130e2fb7SRalf Baechle	bool
2067130e2fb7SRalf Baechle
2068130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_8
2069130e2fb7SRalf Baechle	bool
2070130e2fb7SRalf Baechle
2071130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_16
2072130e2fb7SRalf Baechle	bool
2073130e2fb7SRalf Baechle
2074130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_32
2075130e2fb7SRalf Baechle	bool
2076130e2fb7SRalf Baechle
2077130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_64
2078130e2fb7SRalf Baechle	bool
2079130e2fb7SRalf Baechle
20801da177e4SLinus Torvaldsconfig NR_CPUS
20811da177e4SLinus Torvalds	int "Maximum number of CPUs (2-64)"
208272ede9b1SAtsushi Nemoto	range 1 64 if NR_CPUS_DEFAULT_1
20831da177e4SLinus Torvalds	depends on SMP
208472ede9b1SAtsushi Nemoto	default "1" if NR_CPUS_DEFAULT_1
2085130e2fb7SRalf Baechle	default "2" if NR_CPUS_DEFAULT_2
2086130e2fb7SRalf Baechle	default "4" if NR_CPUS_DEFAULT_4
2087130e2fb7SRalf Baechle	default "8" if NR_CPUS_DEFAULT_8
2088130e2fb7SRalf Baechle	default "16" if NR_CPUS_DEFAULT_16
2089130e2fb7SRalf Baechle	default "32" if NR_CPUS_DEFAULT_32
2090130e2fb7SRalf Baechle	default "64" if NR_CPUS_DEFAULT_64
20911da177e4SLinus Torvalds	help
20921da177e4SLinus Torvalds	  This allows you to specify the maximum number of CPUs which this
20931da177e4SLinus Torvalds	  kernel will support.  The maximum supported value is 32 for 32-bit
20941da177e4SLinus Torvalds	  kernel and 64 for 64-bit kernels; the minimum value which makes
209572ede9b1SAtsushi Nemoto	  sense is 1 for Qemu (useful only for kernel debugging purposes)
209672ede9b1SAtsushi Nemoto	  and 2 for all others.
20971da177e4SLinus Torvalds
20981da177e4SLinus Torvalds	  This is purely to save memory - each supported CPU adds
209972ede9b1SAtsushi Nemoto	  approximately eight kilobytes to the kernel image.  For best
210072ede9b1SAtsushi Nemoto	  performance should round up your number of processors to the next
210172ede9b1SAtsushi Nemoto	  power of two.
21021da177e4SLinus Torvalds
2103c4eee283SAtsushi Nemotosource "kernel/time/Kconfig"
2104c4eee283SAtsushi Nemoto
21051723b4a3SAtsushi Nemoto#
21061723b4a3SAtsushi Nemoto# Timer Interrupt Frequency Configuration
21071723b4a3SAtsushi Nemoto#
21081723b4a3SAtsushi Nemoto
21091723b4a3SAtsushi Nemotochoice
21101723b4a3SAtsushi Nemoto	prompt "Timer frequency"
21111723b4a3SAtsushi Nemoto	default HZ_250
21121723b4a3SAtsushi Nemoto	help
21131723b4a3SAtsushi Nemoto	 Allows the configuration of the timer frequency.
21141723b4a3SAtsushi Nemoto
21151723b4a3SAtsushi Nemoto	config HZ_48
21160f873585SRalf Baechle		bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
21171723b4a3SAtsushi Nemoto
21181723b4a3SAtsushi Nemoto	config HZ_100
21191723b4a3SAtsushi Nemoto		bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
21201723b4a3SAtsushi Nemoto
21211723b4a3SAtsushi Nemoto	config HZ_128
21221723b4a3SAtsushi Nemoto		bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
21231723b4a3SAtsushi Nemoto
21241723b4a3SAtsushi Nemoto	config HZ_250
21251723b4a3SAtsushi Nemoto		bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
21261723b4a3SAtsushi Nemoto
21271723b4a3SAtsushi Nemoto	config HZ_256
21281723b4a3SAtsushi Nemoto		bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
21291723b4a3SAtsushi Nemoto
21301723b4a3SAtsushi Nemoto	config HZ_1000
21311723b4a3SAtsushi Nemoto		bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
21321723b4a3SAtsushi Nemoto
21331723b4a3SAtsushi Nemoto	config HZ_1024
21341723b4a3SAtsushi Nemoto		bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
21351723b4a3SAtsushi Nemoto
21361723b4a3SAtsushi Nemotoendchoice
21371723b4a3SAtsushi Nemoto
21381723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_48HZ
21391723b4a3SAtsushi Nemoto	bool
21401723b4a3SAtsushi Nemoto
21411723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_100HZ
21421723b4a3SAtsushi Nemoto	bool
21431723b4a3SAtsushi Nemoto
21441723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_128HZ
21451723b4a3SAtsushi Nemoto	bool
21461723b4a3SAtsushi Nemoto
21471723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_250HZ
21481723b4a3SAtsushi Nemoto	bool
21491723b4a3SAtsushi Nemoto
21501723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_256HZ
21511723b4a3SAtsushi Nemoto	bool
21521723b4a3SAtsushi Nemoto
21531723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_1000HZ
21541723b4a3SAtsushi Nemoto	bool
21551723b4a3SAtsushi Nemoto
21561723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_1024HZ
21571723b4a3SAtsushi Nemoto	bool
21581723b4a3SAtsushi Nemoto
21591723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_ARBIT_HZ
21601723b4a3SAtsushi Nemoto	bool
21611723b4a3SAtsushi Nemoto	default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
21621723b4a3SAtsushi Nemoto		     !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
21631723b4a3SAtsushi Nemoto		     !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
21641723b4a3SAtsushi Nemoto		     !SYS_SUPPORTS_1024HZ
21651723b4a3SAtsushi Nemoto
21661723b4a3SAtsushi Nemotoconfig HZ
21671723b4a3SAtsushi Nemoto	int
21681723b4a3SAtsushi Nemoto	default 48 if HZ_48
21691723b4a3SAtsushi Nemoto	default 100 if HZ_100
21701723b4a3SAtsushi Nemoto	default 128 if HZ_128
21711723b4a3SAtsushi Nemoto	default 250 if HZ_250
21721723b4a3SAtsushi Nemoto	default 256 if HZ_256
21731723b4a3SAtsushi Nemoto	default 1000 if HZ_1000
21741723b4a3SAtsushi Nemoto	default 1024 if HZ_1024
21751723b4a3SAtsushi Nemoto
2176e80de850SRalf Baechlesource "kernel/Kconfig.preempt"
21771da177e4SLinus Torvalds
21781da177e4SLinus Torvaldsconfig MIPS_INSANE_LARGE
21791da177e4SLinus Torvalds	bool "Support for large 64-bit configurations"
2180875d43e7SRalf Baechle	depends on CPU_R10000 && 64BIT
21811da177e4SLinus Torvalds	help
21821da177e4SLinus Torvalds	  MIPS R10000 does support a 44 bit / 16TB address space as opposed to
21831da177e4SLinus Torvalds	  previous 64-bit processors which only supported 40 bit / 1TB. If you
21841da177e4SLinus Torvalds	  need processes of more than 1TB virtual address space, say Y here.
21851da177e4SLinus Torvalds	  This will result in additional memory usage, so it is not
21861da177e4SLinus Torvalds	  recommended for normal users.
21871da177e4SLinus Torvalds
2188ea6e942bSAtsushi Nemotoconfig KEXEC
2189ea6e942bSAtsushi Nemoto	bool "Kexec system call (EXPERIMENTAL)"
2190ea6e942bSAtsushi Nemoto	depends on EXPERIMENTAL
2191ea6e942bSAtsushi Nemoto	help
2192ea6e942bSAtsushi Nemoto	  kexec is a system call that implements the ability to shutdown your
2193ea6e942bSAtsushi Nemoto	  current kernel, and to start another kernel.  It is like a reboot
21943dde6ad8SDavid Sterba	  but it is independent of the system firmware.   And like a reboot
2195ea6e942bSAtsushi Nemoto	  you can start any kernel with it, not just Linux.
2196ea6e942bSAtsushi Nemoto
219701dd2fbfSMatt LaPlante	  The name comes from the similarity to the exec system call.
2198ea6e942bSAtsushi Nemoto
2199ea6e942bSAtsushi Nemoto	  It is an ongoing process to be certain the hardware in a machine
2200ea6e942bSAtsushi Nemoto	  is properly shutdown, so do not be surprised if this code does not
2201ea6e942bSAtsushi Nemoto	  initially work for you.  It may help to enable device hotplugging
2202ea6e942bSAtsushi Nemoto	  support.  As of this writing the exact hardware interface is
2203ea6e942bSAtsushi Nemoto	  strongly in flux, so no good recommendation can be made.
2204ea6e942bSAtsushi Nemoto
2205ea6e942bSAtsushi Nemotoconfig SECCOMP
2206ea6e942bSAtsushi Nemoto	bool "Enable seccomp to safely compute untrusted bytecode"
2207293c5bd1SRalf Baechle	depends on PROC_FS
2208ea6e942bSAtsushi Nemoto	default y
2209ea6e942bSAtsushi Nemoto	help
2210ea6e942bSAtsushi Nemoto	  This kernel feature is useful for number crunching applications
2211ea6e942bSAtsushi Nemoto	  that may need to compute untrusted bytecode during their
2212ea6e942bSAtsushi Nemoto	  execution. By using pipes or other transports made available to
2213ea6e942bSAtsushi Nemoto	  the process as file descriptors supporting the read/write
2214ea6e942bSAtsushi Nemoto	  syscalls, it's possible to isolate those applications in
2215ea6e942bSAtsushi Nemoto	  their own address space using seccomp. Once seccomp is
2216ea6e942bSAtsushi Nemoto	  enabled via /proc/<pid>/seccomp, it cannot be disabled
2217ea6e942bSAtsushi Nemoto	  and the task is only allowed to execute a few safe syscalls
2218ea6e942bSAtsushi Nemoto	  defined by each seccomp mode.
2219ea6e942bSAtsushi Nemoto
2220ea6e942bSAtsushi Nemoto	  If unsure, say Y. Only embedded should say N here.
2221ea6e942bSAtsushi Nemoto
2222f2ffa5abSDezhong Diaoconfig USE_OF
2223f2ffa5abSDezhong Diao	bool "Flattened Device Tree support"
2224f2ffa5abSDezhong Diao	select OF
2225e6ce1324SStephen Neuendorffer	select OF_EARLY_FLATTREE
2226f2ffa5abSDezhong Diao	help
2227f2ffa5abSDezhong Diao	  Include support for flattened device tree machine descriptions.
2228f2ffa5abSDezhong Diao
22295e83d430SRalf Baechleendmenu
22305e83d430SRalf Baechle
22311df0f0ffSAtsushi Nemotoconfig LOCKDEP_SUPPORT
22321df0f0ffSAtsushi Nemoto	bool
22331df0f0ffSAtsushi Nemoto	default y
22341df0f0ffSAtsushi Nemoto
22351df0f0ffSAtsushi Nemotoconfig STACKTRACE_SUPPORT
22361df0f0ffSAtsushi Nemoto	bool
22371df0f0ffSAtsushi Nemoto	default y
22381df0f0ffSAtsushi Nemoto
2239b6c3539bSRalf Baechlesource "init/Kconfig"
2240b6c3539bSRalf Baechle
2241dc52ddc0SMatt Helsleysource "kernel/Kconfig.freezer"
2242dc52ddc0SMatt Helsley
22431da177e4SLinus Torvaldsmenu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
22441da177e4SLinus Torvalds
22455e83d430SRalf Baechleconfig HW_HAS_EISA
22465e83d430SRalf Baechle	bool
22471da177e4SLinus Torvaldsconfig HW_HAS_PCI
22481da177e4SLinus Torvalds	bool
22491da177e4SLinus Torvalds
22501da177e4SLinus Torvaldsconfig PCI
22511da177e4SLinus Torvalds	bool "Support for PCI controller"
22521da177e4SLinus Torvalds	depends on HW_HAS_PCI
2253abb4ae46SRalf Baechle	select PCI_DOMAINS
22541da177e4SLinus Torvalds	help
22551da177e4SLinus Torvalds	  Find out whether you have a PCI motherboard. PCI is the name of a
22561da177e4SLinus Torvalds	  bus system, i.e. the way the CPU talks to the other stuff inside
22571da177e4SLinus Torvalds	  your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
22581da177e4SLinus Torvalds	  say Y, otherwise N.
22591da177e4SLinus Torvalds
22601da177e4SLinus Torvaldsconfig PCI_DOMAINS
22611da177e4SLinus Torvalds	bool
22621da177e4SLinus Torvalds
22631da177e4SLinus Torvaldssource "drivers/pci/Kconfig"
22641da177e4SLinus Torvalds
22651da177e4SLinus Torvalds#
22661da177e4SLinus Torvalds# ISA support is now enabled via select.  Too many systems still have the one
22671da177e4SLinus Torvalds# or other ISA chip on the board that users don't know about so don't expect
22681da177e4SLinus Torvalds# users to choose the right thing ...
22691da177e4SLinus Torvalds#
22701da177e4SLinus Torvaldsconfig ISA
22711da177e4SLinus Torvalds	bool
22721da177e4SLinus Torvalds
22731da177e4SLinus Torvaldsconfig EISA
22741da177e4SLinus Torvalds	bool "EISA support"
22755e83d430SRalf Baechle	depends on HW_HAS_EISA
22761da177e4SLinus Torvalds	select ISA
2277aa414dffSRalf Baechle	select GENERIC_ISA_DMA
22781da177e4SLinus Torvalds	---help---
22791da177e4SLinus Torvalds	  The Extended Industry Standard Architecture (EISA) bus was
22801da177e4SLinus Torvalds	  developed as an open alternative to the IBM MicroChannel bus.
22811da177e4SLinus Torvalds
22821da177e4SLinus Torvalds	  The EISA bus provided some of the features of the IBM MicroChannel
22831da177e4SLinus Torvalds	  bus while maintaining backward compatibility with cards made for
22841da177e4SLinus Torvalds	  the older ISA bus.  The EISA bus saw limited use between 1988 and
22851da177e4SLinus Torvalds	  1995 when it was made obsolete by the PCI bus.
22861da177e4SLinus Torvalds
22871da177e4SLinus Torvalds	  Say Y here if you are building a kernel for an EISA-based machine.
22881da177e4SLinus Torvalds
22891da177e4SLinus Torvalds	  Otherwise, say N.
22901da177e4SLinus Torvalds
22911da177e4SLinus Torvaldssource "drivers/eisa/Kconfig"
22921da177e4SLinus Torvalds
22931da177e4SLinus Torvaldsconfig TC
22941da177e4SLinus Torvalds	bool "TURBOchannel support"
22951da177e4SLinus Torvalds	depends on MACH_DECSTATION
22961da177e4SLinus Torvalds	help
229750a23e6eSJustin P. Mattock	  TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
229850a23e6eSJustin P. Mattock	  processors.  TURBOchannel programming specifications are available
229950a23e6eSJustin P. Mattock	  at:
230050a23e6eSJustin P. Mattock	  <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
230150a23e6eSJustin P. Mattock	  and:
230250a23e6eSJustin P. Mattock	  <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
230350a23e6eSJustin P. Mattock	  Linux driver support status is documented at:
230450a23e6eSJustin P. Mattock	  <http://www.linux-mips.org/wiki/DECstation>
23051da177e4SLinus Torvalds
23061da177e4SLinus Torvalds#config ACCESSBUS
23071da177e4SLinus Torvalds#	bool "Access.Bus support"
23081da177e4SLinus Torvalds#	depends on TC
23091da177e4SLinus Torvalds
23101da177e4SLinus Torvaldsconfig MMU
23111da177e4SLinus Torvalds	bool
23121da177e4SLinus Torvalds	default y
23131da177e4SLinus Torvalds
2314d865bea4SRalf Baechleconfig I8253
2315d865bea4SRalf Baechle	bool
23169726b43aSWu Zhangjin	select MIPS_EXTERNAL_TIMER
2317d865bea4SRalf Baechle
2318cce335aeSRalf Baechleconfig ZONE_DMA32
2319cce335aeSRalf Baechle	bool
2320cce335aeSRalf Baechle
23211da177e4SLinus Torvaldssource "drivers/pcmcia/Kconfig"
23221da177e4SLinus Torvalds
23231da177e4SLinus Torvaldssource "drivers/pci/hotplug/Kconfig"
23241da177e4SLinus Torvalds
23251da177e4SLinus Torvaldsendmenu
23261da177e4SLinus Torvalds
23271da177e4SLinus Torvaldsmenu "Executable file formats"
23281da177e4SLinus Torvalds
23291da177e4SLinus Torvaldssource "fs/Kconfig.binfmt"
23301da177e4SLinus Torvalds
23311da177e4SLinus Torvaldsconfig TRAD_SIGNALS
23321da177e4SLinus Torvalds	bool
23331da177e4SLinus Torvalds
23341da177e4SLinus Torvaldsconfig MIPS32_COMPAT
23351da177e4SLinus Torvalds	bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2336875d43e7SRalf Baechle	depends on 64BIT
23371da177e4SLinus Torvalds	help
23381da177e4SLinus Torvalds	  Select this option if you want Linux/MIPS 32-bit binary
23391da177e4SLinus Torvalds	  compatibility. Since all software available for Linux/MIPS is
23401da177e4SLinus Torvalds	  currently 32-bit you should say Y here.
23411da177e4SLinus Torvalds
23421da177e4SLinus Torvaldsconfig COMPAT
23431da177e4SLinus Torvalds	bool
23441da177e4SLinus Torvalds	depends on MIPS32_COMPAT
23451da177e4SLinus Torvalds	default y
23461da177e4SLinus Torvalds
234705e43966SAtsushi Nemotoconfig SYSVIPC_COMPAT
234805e43966SAtsushi Nemoto	bool
234905e43966SAtsushi Nemoto	depends on COMPAT && SYSVIPC
235005e43966SAtsushi Nemoto	default y
235105e43966SAtsushi Nemoto
23521da177e4SLinus Torvaldsconfig MIPS32_O32
23531da177e4SLinus Torvalds	bool "Kernel support for o32 binaries"
23541da177e4SLinus Torvalds	depends on MIPS32_COMPAT
23551da177e4SLinus Torvalds	help
23561da177e4SLinus Torvalds	  Select this option if you want to run o32 binaries.  These are pure
23571da177e4SLinus Torvalds	  32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
23581da177e4SLinus Torvalds	  existing binaries are in this format.
23591da177e4SLinus Torvalds
23601da177e4SLinus Torvalds	  If unsure, say Y.
23611da177e4SLinus Torvalds
23621da177e4SLinus Torvaldsconfig MIPS32_N32
23631da177e4SLinus Torvalds	bool "Kernel support for n32 binaries"
23641da177e4SLinus Torvalds	depends on MIPS32_COMPAT
23651da177e4SLinus Torvalds	help
23661da177e4SLinus Torvalds	  Select this option if you want to run n32 binaries.  These are
23671da177e4SLinus Torvalds	  64-bit binaries using 32-bit quantities for addressing and certain
23681da177e4SLinus Torvalds	  data that would normally be 64-bit.  They are used in special
23691da177e4SLinus Torvalds	  cases.
23701da177e4SLinus Torvalds
23711da177e4SLinus Torvalds	  If unsure, say N.
23721da177e4SLinus Torvalds
23731da177e4SLinus Torvaldsconfig BINFMT_ELF32
23741da177e4SLinus Torvalds	bool
23751da177e4SLinus Torvalds	default y if MIPS32_O32 || MIPS32_N32
23761da177e4SLinus Torvalds
23772116245eSRalf Baechleendmenu
23781da177e4SLinus Torvalds
23792116245eSRalf Baechlemenu "Power management options"
2380952fa954SRodolfo Giometti
2381363c55caSWu Zhangjinconfig ARCH_HIBERNATION_POSSIBLE
2382363c55caSWu Zhangjin	def_bool y
23833f5b3e17SRalf Baechle	depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2384363c55caSWu Zhangjin
2385f4cb5700SJohannes Bergconfig ARCH_SUSPEND_POSSIBLE
2386f4cb5700SJohannes Berg	def_bool y
23873f5b3e17SRalf Baechle	depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2388f4cb5700SJohannes Berg
23892116245eSRalf Baechlesource "kernel/power/Kconfig"
2390952fa954SRodolfo Giometti
23911da177e4SLinus Torvaldsendmenu
23921da177e4SLinus Torvalds
23939726b43aSWu Zhangjinsource "arch/mips/kernel/cpufreq/Kconfig"
23949726b43aSWu Zhangjin
2395d5950b43SSam Ravnborgsource "net/Kconfig"
2396d5950b43SSam Ravnborg
23971da177e4SLinus Torvaldssource "drivers/Kconfig"
23981da177e4SLinus Torvalds
23991da177e4SLinus Torvaldssource "fs/Kconfig"
24001da177e4SLinus Torvalds
24011da177e4SLinus Torvaldssource "arch/mips/Kconfig.debug"
24021da177e4SLinus Torvalds
24031da177e4SLinus Torvaldssource "security/Kconfig"
24041da177e4SLinus Torvalds
24051da177e4SLinus Torvaldssource "crypto/Kconfig"
24061da177e4SLinus Torvalds
24071da177e4SLinus Torvaldssource "lib/Kconfig"
2408