xref: /linux/arch/mips/Kconfig (revision 42a4f17dc356689075263d7c2bd68456676fa62e)
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
788547001SJason Wessel	select HAVE_ARCH_KGDB
8d2bb0762SWu Zhangjin	select HAVE_FUNCTION_TRACER
969a7d1b3SWu Zhangjin	select HAVE_FUNCTION_TRACE_MCOUNT_TEST
10538f1952SWu Zhangjin	select HAVE_DYNAMIC_FTRACE
11538f1952SWu Zhangjin	select HAVE_FTRACE_MCOUNT_RECORD
1229c5d346SWu Zhangjin	select HAVE_FUNCTION_GRAPH_TRACER
1321a41faaSWu Zhangjin	select RTC_LIB if !MACH_LOONGSON
141da177e4SLinus Torvalds
151da177e4SLinus Torvaldsmainmenu "Linux/MIPS Kernel Configuration"
161da177e4SLinus Torvalds
171da177e4SLinus Torvaldsmenu "Machine selection"
181da177e4SLinus Torvalds
195ac6da66SChristoph Lameterconfig ZONE_DMA
205ac6da66SChristoph Lameter	bool
215ac6da66SChristoph Lameter
225e83d430SRalf Baechlechoice
235e83d430SRalf Baechle	prompt "System type"
245e83d430SRalf Baechle	default SGI_IP22
251da177e4SLinus Torvalds
26*42a4f17dSManuel Laussconfig MIPS_ALCHEMY
27c3543e25SYoichi Yuasa	bool "Alchemy processor based machines"
28*42a4f17dSManuel Lauss	select 64BIT_PHYS_ADDR
29*42a4f17dSManuel Lauss	select CEVT_R4K_LIB
30*42a4f17dSManuel Lauss	select CSRC_R4K_LIB
31*42a4f17dSManuel Lauss	select IRQ_CPU
32*42a4f17dSManuel Lauss	select SYS_HAS_CPU_MIPS32_R1
33*42a4f17dSManuel Lauss	select SYS_SUPPORTS_32BIT_KERNEL
34*42a4f17dSManuel Lauss	select SYS_SUPPORTS_APM_EMULATION
35*42a4f17dSManuel Lauss	select GENERIC_GPIO
36*42a4f17dSManuel Lauss	select ARCH_WANT_OPTIONAL_GPIOLIB
371b93b3c3SWu Zhangjin	select SYS_SUPPORTS_ZBOOT
381da177e4SLinus Torvalds
397ca5dc14SFlorian Fainelliconfig AR7
407ca5dc14SFlorian Fainelli	bool "Texas Instruments AR7"
417ca5dc14SFlorian Fainelli	select BOOT_ELF32
427ca5dc14SFlorian Fainelli	select DMA_NONCOHERENT
437ca5dc14SFlorian Fainelli	select CEVT_R4K
447ca5dc14SFlorian Fainelli	select CSRC_R4K
457ca5dc14SFlorian Fainelli	select IRQ_CPU
467ca5dc14SFlorian Fainelli	select NO_EXCEPT_FILL
477ca5dc14SFlorian Fainelli	select SWAP_IO_SPACE
487ca5dc14SFlorian Fainelli	select SYS_HAS_CPU_MIPS32_R1
497ca5dc14SFlorian Fainelli	select SYS_HAS_EARLY_PRINTK
507ca5dc14SFlorian Fainelli	select SYS_SUPPORTS_32BIT_KERNEL
517ca5dc14SFlorian Fainelli	select SYS_SUPPORTS_LITTLE_ENDIAN
521b93b3c3SWu Zhangjin	select SYS_SUPPORTS_ZBOOT_UART16550
535f3c9098SFlorian Fainelli	select ARCH_REQUIRE_GPIOLIB
547ca5dc14SFlorian Fainelli	select GCD
557ca5dc14SFlorian Fainelli	select VLYNQ
567ca5dc14SFlorian Fainelli	help
577ca5dc14SFlorian Fainelli	  Support for the Texas Instruments AR7 System-on-a-Chip
587ca5dc14SFlorian Fainelli	  family: TNETD7100, 7200 and 7300.
597ca5dc14SFlorian Fainelli
601c0c13ebSAurelien Jarnoconfig BCM47XX
61c619366eSFlorian Fainelli	bool "Broadcom BCM47XX based boards"
6242f77542SRalf Baechle	select CEVT_R4K
63940f6b48SRalf Baechle	select CSRC_R4K
641c0c13ebSAurelien Jarno	select DMA_NONCOHERENT
651c0c13ebSAurelien Jarno	select HW_HAS_PCI
661c0c13ebSAurelien Jarno	select IRQ_CPU
671c0c13ebSAurelien Jarno	select SYS_HAS_CPU_MIPS32_R1
681c0c13ebSAurelien Jarno	select SYS_SUPPORTS_32BIT_KERNEL
691c0c13ebSAurelien Jarno	select SYS_SUPPORTS_LITTLE_ENDIAN
701c0c13ebSAurelien Jarno	select SSB
711c0c13ebSAurelien Jarno	select SSB_DRIVER_MIPS
722f02c15aSAurelien Jarno	select SSB_DRIVER_EXTIF
73b06f3e19SAurelien Jarno	select SSB_EMBEDDED
74220937b1SHauke Mehrtens	select SSB_B43_PCI_BRIDGE if PCI
752f02c15aSAurelien Jarno	select SSB_PCICORE_HOSTMODE if PCI
761c0c13ebSAurelien Jarno	select GENERIC_GPIO
7725e5fb97SAurelien Jarno	select SYS_HAS_EARLY_PRINTK
7825e5fb97SAurelien Jarno	select CFE
791c0c13ebSAurelien Jarno	help
801c0c13ebSAurelien Jarno	 Support for BCM47XX based boards
811c0c13ebSAurelien Jarno
82e7300d04SMaxime Bizonconfig BCM63XX
83e7300d04SMaxime Bizon	bool "Broadcom BCM63XX based boards"
84e7300d04SMaxime Bizon	select CEVT_R4K
85e7300d04SMaxime Bizon	select CSRC_R4K
86e7300d04SMaxime Bizon	select DMA_NONCOHERENT
87e7300d04SMaxime Bizon	select IRQ_CPU
88e7300d04SMaxime Bizon	select SYS_HAS_CPU_MIPS32_R1
89e7300d04SMaxime Bizon	select SYS_SUPPORTS_32BIT_KERNEL
90e7300d04SMaxime Bizon	select SYS_SUPPORTS_BIG_ENDIAN
91e7300d04SMaxime Bizon	select SYS_HAS_EARLY_PRINTK
92e7300d04SMaxime Bizon	select SWAP_IO_SPACE
93e7300d04SMaxime Bizon	select ARCH_REQUIRE_GPIOLIB
94e7300d04SMaxime Bizon	help
95e7300d04SMaxime Bizon	 Support for BCM63XX based boards
96e7300d04SMaxime Bizon
971da177e4SLinus Torvaldsconfig MIPS_COBALT
983fa986faSMartin Michlmayr	bool "Cobalt Server"
9942f77542SRalf Baechle	select CEVT_R4K
100940f6b48SRalf Baechle	select CSRC_R4K
1011097c6acSYoichi Yuasa	select CEVT_GT641XX
1021da177e4SLinus Torvalds	select DMA_NONCOHERENT
1031da177e4SLinus Torvalds	select HW_HAS_PCI
104d865bea4SRalf Baechle	select I8253
1051da177e4SLinus Torvalds	select I8259
1061da177e4SLinus Torvalds	select IRQ_CPU
107d5ab1a69SYoichi Yuasa	select IRQ_GT641XX
108252161ecSYoichi Yuasa	select PCI_GT64XXX_PCI0
109e25bfc92SYoichi Yuasa	select PCI
1107cf8053bSRalf Baechle	select SYS_HAS_CPU_NEVADA
1110a22e0d4SYoichi Yuasa	select SYS_HAS_EARLY_PRINTK
112ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
1130e8774b6SFlorian Fainelli	select SYS_SUPPORTS_64BIT_KERNEL
1145e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
1151da177e4SLinus Torvalds
1161da177e4SLinus Torvaldsconfig MACH_DECSTATION
1173fa986faSMartin Michlmayr	bool "DECstations"
1181da177e4SLinus Torvalds	select BOOT_ELF32
1196457d9fcSYoichi Yuasa	select CEVT_DS1287
12042f77542SRalf Baechle	select CEVT_R4K
1214247417dSYoichi Yuasa	select CSRC_IOASIC
122940f6b48SRalf Baechle	select CSRC_R4K
12320d60d99SMaciej W. Rozycki	select CPU_DADDI_WORKAROUNDS if 64BIT
12420d60d99SMaciej W. Rozycki	select CPU_R4000_WORKAROUNDS if 64BIT
12520d60d99SMaciej W. Rozycki	select CPU_R4400_WORKAROUNDS if 64BIT
1261da177e4SLinus Torvalds	select DMA_NONCOHERENT
127d388d685SMaciej W. Rozycki	select NO_IOPORT
1281da177e4SLinus Torvalds	select IRQ_CPU
1297cf8053bSRalf Baechle	select SYS_HAS_CPU_R3000
1307cf8053bSRalf Baechle	select SYS_HAS_CPU_R4X00
131ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
132ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
1335e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
1341723b4a3SAtsushi Nemoto	select SYS_SUPPORTS_128HZ
1351723b4a3SAtsushi Nemoto	select SYS_SUPPORTS_256HZ
1361723b4a3SAtsushi Nemoto	select SYS_SUPPORTS_1024HZ
1375e83d430SRalf Baechle	help
1381da177e4SLinus Torvalds	  This enables support for DEC's MIPS based workstations.  For details
1391da177e4SLinus Torvalds	  see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
1401da177e4SLinus Torvalds	  DECstation porting pages on <http://decstation.unix-ag.org/>.
1411da177e4SLinus Torvalds
1421da177e4SLinus Torvalds	  If you have one of the following DECstation Models you definitely
1431da177e4SLinus Torvalds	  want to choose R4xx0 for the CPU Type:
1441da177e4SLinus Torvalds
1451da177e4SLinus Torvalds		DECstation 5000/50
1461da177e4SLinus Torvalds		DECstation 5000/150
1471da177e4SLinus Torvalds		DECstation 5000/260
1481da177e4SLinus Torvalds		DECsystem 5900/260
1491da177e4SLinus Torvalds
1501da177e4SLinus Torvalds	  otherwise choose R3000.
1511da177e4SLinus Torvalds
1525e83d430SRalf Baechleconfig MACH_JAZZ
1533fa986faSMartin Michlmayr	bool "Jazz family of machines"
1545e83d430SRalf Baechle	select ARC
1555e83d430SRalf Baechle	select ARC32
1565e83d430SRalf Baechle	select ARCH_MAY_HAVE_PC_FDC
15742f77542SRalf Baechle	select CEVT_R4K
158940f6b48SRalf Baechle	select CSRC_R4K
159e2defae5SThomas Bogendoerfer	select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
1605e83d430SRalf Baechle	select GENERIC_ISA_DMA
161ea202c63SThomas Bogendoerfer	select IRQ_CPU
162d865bea4SRalf Baechle	select I8253
1635e83d430SRalf Baechle	select I8259
1645e83d430SRalf Baechle	select ISA
1657cf8053bSRalf Baechle	select SYS_HAS_CPU_R4X00
1665e83d430SRalf Baechle	select SYS_SUPPORTS_32BIT_KERNEL
1675e83d430SRalf Baechle	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
1681723b4a3SAtsushi Nemoto	select SYS_SUPPORTS_100HZ
1691da177e4SLinus Torvalds	help
1705e83d430SRalf Baechle	 This a family of machines based on the MIPS R4030 chipset which was
1715e83d430SRalf Baechle	 used by several vendors to build RISC/os and Windows NT workstations.
172692105b8SMatt LaPlante	 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
1735e83d430SRalf Baechle	 Olivetti M700-10 workstations.
1745e83d430SRalf Baechle
1751f21d2bdSBrian Murphyconfig LASAT
1761f21d2bdSBrian Murphy	bool "LASAT Networks platforms"
17742f77542SRalf Baechle	select CEVT_R4K
178940f6b48SRalf Baechle	select CSRC_R4K
1791f21d2bdSBrian Murphy	select DMA_NONCOHERENT
1801f21d2bdSBrian Murphy	select SYS_HAS_EARLY_PRINTK
1811f21d2bdSBrian Murphy	select HW_HAS_PCI
182a5ccfe5cSRalf Baechle	select IRQ_CPU
1831f21d2bdSBrian Murphy	select PCI_GT64XXX_PCI0
1841f21d2bdSBrian Murphy	select MIPS_NILE4
1851f21d2bdSBrian Murphy	select R5000_CPU_SCACHE
1861f21d2bdSBrian Murphy	select SYS_HAS_CPU_R5000
1871f21d2bdSBrian Murphy	select SYS_SUPPORTS_32BIT_KERNEL
1881f21d2bdSBrian Murphy	select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
1891f21d2bdSBrian Murphy	select SYS_SUPPORTS_LITTLE_ENDIAN
1901f21d2bdSBrian Murphy
19185749d24SWu Zhangjinconfig MACH_LOONGSON
19285749d24SWu Zhangjin	bool "Loongson family of machines"
193c7e8c668SWu Zhangjin	select SYS_SUPPORTS_ZBOOT
194ade299d8SYoichi Yuasa	help
19585749d24SWu Zhangjin	  This enables the support of Loongson family of machines.
19685749d24SWu Zhangjin
19785749d24SWu Zhangjin	  Loongson is a family of general-purpose MIPS-compatible CPUs.
19885749d24SWu Zhangjin	  developed at Institute of Computing Technology (ICT),
19985749d24SWu Zhangjin	  Chinese Academy of Sciences (CAS) in the People's Republic
20085749d24SWu Zhangjin	  of China. The chief architect is Professor Weiwu Hu.
201ade299d8SYoichi Yuasa
2021da177e4SLinus Torvaldsconfig MIPS_MALTA
2033fa986faSMartin Michlmayr	bool "MIPS Malta board"
20461ed242dSRalf Baechle	select ARCH_MAY_HAVE_PC_FDC
2051da177e4SLinus Torvalds	select BOOT_ELF32
206fa71c960SRalf Baechle	select BOOT_RAW
20742f77542SRalf Baechle	select CEVT_R4K
208940f6b48SRalf Baechle	select CSRC_R4K
2091da177e4SLinus Torvalds	select DMA_NONCOHERENT
2101da177e4SLinus Torvalds	select GENERIC_ISA_DMA
211aa414dffSRalf Baechle	select IRQ_CPU
21239b8d525SRalf Baechle	select IRQ_GIC
2131da177e4SLinus Torvalds	select HW_HAS_PCI
214d865bea4SRalf Baechle	select I8253
2151da177e4SLinus Torvalds	select I8259
2165e83d430SRalf Baechle	select MIPS_BOARDS_GEN
2175e83d430SRalf Baechle	select MIPS_BONITO64
2189318c51aSChris Dearman	select MIPS_CPU_SCACHE
219252161ecSYoichi Yuasa	select PCI_GT64XXX_PCI0
2205e83d430SRalf Baechle	select MIPS_MSC
2211da177e4SLinus Torvalds	select SWAP_IO_SPACE
2227cf8053bSRalf Baechle	select SYS_HAS_CPU_MIPS32_R1
2237cf8053bSRalf Baechle	select SYS_HAS_CPU_MIPS32_R2
2247cf8053bSRalf Baechle	select SYS_HAS_CPU_MIPS64_R1
2257cf8053bSRalf Baechle	select SYS_HAS_CPU_NEVADA
2267cf8053bSRalf Baechle	select SYS_HAS_CPU_RM7000
22736a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
228ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
229ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_64BIT_KERNEL
2305e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
2315e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
2320365070fSTim Anderson	select SYS_SUPPORTS_MIPS_CMP
233f41ae0b2SRalf Baechle	select SYS_SUPPORTS_MULTITHREADING
2349693a853SFranck Bui-Huu	select SYS_SUPPORTS_SMARTMIPS
2351b93b3c3SWu Zhangjin	select SYS_SUPPORTS_ZBOOT
2361da177e4SLinus Torvalds	help
237f638d197SMaciej W. Rozycki	  This enables support for the MIPS Technologies Malta evaluation
2381da177e4SLinus Torvalds	  board.
2391da177e4SLinus Torvalds
240c78cbf49SRalf Baechleconfig MIPS_SIM
2413fa986faSMartin Michlmayr	bool 'MIPS simulator (MIPSsim)'
24242f77542SRalf Baechle	select CEVT_R4K
243940f6b48SRalf Baechle	select CSRC_R4K
244c78cbf49SRalf Baechle	select DMA_NONCOHERENT
24536a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
246c78cbf49SRalf Baechle	select IRQ_CPU
2479267a30dSMarc St-Jean	select BOOT_RAW
2487cf8053bSRalf Baechle	select SYS_HAS_CPU_MIPS32_R1
2497cf8053bSRalf Baechle	select SYS_HAS_CPU_MIPS32_R2
25036a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
251c78cbf49SRalf Baechle	select SYS_SUPPORTS_32BIT_KERNEL
252c78cbf49SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
253f6e2373aSRalf Baechle	select SYS_SUPPORTS_MULTITHREADING
254c78cbf49SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
255c78cbf49SRalf Baechle	help
256c78cbf49SRalf Baechle	  This option enables support for MIPS Technologies MIPSsim software
257c78cbf49SRalf Baechle	  emulator.
258c78cbf49SRalf Baechle
259a83860c2SRalf Baechleconfig NEC_MARKEINS
260a83860c2SRalf Baechle	bool "NEC EMMA2RH Mark-eins board"
261a83860c2SRalf Baechle	select SOC_EMMA2RH
262a83860c2SRalf Baechle	select HW_HAS_PCI
263a83860c2SRalf Baechle	help
264a83860c2SRalf Baechle	  This enables support for the NEC Electronics Mark-eins boards.
265ade299d8SYoichi Yuasa
2665e83d430SRalf Baechleconfig MACH_VR41XX
26774142d65SYoichi Yuasa	bool "NEC VR4100 series based machines"
26842f77542SRalf Baechle	select CEVT_R4K
269940f6b48SRalf Baechle	select CSRC_R4K
2707cf8053bSRalf Baechle	select SYS_HAS_CPU_VR41XX
27127fdd325SYoichi Yuasa	select ARCH_REQUIRE_GPIOLIB
2725e83d430SRalf Baechle
273edb6310aSDaniel Lairdconfig NXP_STB220
274edb6310aSDaniel Laird	bool "NXP STB220 board"
275edb6310aSDaniel Laird	select SOC_PNX833X
276edb6310aSDaniel Laird	help
277edb6310aSDaniel Laird	 Support for NXP Semiconductors STB220 Development Board.
278edb6310aSDaniel Laird
279edb6310aSDaniel Lairdconfig NXP_STB225
280edb6310aSDaniel Laird	bool "NXP 225 board"
281edb6310aSDaniel Laird	select SOC_PNX833X
282edb6310aSDaniel Laird	select SOC_PNX8335
283edb6310aSDaniel Laird	help
284edb6310aSDaniel Laird	 Support for NXP Semiconductors STB225 Development Board.
285edb6310aSDaniel Laird
286ade299d8SYoichi Yuasaconfig PNX8550_JBS
287a92b0588SDaniel Laird	bool "NXP PNX8550 based JBS board"
288ade299d8SYoichi Yuasa	select PNX8550
289ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
290ade299d8SYoichi Yuasa
291ade299d8SYoichi Yuasaconfig PNX8550_STB810
292a92b0588SDaniel Laird	bool "NXP PNX8550 based STB810 board"
293ade299d8SYoichi Yuasa	select PNX8550
294ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
295ade299d8SYoichi Yuasa
2969267a30dSMarc St-Jeanconfig PMC_MSP
2979267a30dSMarc St-Jean	bool "PMC-Sierra MSP chipsets"
2989267a30dSMarc St-Jean	depends on EXPERIMENTAL
2999267a30dSMarc St-Jean	select DMA_NONCOHERENT
3009267a30dSMarc St-Jean	select SWAP_IO_SPACE
3019267a30dSMarc St-Jean	select NO_EXCEPT_FILL
3029267a30dSMarc St-Jean	select BOOT_RAW
3039267a30dSMarc St-Jean	select SYS_HAS_CPU_MIPS32_R1
3049267a30dSMarc St-Jean	select SYS_HAS_CPU_MIPS32_R2
3059267a30dSMarc St-Jean	select SYS_SUPPORTS_32BIT_KERNEL
3069267a30dSMarc St-Jean	select SYS_SUPPORTS_BIG_ENDIAN
3079267a30dSMarc St-Jean	select IRQ_CPU
3089267a30dSMarc St-Jean	select SERIAL_8250
3099267a30dSMarc St-Jean	select SERIAL_8250_CONSOLE
3109267a30dSMarc St-Jean	help
3119267a30dSMarc St-Jean	  This adds support for the PMC-Sierra family of Multi-Service
3129267a30dSMarc St-Jean	  Processor System-On-A-Chips.  These parts include a number
3139267a30dSMarc St-Jean	  of integrated peripherals, interfaces and DSPs in addition to
3149267a30dSMarc St-Jean	  a variety of MIPS cores.
3159267a30dSMarc St-Jean
3165e83d430SRalf Baechleconfig PMC_YOSEMITE
3173fa986faSMartin Michlmayr	bool "PMC-Sierra Yosemite eval board"
31842f77542SRalf Baechle	select CEVT_R4K
319940f6b48SRalf Baechle	select CSRC_R4K
3205e83d430SRalf Baechle	select DMA_COHERENT
3215e83d430SRalf Baechle	select HW_HAS_PCI
3225e83d430SRalf Baechle	select IRQ_CPU
3235e83d430SRalf Baechle	select IRQ_CPU_RM7K
3245e83d430SRalf Baechle	select IRQ_CPU_RM9K
3255e83d430SRalf Baechle	select SWAP_IO_SPACE
3267cf8053bSRalf Baechle	select SYS_HAS_CPU_RM9000
32736a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
3285e83d430SRalf Baechle	select SYS_SUPPORTS_32BIT_KERNEL
3295e83d430SRalf Baechle	select SYS_SUPPORTS_64BIT_KERNEL
3305e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
3315e83d430SRalf Baechle	select SYS_SUPPORTS_HIGHMEM
332e73ea273SRalf Baechle	select SYS_SUPPORTS_SMP
3335e83d430SRalf Baechle	help
3345e83d430SRalf Baechle	  Yosemite is an evaluation board for the RM9000x2 processor
3355e83d430SRalf Baechle	  manufactured by PMC-Sierra.
3361da177e4SLinus Torvalds
337a3a0f8c8SDavid VomLehnconfig POWERTV
338a3a0f8c8SDavid VomLehn	bool "Cisco PowerTV"
339a3a0f8c8SDavid VomLehn	select BOOT_ELF32
340a3a0f8c8SDavid VomLehn	select CEVT_R4K
341a3a0f8c8SDavid VomLehn	select CPU_MIPSR2_IRQ_VI
342a3a0f8c8SDavid VomLehn	select CPU_MIPSR2_IRQ_EI
343a3a0f8c8SDavid VomLehn	select CSRC_POWERTV
344a3a0f8c8SDavid VomLehn	select DMA_NONCOHERENT
345a3a0f8c8SDavid VomLehn	select HW_HAS_PCI
346a3a0f8c8SDavid VomLehn	select SYS_HAS_EARLY_PRINTK
347a3a0f8c8SDavid VomLehn	select SYS_HAS_CPU_MIPS32_R2
348a3a0f8c8SDavid VomLehn	select SYS_SUPPORTS_32BIT_KERNEL
349a3a0f8c8SDavid VomLehn	select SYS_SUPPORTS_BIG_ENDIAN
350a3a0f8c8SDavid VomLehn	select SYS_SUPPORTS_HIGHMEM
351a3a0f8c8SDavid VomLehn	select USB_OHCI_LITTLE_ENDIAN
352a3a0f8c8SDavid VomLehn	help
353a3a0f8c8SDavid VomLehn	  This enables support for the Cisco PowerTV Platform.
354a3a0f8c8SDavid VomLehn
3551da177e4SLinus Torvaldsconfig SGI_IP22
3563fa986faSMartin Michlmayr	bool "SGI IP22 (Indy/Indigo2)"
3571da177e4SLinus Torvalds	select ARC
3581da177e4SLinus Torvalds	select ARC32
3591da177e4SLinus Torvalds	select BOOT_ELF32
36042f77542SRalf Baechle	select CEVT_R4K
361940f6b48SRalf Baechle	select CSRC_R4K
362e2defae5SThomas Bogendoerfer	select DEFAULT_SGI_PARTITION
3631da177e4SLinus Torvalds	select DMA_NONCOHERENT
3645e83d430SRalf Baechle	select HW_HAS_EISA
365d865bea4SRalf Baechle	select I8253
36668de4803SThomas Bogendoerfer	select I8259
3671da177e4SLinus Torvalds	select IP22_CPU_SCACHE
3681da177e4SLinus Torvalds	select IRQ_CPU
369aa414dffSRalf Baechle	select GENERIC_ISA_DMA_SUPPORT_BROKEN
370e2defae5SThomas Bogendoerfer	select SGI_HAS_I8042
371e2defae5SThomas Bogendoerfer	select SGI_HAS_INDYDOG
37236e5c21dSThomas Bogendoerfer	select SGI_HAS_HAL2
373e2defae5SThomas Bogendoerfer	select SGI_HAS_SEEQ
374e2defae5SThomas Bogendoerfer	select SGI_HAS_WD93
375e2defae5SThomas Bogendoerfer	select SGI_HAS_ZILOG
3761da177e4SLinus Torvalds	select SWAP_IO_SPACE
3777cf8053bSRalf Baechle	select SYS_HAS_CPU_R4X00
3787cf8053bSRalf Baechle	select SYS_HAS_CPU_R5000
3792b5e63f6SMartin Michlmayr	#
3802b5e63f6SMartin Michlmayr	# Disable EARLY_PRINTK for now since it leads to overwritten prom
3812b5e63f6SMartin Michlmayr	# memory during early boot on some machines.
3822b5e63f6SMartin Michlmayr	#
3832b5e63f6SMartin Michlmayr	# See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
3842b5e63f6SMartin Michlmayr	# for a more details discussion
3852b5e63f6SMartin Michlmayr	#
3862b5e63f6SMartin Michlmayr	# select SYS_HAS_EARLY_PRINTK
387ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
388ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_64BIT_KERNEL
3895e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
3901da177e4SLinus Torvalds	help
3911da177e4SLinus Torvalds	  This are the SGI Indy, Challenge S and Indigo2, as well as certain
3921da177e4SLinus Torvalds	  OEM variants like the Tandem CMN B006S. To compile a Linux kernel
3931da177e4SLinus Torvalds	  that runs on these, say Y here.
3941da177e4SLinus Torvalds
3951da177e4SLinus Torvaldsconfig SGI_IP27
3963fa986faSMartin Michlmayr	bool "SGI IP27 (Origin200/2000)"
3971da177e4SLinus Torvalds	select ARC
3981da177e4SLinus Torvalds	select ARC64
3995e83d430SRalf Baechle	select BOOT_ELF64
400e2defae5SThomas Bogendoerfer	select DEFAULT_SGI_PARTITION
401634286f1SRalf Baechle	select DMA_COHERENT
40236a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
4031da177e4SLinus Torvalds	select HW_HAS_PCI
404130e2fb7SRalf Baechle	select NR_CPUS_DEFAULT_64
4057cf8053bSRalf Baechle	select SYS_HAS_CPU_R10000
406ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_64BIT_KERNEL
4075e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
408d8cb4e11SRalf Baechle	select SYS_SUPPORTS_NUMA
4091a5c5de1SRalf Baechle	select SYS_SUPPORTS_SMP
4101da177e4SLinus Torvalds	help
4111da177e4SLinus Torvalds	  This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
4121da177e4SLinus Torvalds	  workstations.  To compile a Linux kernel that runs on these, say Y
4131da177e4SLinus Torvalds	  here.
4141da177e4SLinus Torvalds
415e2defae5SThomas Bogendoerferconfig SGI_IP28
416e2defae5SThomas Bogendoerfer	bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
417e2defae5SThomas Bogendoerfer	depends on EXPERIMENTAL
418e2defae5SThomas Bogendoerfer	select ARC
419e2defae5SThomas Bogendoerfer	select ARC64
420e2defae5SThomas Bogendoerfer	select BOOT_ELF64
421e2defae5SThomas Bogendoerfer	select CEVT_R4K
422e2defae5SThomas Bogendoerfer	select CSRC_R4K
423e2defae5SThomas Bogendoerfer	select DEFAULT_SGI_PARTITION
424e2defae5SThomas Bogendoerfer	select DMA_NONCOHERENT
425e2defae5SThomas Bogendoerfer	select GENERIC_ISA_DMA_SUPPORT_BROKEN
426e2defae5SThomas Bogendoerfer	select IRQ_CPU
427e2defae5SThomas Bogendoerfer	select HW_HAS_EISA
428e2defae5SThomas Bogendoerfer	select I8253
429e2defae5SThomas Bogendoerfer	select I8259
430e2defae5SThomas Bogendoerfer	select SGI_HAS_I8042
431e2defae5SThomas Bogendoerfer	select SGI_HAS_INDYDOG
4325b438c44SThomas Bogendoerfer	select SGI_HAS_HAL2
433e2defae5SThomas Bogendoerfer	select SGI_HAS_SEEQ
434e2defae5SThomas Bogendoerfer	select SGI_HAS_WD93
435e2defae5SThomas Bogendoerfer	select SGI_HAS_ZILOG
436e2defae5SThomas Bogendoerfer	select SWAP_IO_SPACE
437e2defae5SThomas Bogendoerfer	select SYS_HAS_CPU_R10000
4382b5e63f6SMartin Michlmayr	#
4392b5e63f6SMartin Michlmayr	# Disable EARLY_PRINTK for now since it leads to overwritten prom
4402b5e63f6SMartin Michlmayr	# memory during early boot on some machines.
4412b5e63f6SMartin Michlmayr	#
4422b5e63f6SMartin Michlmayr	# See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
4432b5e63f6SMartin Michlmayr	# for a more details discussion
4442b5e63f6SMartin Michlmayr	#
4452b5e63f6SMartin Michlmayr	# select SYS_HAS_EARLY_PRINTK
446e2defae5SThomas Bogendoerfer	select SYS_SUPPORTS_64BIT_KERNEL
447e2defae5SThomas Bogendoerfer	select SYS_SUPPORTS_BIG_ENDIAN
448e2defae5SThomas Bogendoerfer      help
449e2defae5SThomas Bogendoerfer        This is the SGI Indigo2 with R10000 processor.  To compile a Linux
450e2defae5SThomas Bogendoerfer        kernel that runs on these, say Y here.
451e2defae5SThomas Bogendoerfer
4521da177e4SLinus Torvaldsconfig SGI_IP32
453cfd2afc0SRalf Baechle	bool "SGI IP32 (O2)"
4541da177e4SLinus Torvalds	select ARC
4551da177e4SLinus Torvalds	select ARC32
4561da177e4SLinus Torvalds	select BOOT_ELF32
45742f77542SRalf Baechle	select CEVT_R4K
458940f6b48SRalf Baechle	select CSRC_R4K
4591da177e4SLinus Torvalds	select DMA_NONCOHERENT
4601da177e4SLinus Torvalds	select HW_HAS_PCI
461dd67b155SRalf Baechle	select IRQ_CPU
4621da177e4SLinus Torvalds	select R5000_CPU_SCACHE
4631da177e4SLinus Torvalds	select RM7000_CPU_SCACHE
4647cf8053bSRalf Baechle	select SYS_HAS_CPU_R5000
4657cf8053bSRalf Baechle	select SYS_HAS_CPU_R10000 if BROKEN
4667cf8053bSRalf Baechle	select SYS_HAS_CPU_RM7000
467dd2f18feSRalf Baechle	select SYS_HAS_CPU_NEVADA
468ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_64BIT_KERNEL
4695e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
4701da177e4SLinus Torvalds	help
4711da177e4SLinus Torvalds	  If you want this kernel to run on SGI O2 workstation, say Y here.
4721da177e4SLinus Torvalds
473ade299d8SYoichi Yuasaconfig SIBYTE_CRHINE
474ade299d8SYoichi Yuasa	bool "Sibyte BCM91120C-CRhine"
4755e83d430SRalf Baechle	depends on EXPERIMENTAL
4765e83d430SRalf Baechle	select BOOT_ELF32
4775e83d430SRalf Baechle	select DMA_COHERENT
4785e83d430SRalf Baechle	select SIBYTE_BCM1120
4795e83d430SRalf Baechle	select SWAP_IO_SPACE
4807cf8053bSRalf Baechle	select SYS_HAS_CPU_SB1
4815e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
4825e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
4835e83d430SRalf Baechle
484ade299d8SYoichi Yuasaconfig SIBYTE_CARMEL
485ade299d8SYoichi Yuasa	bool "Sibyte BCM91120x-Carmel"
4865e83d430SRalf Baechle	depends on EXPERIMENTAL
4875e83d430SRalf Baechle	select BOOT_ELF32
4885e83d430SRalf Baechle	select DMA_COHERENT
4895e83d430SRalf Baechle	select SIBYTE_BCM1120
4905e83d430SRalf Baechle	select SWAP_IO_SPACE
4917cf8053bSRalf Baechle	select SYS_HAS_CPU_SB1
4925e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
4935e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
4945e83d430SRalf Baechle
4955e83d430SRalf Baechleconfig SIBYTE_CRHONE
4963fa986faSMartin Michlmayr	bool "Sibyte BCM91125C-CRhone"
4975e83d430SRalf Baechle	depends on EXPERIMENTAL
4985e83d430SRalf Baechle	select BOOT_ELF32
4995e83d430SRalf Baechle	select DMA_COHERENT
5005e83d430SRalf Baechle	select SIBYTE_BCM1125
5015e83d430SRalf Baechle	select SWAP_IO_SPACE
5027cf8053bSRalf Baechle	select SYS_HAS_CPU_SB1
5035e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
5045e83d430SRalf Baechle	select SYS_SUPPORTS_HIGHMEM
5055e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
5065e83d430SRalf Baechle
507ade299d8SYoichi Yuasaconfig SIBYTE_RHONE
508ade299d8SYoichi Yuasa	bool "Sibyte BCM91125E-Rhone"
509ade299d8SYoichi Yuasa	depends on EXPERIMENTAL
510ade299d8SYoichi Yuasa	select BOOT_ELF32
511ade299d8SYoichi Yuasa	select DMA_COHERENT
512ade299d8SYoichi Yuasa	select SIBYTE_BCM1125H
513ade299d8SYoichi Yuasa	select SWAP_IO_SPACE
514ade299d8SYoichi Yuasa	select SYS_HAS_CPU_SB1
515ade299d8SYoichi Yuasa	select SYS_SUPPORTS_BIG_ENDIAN
516ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
517ade299d8SYoichi Yuasa
518ade299d8SYoichi Yuasaconfig SIBYTE_SWARM
519ade299d8SYoichi Yuasa	bool "Sibyte BCM91250A-SWARM"
520ade299d8SYoichi Yuasa	select BOOT_ELF32
521ade299d8SYoichi Yuasa	select DMA_COHERENT
522fcf3ca4cSSebastian Andrzej Siewior	select HAVE_PATA_PLATFORM
523ade299d8SYoichi Yuasa	select NR_CPUS_DEFAULT_2
524ade299d8SYoichi Yuasa	select SIBYTE_SB1250
525ade299d8SYoichi Yuasa	select SWAP_IO_SPACE
526ade299d8SYoichi Yuasa	select SYS_HAS_CPU_SB1
527ade299d8SYoichi Yuasa	select SYS_SUPPORTS_BIG_ENDIAN
528ade299d8SYoichi Yuasa	select SYS_SUPPORTS_HIGHMEM
529ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
530cce335aeSRalf Baechle	select ZONE_DMA32 if 64BIT
531ade299d8SYoichi Yuasa
532ade299d8SYoichi Yuasaconfig SIBYTE_LITTLESUR
533ade299d8SYoichi Yuasa	bool "Sibyte BCM91250C2-LittleSur"
534ade299d8SYoichi Yuasa	depends on EXPERIMENTAL
535ade299d8SYoichi Yuasa	select BOOT_ELF32
536ade299d8SYoichi Yuasa	select DMA_COHERENT
537fcf3ca4cSSebastian Andrzej Siewior	select HAVE_PATA_PLATFORM
538ade299d8SYoichi Yuasa	select NR_CPUS_DEFAULT_2
539ade299d8SYoichi Yuasa	select SIBYTE_SB1250
540ade299d8SYoichi Yuasa	select SWAP_IO_SPACE
541ade299d8SYoichi Yuasa	select SYS_HAS_CPU_SB1
542ade299d8SYoichi Yuasa	select SYS_SUPPORTS_BIG_ENDIAN
543ade299d8SYoichi Yuasa	select SYS_SUPPORTS_HIGHMEM
544ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
545ade299d8SYoichi Yuasa
546ade299d8SYoichi Yuasaconfig SIBYTE_SENTOSA
547ade299d8SYoichi Yuasa	bool "Sibyte BCM91250E-Sentosa"
548ade299d8SYoichi Yuasa	depends on EXPERIMENTAL
549ade299d8SYoichi Yuasa	select BOOT_ELF32
550ade299d8SYoichi Yuasa	select DMA_COHERENT
551ade299d8SYoichi Yuasa	select NR_CPUS_DEFAULT_2
552ade299d8SYoichi Yuasa	select SIBYTE_SB1250
553ade299d8SYoichi Yuasa	select SWAP_IO_SPACE
554ade299d8SYoichi Yuasa	select SYS_HAS_CPU_SB1
555ade299d8SYoichi Yuasa	select SYS_SUPPORTS_BIG_ENDIAN
556ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
557ade299d8SYoichi Yuasa
558ade299d8SYoichi Yuasaconfig SIBYTE_BIGSUR
559ade299d8SYoichi Yuasa	bool "Sibyte BCM91480B-BigSur"
560ade299d8SYoichi Yuasa	select BOOT_ELF32
561ade299d8SYoichi Yuasa	select DMA_COHERENT
562ade299d8SYoichi Yuasa	select NR_CPUS_DEFAULT_4
563ade299d8SYoichi Yuasa	select SIBYTE_BCM1x80
564ade299d8SYoichi Yuasa	select SWAP_IO_SPACE
565ade299d8SYoichi Yuasa	select SYS_HAS_CPU_SB1
566ade299d8SYoichi Yuasa	select SYS_SUPPORTS_BIG_ENDIAN
567651194f8SRalf Baechle	select SYS_SUPPORTS_HIGHMEM
568ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
569cce335aeSRalf Baechle	select ZONE_DMA32 if 64BIT
570ade299d8SYoichi Yuasa
57114b36af4SThomas Bogendoerferconfig SNI_RM
57214b36af4SThomas Bogendoerfer	bool "SNI RM200/300/400"
5734a0312fcSThomas Bogendoerfer	select ARC if CPU_LITTLE_ENDIAN
5744a0312fcSThomas Bogendoerfer	select ARC32 if CPU_LITTLE_ENDIAN
575231a35d3SThomas Bogendoerfer	select SNIPROM if CPU_BIG_ENDIAN
5765e83d430SRalf Baechle	select ARCH_MAY_HAVE_PC_FDC
5775e83d430SRalf Baechle	select BOOT_ELF32
57842f77542SRalf Baechle	select CEVT_R4K
579940f6b48SRalf Baechle	select CSRC_R4K
580e2defae5SThomas Bogendoerfer	select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
5815e83d430SRalf Baechle	select DMA_NONCOHERENT
5825e83d430SRalf Baechle	select GENERIC_ISA_DMA
5835e83d430SRalf Baechle	select HW_HAS_EISA
5845e83d430SRalf Baechle	select HW_HAS_PCI
585c066a32aSThomas Bogendoerfer	select IRQ_CPU
586d865bea4SRalf Baechle	select I8253
5875e83d430SRalf Baechle	select I8259
5885e83d430SRalf Baechle	select ISA
5894a0312fcSThomas Bogendoerfer	select SWAP_IO_SPACE if CPU_BIG_ENDIAN
5907cf8053bSRalf Baechle	select SYS_HAS_CPU_R4X00
5914a0312fcSThomas Bogendoerfer	select SYS_HAS_CPU_R5000
592c066a32aSThomas Bogendoerfer	select SYS_HAS_CPU_R10000
5934a0312fcSThomas Bogendoerfer	select R5000_CPU_SCACHE
59436a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
595ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
5965e83d430SRalf Baechle	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
5974a0312fcSThomas Bogendoerfer	select SYS_SUPPORTS_BIG_ENDIAN
5985e83d430SRalf Baechle	select SYS_SUPPORTS_HIGHMEM
5995e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
6001da177e4SLinus Torvalds	help
60114b36af4SThomas Bogendoerfer	  The SNI RM200/300/400 are MIPS-based machines manufactured by
60214b36af4SThomas Bogendoerfer	  Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
6035e83d430SRalf Baechle	  Technology and now in turn merged with Fujitsu.  Say Y here to
6045e83d430SRalf Baechle	  support this machine type.
6051da177e4SLinus Torvalds
606edcaf1a6SAtsushi Nemotoconfig MACH_TX39XX
607edcaf1a6SAtsushi Nemoto	bool "Toshiba TX39 series based machines"
6085e83d430SRalf Baechle
609edcaf1a6SAtsushi Nemotoconfig MACH_TX49XX
610edcaf1a6SAtsushi Nemoto	bool "Toshiba TX49 series based machines"
61123fbee9dSRalf Baechle
61273b4390fSRalf Baechleconfig MIKROTIK_RB532
61373b4390fSRalf Baechle	bool "Mikrotik RB532 boards"
61473b4390fSRalf Baechle	select CEVT_R4K
61573b4390fSRalf Baechle	select CSRC_R4K
61673b4390fSRalf Baechle	select DMA_NONCOHERENT
61773b4390fSRalf Baechle	select HW_HAS_PCI
61873b4390fSRalf Baechle	select IRQ_CPU
61973b4390fSRalf Baechle	select SYS_HAS_CPU_MIPS32_R1
62073b4390fSRalf Baechle	select SYS_SUPPORTS_32BIT_KERNEL
62173b4390fSRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
62273b4390fSRalf Baechle	select SWAP_IO_SPACE
62373b4390fSRalf Baechle	select BOOT_RAW
624d888e25bSFlorian Fainelli	select ARCH_REQUIRE_GPIOLIB
62573b4390fSRalf Baechle	help
62673b4390fSRalf Baechle	  Support the Mikrotik(tm) RouterBoard 532 series,
62773b4390fSRalf Baechle	  based on the IDT RC32434 SoC.
62873b4390fSRalf Baechle
629ade299d8SYoichi Yuasaconfig WR_PPMC
630ade299d8SYoichi Yuasa	bool "Wind River PPMC board"
63142f77542SRalf Baechle	select CEVT_R4K
632940f6b48SRalf Baechle	select CSRC_R4K
633ade299d8SYoichi Yuasa	select IRQ_CPU
634ade299d8SYoichi Yuasa	select BOOT_ELF32
635ade299d8SYoichi Yuasa	select DMA_NONCOHERENT
636ade299d8SYoichi Yuasa	select HW_HAS_PCI
637ade299d8SYoichi Yuasa	select PCI_GT64XXX_PCI0
638ade299d8SYoichi Yuasa	select SWAP_IO_SPACE
639ade299d8SYoichi Yuasa	select SYS_HAS_CPU_MIPS32_R1
640ade299d8SYoichi Yuasa	select SYS_HAS_CPU_MIPS32_R2
641ade299d8SYoichi Yuasa	select SYS_HAS_CPU_MIPS64_R1
642ade299d8SYoichi Yuasa	select SYS_HAS_CPU_NEVADA
643ade299d8SYoichi Yuasa	select SYS_HAS_CPU_RM7000
644ade299d8SYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
645ade299d8SYoichi Yuasa	select SYS_SUPPORTS_64BIT_KERNEL
646ade299d8SYoichi Yuasa	select SYS_SUPPORTS_BIG_ENDIAN
647ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
648ade299d8SYoichi Yuasa	help
649ade299d8SYoichi Yuasa	  This enables support for the Wind River MIPS32 4KC PPMC evaluation
650ade299d8SYoichi Yuasa	  board, which is based on GT64120 bridge chip.
651ade299d8SYoichi Yuasa
652a86c7f72SDavid Daneyconfig CAVIUM_OCTEON_SIMULATOR
653c9d89d97SYoichi Yuasa	bool "Cavium Networks Octeon Simulator"
654a86c7f72SDavid Daney	select CEVT_R4K
655a86c7f72SDavid Daney	select 64BIT_PHYS_ADDR
656a86c7f72SDavid Daney	select DMA_COHERENT
657a86c7f72SDavid Daney	select SYS_SUPPORTS_64BIT_KERNEL
658a86c7f72SDavid Daney	select SYS_SUPPORTS_BIG_ENDIAN
659a86c7f72SDavid Daney	select SYS_SUPPORTS_HIGHMEM
660773cb77dSRalf Baechle	select SYS_SUPPORTS_HOTPLUG_CPU
6615e683389SDavid Daney	select SYS_HAS_CPU_CAVIUM_OCTEON
662a86c7f72SDavid Daney	help
663a86c7f72SDavid Daney	  The Octeon simulator is software performance model of the Cavium
664a86c7f72SDavid Daney	  Octeon Processor. It supports simulating Octeon processors on x86
665a86c7f72SDavid Daney	  hardware.
666a86c7f72SDavid Daney
667a86c7f72SDavid Daneyconfig CAVIUM_OCTEON_REFERENCE_BOARD
668c9d89d97SYoichi Yuasa	bool "Cavium Networks Octeon reference board"
669a86c7f72SDavid Daney	select CEVT_R4K
670a86c7f72SDavid Daney	select 64BIT_PHYS_ADDR
671a86c7f72SDavid Daney	select DMA_COHERENT
672a86c7f72SDavid Daney	select SYS_SUPPORTS_64BIT_KERNEL
673a86c7f72SDavid Daney	select SYS_SUPPORTS_BIG_ENDIAN
674a86c7f72SDavid Daney	select SYS_SUPPORTS_HIGHMEM
675773cb77dSRalf Baechle	select SYS_SUPPORTS_HOTPLUG_CPU
676a86c7f72SDavid Daney	select SYS_HAS_EARLY_PRINTK
6775e683389SDavid Daney	select SYS_HAS_CPU_CAVIUM_OCTEON
678a86c7f72SDavid Daney	select SWAP_IO_SPACE
679e8635b48SDavid Daney	select HW_HAS_PCI
680e8635b48SDavid Daney	select ARCH_SUPPORTS_MSI
681a86c7f72SDavid Daney	help
682a86c7f72SDavid Daney	  This option supports all of the Octeon reference boards from Cavium
683a86c7f72SDavid Daney	  Networks. It builds a kernel that dynamically determines the Octeon
684a86c7f72SDavid Daney	  CPU type and supports all known board reference implementations.
685a86c7f72SDavid Daney	  Some of the supported boards are:
686a86c7f72SDavid Daney		EBT3000
687a86c7f72SDavid Daney		EBH3000
688a86c7f72SDavid Daney		EBH3100
689a86c7f72SDavid Daney		Thunder
690a86c7f72SDavid Daney		Kodama
691a86c7f72SDavid Daney		Hikari
692a86c7f72SDavid Daney	  Say Y here for most Octeon reference boards.
693a86c7f72SDavid Daney
6941da177e4SLinus Torvaldsendchoice
6951da177e4SLinus Torvalds
696e8c7c482SRalf Baechlesource "arch/mips/alchemy/Kconfig"
697e7300d04SMaxime Bizonsource "arch/mips/bcm63xx/Kconfig"
6985e83d430SRalf Baechlesource "arch/mips/jazz/Kconfig"
6991f21d2bdSBrian Murphysource "arch/mips/lasat/Kconfig"
7005e83d430SRalf Baechlesource "arch/mips/pmc-sierra/Kconfig"
701a3a0f8c8SDavid VomLehnsource "arch/mips/powertv/Kconfig"
70229c48699SRalf Baechlesource "arch/mips/sgi-ip27/Kconfig"
70338b18f72SRalf Baechlesource "arch/mips/sibyte/Kconfig"
70422b1d707SAtsushi Nemotosource "arch/mips/txx9/Kconfig"
7055e83d430SRalf Baechlesource "arch/mips/vr41xx/Kconfig"
706a86c7f72SDavid Daneysource "arch/mips/cavium-octeon/Kconfig"
70785749d24SWu Zhangjinsource "arch/mips/loongson/Kconfig"
70838b18f72SRalf Baechle
7095e83d430SRalf Baechleendmenu
7105e83d430SRalf Baechle
7111da177e4SLinus Torvaldsconfig RWSEM_GENERIC_SPINLOCK
7121da177e4SLinus Torvalds	bool
7131da177e4SLinus Torvalds	default y
7141da177e4SLinus Torvalds
7151da177e4SLinus Torvaldsconfig RWSEM_XCHGADD_ALGORITHM
7161da177e4SLinus Torvalds	bool
7171da177e4SLinus Torvalds
718f0d1b0b3SDavid Howellsconfig ARCH_HAS_ILOG2_U32
719f0d1b0b3SDavid Howells	bool
720f0d1b0b3SDavid Howells	default n
721f0d1b0b3SDavid Howells
722f0d1b0b3SDavid Howellsconfig ARCH_HAS_ILOG2_U64
723f0d1b0b3SDavid Howells	bool
724f0d1b0b3SDavid Howells	default n
725f0d1b0b3SDavid Howells
72600a58253SRalf Baechleconfig ARCH_SUPPORTS_OPROFILE
72700a58253SRalf Baechle	bool
72800a58253SRalf Baechle	default y if !MIPS_MT_SMTC
72900a58253SRalf Baechle
7303c9ee7efSAkinobu Mitaconfig GENERIC_FIND_NEXT_BIT
7313c9ee7efSAkinobu Mita	bool
7323c9ee7efSAkinobu Mita	default y
7333c9ee7efSAkinobu Mita
7343c9ee7efSAkinobu Mitaconfig GENERIC_HWEIGHT
7353c9ee7efSAkinobu Mita	bool
7363c9ee7efSAkinobu Mita	default y
7373c9ee7efSAkinobu Mita
7381da177e4SLinus Torvaldsconfig GENERIC_CALIBRATE_DELAY
7391da177e4SLinus Torvalds	bool
7401da177e4SLinus Torvalds	default y
7411da177e4SLinus Torvalds
7427bcf7717SRalf Baechleconfig GENERIC_CLOCKEVENTS
7437bcf7717SRalf Baechle	bool
7447bcf7717SRalf Baechle	default y
7457bcf7717SRalf Baechle
7468db02010SRalf Baechleconfig GENERIC_TIME
7478db02010SRalf Baechle	bool
7488db02010SRalf Baechle	default y
7498db02010SRalf Baechle
750f5ff0a28SRalf Baechleconfig GENERIC_CMOS_UPDATE
751f5ff0a28SRalf Baechle	bool
752f5ff0a28SRalf Baechle	default y
753f5ff0a28SRalf Baechle
754ae1e9130SIngo Molnarconfig SCHED_OMIT_FRAME_POINTER
7551cc89038SAtsushi Nemoto	bool
7561cc89038SAtsushi Nemoto	default y
7571cc89038SAtsushi Nemoto
758e77c232cSFranck Bui-Huuconfig GENERIC_HARDIRQS_NO__DO_IRQ
759c87e0909SRalf Baechle	def_bool y
760e77c232cSFranck Bui-Huu
7611da177e4SLinus Torvalds#
7621da177e4SLinus Torvalds# Select some configuration options automatically based on user selections.
7631da177e4SLinus Torvalds#
7641da177e4SLinus Torvaldsconfig ARC
7651da177e4SLinus Torvalds	bool
7661da177e4SLinus Torvalds
76761ed242dSRalf Baechleconfig ARCH_MAY_HAVE_PC_FDC
76861ed242dSRalf Baechle	bool
76961ed242dSRalf Baechle
7709267a30dSMarc St-Jeanconfig BOOT_RAW
7719267a30dSMarc St-Jean	bool
7729267a30dSMarc St-Jean
773217dd11eSRalf Baechleconfig CEVT_BCM1480
774217dd11eSRalf Baechle	bool
775217dd11eSRalf Baechle
7766457d9fcSYoichi Yuasaconfig CEVT_DS1287
7776457d9fcSYoichi Yuasa	bool
7786457d9fcSYoichi Yuasa
7791097c6acSYoichi Yuasaconfig CEVT_GT641XX
7801097c6acSYoichi Yuasa	bool
7811097c6acSYoichi Yuasa
782779e7d41SManuel Laussconfig CEVT_R4K_LIB
783779e7d41SManuel Lauss	bool
784779e7d41SManuel Lauss
78542f77542SRalf Baechleconfig CEVT_R4K
786779e7d41SManuel Lauss	select CEVT_R4K_LIB
78742f77542SRalf Baechle	bool
78842f77542SRalf Baechle
789217dd11eSRalf Baechleconfig CEVT_SB1250
790217dd11eSRalf Baechle	bool
791217dd11eSRalf Baechle
792229f773eSAtsushi Nemotoconfig CEVT_TXX9
793229f773eSAtsushi Nemoto	bool
794229f773eSAtsushi Nemoto
795217dd11eSRalf Baechleconfig CSRC_BCM1480
796217dd11eSRalf Baechle	bool
797217dd11eSRalf Baechle
7984247417dSYoichi Yuasaconfig CSRC_IOASIC
7994247417dSYoichi Yuasa	bool
8004247417dSYoichi Yuasa
801a3a0f8c8SDavid VomLehnconfig CSRC_POWERTV
802a3a0f8c8SDavid VomLehn	bool
803a3a0f8c8SDavid VomLehn
804779e7d41SManuel Laussconfig CSRC_R4K_LIB
805779e7d41SManuel Lauss	bool
806779e7d41SManuel Lauss
807940f6b48SRalf Baechleconfig CSRC_R4K
808779e7d41SManuel Lauss	select CSRC_R4K_LIB
809940f6b48SRalf Baechle	bool
810940f6b48SRalf Baechle
811217dd11eSRalf Baechleconfig CSRC_SB1250
812217dd11eSRalf Baechle	bool
813217dd11eSRalf Baechle
814a9aec7feSAtsushi Nemotoconfig GPIO_TXX9
815a9aec7feSAtsushi Nemoto	select GENERIC_GPIO
8167444a72eSMichael Buesch	select ARCH_REQUIRE_GPIOLIB
817a9aec7feSAtsushi Nemoto	bool
818a9aec7feSAtsushi Nemoto
819df78b5c8SAurelien Jarnoconfig CFE
820df78b5c8SAurelien Jarno	bool
821df78b5c8SAurelien Jarno
8221da177e4SLinus Torvaldsconfig DMA_COHERENT
8231da177e4SLinus Torvalds	bool
8241da177e4SLinus Torvalds
8251da177e4SLinus Torvaldsconfig DMA_NONCOHERENT
8261da177e4SLinus Torvalds	bool
827e1e02b32SFUJITA Tomonori	select NEED_DMA_MAP_STATE
8284ce588cdSRalf Baechle
829e1e02b32SFUJITA Tomonoriconfig NEED_DMA_MAP_STATE
8304ce588cdSRalf Baechle	bool
8311da177e4SLinus Torvalds
83236a88530SRalf Baechleconfig SYS_HAS_EARLY_PRINTK
8331da177e4SLinus Torvalds	bool
8341da177e4SLinus Torvalds
835dbb74540SRalf Baechleconfig HOTPLUG_CPU
8361b2bc75cSRalf Baechle	bool "Support for hot-pluggable CPUs"
8371b2bc75cSRalf Baechle	depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU
8381b2bc75cSRalf Baechle	help
8391b2bc75cSRalf Baechle	  Say Y here to allow turning CPUs off and on. CPUs can be
8401b2bc75cSRalf Baechle	  controlled through /sys/devices/system/cpu.
8411b2bc75cSRalf Baechle	  (Note: power management support will enable this option
8421b2bc75cSRalf Baechle	    automatically on SMP systems. )
8431b2bc75cSRalf Baechle	  Say N if you want to disable CPU hotplug.
8441b2bc75cSRalf Baechle
8451b2bc75cSRalf Baechleconfig SYS_SUPPORTS_HOTPLUG_CPU
846dbb74540SRalf Baechle	bool
847dbb74540SRalf Baechle
8481da177e4SLinus Torvaldsconfig I8259
8491da177e4SLinus Torvalds	bool
8501da177e4SLinus Torvalds
8511da177e4SLinus Torvaldsconfig MIPS_BONITO64
8521da177e4SLinus Torvalds	bool
8531da177e4SLinus Torvalds
8541da177e4SLinus Torvaldsconfig MIPS_MSC
8551da177e4SLinus Torvalds	bool
8561da177e4SLinus Torvalds
8571f21d2bdSBrian Murphyconfig MIPS_NILE4
8581f21d2bdSBrian Murphy	bool
8591f21d2bdSBrian Murphy
8601da177e4SLinus Torvaldsconfig MIPS_DISABLE_OBSOLETE_IDE
8611da177e4SLinus Torvalds	bool
8621da177e4SLinus Torvalds
86339b8d525SRalf Baechleconfig SYNC_R4K
86439b8d525SRalf Baechle	bool
86539b8d525SRalf Baechle
866d388d685SMaciej W. Rozyckiconfig NO_IOPORT
867d388d685SMaciej W. Rozycki	def_bool n
868d388d685SMaciej W. Rozycki
8698313da30SRalf Baechleconfig GENERIC_ISA_DMA
8708313da30SRalf Baechle	bool
8718313da30SRalf Baechle	select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
8728313da30SRalf Baechle
873aa414dffSRalf Baechleconfig GENERIC_ISA_DMA_SUPPORT_BROKEN
874aa414dffSRalf Baechle	bool
8758313da30SRalf Baechle	select GENERIC_ISA_DMA
876aa414dffSRalf Baechle
87709663335SYoichi Yuasaconfig GENERIC_GPIO
87809663335SYoichi Yuasa	bool
87909663335SYoichi Yuasa
8805e83d430SRalf Baechle#
8813cb2fcccSMatt LaPlante# Endianess selection.  Sufficiently obscure so many users don't know what to
8825e83d430SRalf Baechle# answer,so we try hard to limit the available choices.  Also the use of a
8835e83d430SRalf Baechle# choice statement should be more obvious to the user.
8845e83d430SRalf Baechle#
8855e83d430SRalf Baechlechoice
8865e83d430SRalf Baechle	prompt "Endianess selection"
8871da177e4SLinus Torvalds	help
8881da177e4SLinus Torvalds	  Some MIPS machines can be configured for either little or big endian
8895e83d430SRalf Baechle	  byte order. These modes require different kernels and a different
8903cb2fcccSMatt LaPlante	  Linux distribution.  In general there is one preferred byteorder for a
8915e83d430SRalf Baechle	  particular system but some systems are just as commonly used in the
8923dde6ad8SDavid Sterba	  one or the other endianness.
8935e83d430SRalf Baechle
8945e83d430SRalf Baechleconfig CPU_BIG_ENDIAN
8955e83d430SRalf Baechle	bool "Big endian"
8965e83d430SRalf Baechle	depends on SYS_SUPPORTS_BIG_ENDIAN
8975e83d430SRalf Baechle
8985e83d430SRalf Baechleconfig CPU_LITTLE_ENDIAN
8995e83d430SRalf Baechle	bool "Little endian"
9005e83d430SRalf Baechle	depends on SYS_SUPPORTS_LITTLE_ENDIAN
9015e83d430SRalf Baechle	help
9025e83d430SRalf Baechle
9035e83d430SRalf Baechleendchoice
9045e83d430SRalf Baechle
9052116245eSRalf Baechleconfig SYS_SUPPORTS_APM_EMULATION
9062116245eSRalf Baechle	bool
9072116245eSRalf Baechle
9085e83d430SRalf Baechleconfig SYS_SUPPORTS_BIG_ENDIAN
9095e83d430SRalf Baechle	bool
9105e83d430SRalf Baechle
9115e83d430SRalf Baechleconfig SYS_SUPPORTS_LITTLE_ENDIAN
9125e83d430SRalf Baechle	bool
9131da177e4SLinus Torvalds
9149cffd154SDavid Daneyconfig SYS_SUPPORTS_HUGETLBFS
9159cffd154SDavid Daney	bool
9169cffd154SDavid Daney	depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
9179cffd154SDavid Daney	default y
9189cffd154SDavid Daney
9191da177e4SLinus Torvaldsconfig IRQ_CPU
9201da177e4SLinus Torvalds	bool
9211da177e4SLinus Torvalds
9221da177e4SLinus Torvaldsconfig IRQ_CPU_RM7K
9231da177e4SLinus Torvalds	bool
9241da177e4SLinus Torvalds
9255e83d430SRalf Baechleconfig IRQ_CPU_RM9K
9265e83d430SRalf Baechle	bool
9275e83d430SRalf Baechle
9289267a30dSMarc St-Jeanconfig IRQ_MSP_SLP
9299267a30dSMarc St-Jean	bool
9309267a30dSMarc St-Jean
9319267a30dSMarc St-Jeanconfig IRQ_MSP_CIC
9329267a30dSMarc St-Jean	bool
9339267a30dSMarc St-Jean
9348420fd00SAtsushi Nemotoconfig IRQ_TXX9
9358420fd00SAtsushi Nemoto	bool
9368420fd00SAtsushi Nemoto
937d5ab1a69SYoichi Yuasaconfig IRQ_GT641XX
938d5ab1a69SYoichi Yuasa	bool
939d5ab1a69SYoichi Yuasa
94039b8d525SRalf Baechleconfig IRQ_GIC
94139b8d525SRalf Baechle	bool
94239b8d525SRalf Baechle
943a86c7f72SDavid Daneyconfig IRQ_CPU_OCTEON
944a86c7f72SDavid Daney	bool
945a86c7f72SDavid Daney
9461da177e4SLinus Torvaldsconfig MIPS_BOARDS_GEN
9471da177e4SLinus Torvalds	bool
9481da177e4SLinus Torvalds
949252161ecSYoichi Yuasaconfig PCI_GT64XXX_PCI0
9501da177e4SLinus Torvalds	bool
9511da177e4SLinus Torvalds
9529267a30dSMarc St-Jeanconfig NO_EXCEPT_FILL
9539267a30dSMarc St-Jean	bool
9549267a30dSMarc St-Jean
955663c3d90Sthomas@koeller.dyndns.orgconfig MIPS_RM9122
956663c3d90Sthomas@koeller.dyndns.org	bool
957663c3d90Sthomas@koeller.dyndns.org	select SERIAL_RM9000
958663c3d90Sthomas@koeller.dyndns.org
959a83860c2SRalf Baechleconfig SOC_EMMA2RH
960a83860c2SRalf Baechle	bool
961a83860c2SRalf Baechle	select CEVT_R4K
962a83860c2SRalf Baechle	select CSRC_R4K
963a83860c2SRalf Baechle	select DMA_NONCOHERENT
964a83860c2SRalf Baechle	select IRQ_CPU
965a83860c2SRalf Baechle	select SWAP_IO_SPACE
966a83860c2SRalf Baechle	select SYS_HAS_CPU_R5500
967a83860c2SRalf Baechle	select SYS_SUPPORTS_32BIT_KERNEL
968a83860c2SRalf Baechle	select SYS_SUPPORTS_64BIT_KERNEL
969a83860c2SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
970a83860c2SRalf Baechle
971edb6310aSDaniel Lairdconfig SOC_PNX833X
972edb6310aSDaniel Laird	bool
973edb6310aSDaniel Laird	select CEVT_R4K
974edb6310aSDaniel Laird	select CSRC_R4K
975edb6310aSDaniel Laird	select IRQ_CPU
976edb6310aSDaniel Laird	select DMA_NONCOHERENT
977edb6310aSDaniel Laird	select SYS_HAS_CPU_MIPS32_R2
978edb6310aSDaniel Laird	select SYS_SUPPORTS_32BIT_KERNEL
979edb6310aSDaniel Laird	select SYS_SUPPORTS_LITTLE_ENDIAN
980edb6310aSDaniel Laird	select SYS_SUPPORTS_BIG_ENDIAN
981edb6310aSDaniel Laird	select GENERIC_GPIO
982edb6310aSDaniel Laird	select CPU_MIPSR2_IRQ_VI
983edb6310aSDaniel Laird
984edb6310aSDaniel Lairdconfig SOC_PNX8335
985edb6310aSDaniel Laird	bool
986edb6310aSDaniel Laird	select SOC_PNX833X
987edb6310aSDaniel Laird
988bdf21b18SPete Popovconfig PNX8550
989bdf21b18SPete Popov	bool
990bdf21b18SPete Popov	select SOC_PNX8550
991bdf21b18SPete Popov
992bdf21b18SPete Popovconfig SOC_PNX8550
993bdf21b18SPete Popov	bool
994bdf21b18SPete Popov	select DMA_NONCOHERENT
995bdf21b18SPete Popov	select HW_HAS_PCI
996b8c2a77cSRalf Baechle	select SYS_HAS_CPU_MIPS32_R1
99736a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
9987cf8053bSRalf Baechle	select SYS_SUPPORTS_32BIT_KERNEL
9994ead1681SFlorian Fainelli	select GENERIC_GPIO
1000bdf21b18SPete Popov
10011da177e4SLinus Torvaldsconfig SWAP_IO_SPACE
10021da177e4SLinus Torvalds	bool
10031da177e4SLinus Torvalds
1004663c3d90Sthomas@koeller.dyndns.orgconfig SERIAL_RM9000
1005663c3d90Sthomas@koeller.dyndns.org	bool
1006663c3d90Sthomas@koeller.dyndns.org
1007e2defae5SThomas Bogendoerferconfig SGI_HAS_INDYDOG
1008e2defae5SThomas Bogendoerfer	bool
1009e2defae5SThomas Bogendoerfer
10105b438c44SThomas Bogendoerferconfig SGI_HAS_HAL2
10115b438c44SThomas Bogendoerfer	bool
10125b438c44SThomas Bogendoerfer
1013e2defae5SThomas Bogendoerferconfig SGI_HAS_SEEQ
1014e2defae5SThomas Bogendoerfer	bool
1015e2defae5SThomas Bogendoerfer
1016e2defae5SThomas Bogendoerferconfig SGI_HAS_WD93
1017e2defae5SThomas Bogendoerfer	bool
1018e2defae5SThomas Bogendoerfer
1019e2defae5SThomas Bogendoerferconfig SGI_HAS_ZILOG
1020e2defae5SThomas Bogendoerfer	bool
1021e2defae5SThomas Bogendoerfer
1022e2defae5SThomas Bogendoerferconfig SGI_HAS_I8042
1023e2defae5SThomas Bogendoerfer	bool
1024e2defae5SThomas Bogendoerfer
1025e2defae5SThomas Bogendoerferconfig DEFAULT_SGI_PARTITION
1026e2defae5SThomas Bogendoerfer	bool
1027e2defae5SThomas Bogendoerfer
10285e83d430SRalf Baechleconfig ARC32
10295e83d430SRalf Baechle	bool
10305e83d430SRalf Baechle
1031231a35d3SThomas Bogendoerferconfig SNIPROM
1032231a35d3SThomas Bogendoerfer	bool
1033231a35d3SThomas Bogendoerfer
10341da177e4SLinus Torvaldsconfig BOOT_ELF32
10351da177e4SLinus Torvalds	bool
10361da177e4SLinus Torvalds
10371da177e4SLinus Torvaldsconfig MIPS_L1_CACHE_SHIFT
10381da177e4SLinus Torvalds	int
1039c7088755SRalf Baechle	default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL
10400db2b74eSRalf Baechle	default "6" if MIPS_CPU_SCACHE
1041a86c7f72SDavid Daney	default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON
10421da177e4SLinus Torvalds	default "5"
10431da177e4SLinus Torvalds
10441da177e4SLinus Torvaldsconfig HAVE_STD_PC_SERIAL_PORT
10451da177e4SLinus Torvalds	bool
10461da177e4SLinus Torvalds
10471da177e4SLinus Torvaldsconfig ARC_CONSOLE
10481da177e4SLinus Torvalds	bool "ARC console support"
1049e2defae5SThomas Bogendoerfer	depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
10501da177e4SLinus Torvalds
10511da177e4SLinus Torvaldsconfig ARC_MEMORY
10521da177e4SLinus Torvalds	bool
105314b36af4SThomas Bogendoerfer	depends on MACH_JAZZ || SNI_RM || SGI_IP32
10541da177e4SLinus Torvalds	default y
10551da177e4SLinus Torvalds
10561da177e4SLinus Torvaldsconfig ARC_PROMLIB
10571da177e4SLinus Torvalds	bool
1058e2defae5SThomas Bogendoerfer	depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
10591da177e4SLinus Torvalds	default y
10601da177e4SLinus Torvalds
10611da177e4SLinus Torvaldsconfig ARC64
10621da177e4SLinus Torvalds	bool
10631da177e4SLinus Torvalds
10641da177e4SLinus Torvaldsconfig BOOT_ELF64
10651da177e4SLinus Torvalds	bool
10661da177e4SLinus Torvalds
10671da177e4SLinus Torvaldsmenu "CPU selection"
10681da177e4SLinus Torvalds
10691da177e4SLinus Torvaldschoice
10701da177e4SLinus Torvalds	prompt "CPU type"
10711da177e4SLinus Torvalds	default CPU_R4X00
10721da177e4SLinus Torvalds
10733702bba5SWu Zhangjinconfig CPU_LOONGSON2E
10743702bba5SWu Zhangjin	bool "Loongson 2E"
10753702bba5SWu Zhangjin	depends on SYS_HAS_CPU_LOONGSON2E
10763702bba5SWu Zhangjin	select CPU_LOONGSON2
10772a21c730SFuxin Zhang	help
10782a21c730SFuxin Zhang	  The Loongson 2E processor implements the MIPS III instruction set
10792a21c730SFuxin Zhang	  with many extensions.
10802a21c730SFuxin Zhang
10816f7a251aSWu Zhangjin	  It has an internal FPGA northbridge, which is compatiable to
10826f7a251aSWu Zhangjin	  bonito64.
10836f7a251aSWu Zhangjin
10846f7a251aSWu Zhangjinconfig CPU_LOONGSON2F
10856f7a251aSWu Zhangjin	bool "Loongson 2F"
10866f7a251aSWu Zhangjin	depends on SYS_HAS_CPU_LOONGSON2F
10876f7a251aSWu Zhangjin	select CPU_LOONGSON2
1088c197da91SArnaud Patard	select GENERIC_GPIO
1089c197da91SArnaud Patard	select ARCH_REQUIRE_GPIOLIB
10906f7a251aSWu Zhangjin	help
10916f7a251aSWu Zhangjin	  The Loongson 2F processor implements the MIPS III instruction set
10926f7a251aSWu Zhangjin	  with many extensions.
10936f7a251aSWu Zhangjin
10946f7a251aSWu Zhangjin	  Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
10956f7a251aSWu Zhangjin	  have a similar programming interface with FPGA northbridge used in
10966f7a251aSWu Zhangjin	  Loongson2E.
10976f7a251aSWu Zhangjin
10986e760c8dSRalf Baechleconfig CPU_MIPS32_R1
10996e760c8dSRalf Baechle	bool "MIPS32 Release 1"
11007cf8053bSRalf Baechle	depends on SYS_HAS_CPU_MIPS32_R1
11016e760c8dSRalf Baechle	select CPU_HAS_PREFETCH
1102797798c1SRalf Baechle	select CPU_SUPPORTS_32BIT_KERNEL
1103ec28f306SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
11046e760c8dSRalf Baechle	help
11055e83d430SRalf Baechle	  Choose this option to build a kernel for release 1 or later of the
11061e5f1caaSRalf Baechle	  MIPS32 architecture.  Most modern embedded systems with a 32-bit
11071e5f1caaSRalf Baechle	  MIPS processor are based on a MIPS32 processor.  If you know the
11081e5f1caaSRalf Baechle	  specific type of processor in your system, choose those that one
11091e5f1caaSRalf Baechle	  otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
11101e5f1caaSRalf Baechle	  Release 2 of the MIPS32 architecture is available since several
11111e5f1caaSRalf Baechle	  years so chances are you even have a MIPS32 Release 2 processor
11121e5f1caaSRalf Baechle	  in which case you should choose CPU_MIPS32_R2 instead for better
11131e5f1caaSRalf Baechle	  performance.
11141e5f1caaSRalf Baechle
11151e5f1caaSRalf Baechleconfig CPU_MIPS32_R2
11161e5f1caaSRalf Baechle	bool "MIPS32 Release 2"
11177cf8053bSRalf Baechle	depends on SYS_HAS_CPU_MIPS32_R2
11181e5f1caaSRalf Baechle	select CPU_HAS_PREFETCH
1119797798c1SRalf Baechle	select CPU_SUPPORTS_32BIT_KERNEL
1120ec28f306SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
11211e5f1caaSRalf Baechle	help
11225e83d430SRalf Baechle	  Choose this option to build a kernel for release 2 or later of the
11236e760c8dSRalf Baechle	  MIPS32 architecture.  Most modern embedded systems with a 32-bit
11246e760c8dSRalf Baechle	  MIPS processor are based on a MIPS32 processor.  If you know the
11256e760c8dSRalf Baechle	  specific type of processor in your system, choose those that one
11266e760c8dSRalf Baechle	  otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
11271da177e4SLinus Torvalds
11286e760c8dSRalf Baechleconfig CPU_MIPS64_R1
11296e760c8dSRalf Baechle	bool "MIPS64 Release 1"
11307cf8053bSRalf Baechle	depends on SYS_HAS_CPU_MIPS64_R1
1131797798c1SRalf Baechle	select CPU_HAS_PREFETCH
1132ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1133ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
1134ec28f306SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
11359cffd154SDavid Daney	select CPU_SUPPORTS_HUGEPAGES
11366e760c8dSRalf Baechle	help
11376e760c8dSRalf Baechle	  Choose this option to build a kernel for release 1 or later of the
11386e760c8dSRalf Baechle	  MIPS64 architecture.  Many modern embedded systems with a 64-bit
11396e760c8dSRalf Baechle	  MIPS processor are based on a MIPS64 processor.  If you know the
11406e760c8dSRalf Baechle	  specific type of processor in your system, choose those that one
11416e760c8dSRalf Baechle	  otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
11421e5f1caaSRalf Baechle	  Release 2 of the MIPS64 architecture is available since several
11431e5f1caaSRalf Baechle	  years so chances are you even have a MIPS64 Release 2 processor
11441e5f1caaSRalf Baechle	  in which case you should choose CPU_MIPS64_R2 instead for better
11451e5f1caaSRalf Baechle	  performance.
11461e5f1caaSRalf Baechle
11471e5f1caaSRalf Baechleconfig CPU_MIPS64_R2
11481e5f1caaSRalf Baechle	bool "MIPS64 Release 2"
11497cf8053bSRalf Baechle	depends on SYS_HAS_CPU_MIPS64_R2
1150797798c1SRalf Baechle	select CPU_HAS_PREFETCH
11511e5f1caaSRalf Baechle	select CPU_SUPPORTS_32BIT_KERNEL
11521e5f1caaSRalf Baechle	select CPU_SUPPORTS_64BIT_KERNEL
1153ec28f306SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
11549cffd154SDavid Daney	select CPU_SUPPORTS_HUGEPAGES
11551e5f1caaSRalf Baechle	help
11561e5f1caaSRalf Baechle	  Choose this option to build a kernel for release 2 or later of the
11571e5f1caaSRalf Baechle	  MIPS64 architecture.  Many modern embedded systems with a 64-bit
11581e5f1caaSRalf Baechle	  MIPS processor are based on a MIPS64 processor.  If you know the
11591e5f1caaSRalf Baechle	  specific type of processor in your system, choose those that one
11601e5f1caaSRalf Baechle	  otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
11611da177e4SLinus Torvalds
11621da177e4SLinus Torvaldsconfig CPU_R3000
11631da177e4SLinus Torvalds	bool "R3000"
11647cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R3000
1165f7062ddbSRalf Baechle	select CPU_HAS_WB
1166ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1167797798c1SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
11681da177e4SLinus Torvalds	help
11691da177e4SLinus Torvalds	  Please make sure to pick the right CPU type. Linux/MIPS is not
11701da177e4SLinus Torvalds	  designed to be generic, i.e. Kernels compiled for R3000 CPUs will
11711da177e4SLinus Torvalds	  *not* work on R4000 machines and vice versa.  However, since most
11721da177e4SLinus Torvalds	  of the supported machines have an R4000 (or similar) CPU, R4x00
11731da177e4SLinus Torvalds	  might be a safe bet.  If the resulting kernel does not work,
11741da177e4SLinus Torvalds	  try to recompile with R3000.
11751da177e4SLinus Torvalds
11761da177e4SLinus Torvaldsconfig CPU_TX39XX
11771da177e4SLinus Torvalds	bool "R39XX"
11787cf8053bSRalf Baechle	depends on SYS_HAS_CPU_TX39XX
1179ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
11801da177e4SLinus Torvalds
11811da177e4SLinus Torvaldsconfig CPU_VR41XX
11821da177e4SLinus Torvalds	bool "R41xx"
11837cf8053bSRalf Baechle	depends on SYS_HAS_CPU_VR41XX
1184ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1185ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
11861da177e4SLinus Torvalds	help
11875e83d430SRalf Baechle	  The options selects support for the NEC VR4100 series of processors.
11881da177e4SLinus Torvalds	  Only choose this option if you have one of these processors as a
11891da177e4SLinus Torvalds	  kernel built with this option will not run on any other type of
11901da177e4SLinus Torvalds	  processor or vice versa.
11911da177e4SLinus Torvalds
11921da177e4SLinus Torvaldsconfig CPU_R4300
11931da177e4SLinus Torvalds	bool "R4300"
11947cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R4300
1195ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1196ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
11971da177e4SLinus Torvalds	help
11981da177e4SLinus Torvalds	  MIPS Technologies R4300-series processors.
11991da177e4SLinus Torvalds
12001da177e4SLinus Torvaldsconfig CPU_R4X00
12011da177e4SLinus Torvalds	bool "R4x00"
12027cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R4X00
1203ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1204ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
12051da177e4SLinus Torvalds	help
12061da177e4SLinus Torvalds	  MIPS Technologies R4000-series processors other than 4300, including
12071da177e4SLinus Torvalds	  the R4000, R4400, R4600, and 4700.
12081da177e4SLinus Torvalds
12091da177e4SLinus Torvaldsconfig CPU_TX49XX
12101da177e4SLinus Torvalds	bool "R49XX"
12117cf8053bSRalf Baechle	depends on SYS_HAS_CPU_TX49XX
1212de862b48SAtsushi Nemoto	select CPU_HAS_PREFETCH
1213ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1214ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
12151da177e4SLinus Torvalds
12161da177e4SLinus Torvaldsconfig CPU_R5000
12171da177e4SLinus Torvalds	bool "R5000"
12187cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R5000
1219ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1220ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
12211da177e4SLinus Torvalds	help
12221da177e4SLinus Torvalds	  MIPS Technologies R5000-series processors other than the Nevada.
12231da177e4SLinus Torvalds
12241da177e4SLinus Torvaldsconfig CPU_R5432
12251da177e4SLinus Torvalds	bool "R5432"
12267cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R5432
12275e83d430SRalf Baechle	select CPU_SUPPORTS_32BIT_KERNEL
12285e83d430SRalf Baechle	select CPU_SUPPORTS_64BIT_KERNEL
12291da177e4SLinus Torvalds
1230542c1020SShinya Kuribayashiconfig CPU_R5500
1231542c1020SShinya Kuribayashi	bool "R5500"
1232542c1020SShinya Kuribayashi	depends on SYS_HAS_CPU_R5500
1233542c1020SShinya Kuribayashi	select CPU_SUPPORTS_32BIT_KERNEL
1234542c1020SShinya Kuribayashi	select CPU_SUPPORTS_64BIT_KERNEL
12359cffd154SDavid Daney	select CPU_SUPPORTS_HUGEPAGES
1236542c1020SShinya Kuribayashi	help
1237542c1020SShinya Kuribayashi	  NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1238542c1020SShinya Kuribayashi	  instruction set.
1239542c1020SShinya Kuribayashi
12401da177e4SLinus Torvaldsconfig CPU_R6000
12411da177e4SLinus Torvalds	bool "R6000"
1242ed5ba2fbSYoichi Yuasa	depends on EXPERIMENTAL
12437cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R6000
1244ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
12451da177e4SLinus Torvalds	help
12461da177e4SLinus Torvalds	  MIPS Technologies R6000 and R6000A series processors.  Note these
1247c09b47d8SChris Dearman	  processors are extremely rare and the support for them is incomplete.
12481da177e4SLinus Torvalds
12491da177e4SLinus Torvaldsconfig CPU_NEVADA
12501da177e4SLinus Torvalds	bool "RM52xx"
12517cf8053bSRalf Baechle	depends on SYS_HAS_CPU_NEVADA
1252ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1253ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
12541da177e4SLinus Torvalds	help
12551da177e4SLinus Torvalds	  QED / PMC-Sierra RM52xx-series ("Nevada") processors.
12561da177e4SLinus Torvalds
12571da177e4SLinus Torvaldsconfig CPU_R8000
12581da177e4SLinus Torvalds	bool "R8000"
1259ed5ba2fbSYoichi Yuasa	depends on EXPERIMENTAL
12607cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R8000
12615e83d430SRalf Baechle	select CPU_HAS_PREFETCH
1262ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
12631da177e4SLinus Torvalds	help
12641da177e4SLinus Torvalds	  MIPS Technologies R8000 processors.  Note these processors are
12651da177e4SLinus Torvalds	  uncommon and the support for them is incomplete.
12661da177e4SLinus Torvalds
12671da177e4SLinus Torvaldsconfig CPU_R10000
12681da177e4SLinus Torvalds	bool "R10000"
12697cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R10000
12705e83d430SRalf Baechle	select CPU_HAS_PREFETCH
1271ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1272ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
1273797798c1SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
12741da177e4SLinus Torvalds	help
12751da177e4SLinus Torvalds	  MIPS Technologies R10000-series processors.
12761da177e4SLinus Torvalds
12771da177e4SLinus Torvaldsconfig CPU_RM7000
12781da177e4SLinus Torvalds	bool "RM7000"
12797cf8053bSRalf Baechle	depends on SYS_HAS_CPU_RM7000
12805e83d430SRalf Baechle	select CPU_HAS_PREFETCH
1281ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1282ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
1283797798c1SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
12841da177e4SLinus Torvalds
12851da177e4SLinus Torvaldsconfig CPU_RM9000
12861da177e4SLinus Torvalds	bool "RM9000"
12877cf8053bSRalf Baechle	depends on SYS_HAS_CPU_RM9000
12885e83d430SRalf Baechle	select CPU_HAS_PREFETCH
1289ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1290ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
1291797798c1SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
12920004a9dfSRalf Baechle	select WEAK_ORDERING
12931da177e4SLinus Torvalds
12941da177e4SLinus Torvaldsconfig CPU_SB1
12951da177e4SLinus Torvalds	bool "SB1"
12967cf8053bSRalf Baechle	depends on SYS_HAS_CPU_SB1
1297ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1298ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
1299797798c1SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
13000004a9dfSRalf Baechle	select WEAK_ORDERING
13011da177e4SLinus Torvalds
1302a86c7f72SDavid Daneyconfig CPU_CAVIUM_OCTEON
1303a86c7f72SDavid Daney	bool "Cavium Octeon processor"
13045e683389SDavid Daney	depends on SYS_HAS_CPU_CAVIUM_OCTEON
1305a86c7f72SDavid Daney	select IRQ_CPU
1306a86c7f72SDavid Daney	select IRQ_CPU_OCTEON
1307a86c7f72SDavid Daney	select CPU_HAS_PREFETCH
1308a86c7f72SDavid Daney	select CPU_SUPPORTS_64BIT_KERNEL
1309a86c7f72SDavid Daney	select SYS_SUPPORTS_SMP
1310a86c7f72SDavid Daney	select NR_CPUS_DEFAULT_16
1311a86c7f72SDavid Daney	select WEAK_ORDERING
1312a86c7f72SDavid Daney	select CPU_SUPPORTS_HIGHMEM
13139cffd154SDavid Daney	select CPU_SUPPORTS_HUGEPAGES
1314a86c7f72SDavid Daney	help
1315a86c7f72SDavid Daney	  The Cavium Octeon processor is a highly integrated chip containing
1316a86c7f72SDavid Daney	  many ethernet hardware widgets for networking tasks. The processor
1317a86c7f72SDavid Daney	  can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1318a86c7f72SDavid Daney	  Full details can be found at http://www.caviumnetworks.com.
1319a86c7f72SDavid Daney
13201da177e4SLinus Torvaldsendchoice
13211da177e4SLinus Torvalds
1322622844bfSWu Zhangjinif CPU_LOONGSON2F
1323622844bfSWu Zhangjinconfig CPU_NOP_WORKAROUNDS
1324622844bfSWu Zhangjin	bool
1325622844bfSWu Zhangjin
1326622844bfSWu Zhangjinconfig CPU_JUMP_WORKAROUNDS
1327622844bfSWu Zhangjin	bool
1328622844bfSWu Zhangjin
1329622844bfSWu Zhangjinconfig CPU_LOONGSON2F_WORKAROUNDS
1330622844bfSWu Zhangjin	bool "Loongson 2F Workarounds"
1331622844bfSWu Zhangjin	default y
1332622844bfSWu Zhangjin	select CPU_NOP_WORKAROUNDS
1333622844bfSWu Zhangjin	select CPU_JUMP_WORKAROUNDS
1334622844bfSWu Zhangjin	help
1335622844bfSWu Zhangjin	  Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1336622844bfSWu Zhangjin	  require workarounds.  Without workarounds the system may hang
1337622844bfSWu Zhangjin	  unexpectedly.  For more information please refer to the gas
1338622844bfSWu Zhangjin	  -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1339622844bfSWu Zhangjin
1340622844bfSWu Zhangjin	  Loongson 2F03 and later have fixed these issues and no workarounds
1341622844bfSWu Zhangjin	  are needed.  The workarounds have no significant side effect on them
1342622844bfSWu Zhangjin	  but may decrease the performance of the system so this option should
1343622844bfSWu Zhangjin	  be disabled unless the kernel is intended to be run on 2F01 or 2F02
1344622844bfSWu Zhangjin	  systems.
1345622844bfSWu Zhangjin
1346622844bfSWu Zhangjin	  If unsure, please say Y.
1347622844bfSWu Zhangjinendif # CPU_LOONGSON2F
1348622844bfSWu Zhangjin
13491b93b3c3SWu Zhangjinconfig SYS_SUPPORTS_ZBOOT
13501b93b3c3SWu Zhangjin	bool
13511b93b3c3SWu Zhangjin	select HAVE_KERNEL_GZIP
13521b93b3c3SWu Zhangjin	select HAVE_KERNEL_BZIP2
13531b93b3c3SWu Zhangjin	select HAVE_KERNEL_LZMA
1354fe1d45e0SWu Zhangjin	select HAVE_KERNEL_LZO
13551b93b3c3SWu Zhangjin
13561b93b3c3SWu Zhangjinconfig SYS_SUPPORTS_ZBOOT_UART16550
13571b93b3c3SWu Zhangjin	bool
13581b93b3c3SWu Zhangjin	select SYS_SUPPORTS_ZBOOT
13591b93b3c3SWu Zhangjin
13603702bba5SWu Zhangjinconfig CPU_LOONGSON2
13613702bba5SWu Zhangjin	bool
13623702bba5SWu Zhangjin	select CPU_SUPPORTS_32BIT_KERNEL
13633702bba5SWu Zhangjin	select CPU_SUPPORTS_64BIT_KERNEL
13643702bba5SWu Zhangjin	select CPU_SUPPORTS_HIGHMEM
13653702bba5SWu Zhangjin
13663702bba5SWu Zhangjinconfig SYS_HAS_CPU_LOONGSON2E
13672a21c730SFuxin Zhang	bool
13682a21c730SFuxin Zhang
13696f7a251aSWu Zhangjinconfig SYS_HAS_CPU_LOONGSON2F
13706f7a251aSWu Zhangjin	bool
137155045ff5SWu Zhangjin	select CPU_SUPPORTS_CPUFREQ
137255045ff5SWu Zhangjin	select CPU_SUPPORTS_ADDRWINCFG if 64BIT
137322f1fdfdSWu Zhangjin	select CPU_SUPPORTS_UNCACHED_ACCELERATED
13746f7a251aSWu Zhangjin
13757cf8053bSRalf Baechleconfig SYS_HAS_CPU_MIPS32_R1
13767cf8053bSRalf Baechle	bool
13777cf8053bSRalf Baechle
13787cf8053bSRalf Baechleconfig SYS_HAS_CPU_MIPS32_R2
13797cf8053bSRalf Baechle	bool
13807cf8053bSRalf Baechle
13817cf8053bSRalf Baechleconfig SYS_HAS_CPU_MIPS64_R1
13827cf8053bSRalf Baechle	bool
13837cf8053bSRalf Baechle
13847cf8053bSRalf Baechleconfig SYS_HAS_CPU_MIPS64_R2
13857cf8053bSRalf Baechle	bool
13867cf8053bSRalf Baechle
13877cf8053bSRalf Baechleconfig SYS_HAS_CPU_R3000
13887cf8053bSRalf Baechle	bool
13897cf8053bSRalf Baechle
13907cf8053bSRalf Baechleconfig SYS_HAS_CPU_TX39XX
13917cf8053bSRalf Baechle	bool
13927cf8053bSRalf Baechle
13937cf8053bSRalf Baechleconfig SYS_HAS_CPU_VR41XX
13947cf8053bSRalf Baechle	bool
13957cf8053bSRalf Baechle
13967cf8053bSRalf Baechleconfig SYS_HAS_CPU_R4300
13977cf8053bSRalf Baechle	bool
13987cf8053bSRalf Baechle
13997cf8053bSRalf Baechleconfig SYS_HAS_CPU_R4X00
14007cf8053bSRalf Baechle	bool
14017cf8053bSRalf Baechle
14027cf8053bSRalf Baechleconfig SYS_HAS_CPU_TX49XX
14037cf8053bSRalf Baechle	bool
14047cf8053bSRalf Baechle
14057cf8053bSRalf Baechleconfig SYS_HAS_CPU_R5000
14067cf8053bSRalf Baechle	bool
14077cf8053bSRalf Baechle
14087cf8053bSRalf Baechleconfig SYS_HAS_CPU_R5432
14097cf8053bSRalf Baechle	bool
14107cf8053bSRalf Baechle
1411542c1020SShinya Kuribayashiconfig SYS_HAS_CPU_R5500
1412542c1020SShinya Kuribayashi	bool
1413542c1020SShinya Kuribayashi
14147cf8053bSRalf Baechleconfig SYS_HAS_CPU_R6000
14157cf8053bSRalf Baechle	bool
14167cf8053bSRalf Baechle
14177cf8053bSRalf Baechleconfig SYS_HAS_CPU_NEVADA
14187cf8053bSRalf Baechle	bool
14197cf8053bSRalf Baechle
14207cf8053bSRalf Baechleconfig SYS_HAS_CPU_R8000
14217cf8053bSRalf Baechle	bool
14227cf8053bSRalf Baechle
14237cf8053bSRalf Baechleconfig SYS_HAS_CPU_R10000
14247cf8053bSRalf Baechle	bool
14257cf8053bSRalf Baechle
14267cf8053bSRalf Baechleconfig SYS_HAS_CPU_RM7000
14277cf8053bSRalf Baechle	bool
14287cf8053bSRalf Baechle
14297cf8053bSRalf Baechleconfig SYS_HAS_CPU_RM9000
14307cf8053bSRalf Baechle	bool
14317cf8053bSRalf Baechle
14327cf8053bSRalf Baechleconfig SYS_HAS_CPU_SB1
14337cf8053bSRalf Baechle	bool
14347cf8053bSRalf Baechle
14355e683389SDavid Daneyconfig SYS_HAS_CPU_CAVIUM_OCTEON
14365e683389SDavid Daney	bool
14375e683389SDavid Daney
143817099b11SRalf Baechle#
143917099b11SRalf Baechle# CPU may reorder R->R, R->W, W->R, W->W
144017099b11SRalf Baechle# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
144117099b11SRalf Baechle#
14420004a9dfSRalf Baechleconfig WEAK_ORDERING
14430004a9dfSRalf Baechle	bool
144417099b11SRalf Baechle
144517099b11SRalf Baechle#
144617099b11SRalf Baechle# CPU may reorder reads and writes beyond LL/SC
144717099b11SRalf Baechle# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
144817099b11SRalf Baechle#
144917099b11SRalf Baechleconfig WEAK_REORDERING_BEYOND_LLSC
145017099b11SRalf Baechle	bool
14515e83d430SRalf Baechleendmenu
14525e83d430SRalf Baechle
14535e83d430SRalf Baechle#
14545e83d430SRalf Baechle# These two indicate any level of the MIPS32 and MIPS64 architecture
14555e83d430SRalf Baechle#
14565e83d430SRalf Baechleconfig CPU_MIPS32
14575e83d430SRalf Baechle	bool
14585e83d430SRalf Baechle	default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
14595e83d430SRalf Baechle
14605e83d430SRalf Baechleconfig CPU_MIPS64
14615e83d430SRalf Baechle	bool
14625e83d430SRalf Baechle	default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
14635e83d430SRalf Baechle
14645e83d430SRalf Baechle#
1465c09b47d8SChris Dearman# These two indicate the revision of the architecture, either Release 1 or Release 2
14665e83d430SRalf Baechle#
14675e83d430SRalf Baechleconfig CPU_MIPSR1
14685e83d430SRalf Baechle	bool
14695e83d430SRalf Baechle	default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
14705e83d430SRalf Baechle
14715e83d430SRalf Baechleconfig CPU_MIPSR2
14725e83d430SRalf Baechle	bool
1473a86c7f72SDavid Daney	default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
14745e83d430SRalf Baechle
14755e83d430SRalf Baechleconfig SYS_SUPPORTS_32BIT_KERNEL
14765e83d430SRalf Baechle	bool
14775e83d430SRalf Baechleconfig SYS_SUPPORTS_64BIT_KERNEL
14785e83d430SRalf Baechle	bool
14795e83d430SRalf Baechleconfig CPU_SUPPORTS_32BIT_KERNEL
14805e83d430SRalf Baechle	bool
14815e83d430SRalf Baechleconfig CPU_SUPPORTS_64BIT_KERNEL
14825e83d430SRalf Baechle	bool
148355045ff5SWu Zhangjinconfig CPU_SUPPORTS_CPUFREQ
148455045ff5SWu Zhangjin	bool
148555045ff5SWu Zhangjinconfig CPU_SUPPORTS_ADDRWINCFG
148655045ff5SWu Zhangjin	bool
14879cffd154SDavid Daneyconfig CPU_SUPPORTS_HUGEPAGES
14889cffd154SDavid Daney	bool
148922f1fdfdSWu Zhangjinconfig CPU_SUPPORTS_UNCACHED_ACCELERATED
149022f1fdfdSWu Zhangjin	bool
149182622284SDavid Daneyconfig MIPS_PGD_C0_CONTEXT
149282622284SDavid Daney	bool
149382622284SDavid Daney	default y if 64BIT && CPU_MIPSR2
14945e83d430SRalf Baechle
14958192c9eaSDavid Daney#
14968192c9eaSDavid Daney# Set to y for ptrace access to watch registers.
14978192c9eaSDavid Daney#
14988192c9eaSDavid Daneyconfig HARDWARE_WATCHPOINTS
14998192c9eaSDavid Daney       bool
1500f839490aSDavid Daney       default y if CPU_MIPSR1 || CPU_MIPSR2
15018192c9eaSDavid Daney
15025e83d430SRalf Baechlemenu "Kernel type"
15035e83d430SRalf Baechle
15045e83d430SRalf Baechlechoice
15055e83d430SRalf Baechle
15065e83d430SRalf Baechle	prompt "Kernel code model"
15075e83d430SRalf Baechle	help
15085e83d430SRalf Baechle	  You should only select this option if you have a workload that
15095e83d430SRalf Baechle	  actually benefits from 64-bit processing or if your machine has
15105e83d430SRalf Baechle	  large memory.  You will only be presented a single option in this
15115e83d430SRalf Baechle	  menu if your system does not support both 32-bit and 64-bit kernels.
15125e83d430SRalf Baechle
15135e83d430SRalf Baechleconfig 32BIT
15145e83d430SRalf Baechle	bool "32-bit kernel"
15155e83d430SRalf Baechle	depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
15165e83d430SRalf Baechle	select TRAD_SIGNALS
15175e83d430SRalf Baechle	help
15185e83d430SRalf Baechle	  Select this option if you want to build a 32-bit kernel.
15195e83d430SRalf Baechleconfig 64BIT
15205e83d430SRalf Baechle	bool "64-bit kernel"
15215e83d430SRalf Baechle	depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1522dbda6ac0SRalf Baechle	select HAVE_SYSCALL_WRAPPERS
15235e83d430SRalf Baechle	help
15245e83d430SRalf Baechle	  Select this option if you want to build a 64-bit kernel.
15255e83d430SRalf Baechle
15265e83d430SRalf Baechleendchoice
15275e83d430SRalf Baechle
15281da177e4SLinus Torvaldschoice
15291da177e4SLinus Torvalds	prompt "Kernel page size"
15301da177e4SLinus Torvalds	default PAGE_SIZE_4KB
15311da177e4SLinus Torvalds
15321da177e4SLinus Torvaldsconfig PAGE_SIZE_4KB
15331da177e4SLinus Torvalds	bool "4kB"
1534315fe625SWu Zhangjin	depends on !CPU_LOONGSON2
15351da177e4SLinus Torvalds	help
15361da177e4SLinus Torvalds	 This option select the standard 4kB Linux page size.  On some
15371da177e4SLinus Torvalds	 R3000-family processors this is the only available page size.  Using
15381da177e4SLinus Torvalds	 4kB page size will minimize memory consumption and is therefore
15391da177e4SLinus Torvalds	 recommended for low memory systems.
15401da177e4SLinus Torvalds
15411da177e4SLinus Torvaldsconfig PAGE_SIZE_8KB
15421da177e4SLinus Torvalds	bool "8kB"
1543c52399beSRalf Baechle	depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
15441da177e4SLinus Torvalds	help
15451da177e4SLinus Torvalds	  Using 8kB page size will result in higher performance kernel at
15461da177e4SLinus Torvalds	  the price of higher memory consumption.  This option is available
1547c52399beSRalf Baechle	  only on R8000 and cnMIPS processors.  Note that you will need a
1548c52399beSRalf Baechle	  suitable Linux distribution to support this.
15491da177e4SLinus Torvalds
15501da177e4SLinus Torvaldsconfig PAGE_SIZE_16KB
15511da177e4SLinus Torvalds	bool "16kB"
1552714bfad6SRalf Baechle	depends on !CPU_R3000 && !CPU_TX39XX
15531da177e4SLinus Torvalds	help
15541da177e4SLinus Torvalds	  Using 16kB page size will result in higher performance kernel at
15551da177e4SLinus Torvalds	  the price of higher memory consumption.  This option is available on
1556714bfad6SRalf Baechle	  all non-R3000 family processors.  Note that you will need a suitable
1557714bfad6SRalf Baechle	  Linux distribution to support this.
15581da177e4SLinus Torvalds
1559c52399beSRalf Baechleconfig PAGE_SIZE_32KB
1560c52399beSRalf Baechle	bool "32kB"
1561c52399beSRalf Baechle	depends on CPU_CAVIUM_OCTEON
1562c52399beSRalf Baechle	help
1563c52399beSRalf Baechle	  Using 32kB page size will result in higher performance kernel at
1564c52399beSRalf Baechle	  the price of higher memory consumption.  This option is available
1565c52399beSRalf Baechle	  only on cnMIPS cores.  Note that you will need a suitable Linux
1566c52399beSRalf Baechle	  distribution to support this.
1567c52399beSRalf Baechle
15681da177e4SLinus Torvaldsconfig PAGE_SIZE_64KB
15691da177e4SLinus Torvalds	bool "64kB"
15701da177e4SLinus Torvalds	depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
15711da177e4SLinus Torvalds	help
15721da177e4SLinus Torvalds	  Using 64kB page size will result in higher performance kernel at
15731da177e4SLinus Torvalds	  the price of higher memory consumption.  This option is available on
15741da177e4SLinus Torvalds	  all non-R3000 family processor.  Not that at the time of this
1575714bfad6SRalf Baechle	  writing this option is still high experimental.
15761da177e4SLinus Torvalds
15771da177e4SLinus Torvaldsendchoice
15781da177e4SLinus Torvalds
15791da177e4SLinus Torvaldsconfig BOARD_SCACHE
15801da177e4SLinus Torvalds	bool
15811da177e4SLinus Torvalds
15821da177e4SLinus Torvaldsconfig IP22_CPU_SCACHE
15831da177e4SLinus Torvalds	bool
15841da177e4SLinus Torvalds	select BOARD_SCACHE
15851da177e4SLinus Torvalds
15869318c51aSChris Dearman#
15879318c51aSChris Dearman# Support for a MIPS32 / MIPS64 style S-caches
15889318c51aSChris Dearman#
15899318c51aSChris Dearmanconfig MIPS_CPU_SCACHE
15909318c51aSChris Dearman	bool
15919318c51aSChris Dearman	select BOARD_SCACHE
15929318c51aSChris Dearman
15931da177e4SLinus Torvaldsconfig R5000_CPU_SCACHE
15941da177e4SLinus Torvalds	bool
15951da177e4SLinus Torvalds	select BOARD_SCACHE
15961da177e4SLinus Torvalds
15971da177e4SLinus Torvaldsconfig RM7000_CPU_SCACHE
15981da177e4SLinus Torvalds	bool
15991da177e4SLinus Torvalds	select BOARD_SCACHE
16001da177e4SLinus Torvalds
16011da177e4SLinus Torvaldsconfig SIBYTE_DMA_PAGEOPS
16021da177e4SLinus Torvalds	bool "Use DMA to clear/copy pages"
16031da177e4SLinus Torvalds	depends on CPU_SB1
16041da177e4SLinus Torvalds	help
16051da177e4SLinus Torvalds	  Instead of using the CPU to zero and copy pages, use a Data Mover
16061da177e4SLinus Torvalds	  channel.  These DMA channels are otherwise unused by the standard
16071da177e4SLinus Torvalds	  SiByte Linux port.  Seems to give a small performance benefit.
16081da177e4SLinus Torvalds
16091da177e4SLinus Torvaldsconfig CPU_HAS_PREFETCH
1610c8094b53SRalf Baechle	bool
16111da177e4SLinus Torvalds
1612340ee4b9SRalf Baechlechoice
1613340ee4b9SRalf Baechle	prompt "MIPS MT options"
1614f41ae0b2SRalf Baechle
1615f41ae0b2SRalf Baechleconfig MIPS_MT_DISABLED
1616f41ae0b2SRalf Baechle	bool "Disable multithreading support."
1617f41ae0b2SRalf Baechle	help
1618f41ae0b2SRalf Baechle	  Use this option if your workload can't take advantage of
1619f41ae0b2SRalf Baechle	  MIPS hardware multithreading support.  On systems that don't have
1620f41ae0b2SRalf Baechle	  the option of an MT-enabled processor this option will be the only
1621f41ae0b2SRalf Baechle	  option in this menu.
1622340ee4b9SRalf Baechle
162359d6ab86SRalf Baechleconfig MIPS_MT_SMP
162459d6ab86SRalf Baechle	bool "Use 1 TC on each available VPE for SMP"
162559d6ab86SRalf Baechle	depends on SYS_SUPPORTS_MULTITHREADING
162659d6ab86SRalf Baechle	select CPU_MIPSR2_IRQ_VI
1627d725cf38SChris Dearman	select CPU_MIPSR2_IRQ_EI
162859d6ab86SRalf Baechle	select MIPS_MT
1629f510aa3bSRalf Baechle	select NR_CPUS_DEFAULT_2
163059d6ab86SRalf Baechle	select SMP
16310ab7aefcSRalf Baechle	select SYS_SUPPORTS_SCHED_SMT if SMP
163259d6ab86SRalf Baechle	select SYS_SUPPORTS_SMP
163387353d8aSRalf Baechle	select SMP_UP
163459d6ab86SRalf Baechle	help
163559d6ab86SRalf Baechle	  This is a kernel model which is also known a VSMP or lately
163659d6ab86SRalf Baechle	  has been marketesed into SMVP.
163759d6ab86SRalf Baechle
163841c594abSRalf Baechleconfig MIPS_MT_SMTC
163941c594abSRalf Baechle	bool "SMTC: Use all TCs on all VPEs for SMP"
1640f41ae0b2SRalf Baechle	depends on CPU_MIPS32_R2
1641f41ae0b2SRalf Baechle	#depends on CPU_MIPS64_R2		# once there is hardware ...
1642f41ae0b2SRalf Baechle	depends on SYS_SUPPORTS_MULTITHREADING
1643f7062ddbSRalf Baechle	select CPU_MIPSR2_IRQ_VI
1644d725cf38SChris Dearman	select CPU_MIPSR2_IRQ_EI
1645f41ae0b2SRalf Baechle	select MIPS_MT
1646130e2fb7SRalf Baechle	select NR_CPUS_DEFAULT_8
164741c594abSRalf Baechle	select SMP
164873b76c78SRalf Baechle	select SYS_SUPPORTS_SMP
164987353d8aSRalf Baechle	select SMP_UP
1650f41ae0b2SRalf Baechle	help
1651f41ae0b2SRalf Baechle	  This is a kernel model which is known a SMTC or lately has been
1652f41ae0b2SRalf Baechle	  marketesed into SMVP.
165341c594abSRalf Baechle
1654340ee4b9SRalf Baechleendchoice
1655340ee4b9SRalf Baechle
1656f41ae0b2SRalf Baechleconfig MIPS_MT
1657f41ae0b2SRalf Baechle	bool
1658f41ae0b2SRalf Baechle
16590ab7aefcSRalf Baechleconfig SCHED_SMT
16600ab7aefcSRalf Baechle	bool "SMT (multithreading) scheduler support"
16610ab7aefcSRalf Baechle	depends on SYS_SUPPORTS_SCHED_SMT
16620ab7aefcSRalf Baechle	default n
16630ab7aefcSRalf Baechle	help
16640ab7aefcSRalf Baechle	  SMT scheduler support improves the CPU scheduler's decision making
16650ab7aefcSRalf Baechle	  when dealing with MIPS MT enabled cores at a cost of slightly
16660ab7aefcSRalf Baechle	  increased overhead in some places. If unsure say N here.
16670ab7aefcSRalf Baechle
16680ab7aefcSRalf Baechleconfig SYS_SUPPORTS_SCHED_SMT
16690ab7aefcSRalf Baechle	bool
16700ab7aefcSRalf Baechle
16710ab7aefcSRalf Baechle
1672f41ae0b2SRalf Baechleconfig SYS_SUPPORTS_MULTITHREADING
1673f41ae0b2SRalf Baechle	bool
1674f41ae0b2SRalf Baechle
1675f088fc84SRalf Baechleconfig MIPS_MT_FPAFF
1676f088fc84SRalf Baechle	bool "Dynamic FPU affinity for FP-intensive threads"
1677f088fc84SRalf Baechle	default y
167807cc0c9eSRalf Baechle	depends on MIPS_MT_SMP || MIPS_MT_SMTC
167907cc0c9eSRalf Baechle
168007cc0c9eSRalf Baechleconfig MIPS_VPE_LOADER
168107cc0c9eSRalf Baechle	bool "VPE loader support."
168207cc0c9eSRalf Baechle	depends on SYS_SUPPORTS_MULTITHREADING
168307cc0c9eSRalf Baechle	select CPU_MIPSR2_IRQ_VI
168407cc0c9eSRalf Baechle	select CPU_MIPSR2_IRQ_EI
168507cc0c9eSRalf Baechle	select MIPS_MT
168607cc0c9eSRalf Baechle	help
168707cc0c9eSRalf Baechle	  Includes a loader for loading an elf relocatable object
168807cc0c9eSRalf Baechle	  onto another VPE and running it.
1689f088fc84SRalf Baechle
16900db34215SKevin D. Kissellconfig MIPS_MT_SMTC_IM_BACKSTOP
16910db34215SKevin D. Kissell	bool "Use per-TC register bits as backstop for inhibited IM bits"
16920db34215SKevin D. Kissell	depends on MIPS_MT_SMTC
16938531a35eSKevin D. Kissell	default n
16940db34215SKevin D. Kissell	help
16950db34215SKevin D. Kissell	  To support multiple TC microthreads acting as "CPUs" within
16960db34215SKevin D. Kissell	  a VPE, VPE-wide interrupt mask bits must be specially manipulated
16970db34215SKevin D. Kissell	  during interrupt handling. To support legacy drivers and interrupt
16980db34215SKevin D. Kissell	  controller management code, SMTC has a "backstop" to track and
16990db34215SKevin D. Kissell	  if necessary restore the interrupt mask. This has some performance
17008531a35eSKevin D. Kissell	  impact on interrupt service overhead.
17010db34215SKevin D. Kissell
1702f571eff0SKevin D. Kissellconfig MIPS_MT_SMTC_IRQAFF
1703f571eff0SKevin D. Kissell	bool "Support IRQ affinity API"
1704f571eff0SKevin D. Kissell	depends on MIPS_MT_SMTC
1705f571eff0SKevin D. Kissell	default n
1706f571eff0SKevin D. Kissell	help
1707f571eff0SKevin D. Kissell	  Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1708f571eff0SKevin D. Kissell	  for SMTC Linux kernel. Requires platform support, of which
1709f571eff0SKevin D. Kissell	  an example can be found in the MIPS kernel i8259 and Malta
17108531a35eSKevin D. Kissell	  platform code.  Adds some overhead to interrupt dispatch, and
17118531a35eSKevin D. Kissell	  should be used only if you know what you are doing.
1712f571eff0SKevin D. Kissell
1713e01402b1SRalf Baechleconfig MIPS_VPE_LOADER_TOM
1714e01402b1SRalf Baechle	bool "Load VPE program into memory hidden from linux"
1715e01402b1SRalf Baechle	depends on MIPS_VPE_LOADER
1716e01402b1SRalf Baechle	default y
1717e01402b1SRalf Baechle	help
1718e01402b1SRalf Baechle	  The loader can use memory that is present but has been hidden from
1719e01402b1SRalf Baechle	  Linux using the kernel command line option "mem=xxMB". It's up to
1720e01402b1SRalf Baechle	  you to ensure the amount you put in the option and the space your
1721e01402b1SRalf Baechle	  program requires is less or equal to the amount physically present.
1722e01402b1SRalf Baechle
1723e01402b1SRalf Baechle# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1724e01402b1SRalf Baechleconfig MIPS_VPE_APSP_API
1725e01402b1SRalf Baechle	bool "Enable support for AP/SP API (RTLX)"
1726e01402b1SRalf Baechle	depends on MIPS_VPE_LOADER
17275e83d430SRalf Baechle	help
1728e01402b1SRalf Baechle
17292600990eSRalf Baechleconfig MIPS_APSP_KSPD
17302600990eSRalf Baechle	bool "Enable KSPD"
17312600990eSRalf Baechle	depends on MIPS_VPE_APSP_API
17322600990eSRalf Baechle	default y
17332600990eSRalf Baechle	help
17342600990eSRalf Baechle	  KSPD is a kernel daemon that accepts syscall requests from the SP
17352600990eSRalf Baechle	  side, actions them and returns the results. It also handles the
17362600990eSRalf Baechle	  "exit" syscall notifying other kernel modules the SP program is
17372600990eSRalf Baechle	  exiting.  You probably want to say yes here.
17382600990eSRalf Baechle
17394a16ff4cSRalf Baechleconfig MIPS_CMP
17404a16ff4cSRalf Baechle	bool "MIPS CMP framework support"
17414a16ff4cSRalf Baechle	depends on SYS_SUPPORTS_MIPS_CMP
1742eb9b5141STim Anderson	select SYNC_R4K
17434a16ff4cSRalf Baechle	select SYS_SUPPORTS_SMP
17444a16ff4cSRalf Baechle	select SYS_SUPPORTS_SCHED_SMT if SMP
17454a16ff4cSRalf Baechle	select WEAK_ORDERING
17464a16ff4cSRalf Baechle	default n
17474a16ff4cSRalf Baechle	help
17484a16ff4cSRalf Baechle	  This is a placeholder option for the GCMP work. It will need to
17494a16ff4cSRalf Baechle	  be handled differently...
17504a16ff4cSRalf Baechle
17511da177e4SLinus Torvaldsconfig SB1_PASS_1_WORKAROUNDS
17521da177e4SLinus Torvalds	bool
17531da177e4SLinus Torvalds	depends on CPU_SB1_PASS_1
17541da177e4SLinus Torvalds	default y
17551da177e4SLinus Torvalds
17561da177e4SLinus Torvaldsconfig SB1_PASS_2_WORKAROUNDS
17571da177e4SLinus Torvalds	bool
17581da177e4SLinus Torvalds	depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
17591da177e4SLinus Torvalds	default y
17601da177e4SLinus Torvalds
17611da177e4SLinus Torvaldsconfig SB1_PASS_2_1_WORKAROUNDS
17621da177e4SLinus Torvalds	bool
17631da177e4SLinus Torvalds	depends on CPU_SB1 && CPU_SB1_PASS_2
17641da177e4SLinus Torvalds	default y
17651da177e4SLinus Torvalds
17661da177e4SLinus Torvaldsconfig 64BIT_PHYS_ADDR
1767d806cb2bSRalf Baechle	bool
17681da177e4SLinus Torvalds
176960ec6571Spascal@pabr.orgconfig ARCH_PHYS_ADDR_T_64BIT
177060ec6571Spascal@pabr.org       def_bool 64BIT_PHYS_ADDR
177160ec6571Spascal@pabr.org
17729693a853SFranck Bui-Huuconfig CPU_HAS_SMARTMIPS
17739693a853SFranck Bui-Huu	depends on SYS_SUPPORTS_SMARTMIPS
17749693a853SFranck Bui-Huu	bool "Support for the SmartMIPS ASE"
17759693a853SFranck Bui-Huu	help
17769693a853SFranck Bui-Huu	  SmartMIPS is a extension of the MIPS32 architecture aimed at
17779693a853SFranck Bui-Huu	  increased security at both hardware and software level for
17789693a853SFranck Bui-Huu	  smartcards.  Enabling this option will allow proper use of the
17799693a853SFranck Bui-Huu	  SmartMIPS instructions by Linux applications.  However a kernel with
17809693a853SFranck Bui-Huu	  this option will not work on a MIPS core without SmartMIPS core.  If
17819693a853SFranck Bui-Huu	  you don't know you probably don't have SmartMIPS and should say N
17829693a853SFranck Bui-Huu	  here.
17839693a853SFranck Bui-Huu
17841da177e4SLinus Torvaldsconfig CPU_HAS_WB
1785f7062ddbSRalf Baechle	bool
1786e01402b1SRalf Baechle
1787f41ae0b2SRalf Baechle#
1788f41ae0b2SRalf Baechle# Vectored interrupt mode is an R2 feature
1789f41ae0b2SRalf Baechle#
1790e01402b1SRalf Baechleconfig CPU_MIPSR2_IRQ_VI
1791f41ae0b2SRalf Baechle	bool
1792e01402b1SRalf Baechle
1793f41ae0b2SRalf Baechle#
1794f41ae0b2SRalf Baechle# Extended interrupt mode is an R2 feature
1795f41ae0b2SRalf Baechle#
1796e01402b1SRalf Baechleconfig CPU_MIPSR2_IRQ_EI
1797f41ae0b2SRalf Baechle	bool
1798e01402b1SRalf Baechle
17991da177e4SLinus Torvaldsconfig CPU_HAS_SYNC
18001da177e4SLinus Torvalds	bool
18011da177e4SLinus Torvalds	depends on !CPU_R3000
18021da177e4SLinus Torvalds	default y
18031da177e4SLinus Torvalds
1804ea580401SRalf Baechleconfig GENERIC_CLOCKEVENTS_BROADCAST
1805ea580401SRalf Baechle	bool
1806ea580401SRalf Baechle
18071da177e4SLinus Torvalds#
180820d60d99SMaciej W. Rozycki# CPU non-features
180920d60d99SMaciej W. Rozycki#
181020d60d99SMaciej W. Rozyckiconfig CPU_DADDI_WORKAROUNDS
181120d60d99SMaciej W. Rozycki	bool
181220d60d99SMaciej W. Rozycki
181320d60d99SMaciej W. Rozyckiconfig CPU_R4000_WORKAROUNDS
181420d60d99SMaciej W. Rozycki	bool
181520d60d99SMaciej W. Rozycki	select CPU_R4400_WORKAROUNDS
181620d60d99SMaciej W. Rozycki
181720d60d99SMaciej W. Rozyckiconfig CPU_R4400_WORKAROUNDS
181820d60d99SMaciej W. Rozycki	bool
181920d60d99SMaciej W. Rozycki
182020d60d99SMaciej W. Rozycki#
1821797798c1SRalf Baechle# Use the generic interrupt handling code in kernel/irq/:
1822797798c1SRalf Baechle#
1823797798c1SRalf Baechleconfig GENERIC_HARDIRQS
1824797798c1SRalf Baechle	bool
1825797798c1SRalf Baechle	default y
1826797798c1SRalf Baechle
1827797798c1SRalf Baechleconfig GENERIC_IRQ_PROBE
1828797798c1SRalf Baechle	bool
1829797798c1SRalf Baechle	default y
1830797798c1SRalf Baechle
18310d7012a9SIngo Molnarconfig IRQ_PER_CPU
18320d7012a9SIngo Molnar	bool
18330d7012a9SIngo Molnar
1834797798c1SRalf Baechle#
18351da177e4SLinus Torvalds# - Highmem only makes sense for the 32-bit kernel.
18361da177e4SLinus Torvalds# - The current highmem code will only work properly on physically indexed
18371da177e4SLinus Torvalds#   caches such as R3000, SB1, R7000 or those that look like they're virtually
18381da177e4SLinus Torvalds#   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
18391da177e4SLinus Torvalds#   moment we protect the user and offer the highmem option only on machines
18401da177e4SLinus Torvalds#   where it's known to be safe.  This will not offer highmem on a few systems
18411da177e4SLinus Torvalds#   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
18421da177e4SLinus Torvalds#   indexed CPUs but we're playing safe.
1843797798c1SRalf Baechle# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1844797798c1SRalf Baechle#   know they might have memory configurations that could make use of highmem
1845797798c1SRalf Baechle#   support.
18461da177e4SLinus Torvalds#
18471da177e4SLinus Torvaldsconfig HIGHMEM
18481da177e4SLinus Torvalds	bool "High Memory Support"
1849797798c1SRalf Baechle	depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1850797798c1SRalf Baechle
1851797798c1SRalf Baechleconfig CPU_SUPPORTS_HIGHMEM
1852797798c1SRalf Baechle	bool
1853797798c1SRalf Baechle
1854797798c1SRalf Baechleconfig SYS_SUPPORTS_HIGHMEM
1855797798c1SRalf Baechle	bool
18561da177e4SLinus Torvalds
18579693a853SFranck Bui-Huuconfig SYS_SUPPORTS_SMARTMIPS
18589693a853SFranck Bui-Huu	bool
18599693a853SFranck Bui-Huu
1860b4819b59SYoichi Yuasaconfig ARCH_FLATMEM_ENABLE
1861b4819b59SYoichi Yuasa	def_bool y
1862f133f22dSWu Zhangjin	depends on !NUMA && !CPU_LOONGSON2
1863b4819b59SYoichi Yuasa
1864d8cb4e11SRalf Baechleconfig ARCH_DISCONTIGMEM_ENABLE
1865d8cb4e11SRalf Baechle	bool
1866d8cb4e11SRalf Baechle	default y if SGI_IP27
1867d8cb4e11SRalf Baechle	help
18683dde6ad8SDavid Sterba	  Say Y to support efficient handling of discontiguous physical memory,
1869d8cb4e11SRalf Baechle	  for architectures which are either NUMA (Non-Uniform Memory Access)
1870d8cb4e11SRalf Baechle	  or have huge holes in the physical address space for other reasons.
1871d8cb4e11SRalf Baechle	  See <file:Documentation/vm/numa> for more.
1872d8cb4e11SRalf Baechle
1873cce335aeSRalf Baechleconfig ARCH_POPULATES_NODE_MAP
1874cce335aeSRalf Baechle	def_bool y
1875cce335aeSRalf Baechle
1876b1c6cd42SAtsushi Nemotoconfig ARCH_SPARSEMEM_ENABLE
1877b1c6cd42SAtsushi Nemoto	bool
18787de58fabSAtsushi Nemoto	select SPARSEMEM_STATIC
187931473747SAtsushi Nemoto
1880d8cb4e11SRalf Baechleconfig NUMA
1881d8cb4e11SRalf Baechle	bool "NUMA Support"
1882d8cb4e11SRalf Baechle	depends on SYS_SUPPORTS_NUMA
1883d8cb4e11SRalf Baechle	help
1884d8cb4e11SRalf Baechle	  Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1885d8cb4e11SRalf Baechle	  Access).  This option improves performance on systems with more
1886d8cb4e11SRalf Baechle	  than two nodes; on two node systems it is generally better to
1887d8cb4e11SRalf Baechle	  leave it disabled; on single node systems disable this option
1888d8cb4e11SRalf Baechle	  disabled.
1889d8cb4e11SRalf Baechle
1890d8cb4e11SRalf Baechleconfig SYS_SUPPORTS_NUMA
1891d8cb4e11SRalf Baechle	bool
1892d8cb4e11SRalf Baechle
1893c80d79d7SYasunori Gotoconfig NODES_SHIFT
1894c80d79d7SYasunori Goto	int
1895c80d79d7SYasunori Goto	default "6"
1896c80d79d7SYasunori Goto	depends on NEED_MULTIPLE_NODES
1897c80d79d7SYasunori Goto
1898b4819b59SYoichi Yuasasource "mm/Kconfig"
1899b4819b59SYoichi Yuasa
19001da177e4SLinus Torvaldsconfig SMP
19011da177e4SLinus Torvalds	bool "Multi-Processing support"
1902e73ea273SRalf Baechle	depends on SYS_SUPPORTS_SMP
1903b4b30a5aSRalf Baechle	select IRQ_PER_CPU
19042f304c0aSJens Axboe	select USE_GENERIC_SMP_HELPERS
1905e73ea273SRalf Baechle	help
19061da177e4SLinus Torvalds	  This enables support for systems with more than one CPU. If you have
19071da177e4SLinus Torvalds	  a system with only one CPU, like most personal computers, say N. If
19081da177e4SLinus Torvalds	  you have a system with more than one CPU, say Y.
19091da177e4SLinus Torvalds
19101da177e4SLinus Torvalds	  If you say N here, the kernel will run on single and multiprocessor
19111da177e4SLinus Torvalds	  machines, but will use only one CPU of a multiprocessor machine. If
19121da177e4SLinus Torvalds	  you say Y here, the kernel will run on many, but not all,
19131da177e4SLinus Torvalds	  singleprocessor machines. On a singleprocessor machine, the kernel
19141da177e4SLinus Torvalds	  will run faster if you say N here.
19151da177e4SLinus Torvalds
19161da177e4SLinus Torvalds	  People using multiprocessor machines who say Y here should also say
19171da177e4SLinus Torvalds	  Y to "Enhanced Real Time Clock Support", below.
19181da177e4SLinus Torvalds
191903502faaSAdrian Bunk	  See also the SMP-HOWTO available at
192003502faaSAdrian Bunk	  <http://www.tldp.org/docs.html#howto>.
19211da177e4SLinus Torvalds
19221da177e4SLinus Torvalds	  If you don't know what to do here, say N.
19231da177e4SLinus Torvalds
192487353d8aSRalf Baechleconfig SMP_UP
192587353d8aSRalf Baechle	bool
192687353d8aSRalf Baechle
19274a16ff4cSRalf Baechleconfig SYS_SUPPORTS_MIPS_CMP
19284a16ff4cSRalf Baechle	bool
19294a16ff4cSRalf Baechle
1930e73ea273SRalf Baechleconfig SYS_SUPPORTS_SMP
1931e73ea273SRalf Baechle	bool
1932e73ea273SRalf Baechle
193372ede9b1SAtsushi Nemotoconfig NR_CPUS_DEFAULT_1
193472ede9b1SAtsushi Nemoto	bool
193572ede9b1SAtsushi Nemoto
1936130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_2
1937130e2fb7SRalf Baechle	bool
1938130e2fb7SRalf Baechle
1939130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_4
1940130e2fb7SRalf Baechle	bool
1941130e2fb7SRalf Baechle
1942130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_8
1943130e2fb7SRalf Baechle	bool
1944130e2fb7SRalf Baechle
1945130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_16
1946130e2fb7SRalf Baechle	bool
1947130e2fb7SRalf Baechle
1948130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_32
1949130e2fb7SRalf Baechle	bool
1950130e2fb7SRalf Baechle
1951130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_64
1952130e2fb7SRalf Baechle	bool
1953130e2fb7SRalf Baechle
19541da177e4SLinus Torvaldsconfig NR_CPUS
19551da177e4SLinus Torvalds	int "Maximum number of CPUs (2-64)"
195672ede9b1SAtsushi Nemoto	range 1 64 if NR_CPUS_DEFAULT_1
19571da177e4SLinus Torvalds	depends on SMP
195872ede9b1SAtsushi Nemoto	default "1" if NR_CPUS_DEFAULT_1
1959130e2fb7SRalf Baechle	default "2" if NR_CPUS_DEFAULT_2
1960130e2fb7SRalf Baechle	default "4" if NR_CPUS_DEFAULT_4
1961130e2fb7SRalf Baechle	default "8" if NR_CPUS_DEFAULT_8
1962130e2fb7SRalf Baechle	default "16" if NR_CPUS_DEFAULT_16
1963130e2fb7SRalf Baechle	default "32" if NR_CPUS_DEFAULT_32
1964130e2fb7SRalf Baechle	default "64" if NR_CPUS_DEFAULT_64
19651da177e4SLinus Torvalds	help
19661da177e4SLinus Torvalds	  This allows you to specify the maximum number of CPUs which this
19671da177e4SLinus Torvalds	  kernel will support.  The maximum supported value is 32 for 32-bit
19681da177e4SLinus Torvalds	  kernel and 64 for 64-bit kernels; the minimum value which makes
196972ede9b1SAtsushi Nemoto	  sense is 1 for Qemu (useful only for kernel debugging purposes)
197072ede9b1SAtsushi Nemoto	  and 2 for all others.
19711da177e4SLinus Torvalds
19721da177e4SLinus Torvalds	  This is purely to save memory - each supported CPU adds
197372ede9b1SAtsushi Nemoto	  approximately eight kilobytes to the kernel image.  For best
197472ede9b1SAtsushi Nemoto	  performance should round up your number of processors to the next
197572ede9b1SAtsushi Nemoto	  power of two.
19761da177e4SLinus Torvalds
1977c4eee283SAtsushi Nemotosource "kernel/time/Kconfig"
1978c4eee283SAtsushi Nemoto
19791723b4a3SAtsushi Nemoto#
19801723b4a3SAtsushi Nemoto# Timer Interrupt Frequency Configuration
19811723b4a3SAtsushi Nemoto#
19821723b4a3SAtsushi Nemoto
19831723b4a3SAtsushi Nemotochoice
19841723b4a3SAtsushi Nemoto	prompt "Timer frequency"
19851723b4a3SAtsushi Nemoto	default HZ_250
19861723b4a3SAtsushi Nemoto	help
19871723b4a3SAtsushi Nemoto	 Allows the configuration of the timer frequency.
19881723b4a3SAtsushi Nemoto
19891723b4a3SAtsushi Nemoto	config HZ_48
19900f873585SRalf Baechle		bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
19911723b4a3SAtsushi Nemoto
19921723b4a3SAtsushi Nemoto	config HZ_100
19931723b4a3SAtsushi Nemoto		bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
19941723b4a3SAtsushi Nemoto
19951723b4a3SAtsushi Nemoto	config HZ_128
19961723b4a3SAtsushi Nemoto		bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
19971723b4a3SAtsushi Nemoto
19981723b4a3SAtsushi Nemoto	config HZ_250
19991723b4a3SAtsushi Nemoto		bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
20001723b4a3SAtsushi Nemoto
20011723b4a3SAtsushi Nemoto	config HZ_256
20021723b4a3SAtsushi Nemoto		bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
20031723b4a3SAtsushi Nemoto
20041723b4a3SAtsushi Nemoto	config HZ_1000
20051723b4a3SAtsushi Nemoto		bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
20061723b4a3SAtsushi Nemoto
20071723b4a3SAtsushi Nemoto	config HZ_1024
20081723b4a3SAtsushi Nemoto		bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
20091723b4a3SAtsushi Nemoto
20101723b4a3SAtsushi Nemotoendchoice
20111723b4a3SAtsushi Nemoto
20121723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_48HZ
20131723b4a3SAtsushi Nemoto	bool
20141723b4a3SAtsushi Nemoto
20151723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_100HZ
20161723b4a3SAtsushi Nemoto	bool
20171723b4a3SAtsushi Nemoto
20181723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_128HZ
20191723b4a3SAtsushi Nemoto	bool
20201723b4a3SAtsushi Nemoto
20211723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_250HZ
20221723b4a3SAtsushi Nemoto	bool
20231723b4a3SAtsushi Nemoto
20241723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_256HZ
20251723b4a3SAtsushi Nemoto	bool
20261723b4a3SAtsushi Nemoto
20271723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_1000HZ
20281723b4a3SAtsushi Nemoto	bool
20291723b4a3SAtsushi Nemoto
20301723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_1024HZ
20311723b4a3SAtsushi Nemoto	bool
20321723b4a3SAtsushi Nemoto
20331723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_ARBIT_HZ
20341723b4a3SAtsushi Nemoto	bool
20351723b4a3SAtsushi Nemoto	default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
20361723b4a3SAtsushi Nemoto		     !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
20371723b4a3SAtsushi Nemoto		     !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
20381723b4a3SAtsushi Nemoto		     !SYS_SUPPORTS_1024HZ
20391723b4a3SAtsushi Nemoto
20401723b4a3SAtsushi Nemotoconfig HZ
20411723b4a3SAtsushi Nemoto	int
20421723b4a3SAtsushi Nemoto	default 48 if HZ_48
20431723b4a3SAtsushi Nemoto	default 100 if HZ_100
20441723b4a3SAtsushi Nemoto	default 128 if HZ_128
20451723b4a3SAtsushi Nemoto	default 250 if HZ_250
20461723b4a3SAtsushi Nemoto	default 256 if HZ_256
20471723b4a3SAtsushi Nemoto	default 1000 if HZ_1000
20481723b4a3SAtsushi Nemoto	default 1024 if HZ_1024
20491723b4a3SAtsushi Nemoto
2050e80de850SRalf Baechlesource "kernel/Kconfig.preempt"
20511da177e4SLinus Torvalds
20521da177e4SLinus Torvaldsconfig MIPS_INSANE_LARGE
20531da177e4SLinus Torvalds	bool "Support for large 64-bit configurations"
2054875d43e7SRalf Baechle	depends on CPU_R10000 && 64BIT
20551da177e4SLinus Torvalds	help
20561da177e4SLinus Torvalds	  MIPS R10000 does support a 44 bit / 16TB address space as opposed to
20571da177e4SLinus Torvalds	  previous 64-bit processors which only supported 40 bit / 1TB. If you
20581da177e4SLinus Torvalds	  need processes of more than 1TB virtual address space, say Y here.
20591da177e4SLinus Torvalds	  This will result in additional memory usage, so it is not
20601da177e4SLinus Torvalds	  recommended for normal users.
20611da177e4SLinus Torvalds
2062ea6e942bSAtsushi Nemotoconfig KEXEC
2063ea6e942bSAtsushi Nemoto	bool "Kexec system call (EXPERIMENTAL)"
2064ea6e942bSAtsushi Nemoto	depends on EXPERIMENTAL
2065ea6e942bSAtsushi Nemoto	help
2066ea6e942bSAtsushi Nemoto	  kexec is a system call that implements the ability to shutdown your
2067ea6e942bSAtsushi Nemoto	  current kernel, and to start another kernel.  It is like a reboot
20683dde6ad8SDavid Sterba	  but it is independent of the system firmware.   And like a reboot
2069ea6e942bSAtsushi Nemoto	  you can start any kernel with it, not just Linux.
2070ea6e942bSAtsushi Nemoto
207101dd2fbfSMatt LaPlante	  The name comes from the similarity to the exec system call.
2072ea6e942bSAtsushi Nemoto
2073ea6e942bSAtsushi Nemoto	  It is an ongoing process to be certain the hardware in a machine
2074ea6e942bSAtsushi Nemoto	  is properly shutdown, so do not be surprised if this code does not
2075ea6e942bSAtsushi Nemoto	  initially work for you.  It may help to enable device hotplugging
2076ea6e942bSAtsushi Nemoto	  support.  As of this writing the exact hardware interface is
2077ea6e942bSAtsushi Nemoto	  strongly in flux, so no good recommendation can be made.
2078ea6e942bSAtsushi Nemoto
2079ea6e942bSAtsushi Nemotoconfig SECCOMP
2080ea6e942bSAtsushi Nemoto	bool "Enable seccomp to safely compute untrusted bytecode"
2081293c5bd1SRalf Baechle	depends on PROC_FS
2082ea6e942bSAtsushi Nemoto	default y
2083ea6e942bSAtsushi Nemoto	help
2084ea6e942bSAtsushi Nemoto	  This kernel feature is useful for number crunching applications
2085ea6e942bSAtsushi Nemoto	  that may need to compute untrusted bytecode during their
2086ea6e942bSAtsushi Nemoto	  execution. By using pipes or other transports made available to
2087ea6e942bSAtsushi Nemoto	  the process as file descriptors supporting the read/write
2088ea6e942bSAtsushi Nemoto	  syscalls, it's possible to isolate those applications in
2089ea6e942bSAtsushi Nemoto	  their own address space using seccomp. Once seccomp is
2090ea6e942bSAtsushi Nemoto	  enabled via /proc/<pid>/seccomp, it cannot be disabled
2091ea6e942bSAtsushi Nemoto	  and the task is only allowed to execute a few safe syscalls
2092ea6e942bSAtsushi Nemoto	  defined by each seccomp mode.
2093ea6e942bSAtsushi Nemoto
2094ea6e942bSAtsushi Nemoto	  If unsure, say Y. Only embedded should say N here.
2095ea6e942bSAtsushi Nemoto
20965e83d430SRalf Baechleendmenu
20975e83d430SRalf Baechle
20981df0f0ffSAtsushi Nemotoconfig LOCKDEP_SUPPORT
20991df0f0ffSAtsushi Nemoto	bool
21001df0f0ffSAtsushi Nemoto	default y
21011df0f0ffSAtsushi Nemoto
21021df0f0ffSAtsushi Nemotoconfig STACKTRACE_SUPPORT
21031df0f0ffSAtsushi Nemoto	bool
21041df0f0ffSAtsushi Nemoto	default y
21051df0f0ffSAtsushi Nemoto
2106b6c3539bSRalf Baechlesource "init/Kconfig"
2107b6c3539bSRalf Baechle
2108dc52ddc0SMatt Helsleysource "kernel/Kconfig.freezer"
2109dc52ddc0SMatt Helsley
21101da177e4SLinus Torvaldsmenu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
21111da177e4SLinus Torvalds
21125e83d430SRalf Baechleconfig HW_HAS_EISA
21135e83d430SRalf Baechle	bool
21141da177e4SLinus Torvaldsconfig HW_HAS_PCI
21151da177e4SLinus Torvalds	bool
21161da177e4SLinus Torvalds
21171da177e4SLinus Torvaldsconfig PCI
21181da177e4SLinus Torvalds	bool "Support for PCI controller"
21191da177e4SLinus Torvalds	depends on HW_HAS_PCI
2120abb4ae46SRalf Baechle	select PCI_DOMAINS
21211da177e4SLinus Torvalds	help
21221da177e4SLinus Torvalds	  Find out whether you have a PCI motherboard. PCI is the name of a
21231da177e4SLinus Torvalds	  bus system, i.e. the way the CPU talks to the other stuff inside
21241da177e4SLinus Torvalds	  your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
21251da177e4SLinus Torvalds	  say Y, otherwise N.
21261da177e4SLinus Torvalds
21271da177e4SLinus Torvaldsconfig PCI_DOMAINS
21281da177e4SLinus Torvalds	bool
21291da177e4SLinus Torvalds
21301da177e4SLinus Torvaldssource "drivers/pci/Kconfig"
21311da177e4SLinus Torvalds
21321da177e4SLinus Torvalds#
21331da177e4SLinus Torvalds# ISA support is now enabled via select.  Too many systems still have the one
21341da177e4SLinus Torvalds# or other ISA chip on the board that users don't know about so don't expect
21351da177e4SLinus Torvalds# users to choose the right thing ...
21361da177e4SLinus Torvalds#
21371da177e4SLinus Torvaldsconfig ISA
21381da177e4SLinus Torvalds	bool
21391da177e4SLinus Torvalds
21401da177e4SLinus Torvaldsconfig EISA
21411da177e4SLinus Torvalds	bool "EISA support"
21425e83d430SRalf Baechle	depends on HW_HAS_EISA
21431da177e4SLinus Torvalds	select ISA
2144aa414dffSRalf Baechle	select GENERIC_ISA_DMA
21451da177e4SLinus Torvalds	---help---
21461da177e4SLinus Torvalds	  The Extended Industry Standard Architecture (EISA) bus was
21471da177e4SLinus Torvalds	  developed as an open alternative to the IBM MicroChannel bus.
21481da177e4SLinus Torvalds
21491da177e4SLinus Torvalds	  The EISA bus provided some of the features of the IBM MicroChannel
21501da177e4SLinus Torvalds	  bus while maintaining backward compatibility with cards made for
21511da177e4SLinus Torvalds	  the older ISA bus.  The EISA bus saw limited use between 1988 and
21521da177e4SLinus Torvalds	  1995 when it was made obsolete by the PCI bus.
21531da177e4SLinus Torvalds
21541da177e4SLinus Torvalds	  Say Y here if you are building a kernel for an EISA-based machine.
21551da177e4SLinus Torvalds
21561da177e4SLinus Torvalds	  Otherwise, say N.
21571da177e4SLinus Torvalds
21581da177e4SLinus Torvaldssource "drivers/eisa/Kconfig"
21591da177e4SLinus Torvalds
21601da177e4SLinus Torvaldsconfig TC
21611da177e4SLinus Torvalds	bool "TURBOchannel support"
21621da177e4SLinus Torvalds	depends on MACH_DECSTATION
21631da177e4SLinus Torvalds	help
21641da177e4SLinus Torvalds	  TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
21651da177e4SLinus Torvalds	  processors.  Documentation on writing device drivers for TurboChannel
21661da177e4SLinus Torvalds	  is available at:
21671da177e4SLinus Torvalds	  <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
21681da177e4SLinus Torvalds
21691da177e4SLinus Torvalds#config ACCESSBUS
21701da177e4SLinus Torvalds#	bool "Access.Bus support"
21711da177e4SLinus Torvalds#	depends on TC
21721da177e4SLinus Torvalds
21731da177e4SLinus Torvaldsconfig MMU
21741da177e4SLinus Torvalds	bool
21751da177e4SLinus Torvalds	default y
21761da177e4SLinus Torvalds
2177d865bea4SRalf Baechleconfig I8253
2178d865bea4SRalf Baechle	bool
21799726b43aSWu Zhangjin	select MIPS_EXTERNAL_TIMER
2180d865bea4SRalf Baechle
2181cce335aeSRalf Baechleconfig ZONE_DMA32
2182cce335aeSRalf Baechle	bool
2183cce335aeSRalf Baechle
21841da177e4SLinus Torvaldssource "drivers/pcmcia/Kconfig"
21851da177e4SLinus Torvalds
21861da177e4SLinus Torvaldssource "drivers/pci/hotplug/Kconfig"
21871da177e4SLinus Torvalds
21881da177e4SLinus Torvaldsendmenu
21891da177e4SLinus Torvalds
21901da177e4SLinus Torvaldsmenu "Executable file formats"
21911da177e4SLinus Torvalds
21921da177e4SLinus Torvaldssource "fs/Kconfig.binfmt"
21931da177e4SLinus Torvalds
21941da177e4SLinus Torvaldsconfig TRAD_SIGNALS
21951da177e4SLinus Torvalds	bool
21961da177e4SLinus Torvalds
21971da177e4SLinus Torvaldsconfig MIPS32_COMPAT
21981da177e4SLinus Torvalds	bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2199875d43e7SRalf Baechle	depends on 64BIT
22001da177e4SLinus Torvalds	help
22011da177e4SLinus Torvalds	  Select this option if you want Linux/MIPS 32-bit binary
22021da177e4SLinus Torvalds	  compatibility. Since all software available for Linux/MIPS is
22031da177e4SLinus Torvalds	  currently 32-bit you should say Y here.
22041da177e4SLinus Torvalds
22051da177e4SLinus Torvaldsconfig COMPAT
22061da177e4SLinus Torvalds	bool
22071da177e4SLinus Torvalds	depends on MIPS32_COMPAT
22081da177e4SLinus Torvalds	default y
22091da177e4SLinus Torvalds
221005e43966SAtsushi Nemotoconfig SYSVIPC_COMPAT
221105e43966SAtsushi Nemoto	bool
221205e43966SAtsushi Nemoto	depends on COMPAT && SYSVIPC
221305e43966SAtsushi Nemoto	default y
221405e43966SAtsushi Nemoto
22151da177e4SLinus Torvaldsconfig MIPS32_O32
22161da177e4SLinus Torvalds	bool "Kernel support for o32 binaries"
22171da177e4SLinus Torvalds	depends on MIPS32_COMPAT
22181da177e4SLinus Torvalds	help
22191da177e4SLinus Torvalds	  Select this option if you want to run o32 binaries.  These are pure
22201da177e4SLinus Torvalds	  32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
22211da177e4SLinus Torvalds	  existing binaries are in this format.
22221da177e4SLinus Torvalds
22231da177e4SLinus Torvalds	  If unsure, say Y.
22241da177e4SLinus Torvalds
22251da177e4SLinus Torvaldsconfig MIPS32_N32
22261da177e4SLinus Torvalds	bool "Kernel support for n32 binaries"
22271da177e4SLinus Torvalds	depends on MIPS32_COMPAT
22281da177e4SLinus Torvalds	help
22291da177e4SLinus Torvalds	  Select this option if you want to run n32 binaries.  These are
22301da177e4SLinus Torvalds	  64-bit binaries using 32-bit quantities for addressing and certain
22311da177e4SLinus Torvalds	  data that would normally be 64-bit.  They are used in special
22321da177e4SLinus Torvalds	  cases.
22331da177e4SLinus Torvalds
22341da177e4SLinus Torvalds	  If unsure, say N.
22351da177e4SLinus Torvalds
22361da177e4SLinus Torvaldsconfig BINFMT_ELF32
22371da177e4SLinus Torvalds	bool
22381da177e4SLinus Torvalds	default y if MIPS32_O32 || MIPS32_N32
22391da177e4SLinus Torvalds
22402116245eSRalf Baechleendmenu
22411da177e4SLinus Torvalds
22422116245eSRalf Baechlemenu "Power management options"
2243952fa954SRodolfo Giometti
2244363c55caSWu Zhangjinconfig ARCH_HIBERNATION_POSSIBLE
2245363c55caSWu Zhangjin	def_bool y
22463f5b3e17SRalf Baechle	depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2247363c55caSWu Zhangjin
2248f4cb5700SJohannes Bergconfig ARCH_SUSPEND_POSSIBLE
2249f4cb5700SJohannes Berg	def_bool y
22503f5b3e17SRalf Baechle	depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2251f4cb5700SJohannes Berg
22522116245eSRalf Baechlesource "kernel/power/Kconfig"
2253952fa954SRodolfo Giometti
22541da177e4SLinus Torvaldsendmenu
22551da177e4SLinus Torvalds
22569726b43aSWu Zhangjinsource "arch/mips/kernel/cpufreq/Kconfig"
22579726b43aSWu Zhangjin
2258d5950b43SSam Ravnborgsource "net/Kconfig"
2259d5950b43SSam Ravnborg
22601da177e4SLinus Torvaldssource "drivers/Kconfig"
22611da177e4SLinus Torvalds
22621da177e4SLinus Torvaldssource "fs/Kconfig"
22631da177e4SLinus Torvalds
22641da177e4SLinus Torvaldssource "arch/mips/Kconfig.debug"
22651da177e4SLinus Torvalds
22661da177e4SLinus Torvaldssource "security/Kconfig"
22671da177e4SLinus Torvalds
22681da177e4SLinus Torvaldssource "crypto/Kconfig"
22691da177e4SLinus Torvalds
22701da177e4SLinus Torvaldssource "lib/Kconfig"
2271