blob: b81a6b20d2528486c009c3a4b0cabe3e6d671794 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001config MIPS
2 bool
3 default y
Yoichi Yuasaf8ac04252009-06-04 00:16:04 +09004 select HAVE_GENERIC_DMA_COHERENT
Sam Ravnborgec7748b2008-02-09 10:46:40 +01005 select HAVE_IDE
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -05006 select HAVE_OPROFILE
Jason Wessel88547002008-07-29 15:58:53 -05007 select HAVE_ARCH_KGDB
Wu Zhangjind2bb07622009-11-20 20:34:29 +08008 select HAVE_FUNCTION_TRACER
Wu Zhangjin69a7d1b2009-11-20 20:34:30 +08009 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
Wu Zhangjin538f1952009-11-20 20:34:32 +080010 select HAVE_DYNAMIC_FTRACE
11 select HAVE_FTRACE_MCOUNT_RECORD
Wu Zhangjin29c5d342009-11-20 20:34:34 +080012 select HAVE_FUNCTION_GRAPH_TRACER
Wu Zhangjin21a41fa2009-11-10 00:06:11 +080013 select RTC_LIB if !MACH_LOONGSON
Linus Torvalds1da177e2005-04-16 15:20:36 -070014
Linus Torvalds1da177e2005-04-16 15:20:36 -070015mainmenu "Linux/MIPS Kernel Configuration"
16
Linus Torvalds1da177e2005-04-16 15:20:36 -070017menu "Machine selection"
18
Christoph Lameter5ac6da62007-02-10 01:43:14 -080019config ZONE_DMA
20 bool
Christoph Lameter5ac6da62007-02-10 01:43:14 -080021
Ralf Baechle5e83d432005-10-29 19:32:41 +010022choice
23 prompt "System type"
24 default SGI_IP22
Linus Torvalds1da177e2005-04-16 15:20:36 -070025
Yoichi Yuasac3543e22007-05-11 20:44:30 +090026config MACH_ALCHEMY
27 bool "Alchemy processor based machines"
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +080028 select SYS_SUPPORTS_ZBOOT
Linus Torvalds1da177e2005-04-16 15:20:36 -070029
Florian Fainelli7ca5dc12009-06-24 11:12:57 +020030config AR7
31 bool "Texas Instruments AR7"
32 select BOOT_ELF32
33 select DMA_NONCOHERENT
34 select CEVT_R4K
35 select CSRC_R4K
36 select IRQ_CPU
37 select NO_EXCEPT_FILL
38 select SWAP_IO_SPACE
39 select SYS_HAS_CPU_MIPS32_R1
40 select SYS_HAS_EARLY_PRINTK
41 select SYS_SUPPORTS_32BIT_KERNEL
42 select SYS_SUPPORTS_LITTLE_ENDIAN
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +080043 select SYS_SUPPORTS_ZBOOT_UART16550
Florian Fainelli5f3c9092010-01-03 21:16:51 +010044 select ARCH_REQUIRE_GPIOLIB
Florian Fainelli7ca5dc12009-06-24 11:12:57 +020045 select GCD
46 select VLYNQ
47 help
48 Support for the Texas Instruments AR7 System-on-a-Chip
49 family: TNETD7100, 7200 and 7300.
50
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020051config BCM47XX
Florian Fainellic6193662010-03-25 11:42:41 +010052 bool "Broadcom BCM47XX based boards"
Ralf Baechle42f77542007-10-18 17:48:11 +010053 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +000054 select CSRC_R4K
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020055 select DMA_NONCOHERENT
56 select HW_HAS_PCI
57 select IRQ_CPU
58 select SYS_HAS_CPU_MIPS32_R1
59 select SYS_SUPPORTS_32BIT_KERNEL
60 select SYS_SUPPORTS_LITTLE_ENDIAN
61 select SSB
62 select SSB_DRIVER_MIPS
Aurelien Jarno2f02c152007-12-11 11:30:34 +010063 select SSB_DRIVER_EXTIF
Aurelien Jarnob06f3e12008-10-14 11:44:26 +020064 select SSB_EMBEDDED
Hauke Mehrtens220937b12010-07-27 22:12:45 +020065 select SSB_B43_PCI_BRIDGE if PCI
Aurelien Jarno2f02c152007-12-11 11:30:34 +010066 select SSB_PCICORE_HOSTMODE if PCI
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020067 select GENERIC_GPIO
Aurelien Jarno25e5fb92007-09-25 15:41:24 +020068 select SYS_HAS_EARLY_PRINTK
69 select CFE
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020070 help
71 Support for BCM47XX based boards
72
Maxime Bizone7300d02009-08-18 13:23:37 +010073config BCM63XX
74 bool "Broadcom BCM63XX based boards"
75 select CEVT_R4K
76 select CSRC_R4K
77 select DMA_NONCOHERENT
78 select IRQ_CPU
79 select SYS_HAS_CPU_MIPS32_R1
80 select SYS_SUPPORTS_32BIT_KERNEL
81 select SYS_SUPPORTS_BIG_ENDIAN
82 select SYS_HAS_EARLY_PRINTK
83 select SWAP_IO_SPACE
84 select ARCH_REQUIRE_GPIOLIB
85 help
86 Support for BCM63XX based boards
87
Linus Torvalds1da177e2005-04-16 15:20:36 -070088config MIPS_COBALT
Martin Michlmayr3fa986f2006-05-09 23:34:53 +020089 bool "Cobalt Server"
Ralf Baechle42f77542007-10-18 17:48:11 +010090 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +000091 select CSRC_R4K
Yoichi Yuasa1097c6a2007-10-22 19:43:15 +090092 select CEVT_GT641XX
Linus Torvalds1da177e2005-04-16 15:20:36 -070093 select DMA_NONCOHERENT
94 select HW_HAS_PCI
Ralf Baechled865bea2007-10-11 23:46:10 +010095 select I8253
Linus Torvalds1da177e2005-04-16 15:20:36 -070096 select I8259
97 select IRQ_CPU
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +090098 select IRQ_GT641XX
Yoichi Yuasa252161e2007-03-14 21:51:26 +090099 select PCI_GT64XXX_PCI0
Yoichi Yuasae25bfc92009-06-02 23:17:07 +0900100 select PCI
Ralf Baechle7cf80532005-10-20 22:33:09 +0100101 select SYS_HAS_CPU_NEVADA
Yoichi Yuasa0a22e0d2007-03-02 12:42:33 +0900102 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700103 select SYS_SUPPORTS_32BIT_KERNEL
Florian Fainelli0e8774b2008-01-15 19:42:57 +0100104 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100105 select SYS_SUPPORTS_LITTLE_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700106
107config MACH_DECSTATION
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200108 bool "DECstations"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700109 select BOOT_ELF32
Yoichi Yuasa6457d9f2008-04-25 12:11:44 +0900110 select CEVT_DS1287
Ralf Baechle42f77542007-10-18 17:48:11 +0100111 select CEVT_R4K
Yoichi Yuasa42474172008-04-24 09:48:40 +0900112 select CSRC_IOASIC
Ralf Baechle940f6b42007-11-24 22:33:28 +0000113 select CSRC_R4K
Maciej W. Rozycki20d60d92007-10-23 12:43:11 +0100114 select CPU_DADDI_WORKAROUNDS if 64BIT
115 select CPU_R4000_WORKAROUNDS if 64BIT
116 select CPU_R4400_WORKAROUNDS if 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700117 select DMA_NONCOHERENT
Maciej W. Rozyckid388d682007-05-29 15:08:07 +0100118 select NO_IOPORT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700119 select IRQ_CPU
Ralf Baechle7cf80532005-10-20 22:33:09 +0100120 select SYS_HAS_CPU_R3000
121 select SYS_HAS_CPU_R4X00
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700122 select SYS_SUPPORTS_32BIT_KERNEL
123 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100124 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +0900125 select SYS_SUPPORTS_128HZ
126 select SYS_SUPPORTS_256HZ
127 select SYS_SUPPORTS_1024HZ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100128 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700129 This enables support for DEC's MIPS based workstations. For details
130 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
131 DECstation porting pages on <http://decstation.unix-ag.org/>.
132
133 If you have one of the following DECstation Models you definitely
134 want to choose R4xx0 for the CPU Type:
135
Ralf Baechle93088162007-08-29 14:21:45 +0100136 DECstation 5000/50
137 DECstation 5000/150
138 DECstation 5000/260
139 DECsystem 5900/260
Linus Torvalds1da177e2005-04-16 15:20:36 -0700140
141 otherwise choose R3000.
142
Ralf Baechle5e83d432005-10-29 19:32:41 +0100143config MACH_JAZZ
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200144 bool "Jazz family of machines"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100145 select ARC
146 select ARC32
147 select ARCH_MAY_HAVE_PC_FDC
Ralf Baechle42f77542007-10-18 17:48:11 +0100148 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000149 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100150 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100151 select GENERIC_ISA_DMA
Thomas Bogendoerferea202c62007-08-25 11:01:50 +0200152 select IRQ_CPU
Ralf Baechled865bea2007-10-11 23:46:10 +0100153 select I8253
Ralf Baechle5e83d432005-10-29 19:32:41 +0100154 select I8259
155 select ISA
Ralf Baechle7cf80532005-10-20 22:33:09 +0100156 select SYS_HAS_CPU_R4X00
Ralf Baechle5e83d432005-10-29 19:32:41 +0100157 select SYS_SUPPORTS_32BIT_KERNEL
158 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +0900159 select SYS_SUPPORTS_100HZ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700160 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100161 This a family of machines based on the MIPS R4030 chipset which was
162 used by several vendors to build RISC/os and Windows NT workstations.
Matt LaPlante692105b2009-01-26 11:12:25 +0100163 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
Ralf Baechle5e83d432005-10-29 19:32:41 +0100164 Olivetti M700-10 workstations.
165
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200166config LASAT
167 bool "LASAT Networks platforms"
Ralf Baechle42f77542007-10-18 17:48:11 +0100168 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000169 select CSRC_R4K
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200170 select DMA_NONCOHERENT
171 select SYS_HAS_EARLY_PRINTK
172 select HW_HAS_PCI
Ralf Baechlea5ccfe52007-10-14 23:49:33 +0100173 select IRQ_CPU
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200174 select PCI_GT64XXX_PCI0
175 select MIPS_NILE4
176 select R5000_CPU_SCACHE
177 select SYS_HAS_CPU_R5000
178 select SYS_SUPPORTS_32BIT_KERNEL
179 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
180 select SYS_SUPPORTS_LITTLE_ENDIAN
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200181
Wu Zhangjin85749d22009-07-02 23:26:45 +0800182config MACH_LOONGSON
183 bool "Loongson family of machines"
Wu Zhangjinc7e8c662010-01-04 17:16:46 +0800184 select SYS_SUPPORTS_ZBOOT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900185 help
Wu Zhangjin85749d22009-07-02 23:26:45 +0800186 This enables the support of Loongson family of machines.
187
188 Loongson is a family of general-purpose MIPS-compatible CPUs.
189 developed at Institute of Computing Technology (ICT),
190 Chinese Academy of Sciences (CAS) in the People's Republic
191 of China. The chief architect is Professor Weiwu Hu.
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900192
Linus Torvalds1da177e2005-04-16 15:20:36 -0700193config MIPS_MALTA
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200194 bool "MIPS Malta board"
Ralf Baechle61ed2422005-09-15 08:52:34 +0000195 select ARCH_MAY_HAVE_PC_FDC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700196 select BOOT_ELF32
Ralf Baechlefa71c962008-01-29 10:15:00 +0000197 select BOOT_RAW
Ralf Baechle42f77542007-10-18 17:48:11 +0100198 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000199 select CSRC_R4K
Linus Torvalds1da177e2005-04-16 15:20:36 -0700200 select DMA_NONCOHERENT
201 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000202 select IRQ_CPU
Ralf Baechle39b8d522008-04-28 17:14:26 +0100203 select IRQ_GIC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700204 select HW_HAS_PCI
Ralf Baechled865bea2007-10-11 23:46:10 +0100205 select I8253
Linus Torvalds1da177e2005-04-16 15:20:36 -0700206 select I8259
Ralf Baechle5e83d432005-10-29 19:32:41 +0100207 select MIPS_BOARDS_GEN
208 select MIPS_BONITO64
Chris Dearman9318c512006-06-20 17:15:20 +0100209 select MIPS_CPU_SCACHE
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900210 select PCI_GT64XXX_PCI0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100211 select MIPS_MSC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700212 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100213 select SYS_HAS_CPU_MIPS32_R1
214 select SYS_HAS_CPU_MIPS32_R2
215 select SYS_HAS_CPU_MIPS64_R1
216 select SYS_HAS_CPU_NEVADA
217 select SYS_HAS_CPU_RM7000
Ralf Baechle36a88532007-03-01 11:56:43 +0000218 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700219 select SYS_SUPPORTS_32BIT_KERNEL
220 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100221 select SYS_SUPPORTS_BIG_ENDIAN
222 select SYS_SUPPORTS_LITTLE_ENDIAN
Tim Anderson03650702009-06-17 16:22:53 -0700223 select SYS_SUPPORTS_MIPS_CMP
Ralf Baechlef41ae0b2006-06-05 17:24:46 +0100224 select SYS_SUPPORTS_MULTITHREADING
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100225 select SYS_SUPPORTS_SMARTMIPS
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +0800226 select SYS_SUPPORTS_ZBOOT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700227 help
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000228 This enables support for the MIPS Technologies Malta evaluation
Linus Torvalds1da177e2005-04-16 15:20:36 -0700229 board.
230
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100231config MIPS_SIM
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200232 bool 'MIPS simulator (MIPSsim)'
Ralf Baechle42f77542007-10-18 17:48:11 +0100233 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000234 select CSRC_R4K
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100235 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000236 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100237 select IRQ_CPU
Marc St-Jean9267a302007-06-14 15:55:31 -0600238 select BOOT_RAW
Ralf Baechle7cf80532005-10-20 22:33:09 +0100239 select SYS_HAS_CPU_MIPS32_R1
240 select SYS_HAS_CPU_MIPS32_R2
Ralf Baechle36a88532007-03-01 11:56:43 +0000241 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100242 select SYS_SUPPORTS_32BIT_KERNEL
243 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlef6e23732007-07-10 17:32:56 +0100244 select SYS_SUPPORTS_MULTITHREADING
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100245 select SYS_SUPPORTS_LITTLE_ENDIAN
246 help
247 This option enables support for MIPS Technologies MIPSsim software
248 emulator.
249
Ralf Baechlea83860c2009-03-13 21:17:57 +0100250config NEC_MARKEINS
251 bool "NEC EMMA2RH Mark-eins board"
252 select SOC_EMMA2RH
253 select HW_HAS_PCI
254 help
255 This enables support for the NEC Electronics Mark-eins boards.
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900256
Ralf Baechle5e83d432005-10-29 19:32:41 +0100257config MACH_VR41XX
Yoichi Yuasa74142d62007-04-26 19:45:09 +0900258 bool "NEC VR4100 series based machines"
Ralf Baechle42f77542007-10-18 17:48:11 +0100259 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000260 select CSRC_R4K
Ralf Baechle7cf80532005-10-20 22:33:09 +0100261 select SYS_HAS_CPU_VR41XX
Yoichi Yuasa27fdd322009-06-29 11:11:05 +0900262 select ARCH_REQUIRE_GPIOLIB
Ralf Baechle5e83d432005-10-29 19:32:41 +0100263
Daniel Lairdedb63102008-06-16 15:49:21 +0100264config NXP_STB220
265 bool "NXP STB220 board"
266 select SOC_PNX833X
267 help
268 Support for NXP Semiconductors STB220 Development Board.
269
270config NXP_STB225
271 bool "NXP 225 board"
272 select SOC_PNX833X
273 select SOC_PNX8335
274 help
275 Support for NXP Semiconductors STB225 Development Board.
276
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900277config PNX8550_JBS
Daniel Lairda92b0582008-03-06 09:07:18 +0000278 bool "NXP PNX8550 based JBS board"
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900279 select PNX8550
280 select SYS_SUPPORTS_LITTLE_ENDIAN
281
282config PNX8550_STB810
Daniel Lairda92b0582008-03-06 09:07:18 +0000283 bool "NXP PNX8550 based STB810 board"
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900284 select PNX8550
285 select SYS_SUPPORTS_LITTLE_ENDIAN
286
Marc St-Jean9267a302007-06-14 15:55:31 -0600287config PMC_MSP
288 bool "PMC-Sierra MSP chipsets"
289 depends on EXPERIMENTAL
290 select DMA_NONCOHERENT
291 select SWAP_IO_SPACE
292 select NO_EXCEPT_FILL
293 select BOOT_RAW
294 select SYS_HAS_CPU_MIPS32_R1
295 select SYS_HAS_CPU_MIPS32_R2
296 select SYS_SUPPORTS_32BIT_KERNEL
297 select SYS_SUPPORTS_BIG_ENDIAN
Marc St-Jean9267a302007-06-14 15:55:31 -0600298 select IRQ_CPU
299 select SERIAL_8250
300 select SERIAL_8250_CONSOLE
301 help
302 This adds support for the PMC-Sierra family of Multi-Service
303 Processor System-On-A-Chips. These parts include a number
304 of integrated peripherals, interfaces and DSPs in addition to
305 a variety of MIPS cores.
306
Ralf Baechle5e83d432005-10-29 19:32:41 +0100307config PMC_YOSEMITE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200308 bool "PMC-Sierra Yosemite eval board"
Ralf Baechle42f77542007-10-18 17:48:11 +0100309 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000310 select CSRC_R4K
Ralf Baechle5e83d432005-10-29 19:32:41 +0100311 select DMA_COHERENT
312 select HW_HAS_PCI
313 select IRQ_CPU
314 select IRQ_CPU_RM7K
315 select IRQ_CPU_RM9K
316 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100317 select SYS_HAS_CPU_RM9000
Ralf Baechle36a88532007-03-01 11:56:43 +0000318 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100319 select SYS_SUPPORTS_32BIT_KERNEL
320 select SYS_SUPPORTS_64BIT_KERNEL
321 select SYS_SUPPORTS_BIG_ENDIAN
322 select SYS_SUPPORTS_HIGHMEM
Ralf Baechlee73ea272006-06-04 11:51:46 +0100323 select SYS_SUPPORTS_SMP
Ralf Baechle5e83d432005-10-29 19:32:41 +0100324 help
325 Yosemite is an evaluation board for the RM9000x2 processor
326 manufactured by PMC-Sierra.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700327
David VomLehna3a0f8c2009-08-30 17:15:11 -0700328config POWERTV
329 bool "Cisco PowerTV"
330 select BOOT_ELF32
331 select CEVT_R4K
332 select CPU_MIPSR2_IRQ_VI
333 select CPU_MIPSR2_IRQ_EI
334 select CSRC_POWERTV
335 select DMA_NONCOHERENT
336 select HW_HAS_PCI
337 select SYS_HAS_EARLY_PRINTK
338 select SYS_HAS_CPU_MIPS32_R2
339 select SYS_SUPPORTS_32BIT_KERNEL
340 select SYS_SUPPORTS_BIG_ENDIAN
341 select SYS_SUPPORTS_HIGHMEM
342 select USB_OHCI_LITTLE_ENDIAN
343 help
344 This enables support for the Cisco PowerTV Platform.
345
Linus Torvalds1da177e2005-04-16 15:20:36 -0700346config SGI_IP22
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200347 bool "SGI IP22 (Indy/Indigo2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700348 select ARC
349 select ARC32
350 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100351 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000352 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100353 select DEFAULT_SGI_PARTITION
Linus Torvalds1da177e2005-04-16 15:20:36 -0700354 select DMA_NONCOHERENT
Ralf Baechle5e83d432005-10-29 19:32:41 +0100355 select HW_HAS_EISA
Ralf Baechled865bea2007-10-11 23:46:10 +0100356 select I8253
Thomas Bogendoerfer68de4802007-11-23 20:34:16 +0100357 select I8259
Linus Torvalds1da177e2005-04-16 15:20:36 -0700358 select IP22_CPU_SCACHE
359 select IRQ_CPU
Ralf Baechleaa414df2006-11-30 01:14:51 +0000360 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100361 select SGI_HAS_I8042
362 select SGI_HAS_INDYDOG
Thomas Bogendoerfer36e5c212008-07-16 14:06:15 +0200363 select SGI_HAS_HAL2
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100364 select SGI_HAS_SEEQ
365 select SGI_HAS_WD93
366 select SGI_HAS_ZILOG
Linus Torvalds1da177e2005-04-16 15:20:36 -0700367 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100368 select SYS_HAS_CPU_R4X00
369 select SYS_HAS_CPU_R5000
Martin Michlmayr2b5e63f2009-11-19 16:40:09 +0000370 #
371 # Disable EARLY_PRINTK for now since it leads to overwritten prom
372 # memory during early boot on some machines.
373 #
374 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
375 # for a more details discussion
376 #
377 # select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700378 select SYS_SUPPORTS_32BIT_KERNEL
379 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100380 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700381 help
382 This are the SGI Indy, Challenge S and Indigo2, as well as certain
383 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
384 that runs on these, say Y here.
385
386config SGI_IP27
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200387 bool "SGI IP27 (Origin200/2000)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700388 select ARC
389 select ARC64
Ralf Baechle5e83d432005-10-29 19:32:41 +0100390 select BOOT_ELF64
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100391 select DEFAULT_SGI_PARTITION
Ralf Baechle634286f2009-01-28 17:48:40 +0000392 select DMA_COHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000393 select SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700394 select HW_HAS_PCI
Ralf Baechle130e2fb2007-02-06 16:53:15 +0000395 select NR_CPUS_DEFAULT_64
Ralf Baechle7cf80532005-10-20 22:33:09 +0100396 select SYS_HAS_CPU_R10000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700397 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100398 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechled8cb4e12006-06-11 23:03:08 +0100399 select SYS_SUPPORTS_NUMA
Ralf Baechle1a5c5de2006-11-02 17:23:33 +0000400 select SYS_SUPPORTS_SMP
Linus Torvalds1da177e2005-04-16 15:20:36 -0700401 help
402 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
403 workstations. To compile a Linux kernel that runs on these, say Y
404 here.
405
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100406config SGI_IP28
407 bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
408 depends on EXPERIMENTAL
409 select ARC
410 select ARC64
411 select BOOT_ELF64
412 select CEVT_R4K
413 select CSRC_R4K
414 select DEFAULT_SGI_PARTITION
415 select DMA_NONCOHERENT
416 select GENERIC_ISA_DMA_SUPPORT_BROKEN
417 select IRQ_CPU
418 select HW_HAS_EISA
419 select I8253
420 select I8259
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100421 select SGI_HAS_I8042
422 select SGI_HAS_INDYDOG
Thomas Bogendoerfer5b438c42008-07-10 20:29:55 +0200423 select SGI_HAS_HAL2
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100424 select SGI_HAS_SEEQ
425 select SGI_HAS_WD93
426 select SGI_HAS_ZILOG
427 select SWAP_IO_SPACE
428 select SYS_HAS_CPU_R10000
Martin Michlmayr2b5e63f2009-11-19 16:40:09 +0000429 #
430 # Disable EARLY_PRINTK for now since it leads to overwritten prom
431 # memory during early boot on some machines.
432 #
433 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
434 # for a more details discussion
435 #
436 # select SYS_HAS_EARLY_PRINTK
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100437 select SYS_SUPPORTS_64BIT_KERNEL
438 select SYS_SUPPORTS_BIG_ENDIAN
439 help
440 This is the SGI Indigo2 with R10000 processor. To compile a Linux
441 kernel that runs on these, say Y here.
442
Linus Torvalds1da177e2005-04-16 15:20:36 -0700443config SGI_IP32
Ralf Baechlecfd2afc2007-07-10 17:33:00 +0100444 bool "SGI IP32 (O2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700445 select ARC
446 select ARC32
447 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100448 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000449 select CSRC_R4K
Linus Torvalds1da177e2005-04-16 15:20:36 -0700450 select DMA_NONCOHERENT
451 select HW_HAS_PCI
Ralf Baechledd67b152007-10-14 14:02:26 +0100452 select IRQ_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700453 select R5000_CPU_SCACHE
454 select RM7000_CPU_SCACHE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100455 select SYS_HAS_CPU_R5000
456 select SYS_HAS_CPU_R10000 if BROKEN
457 select SYS_HAS_CPU_RM7000
Ralf Baechledd2f18f2006-01-19 14:55:42 +0000458 select SYS_HAS_CPU_NEVADA
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700459 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100460 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700461 help
462 If you want this kernel to run on SGI O2 workstation, say Y here.
463
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900464config SIBYTE_CRHINE
465 bool "Sibyte BCM91120C-CRhine"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100466 depends on EXPERIMENTAL
467 select BOOT_ELF32
468 select DMA_COHERENT
469 select SIBYTE_BCM1120
470 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100471 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100472 select SYS_SUPPORTS_BIG_ENDIAN
473 select SYS_SUPPORTS_LITTLE_ENDIAN
474
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900475config SIBYTE_CARMEL
476 bool "Sibyte BCM91120x-Carmel"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100477 depends on EXPERIMENTAL
478 select BOOT_ELF32
479 select DMA_COHERENT
480 select SIBYTE_BCM1120
481 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100482 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100483 select SYS_SUPPORTS_BIG_ENDIAN
484 select SYS_SUPPORTS_LITTLE_ENDIAN
485
486config SIBYTE_CRHONE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200487 bool "Sibyte BCM91125C-CRhone"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100488 depends on EXPERIMENTAL
489 select BOOT_ELF32
490 select DMA_COHERENT
491 select SIBYTE_BCM1125
492 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100493 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100494 select SYS_SUPPORTS_BIG_ENDIAN
495 select SYS_SUPPORTS_HIGHMEM
496 select SYS_SUPPORTS_LITTLE_ENDIAN
497
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900498config SIBYTE_RHONE
499 bool "Sibyte BCM91125E-Rhone"
500 depends on EXPERIMENTAL
501 select BOOT_ELF32
502 select DMA_COHERENT
503 select SIBYTE_BCM1125H
504 select SWAP_IO_SPACE
505 select SYS_HAS_CPU_SB1
506 select SYS_SUPPORTS_BIG_ENDIAN
507 select SYS_SUPPORTS_LITTLE_ENDIAN
508
509config SIBYTE_SWARM
510 bool "Sibyte BCM91250A-SWARM"
511 select BOOT_ELF32
512 select DMA_COHERENT
Sebastian Andrzej Siewiorfcf3ca42010-04-18 15:26:36 +0200513 select HAVE_PATA_PLATFORM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900514 select NR_CPUS_DEFAULT_2
515 select SIBYTE_SB1250
516 select SWAP_IO_SPACE
517 select SYS_HAS_CPU_SB1
518 select SYS_SUPPORTS_BIG_ENDIAN
519 select SYS_SUPPORTS_HIGHMEM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900520 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlecce335ae2007-11-03 02:05:43 +0000521 select ZONE_DMA32 if 64BIT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900522
523config SIBYTE_LITTLESUR
524 bool "Sibyte BCM91250C2-LittleSur"
525 depends on EXPERIMENTAL
526 select BOOT_ELF32
527 select DMA_COHERENT
Sebastian Andrzej Siewiorfcf3ca42010-04-18 15:26:36 +0200528 select HAVE_PATA_PLATFORM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900529 select NR_CPUS_DEFAULT_2
530 select SIBYTE_SB1250
531 select SWAP_IO_SPACE
532 select SYS_HAS_CPU_SB1
533 select SYS_SUPPORTS_BIG_ENDIAN
534 select SYS_SUPPORTS_HIGHMEM
535 select SYS_SUPPORTS_LITTLE_ENDIAN
536
537config SIBYTE_SENTOSA
538 bool "Sibyte BCM91250E-Sentosa"
539 depends on EXPERIMENTAL
540 select BOOT_ELF32
541 select DMA_COHERENT
542 select NR_CPUS_DEFAULT_2
543 select SIBYTE_SB1250
544 select SWAP_IO_SPACE
545 select SYS_HAS_CPU_SB1
546 select SYS_SUPPORTS_BIG_ENDIAN
547 select SYS_SUPPORTS_LITTLE_ENDIAN
548
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900549config SIBYTE_BIGSUR
550 bool "Sibyte BCM91480B-BigSur"
551 select BOOT_ELF32
552 select DMA_COHERENT
553 select NR_CPUS_DEFAULT_4
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900554 select SIBYTE_BCM1x80
555 select SWAP_IO_SPACE
556 select SYS_HAS_CPU_SB1
557 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle651194f2007-11-01 21:55:39 +0000558 select SYS_SUPPORTS_HIGHMEM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900559 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlecce335ae2007-11-03 02:05:43 +0000560 select ZONE_DMA32 if 64BIT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900561
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100562config SNI_RM
563 bool "SNI RM200/300/400"
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200564 select ARC if CPU_LITTLE_ENDIAN
565 select ARC32 if CPU_LITTLE_ENDIAN
Thomas Bogendoerfer231a35d2008-01-04 23:31:07 +0100566 select SNIPROM if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100567 select ARCH_MAY_HAVE_PC_FDC
568 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100569 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000570 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100571 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100572 select DMA_NONCOHERENT
573 select GENERIC_ISA_DMA
Ralf Baechle5e83d432005-10-29 19:32:41 +0100574 select HW_HAS_EISA
575 select HW_HAS_PCI
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100576 select IRQ_CPU
Ralf Baechled865bea2007-10-11 23:46:10 +0100577 select I8253
Ralf Baechle5e83d432005-10-29 19:32:41 +0100578 select I8259
579 select ISA
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200580 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
Ralf Baechle7cf80532005-10-20 22:33:09 +0100581 select SYS_HAS_CPU_R4X00
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200582 select SYS_HAS_CPU_R5000
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100583 select SYS_HAS_CPU_R10000
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200584 select R5000_CPU_SCACHE
Ralf Baechle36a88532007-03-01 11:56:43 +0000585 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700586 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100587 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200588 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100589 select SYS_SUPPORTS_HIGHMEM
590 select SYS_SUPPORTS_LITTLE_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700591 help
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100592 The SNI RM200/300/400 are MIPS-based machines manufactured by
593 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
Ralf Baechle5e83d432005-10-29 19:32:41 +0100594 Technology and now in turn merged with Fujitsu. Say Y here to
595 support this machine type.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700596
Atsushi Nemotoedcaf1a2008-07-11 23:27:54 +0900597config MACH_TX39XX
598 bool "Toshiba TX39 series based machines"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100599
Atsushi Nemotoedcaf1a2008-07-11 23:27:54 +0900600config MACH_TX49XX
601 bool "Toshiba TX49 series based machines"
Ralf Baechle23fbee92005-07-25 22:45:45 +0000602
Ralf Baechle73b43902008-07-16 16:12:25 +0100603config MIKROTIK_RB532
604 bool "Mikrotik RB532 boards"
605 select CEVT_R4K
606 select CSRC_R4K
607 select DMA_NONCOHERENT
Ralf Baechle73b43902008-07-16 16:12:25 +0100608 select HW_HAS_PCI
609 select IRQ_CPU
610 select SYS_HAS_CPU_MIPS32_R1
611 select SYS_SUPPORTS_32BIT_KERNEL
612 select SYS_SUPPORTS_LITTLE_ENDIAN
613 select SWAP_IO_SPACE
614 select BOOT_RAW
Florian Fainellid888e252008-08-23 18:54:34 +0200615 select ARCH_REQUIRE_GPIOLIB
Ralf Baechle73b43902008-07-16 16:12:25 +0100616 help
617 Support the Mikrotik(tm) RouterBoard 532 series,
618 based on the IDT RC32434 SoC.
619
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900620config WR_PPMC
621 bool "Wind River PPMC board"
Ralf Baechle42f77542007-10-18 17:48:11 +0100622 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000623 select CSRC_R4K
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900624 select IRQ_CPU
625 select BOOT_ELF32
626 select DMA_NONCOHERENT
627 select HW_HAS_PCI
628 select PCI_GT64XXX_PCI0
629 select SWAP_IO_SPACE
630 select SYS_HAS_CPU_MIPS32_R1
631 select SYS_HAS_CPU_MIPS32_R2
632 select SYS_HAS_CPU_MIPS64_R1
633 select SYS_HAS_CPU_NEVADA
634 select SYS_HAS_CPU_RM7000
635 select SYS_SUPPORTS_32BIT_KERNEL
636 select SYS_SUPPORTS_64BIT_KERNEL
637 select SYS_SUPPORTS_BIG_ENDIAN
638 select SYS_SUPPORTS_LITTLE_ENDIAN
639 help
640 This enables support for the Wind River MIPS32 4KC PPMC evaluation
641 board, which is based on GT64120 bridge chip.
642
David Daneya86c7f72008-12-11 15:33:38 -0800643config CAVIUM_OCTEON_SIMULATOR
Yoichi Yuasac9d89d92009-06-02 23:15:10 +0900644 bool "Cavium Networks Octeon Simulator"
David Daneya86c7f72008-12-11 15:33:38 -0800645 select CEVT_R4K
646 select 64BIT_PHYS_ADDR
647 select DMA_COHERENT
648 select SYS_SUPPORTS_64BIT_KERNEL
649 select SYS_SUPPORTS_BIG_ENDIAN
650 select SYS_SUPPORTS_HIGHMEM
Ralf Baechle773cb772009-06-23 10:36:38 +0100651 select SYS_SUPPORTS_HOTPLUG_CPU
David Daney5e683382009-02-02 11:30:59 -0800652 select SYS_HAS_CPU_CAVIUM_OCTEON
David Daneya86c7f72008-12-11 15:33:38 -0800653 help
654 The Octeon simulator is software performance model of the Cavium
655 Octeon Processor. It supports simulating Octeon processors on x86
656 hardware.
657
658config CAVIUM_OCTEON_REFERENCE_BOARD
Yoichi Yuasac9d89d92009-06-02 23:15:10 +0900659 bool "Cavium Networks Octeon reference board"
David Daneya86c7f72008-12-11 15:33:38 -0800660 select CEVT_R4K
661 select 64BIT_PHYS_ADDR
662 select DMA_COHERENT
663 select SYS_SUPPORTS_64BIT_KERNEL
664 select SYS_SUPPORTS_BIG_ENDIAN
665 select SYS_SUPPORTS_HIGHMEM
Ralf Baechle773cb772009-06-23 10:36:38 +0100666 select SYS_SUPPORTS_HOTPLUG_CPU
David Daneya86c7f72008-12-11 15:33:38 -0800667 select SYS_HAS_EARLY_PRINTK
David Daney5e683382009-02-02 11:30:59 -0800668 select SYS_HAS_CPU_CAVIUM_OCTEON
David Daneya86c7f72008-12-11 15:33:38 -0800669 select SWAP_IO_SPACE
David Daneye8635b42009-04-23 17:44:38 -0700670 select HW_HAS_PCI
671 select ARCH_SUPPORTS_MSI
David Daneya86c7f72008-12-11 15:33:38 -0800672 help
673 This option supports all of the Octeon reference boards from Cavium
674 Networks. It builds a kernel that dynamically determines the Octeon
675 CPU type and supports all known board reference implementations.
676 Some of the supported boards are:
677 EBT3000
678 EBH3000
679 EBH3100
680 Thunder
681 Kodama
682 Hikari
683 Say Y here for most Octeon reference boards.
684
Linus Torvalds1da177e2005-04-16 15:20:36 -0700685endchoice
686
Ralf Baechlee8c7c482008-09-16 19:12:16 +0200687source "arch/mips/alchemy/Kconfig"
Maxime Bizone7300d02009-08-18 13:23:37 +0100688source "arch/mips/bcm63xx/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100689source "arch/mips/jazz/Kconfig"
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200690source "arch/mips/lasat/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100691source "arch/mips/pmc-sierra/Kconfig"
David VomLehna3a0f8c2009-08-30 17:15:11 -0700692source "arch/mips/powertv/Kconfig"
Ralf Baechle29c48692005-02-07 01:27:14 +0000693source "arch/mips/sgi-ip27/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000694source "arch/mips/sibyte/Kconfig"
Atsushi Nemoto22b1d702008-07-11 00:31:36 +0900695source "arch/mips/txx9/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100696source "arch/mips/vr41xx/Kconfig"
David Daneya86c7f72008-12-11 15:33:38 -0800697source "arch/mips/cavium-octeon/Kconfig"
Wu Zhangjin85749d22009-07-02 23:26:45 +0800698source "arch/mips/loongson/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000699
Ralf Baechle5e83d432005-10-29 19:32:41 +0100700endmenu
701
Linus Torvalds1da177e2005-04-16 15:20:36 -0700702config RWSEM_GENERIC_SPINLOCK
703 bool
704 default y
705
706config RWSEM_XCHGADD_ALGORITHM
707 bool
708
David Howellsf0d1b0b2006-12-08 02:37:49 -0800709config ARCH_HAS_ILOG2_U32
710 bool
711 default n
712
713config ARCH_HAS_ILOG2_U64
714 bool
715 default n
716
Ralf Baechle00a58252007-12-06 16:53:19 +0000717config ARCH_SUPPORTS_OPROFILE
718 bool
719 default y if !MIPS_MT_SMTC
720
Akinobu Mita3c9ee7e2006-03-26 01:39:30 -0800721config GENERIC_FIND_NEXT_BIT
722 bool
723 default y
724
725config GENERIC_HWEIGHT
726 bool
727 default y
728
Linus Torvalds1da177e2005-04-16 15:20:36 -0700729config GENERIC_CALIBRATE_DELAY
730 bool
731 default y
732
Ralf Baechle7bcf7712007-10-11 23:46:09 +0100733config GENERIC_CLOCKEVENTS
734 bool
735 default y
736
Ralf Baechle8db02012006-10-02 16:54:48 +0100737config GENERIC_TIME
738 bool
739 default y
740
Ralf Baechlef5ff0a22007-08-13 15:26:12 +0100741config GENERIC_CMOS_UPDATE
742 bool
743 default y
744
Ingo Molnarae1e9132008-11-11 09:05:16 +0100745config SCHED_OMIT_FRAME_POINTER
Atsushi Nemoto1cc89032006-04-04 13:11:45 +0900746 bool
747 default y
748
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100749config GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechlec87e0902009-03-30 14:49:44 +0200750 def_bool y
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100751
Linus Torvalds1da177e2005-04-16 15:20:36 -0700752#
753# Select some configuration options automatically based on user selections.
754#
755config ARC
756 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700757
Ralf Baechle61ed2422005-09-15 08:52:34 +0000758config ARCH_MAY_HAVE_PC_FDC
759 bool
760
Marc St-Jean9267a302007-06-14 15:55:31 -0600761config BOOT_RAW
762 bool
763
Ralf Baechle217dd112007-11-01 01:57:55 +0000764config CEVT_BCM1480
765 bool
766
Yoichi Yuasa6457d9f2008-04-25 12:11:44 +0900767config CEVT_DS1287
768 bool
769
Yoichi Yuasa1097c6a2007-10-22 19:43:15 +0900770config CEVT_GT641XX
771 bool
772
Manuel Lauss779e7d42008-12-21 09:26:22 +0100773config CEVT_R4K_LIB
774 bool
775
Ralf Baechle42f77542007-10-18 17:48:11 +0100776config CEVT_R4K
Manuel Lauss779e7d42008-12-21 09:26:22 +0100777 select CEVT_R4K_LIB
Ralf Baechle42f77542007-10-18 17:48:11 +0100778 bool
779
Ralf Baechle217dd112007-11-01 01:57:55 +0000780config CEVT_SB1250
781 bool
782
Atsushi Nemoto229f7732007-10-25 01:34:09 +0900783config CEVT_TXX9
784 bool
785
Ralf Baechle217dd112007-11-01 01:57:55 +0000786config CSRC_BCM1480
787 bool
788
Yoichi Yuasa42474172008-04-24 09:48:40 +0900789config CSRC_IOASIC
790 bool
791
David VomLehna3a0f8c2009-08-30 17:15:11 -0700792config CSRC_POWERTV
793 bool
794
Manuel Lauss779e7d42008-12-21 09:26:22 +0100795config CSRC_R4K_LIB
796 bool
797
Ralf Baechle940f6b42007-11-24 22:33:28 +0000798config CSRC_R4K
Manuel Lauss779e7d42008-12-21 09:26:22 +0100799 select CSRC_R4K_LIB
Ralf Baechle940f6b42007-11-24 22:33:28 +0000800 bool
801
Ralf Baechle217dd112007-11-01 01:57:55 +0000802config CSRC_SB1250
803 bool
804
Atsushi Nemotoa9aec7f2008-04-05 00:55:41 +0900805config GPIO_TXX9
806 select GENERIC_GPIO
Michael Buesch7444a722008-07-25 01:46:11 -0700807 select ARCH_REQUIRE_GPIOLIB
Atsushi Nemotoa9aec7f2008-04-05 00:55:41 +0900808 bool
809
Aurelien Jarnodf78b5c2007-09-05 08:58:26 +0200810config CFE
811 bool
812
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700813config DMA_COHERENT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700814 bool
815
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700816config DMA_NONCOHERENT
817 bool
FUJITA Tomonorie1e02b32010-03-10 15:23:25 -0800818 select NEED_DMA_MAP_STATE
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700819
FUJITA Tomonorie1e02b32010-03-10 15:23:25 -0800820config NEED_DMA_MAP_STATE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700821 bool
822
Ralf Baechle36a88532007-03-01 11:56:43 +0000823config SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700824 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700825
Ralf Baechledbb74542007-08-07 14:52:17 +0100826config HOTPLUG_CPU
Ralf Baechle1b2bc752009-06-23 10:00:31 +0100827 bool "Support for hot-pluggable CPUs"
828 depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU
829 help
830 Say Y here to allow turning CPUs off and on. CPUs can be
831 controlled through /sys/devices/system/cpu.
832 (Note: power management support will enable this option
833 automatically on SMP systems. )
834 Say N if you want to disable CPU hotplug.
835
836config SYS_SUPPORTS_HOTPLUG_CPU
Ralf Baechledbb74542007-08-07 14:52:17 +0100837 bool
Ralf Baechledbb74542007-08-07 14:52:17 +0100838
Linus Torvalds1da177e2005-04-16 15:20:36 -0700839config I8259
840 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700841
Linus Torvalds1da177e2005-04-16 15:20:36 -0700842config MIPS_BONITO64
843 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700844
845config MIPS_MSC
846 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700847
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200848config MIPS_NILE4
849 bool
850
Linus Torvalds1da177e2005-04-16 15:20:36 -0700851config MIPS_DISABLE_OBSOLETE_IDE
852 bool
853
Ralf Baechle39b8d522008-04-28 17:14:26 +0100854config SYNC_R4K
855 bool
856
Maciej W. Rozyckid388d682007-05-29 15:08:07 +0100857config NO_IOPORT
858 def_bool n
859
Ralf Baechle8313da32007-08-24 16:48:30 +0100860config GENERIC_ISA_DMA
861 bool
862 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
863
Ralf Baechleaa414df2006-11-30 01:14:51 +0000864config GENERIC_ISA_DMA_SUPPORT_BROKEN
865 bool
Ralf Baechle8313da32007-08-24 16:48:30 +0100866 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000867
Yoichi Yuasa09663332007-05-22 00:05:58 +0900868config GENERIC_GPIO
869 bool
870
Ralf Baechle5e83d432005-10-29 19:32:41 +0100871#
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100872# Endianess selection. Sufficiently obscure so many users don't know what to
Ralf Baechle5e83d432005-10-29 19:32:41 +0100873# answer,so we try hard to limit the available choices. Also the use of a
874# choice statement should be more obvious to the user.
875#
876choice
877 prompt "Endianess selection"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700878 help
879 Some MIPS machines can be configured for either little or big endian
Ralf Baechle5e83d432005-10-29 19:32:41 +0100880 byte order. These modes require different kernels and a different
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100881 Linux distribution. In general there is one preferred byteorder for a
Ralf Baechle5e83d432005-10-29 19:32:41 +0100882 particular system but some systems are just as commonly used in the
David Sterba3dde6ad2007-05-09 07:12:20 +0200883 one or the other endianness.
Ralf Baechle5e83d432005-10-29 19:32:41 +0100884
885config CPU_BIG_ENDIAN
886 bool "Big endian"
887 depends on SYS_SUPPORTS_BIG_ENDIAN
888
889config CPU_LITTLE_ENDIAN
890 bool "Little endian"
891 depends on SYS_SUPPORTS_LITTLE_ENDIAN
892 help
893
894endchoice
895
Ralf Baechle21162452007-02-09 17:08:58 +0000896config SYS_SUPPORTS_APM_EMULATION
897 bool
898
Ralf Baechle5e83d432005-10-29 19:32:41 +0100899config SYS_SUPPORTS_BIG_ENDIAN
900 bool
901
902config SYS_SUPPORTS_LITTLE_ENDIAN
903 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700904
David Daney9cffd152009-05-27 17:47:46 -0700905config SYS_SUPPORTS_HUGETLBFS
906 bool
907 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
908 default y
909
Linus Torvalds1da177e2005-04-16 15:20:36 -0700910config IRQ_CPU
911 bool
912
913config IRQ_CPU_RM7K
914 bool
915
Ralf Baechle5e83d432005-10-29 19:32:41 +0100916config IRQ_CPU_RM9K
917 bool
918
Marc St-Jean9267a302007-06-14 15:55:31 -0600919config IRQ_MSP_SLP
920 bool
921
922config IRQ_MSP_CIC
923 bool
924
Atsushi Nemoto8420fd02007-08-02 23:35:53 +0900925config IRQ_TXX9
926 bool
927
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +0900928config IRQ_GT641XX
929 bool
930
Ralf Baechle39b8d522008-04-28 17:14:26 +0100931config IRQ_GIC
932 bool
933
David Daneya86c7f72008-12-11 15:33:38 -0800934config IRQ_CPU_OCTEON
935 bool
936
Linus Torvalds1da177e2005-04-16 15:20:36 -0700937config MIPS_BOARDS_GEN
938 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700939
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900940config PCI_GT64XXX_PCI0
Linus Torvalds1da177e2005-04-16 15:20:36 -0700941 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700942
Marc St-Jean9267a302007-06-14 15:55:31 -0600943config NO_EXCEPT_FILL
944 bool
945
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200946config MIPS_RM9122
947 bool
948 select SERIAL_RM9000
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200949
Ralf Baechlea83860c2009-03-13 21:17:57 +0100950config SOC_EMMA2RH
951 bool
952 select CEVT_R4K
953 select CSRC_R4K
954 select DMA_NONCOHERENT
955 select IRQ_CPU
956 select SWAP_IO_SPACE
957 select SYS_HAS_CPU_R5500
958 select SYS_SUPPORTS_32BIT_KERNEL
959 select SYS_SUPPORTS_64BIT_KERNEL
960 select SYS_SUPPORTS_BIG_ENDIAN
961
Daniel Lairdedb63102008-06-16 15:49:21 +0100962config SOC_PNX833X
963 bool
964 select CEVT_R4K
965 select CSRC_R4K
966 select IRQ_CPU
967 select DMA_NONCOHERENT
968 select SYS_HAS_CPU_MIPS32_R2
969 select SYS_SUPPORTS_32BIT_KERNEL
970 select SYS_SUPPORTS_LITTLE_ENDIAN
971 select SYS_SUPPORTS_BIG_ENDIAN
Daniel Lairdedb63102008-06-16 15:49:21 +0100972 select GENERIC_GPIO
973 select CPU_MIPSR2_IRQ_VI
974
975config SOC_PNX8335
976 bool
977 select SOC_PNX833X
978
Pete Popovbdf21b12005-07-14 17:47:57 +0000979config PNX8550
980 bool
981 select SOC_PNX8550
982
983config SOC_PNX8550
984 bool
Pete Popovbdf21b12005-07-14 17:47:57 +0000985 select DMA_NONCOHERENT
986 select HW_HAS_PCI
Ralf Baechleb8c2a772005-10-31 13:08:37 +0000987 select SYS_HAS_CPU_MIPS32_R1
Ralf Baechle36a88532007-03-01 11:56:43 +0000988 select SYS_HAS_EARLY_PRINTK
Ralf Baechle7cf80532005-10-20 22:33:09 +0100989 select SYS_SUPPORTS_32BIT_KERNEL
Florian Fainelli4ead1682007-05-22 21:44:42 +0200990 select GENERIC_GPIO
Pete Popovbdf21b12005-07-14 17:47:57 +0000991
Linus Torvalds1da177e2005-04-16 15:20:36 -0700992config SWAP_IO_SPACE
993 bool
994
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200995config SERIAL_RM9000
996 bool
997
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100998config SGI_HAS_INDYDOG
999 bool
1000
Thomas Bogendoerfer5b438c42008-07-10 20:29:55 +02001001config SGI_HAS_HAL2
1002 bool
1003
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +01001004config SGI_HAS_SEEQ
1005 bool
1006
1007config SGI_HAS_WD93
1008 bool
1009
1010config SGI_HAS_ZILOG
1011 bool
1012
1013config SGI_HAS_I8042
1014 bool
1015
1016config DEFAULT_SGI_PARTITION
1017 bool
1018
Ralf Baechle5e83d432005-10-29 19:32:41 +01001019config ARC32
1020 bool
1021
Thomas Bogendoerfer231a35d2008-01-04 23:31:07 +01001022config SNIPROM
1023 bool
1024
Linus Torvalds1da177e2005-04-16 15:20:36 -07001025config BOOT_ELF32
1026 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001027
1028config MIPS_L1_CACHE_SHIFT
1029 int
Ralf Baechlec7088752009-10-12 22:30:06 +02001030 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL
Ralf Baechle0db2b742009-10-13 16:54:01 +02001031 default "6" if MIPS_CPU_SCACHE
David Daneya86c7f72008-12-11 15:33:38 -08001032 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON
Linus Torvalds1da177e2005-04-16 15:20:36 -07001033 default "5"
1034
Linus Torvalds1da177e2005-04-16 15:20:36 -07001035config HAVE_STD_PC_SERIAL_PORT
1036 bool
1037
Linus Torvalds1da177e2005-04-16 15:20:36 -07001038config ARC_CONSOLE
1039 bool "ARC console support"
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +01001040 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001041
1042config ARC_MEMORY
1043 bool
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +01001044 depends on MACH_JAZZ || SNI_RM || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -07001045 default y
1046
1047config ARC_PROMLIB
1048 bool
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +01001049 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -07001050 default y
1051
1052config ARC64
1053 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001054
1055config BOOT_ELF64
1056 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001057
Linus Torvalds1da177e2005-04-16 15:20:36 -07001058menu "CPU selection"
1059
1060choice
1061 prompt "CPU type"
1062 default CPU_R4X00
1063
Wu Zhangjin3702bba2009-07-02 23:27:41 +08001064config CPU_LOONGSON2E
1065 bool "Loongson 2E"
1066 depends on SYS_HAS_CPU_LOONGSON2E
1067 select CPU_LOONGSON2
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001068 help
1069 The Loongson 2E processor implements the MIPS III instruction set
1070 with many extensions.
1071
Wu Zhangjin6f7a2512009-11-06 18:45:05 +08001072 It has an internal FPGA northbridge, which is compatiable to
1073 bonito64.
1074
1075config CPU_LOONGSON2F
1076 bool "Loongson 2F"
1077 depends on SYS_HAS_CPU_LOONGSON2F
1078 select CPU_LOONGSON2
Arnaud Patardc197da92010-04-29 11:58:54 +02001079 select GENERIC_GPIO
1080 select ARCH_REQUIRE_GPIOLIB
Wu Zhangjin6f7a2512009-11-06 18:45:05 +08001081 help
1082 The Loongson 2F processor implements the MIPS III instruction set
1083 with many extensions.
1084
1085 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1086 have a similar programming interface with FPGA northbridge used in
1087 Loongson2E.
1088
Ralf Baechle6e760c82005-07-06 12:08:11 +00001089config CPU_MIPS32_R1
1090 bool "MIPS32 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001091 depends on SYS_HAS_CPU_MIPS32_R1
Ralf Baechle6e760c82005-07-06 12:08:11 +00001092 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +00001093 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001094 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +00001095 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001096 Choose this option to build a kernel for release 1 or later of the
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001097 MIPS32 architecture. Most modern embedded systems with a 32-bit
1098 MIPS processor are based on a MIPS32 processor. If you know the
1099 specific type of processor in your system, choose those that one
1100 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1101 Release 2 of the MIPS32 architecture is available since several
1102 years so chances are you even have a MIPS32 Release 2 processor
1103 in which case you should choose CPU_MIPS32_R2 instead for better
1104 performance.
1105
1106config CPU_MIPS32_R2
1107 bool "MIPS32 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001108 depends on SYS_HAS_CPU_MIPS32_R2
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001109 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +00001110 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001111 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001112 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001113 Choose this option to build a kernel for release 2 or later of the
Ralf Baechle6e760c82005-07-06 12:08:11 +00001114 MIPS32 architecture. Most modern embedded systems with a 32-bit
1115 MIPS processor are based on a MIPS32 processor. If you know the
1116 specific type of processor in your system, choose those that one
1117 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001118
Ralf Baechle6e760c82005-07-06 12:08:11 +00001119config CPU_MIPS64_R1
1120 bool "MIPS64 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001121 depends on SYS_HAS_CPU_MIPS64_R1
Ralf Baechle797798c2005-08-10 15:17:11 +00001122 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001123 select CPU_SUPPORTS_32BIT_KERNEL
1124 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001125 select CPU_SUPPORTS_HIGHMEM
David Daney9cffd152009-05-27 17:47:46 -07001126 select CPU_SUPPORTS_HUGEPAGES
Ralf Baechle6e760c82005-07-06 12:08:11 +00001127 help
1128 Choose this option to build a kernel for release 1 or later of the
1129 MIPS64 architecture. Many modern embedded systems with a 64-bit
1130 MIPS processor are based on a MIPS64 processor. If you know the
1131 specific type of processor in your system, choose those that one
1132 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001133 Release 2 of the MIPS64 architecture is available since several
1134 years so chances are you even have a MIPS64 Release 2 processor
1135 in which case you should choose CPU_MIPS64_R2 instead for better
1136 performance.
1137
1138config CPU_MIPS64_R2
1139 bool "MIPS64 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001140 depends on SYS_HAS_CPU_MIPS64_R2
Ralf Baechle797798c2005-08-10 15:17:11 +00001141 select CPU_HAS_PREFETCH
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001142 select CPU_SUPPORTS_32BIT_KERNEL
1143 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001144 select CPU_SUPPORTS_HIGHMEM
David Daney9cffd152009-05-27 17:47:46 -07001145 select CPU_SUPPORTS_HUGEPAGES
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001146 help
1147 Choose this option to build a kernel for release 2 or later of the
1148 MIPS64 architecture. Many modern embedded systems with a 64-bit
1149 MIPS processor are based on a MIPS64 processor. If you know the
1150 specific type of processor in your system, choose those that one
1151 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001152
1153config CPU_R3000
1154 bool "R3000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001155 depends on SYS_HAS_CPU_R3000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001156 select CPU_HAS_WB
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001157 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001158 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001159 help
1160 Please make sure to pick the right CPU type. Linux/MIPS is not
1161 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1162 *not* work on R4000 machines and vice versa. However, since most
1163 of the supported machines have an R4000 (or similar) CPU, R4x00
1164 might be a safe bet. If the resulting kernel does not work,
1165 try to recompile with R3000.
1166
1167config CPU_TX39XX
1168 bool "R39XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001169 depends on SYS_HAS_CPU_TX39XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001170 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001171
1172config CPU_VR41XX
1173 bool "R41xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001174 depends on SYS_HAS_CPU_VR41XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001175 select CPU_SUPPORTS_32BIT_KERNEL
1176 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001177 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001178 The options selects support for the NEC VR4100 series of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001179 Only choose this option if you have one of these processors as a
1180 kernel built with this option will not run on any other type of
1181 processor or vice versa.
1182
1183config CPU_R4300
1184 bool "R4300"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001185 depends on SYS_HAS_CPU_R4300
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001186 select CPU_SUPPORTS_32BIT_KERNEL
1187 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001188 help
1189 MIPS Technologies R4300-series processors.
1190
1191config CPU_R4X00
1192 bool "R4x00"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001193 depends on SYS_HAS_CPU_R4X00
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001194 select CPU_SUPPORTS_32BIT_KERNEL
1195 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001196 help
1197 MIPS Technologies R4000-series processors other than 4300, including
1198 the R4000, R4400, R4600, and 4700.
1199
1200config CPU_TX49XX
1201 bool "R49XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001202 depends on SYS_HAS_CPU_TX49XX
Atsushi Nemotode862b42006-03-17 12:59:22 +09001203 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001204 select CPU_SUPPORTS_32BIT_KERNEL
1205 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001206
1207config CPU_R5000
1208 bool "R5000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001209 depends on SYS_HAS_CPU_R5000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001210 select CPU_SUPPORTS_32BIT_KERNEL
1211 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001212 help
1213 MIPS Technologies R5000-series processors other than the Nevada.
1214
1215config CPU_R5432
1216 bool "R5432"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001217 depends on SYS_HAS_CPU_R5432
Ralf Baechle5e83d432005-10-29 19:32:41 +01001218 select CPU_SUPPORTS_32BIT_KERNEL
1219 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001220
Shinya Kuribayashi542c1022008-10-24 01:27:57 +09001221config CPU_R5500
1222 bool "R5500"
1223 depends on SYS_HAS_CPU_R5500
Shinya Kuribayashi542c1022008-10-24 01:27:57 +09001224 select CPU_SUPPORTS_32BIT_KERNEL
1225 select CPU_SUPPORTS_64BIT_KERNEL
David Daney9cffd152009-05-27 17:47:46 -07001226 select CPU_SUPPORTS_HUGEPAGES
Shinya Kuribayashi542c1022008-10-24 01:27:57 +09001227 help
1228 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1229 instruction set.
1230
Linus Torvalds1da177e2005-04-16 15:20:36 -07001231config CPU_R6000
1232 bool "R6000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001233 depends on EXPERIMENTAL
Ralf Baechle7cf80532005-10-20 22:33:09 +01001234 depends on SYS_HAS_CPU_R6000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001235 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001236 help
1237 MIPS Technologies R6000 and R6000A series processors. Note these
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001238 processors are extremely rare and the support for them is incomplete.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001239
1240config CPU_NEVADA
1241 bool "RM52xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001242 depends on SYS_HAS_CPU_NEVADA
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001243 select CPU_SUPPORTS_32BIT_KERNEL
1244 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001245 help
1246 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1247
1248config CPU_R8000
1249 bool "R8000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001250 depends on EXPERIMENTAL
Ralf Baechle7cf80532005-10-20 22:33:09 +01001251 depends on SYS_HAS_CPU_R8000
Ralf Baechle5e83d432005-10-29 19:32:41 +01001252 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001253 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001254 help
1255 MIPS Technologies R8000 processors. Note these processors are
1256 uncommon and the support for them is incomplete.
1257
1258config CPU_R10000
1259 bool "R10000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001260 depends on SYS_HAS_CPU_R10000
Ralf Baechle5e83d432005-10-29 19:32:41 +01001261 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001262 select CPU_SUPPORTS_32BIT_KERNEL
1263 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001264 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001265 help
1266 MIPS Technologies R10000-series processors.
1267
1268config CPU_RM7000
1269 bool "RM7000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001270 depends on SYS_HAS_CPU_RM7000
Ralf Baechle5e83d432005-10-29 19:32:41 +01001271 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001272 select CPU_SUPPORTS_32BIT_KERNEL
1273 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001274 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001275
1276config CPU_RM9000
1277 bool "RM9000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001278 depends on SYS_HAS_CPU_RM9000
Ralf Baechle5e83d432005-10-29 19:32:41 +01001279 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001280 select CPU_SUPPORTS_32BIT_KERNEL
1281 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001282 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001283 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001284
1285config CPU_SB1
1286 bool "SB1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001287 depends on SYS_HAS_CPU_SB1
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001288 select CPU_SUPPORTS_32BIT_KERNEL
1289 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001290 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001291 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001292
David Daneya86c7f72008-12-11 15:33:38 -08001293config CPU_CAVIUM_OCTEON
1294 bool "Cavium Octeon processor"
David Daney5e683382009-02-02 11:30:59 -08001295 depends on SYS_HAS_CPU_CAVIUM_OCTEON
David Daneya86c7f72008-12-11 15:33:38 -08001296 select IRQ_CPU
1297 select IRQ_CPU_OCTEON
1298 select CPU_HAS_PREFETCH
1299 select CPU_SUPPORTS_64BIT_KERNEL
1300 select SYS_SUPPORTS_SMP
1301 select NR_CPUS_DEFAULT_16
1302 select WEAK_ORDERING
David Daneya86c7f72008-12-11 15:33:38 -08001303 select CPU_SUPPORTS_HIGHMEM
David Daney9cffd152009-05-27 17:47:46 -07001304 select CPU_SUPPORTS_HUGEPAGES
David Daneya86c7f72008-12-11 15:33:38 -08001305 help
1306 The Cavium Octeon processor is a highly integrated chip containing
1307 many ethernet hardware widgets for networking tasks. The processor
1308 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1309 Full details can be found at http://www.caviumnetworks.com.
1310
Linus Torvalds1da177e2005-04-16 15:20:36 -07001311endchoice
1312
Wu Zhangjin622844b2010-04-10 20:04:42 +08001313if CPU_LOONGSON2F
1314config CPU_NOP_WORKAROUNDS
1315 bool
1316
1317config CPU_JUMP_WORKAROUNDS
1318 bool
1319
1320config CPU_LOONGSON2F_WORKAROUNDS
1321 bool "Loongson 2F Workarounds"
1322 default y
1323 select CPU_NOP_WORKAROUNDS
1324 select CPU_JUMP_WORKAROUNDS
1325 help
1326 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1327 require workarounds. Without workarounds the system may hang
1328 unexpectedly. For more information please refer to the gas
1329 -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1330
1331 Loongson 2F03 and later have fixed these issues and no workarounds
1332 are needed. The workarounds have no significant side effect on them
1333 but may decrease the performance of the system so this option should
1334 be disabled unless the kernel is intended to be run on 2F01 or 2F02
1335 systems.
1336
1337 If unsure, please say Y.
1338endif # CPU_LOONGSON2F
1339
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +08001340config SYS_SUPPORTS_ZBOOT
1341 bool
1342 select HAVE_KERNEL_GZIP
1343 select HAVE_KERNEL_BZIP2
1344 select HAVE_KERNEL_LZMA
Wu Zhangjinfe1d45e2010-01-15 20:34:46 +08001345 select HAVE_KERNEL_LZO
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +08001346
1347config SYS_SUPPORTS_ZBOOT_UART16550
1348 bool
1349 select SYS_SUPPORTS_ZBOOT
1350
Wu Zhangjin3702bba2009-07-02 23:27:41 +08001351config CPU_LOONGSON2
1352 bool
1353 select CPU_SUPPORTS_32BIT_KERNEL
1354 select CPU_SUPPORTS_64BIT_KERNEL
1355 select CPU_SUPPORTS_HIGHMEM
1356
1357config SYS_HAS_CPU_LOONGSON2E
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001358 bool
1359
Wu Zhangjin6f7a2512009-11-06 18:45:05 +08001360config SYS_HAS_CPU_LOONGSON2F
1361 bool
Wu Zhangjin55045ff2009-11-11 13:39:12 +08001362 select CPU_SUPPORTS_CPUFREQ
1363 select CPU_SUPPORTS_ADDRWINCFG if 64BIT
Wu Zhangjin22f1fdf2009-11-11 13:59:23 +08001364 select CPU_SUPPORTS_UNCACHED_ACCELERATED
Wu Zhangjin6f7a2512009-11-06 18:45:05 +08001365
Ralf Baechle7cf80532005-10-20 22:33:09 +01001366config SYS_HAS_CPU_MIPS32_R1
1367 bool
1368
1369config SYS_HAS_CPU_MIPS32_R2
1370 bool
1371
1372config SYS_HAS_CPU_MIPS64_R1
1373 bool
1374
1375config SYS_HAS_CPU_MIPS64_R2
1376 bool
1377
1378config SYS_HAS_CPU_R3000
1379 bool
1380
1381config SYS_HAS_CPU_TX39XX
1382 bool
1383
1384config SYS_HAS_CPU_VR41XX
1385 bool
1386
1387config SYS_HAS_CPU_R4300
1388 bool
1389
1390config SYS_HAS_CPU_R4X00
1391 bool
1392
1393config SYS_HAS_CPU_TX49XX
1394 bool
1395
1396config SYS_HAS_CPU_R5000
1397 bool
1398
1399config SYS_HAS_CPU_R5432
1400 bool
1401
Shinya Kuribayashi542c1022008-10-24 01:27:57 +09001402config SYS_HAS_CPU_R5500
1403 bool
1404
Ralf Baechle7cf80532005-10-20 22:33:09 +01001405config SYS_HAS_CPU_R6000
1406 bool
1407
1408config SYS_HAS_CPU_NEVADA
1409 bool
1410
1411config SYS_HAS_CPU_R8000
1412 bool
1413
1414config SYS_HAS_CPU_R10000
1415 bool
1416
1417config SYS_HAS_CPU_RM7000
1418 bool
1419
1420config SYS_HAS_CPU_RM9000
1421 bool
1422
1423config SYS_HAS_CPU_SB1
1424 bool
1425
David Daney5e683382009-02-02 11:30:59 -08001426config SYS_HAS_CPU_CAVIUM_OCTEON
1427 bool
1428
Ralf Baechle17099b12007-07-14 13:24:05 +01001429#
1430# CPU may reorder R->R, R->W, W->R, W->W
1431# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1432#
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001433config WEAK_ORDERING
1434 bool
Ralf Baechle17099b12007-07-14 13:24:05 +01001435
1436#
1437# CPU may reorder reads and writes beyond LL/SC
1438# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1439#
1440config WEAK_REORDERING_BEYOND_LLSC
1441 bool
Ralf Baechle5e83d432005-10-29 19:32:41 +01001442endmenu
1443
1444#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001445# These two indicate any level of the MIPS32 and MIPS64 architecture
Ralf Baechle5e83d432005-10-29 19:32:41 +01001446#
1447config CPU_MIPS32
1448 bool
1449 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1450
1451config CPU_MIPS64
1452 bool
1453 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1454
1455#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001456# These two indicate the revision of the architecture, either Release 1 or Release 2
Ralf Baechle5e83d432005-10-29 19:32:41 +01001457#
1458config CPU_MIPSR1
1459 bool
1460 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1461
1462config CPU_MIPSR2
1463 bool
David Daneya86c7f72008-12-11 15:33:38 -08001464 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
Ralf Baechle5e83d432005-10-29 19:32:41 +01001465
1466config SYS_SUPPORTS_32BIT_KERNEL
1467 bool
1468config SYS_SUPPORTS_64BIT_KERNEL
1469 bool
1470config CPU_SUPPORTS_32BIT_KERNEL
1471 bool
1472config CPU_SUPPORTS_64BIT_KERNEL
1473 bool
Wu Zhangjin55045ff2009-11-11 13:39:12 +08001474config CPU_SUPPORTS_CPUFREQ
1475 bool
1476config CPU_SUPPORTS_ADDRWINCFG
1477 bool
David Daney9cffd152009-05-27 17:47:46 -07001478config CPU_SUPPORTS_HUGEPAGES
1479 bool
Wu Zhangjin22f1fdf2009-11-11 13:59:23 +08001480config CPU_SUPPORTS_UNCACHED_ACCELERATED
1481 bool
David Daney826222842009-10-14 12:16:56 -07001482config MIPS_PGD_C0_CONTEXT
1483 bool
1484 default y if 64BIT && CPU_MIPSR2
Ralf Baechle5e83d432005-10-29 19:32:41 +01001485
David Daney8192c9e2008-09-23 00:04:26 -07001486#
1487# Set to y for ptrace access to watch registers.
1488#
1489config HARDWARE_WATCHPOINTS
1490 bool
David Daneyf8394902009-01-05 15:29:14 -08001491 default y if CPU_MIPSR1 || CPU_MIPSR2
David Daney8192c9e2008-09-23 00:04:26 -07001492
Ralf Baechle5e83d432005-10-29 19:32:41 +01001493menu "Kernel type"
1494
1495choice
1496
1497 prompt "Kernel code model"
1498 help
1499 You should only select this option if you have a workload that
1500 actually benefits from 64-bit processing or if your machine has
1501 large memory. You will only be presented a single option in this
1502 menu if your system does not support both 32-bit and 64-bit kernels.
1503
1504config 32BIT
1505 bool "32-bit kernel"
1506 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1507 select TRAD_SIGNALS
1508 help
1509 Select this option if you want to build a 32-bit kernel.
1510config 64BIT
1511 bool "64-bit kernel"
1512 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechledbda6ac2009-02-08 16:00:26 +00001513 select HAVE_SYSCALL_WRAPPERS
Ralf Baechle5e83d432005-10-29 19:32:41 +01001514 help
1515 Select this option if you want to build a 64-bit kernel.
1516
1517endchoice
1518
Linus Torvalds1da177e2005-04-16 15:20:36 -07001519choice
1520 prompt "Kernel page size"
1521 default PAGE_SIZE_4KB
1522
1523config PAGE_SIZE_4KB
1524 bool "4kB"
Wu Zhangjin315fe622009-12-01 14:55:25 +08001525 depends on !CPU_LOONGSON2
Linus Torvalds1da177e2005-04-16 15:20:36 -07001526 help
1527 This option select the standard 4kB Linux page size. On some
1528 R3000-family processors this is the only available page size. Using
1529 4kB page size will minimize memory consumption and is therefore
1530 recommended for low memory systems.
1531
1532config PAGE_SIZE_8KB
1533 bool "8kB"
Ralf Baechlec52399b2009-04-02 14:07:10 +02001534 depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
Linus Torvalds1da177e2005-04-16 15:20:36 -07001535 help
1536 Using 8kB page size will result in higher performance kernel at
1537 the price of higher memory consumption. This option is available
Ralf Baechlec52399b2009-04-02 14:07:10 +02001538 only on R8000 and cnMIPS processors. Note that you will need a
1539 suitable Linux distribution to support this.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001540
1541config PAGE_SIZE_16KB
1542 bool "16kB"
Ralf Baechle714bfad2006-05-17 14:04:30 +01001543 depends on !CPU_R3000 && !CPU_TX39XX
Linus Torvalds1da177e2005-04-16 15:20:36 -07001544 help
1545 Using 16kB page size will result in higher performance kernel at
1546 the price of higher memory consumption. This option is available on
Ralf Baechle714bfad2006-05-17 14:04:30 +01001547 all non-R3000 family processors. Note that you will need a suitable
1548 Linux distribution to support this.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001549
Ralf Baechlec52399b2009-04-02 14:07:10 +02001550config PAGE_SIZE_32KB
1551 bool "32kB"
1552 depends on CPU_CAVIUM_OCTEON
1553 help
1554 Using 32kB page size will result in higher performance kernel at
1555 the price of higher memory consumption. This option is available
1556 only on cnMIPS cores. Note that you will need a suitable Linux
1557 distribution to support this.
1558
Linus Torvalds1da177e2005-04-16 15:20:36 -07001559config PAGE_SIZE_64KB
1560 bool "64kB"
1561 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1562 help
1563 Using 64kB page size will result in higher performance kernel at
1564 the price of higher memory consumption. This option is available on
1565 all non-R3000 family processor. Not that at the time of this
Ralf Baechle714bfad2006-05-17 14:04:30 +01001566 writing this option is still high experimental.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001567
1568endchoice
1569
1570config BOARD_SCACHE
1571 bool
1572
1573config IP22_CPU_SCACHE
1574 bool
1575 select BOARD_SCACHE
1576
Chris Dearman9318c512006-06-20 17:15:20 +01001577#
1578# Support for a MIPS32 / MIPS64 style S-caches
1579#
1580config MIPS_CPU_SCACHE
1581 bool
1582 select BOARD_SCACHE
1583
Linus Torvalds1da177e2005-04-16 15:20:36 -07001584config R5000_CPU_SCACHE
1585 bool
1586 select BOARD_SCACHE
1587
1588config RM7000_CPU_SCACHE
1589 bool
1590 select BOARD_SCACHE
1591
1592config SIBYTE_DMA_PAGEOPS
1593 bool "Use DMA to clear/copy pages"
1594 depends on CPU_SB1
1595 help
1596 Instead of using the CPU to zero and copy pages, use a Data Mover
1597 channel. These DMA channels are otherwise unused by the standard
1598 SiByte Linux port. Seems to give a small performance benefit.
1599
1600config CPU_HAS_PREFETCH
Ralf Baechlec8094b52005-08-05 14:28:54 +00001601 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001602
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001603choice
1604 prompt "MIPS MT options"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001605
1606config MIPS_MT_DISABLED
1607 bool "Disable multithreading support."
1608 help
1609 Use this option if your workload can't take advantage of
1610 MIPS hardware multithreading support. On systems that don't have
1611 the option of an MT-enabled processor this option will be the only
1612 option in this menu.
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001613
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001614config MIPS_MT_SMP
1615 bool "Use 1 TC on each available VPE for SMP"
1616 depends on SYS_SUPPORTS_MULTITHREADING
1617 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001618 select CPU_MIPSR2_IRQ_EI
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001619 select MIPS_MT
Ralf Baechlef510aa32007-03-16 21:58:37 +00001620 select NR_CPUS_DEFAULT_2
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001621 select SMP
Ralf Baechle0ab7aef2007-03-02 20:42:04 +00001622 select SYS_SUPPORTS_SCHED_SMT if SMP
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001623 select SYS_SUPPORTS_SMP
Ralf Baechle87353d82007-11-19 12:23:51 +00001624 select SMP_UP
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001625 help
1626 This is a kernel model which is also known a VSMP or lately
1627 has been marketesed into SMVP.
1628
Ralf Baechle41c594a2006-04-05 09:45:45 +01001629config MIPS_MT_SMTC
1630 bool "SMTC: Use all TCs on all VPEs for SMP"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001631 depends on CPU_MIPS32_R2
1632 #depends on CPU_MIPS64_R2 # once there is hardware ...
1633 depends on SYS_SUPPORTS_MULTITHREADING
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001634 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001635 select CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001636 select MIPS_MT
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001637 select NR_CPUS_DEFAULT_8
Ralf Baechle41c594a2006-04-05 09:45:45 +01001638 select SMP
Ralf Baechle73b76c72006-08-15 19:36:40 +01001639 select SYS_SUPPORTS_SMP
Ralf Baechle87353d82007-11-19 12:23:51 +00001640 select SMP_UP
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001641 help
1642 This is a kernel model which is known a SMTC or lately has been
1643 marketesed into SMVP.
Ralf Baechle41c594a2006-04-05 09:45:45 +01001644
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001645endchoice
1646
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001647config MIPS_MT
1648 bool
1649
Ralf Baechle0ab7aef2007-03-02 20:42:04 +00001650config SCHED_SMT
1651 bool "SMT (multithreading) scheduler support"
1652 depends on SYS_SUPPORTS_SCHED_SMT
1653 default n
1654 help
1655 SMT scheduler support improves the CPU scheduler's decision making
1656 when dealing with MIPS MT enabled cores at a cost of slightly
1657 increased overhead in some places. If unsure say N here.
1658
1659config SYS_SUPPORTS_SCHED_SMT
1660 bool
1661
1662
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001663config SYS_SUPPORTS_MULTITHREADING
1664 bool
1665
Ralf Baechlef088fc82006-04-05 09:45:47 +01001666config MIPS_MT_FPAFF
1667 bool "Dynamic FPU affinity for FP-intensive threads"
Ralf Baechlef088fc82006-04-05 09:45:47 +01001668 default y
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001669 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1670
1671config MIPS_VPE_LOADER
1672 bool "VPE loader support."
1673 depends on SYS_SUPPORTS_MULTITHREADING
1674 select CPU_MIPSR2_IRQ_VI
1675 select CPU_MIPSR2_IRQ_EI
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001676 select MIPS_MT
1677 help
1678 Includes a loader for loading an elf relocatable object
1679 onto another VPE and running it.
Ralf Baechlef088fc82006-04-05 09:45:47 +01001680
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001681config MIPS_MT_SMTC_IM_BACKSTOP
1682 bool "Use per-TC register bits as backstop for inhibited IM bits"
1683 depends on MIPS_MT_SMTC
Kevin D. Kissell8531a352008-09-09 21:48:52 +02001684 default n
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001685 help
1686 To support multiple TC microthreads acting as "CPUs" within
1687 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1688 during interrupt handling. To support legacy drivers and interrupt
1689 controller management code, SMTC has a "backstop" to track and
1690 if necessary restore the interrupt mask. This has some performance
Kevin D. Kissell8531a352008-09-09 21:48:52 +02001691 impact on interrupt service overhead.
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001692
Kevin D. Kissellf571eff2007-08-03 19:38:03 +02001693config MIPS_MT_SMTC_IRQAFF
1694 bool "Support IRQ affinity API"
1695 depends on MIPS_MT_SMTC
1696 default n
1697 help
1698 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1699 for SMTC Linux kernel. Requires platform support, of which
1700 an example can be found in the MIPS kernel i8259 and Malta
Kevin D. Kissell8531a352008-09-09 21:48:52 +02001701 platform code. Adds some overhead to interrupt dispatch, and
1702 should be used only if you know what you are doing.
Kevin D. Kissellf571eff2007-08-03 19:38:03 +02001703
Ralf Baechlee01402b2005-07-14 15:57:16 +00001704config MIPS_VPE_LOADER_TOM
1705 bool "Load VPE program into memory hidden from linux"
1706 depends on MIPS_VPE_LOADER
1707 default y
1708 help
1709 The loader can use memory that is present but has been hidden from
1710 Linux using the kernel command line option "mem=xxMB". It's up to
1711 you to ensure the amount you put in the option and the space your
1712 program requires is less or equal to the amount physically present.
1713
1714# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1715config MIPS_VPE_APSP_API
Ralf Baechle5e83d432005-10-29 19:32:41 +01001716 bool "Enable support for AP/SP API (RTLX)"
1717 depends on MIPS_VPE_LOADER
1718 help
Ralf Baechlee01402b2005-07-14 15:57:16 +00001719
Ralf Baechle26009902006-04-05 09:45:45 +01001720config MIPS_APSP_KSPD
1721 bool "Enable KSPD"
1722 depends on MIPS_VPE_APSP_API
1723 default y
1724 help
1725 KSPD is a kernel daemon that accepts syscall requests from the SP
1726 side, actions them and returns the results. It also handles the
1727 "exit" syscall notifying other kernel modules the SP program is
1728 exiting. You probably want to say yes here.
1729
Ralf Baechle4a16ff42008-10-04 00:06:29 +01001730config MIPS_CMP
1731 bool "MIPS CMP framework support"
1732 depends on SYS_SUPPORTS_MIPS_CMP
Tim Andersoneb9b5142009-06-17 16:40:34 -07001733 select SYNC_R4K
Ralf Baechle4a16ff42008-10-04 00:06:29 +01001734 select SYS_SUPPORTS_SMP
1735 select SYS_SUPPORTS_SCHED_SMT if SMP
1736 select WEAK_ORDERING
1737 default n
1738 help
1739 This is a placeholder option for the GCMP work. It will need to
1740 be handled differently...
1741
Linus Torvalds1da177e2005-04-16 15:20:36 -07001742config SB1_PASS_1_WORKAROUNDS
1743 bool
1744 depends on CPU_SB1_PASS_1
1745 default y
1746
1747config SB1_PASS_2_WORKAROUNDS
1748 bool
1749 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1750 default y
1751
1752config SB1_PASS_2_1_WORKAROUNDS
1753 bool
1754 depends on CPU_SB1 && CPU_SB1_PASS_2
1755 default y
1756
1757config 64BIT_PHYS_ADDR
Ralf Baechled806cb22007-08-02 00:36:08 +01001758 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001759
pascal@pabr.org60ec6572010-01-03 13:39:12 +01001760config ARCH_PHYS_ADDR_T_64BIT
1761 def_bool 64BIT_PHYS_ADDR
1762
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001763config CPU_HAS_SMARTMIPS
1764 depends on SYS_SUPPORTS_SMARTMIPS
1765 bool "Support for the SmartMIPS ASE"
1766 help
1767 SmartMIPS is a extension of the MIPS32 architecture aimed at
1768 increased security at both hardware and software level for
1769 smartcards. Enabling this option will allow proper use of the
1770 SmartMIPS instructions by Linux applications. However a kernel with
1771 this option will not work on a MIPS core without SmartMIPS core. If
1772 you don't know you probably don't have SmartMIPS and should say N
1773 here.
1774
Linus Torvalds1da177e2005-04-16 15:20:36 -07001775config CPU_HAS_WB
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001776 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001777
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001778#
1779# Vectored interrupt mode is an R2 feature
1780#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001781config CPU_MIPSR2_IRQ_VI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001782 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001783
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001784#
1785# Extended interrupt mode is an R2 feature
1786#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001787config CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001788 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001789
Linus Torvalds1da177e2005-04-16 15:20:36 -07001790config CPU_HAS_SYNC
1791 bool
1792 depends on !CPU_R3000
1793 default y
1794
Ralf Baechleea580402007-10-11 23:46:09 +01001795config GENERIC_CLOCKEVENTS_BROADCAST
1796 bool
1797
Linus Torvalds1da177e2005-04-16 15:20:36 -07001798#
Maciej W. Rozycki20d60d92007-10-23 12:43:11 +01001799# CPU non-features
1800#
1801config CPU_DADDI_WORKAROUNDS
1802 bool
1803
1804config CPU_R4000_WORKAROUNDS
1805 bool
1806 select CPU_R4400_WORKAROUNDS
1807
1808config CPU_R4400_WORKAROUNDS
1809 bool
1810
1811#
Ralf Baechle797798c2005-08-10 15:17:11 +00001812# Use the generic interrupt handling code in kernel/irq/:
1813#
1814config GENERIC_HARDIRQS
1815 bool
1816 default y
1817
1818config GENERIC_IRQ_PROBE
1819 bool
1820 default y
1821
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001822config IRQ_PER_CPU
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001823 bool
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001824
Ralf Baechle797798c2005-08-10 15:17:11 +00001825#
Linus Torvalds1da177e2005-04-16 15:20:36 -07001826# - Highmem only makes sense for the 32-bit kernel.
1827# - The current highmem code will only work properly on physically indexed
1828# caches such as R3000, SB1, R7000 or those that look like they're virtually
1829# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1830# moment we protect the user and offer the highmem option only on machines
1831# where it's known to be safe. This will not offer highmem on a few systems
1832# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1833# indexed CPUs but we're playing safe.
Ralf Baechle797798c2005-08-10 15:17:11 +00001834# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1835# know they might have memory configurations that could make use of highmem
1836# support.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001837#
1838config HIGHMEM
1839 bool "High Memory Support"
Ralf Baechle797798c2005-08-10 15:17:11 +00001840 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1841
1842config CPU_SUPPORTS_HIGHMEM
1843 bool
1844
1845config SYS_SUPPORTS_HIGHMEM
1846 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001847
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001848config SYS_SUPPORTS_SMARTMIPS
1849 bool
1850
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001851config ARCH_FLATMEM_ENABLE
1852 def_bool y
Wu Zhangjinf133f222009-12-01 14:55:42 +08001853 depends on !NUMA && !CPU_LOONGSON2
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001854
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001855config ARCH_DISCONTIGMEM_ENABLE
1856 bool
1857 default y if SGI_IP27
1858 help
David Sterba3dde6ad2007-05-09 07:12:20 +02001859 Say Y to support efficient handling of discontiguous physical memory,
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001860 for architectures which are either NUMA (Non-Uniform Memory Access)
1861 or have huge holes in the physical address space for other reasons.
1862 See <file:Documentation/vm/numa> for more.
1863
Ralf Baechlecce335ae2007-11-03 02:05:43 +00001864config ARCH_POPULATES_NODE_MAP
1865 def_bool y
1866
Atsushi Nemotob1c6cd42006-07-03 00:09:47 +09001867config ARCH_SPARSEMEM_ENABLE
1868 bool
Atsushi Nemoto7de58fa2006-07-05 01:22:44 +09001869 select SPARSEMEM_STATIC
Atsushi Nemoto31473742006-07-03 00:09:47 +09001870
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001871config NUMA
1872 bool "NUMA Support"
1873 depends on SYS_SUPPORTS_NUMA
1874 help
1875 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1876 Access). This option improves performance on systems with more
1877 than two nodes; on two node systems it is generally better to
1878 leave it disabled; on single node systems disable this option
1879 disabled.
1880
1881config SYS_SUPPORTS_NUMA
1882 bool
1883
Yasunori Gotoc80d79d2006-04-10 22:53:53 -07001884config NODES_SHIFT
1885 int
1886 default "6"
1887 depends on NEED_MULTIPLE_NODES
1888
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001889source "mm/Kconfig"
1890
Linus Torvalds1da177e2005-04-16 15:20:36 -07001891config SMP
1892 bool "Multi-Processing support"
Ralf Baechlee73ea272006-06-04 11:51:46 +01001893 depends on SYS_SUPPORTS_SMP
Ralf Baechleb4b30a52006-08-03 17:34:24 +01001894 select IRQ_PER_CPU
Jens Axboe2f304c02008-06-17 10:45:23 +02001895 select USE_GENERIC_SMP_HELPERS
Ralf Baechlee73ea272006-06-04 11:51:46 +01001896 help
Linus Torvalds1da177e2005-04-16 15:20:36 -07001897 This enables support for systems with more than one CPU. If you have
1898 a system with only one CPU, like most personal computers, say N. If
1899 you have a system with more than one CPU, say Y.
1900
1901 If you say N here, the kernel will run on single and multiprocessor
1902 machines, but will use only one CPU of a multiprocessor machine. If
1903 you say Y here, the kernel will run on many, but not all,
1904 singleprocessor machines. On a singleprocessor machine, the kernel
1905 will run faster if you say N here.
1906
1907 People using multiprocessor machines who say Y here should also say
1908 Y to "Enhanced Real Time Clock Support", below.
1909
Adrian Bunk03502fa2008-02-03 15:50:21 +02001910 See also the SMP-HOWTO available at
1911 <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001912
1913 If you don't know what to do here, say N.
1914
Ralf Baechle87353d82007-11-19 12:23:51 +00001915config SMP_UP
1916 bool
1917
Ralf Baechle4a16ff42008-10-04 00:06:29 +01001918config SYS_SUPPORTS_MIPS_CMP
1919 bool
1920
Ralf Baechlee73ea272006-06-04 11:51:46 +01001921config SYS_SUPPORTS_SMP
1922 bool
1923
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001924config NR_CPUS_DEFAULT_1
1925 bool
1926
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001927config NR_CPUS_DEFAULT_2
1928 bool
1929
1930config NR_CPUS_DEFAULT_4
1931 bool
1932
1933config NR_CPUS_DEFAULT_8
1934 bool
1935
1936config NR_CPUS_DEFAULT_16
1937 bool
1938
1939config NR_CPUS_DEFAULT_32
1940 bool
1941
1942config NR_CPUS_DEFAULT_64
1943 bool
1944
Linus Torvalds1da177e2005-04-16 15:20:36 -07001945config NR_CPUS
1946 int "Maximum number of CPUs (2-64)"
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001947 range 1 64 if NR_CPUS_DEFAULT_1
Linus Torvalds1da177e2005-04-16 15:20:36 -07001948 depends on SMP
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001949 default "1" if NR_CPUS_DEFAULT_1
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001950 default "2" if NR_CPUS_DEFAULT_2
1951 default "4" if NR_CPUS_DEFAULT_4
1952 default "8" if NR_CPUS_DEFAULT_8
1953 default "16" if NR_CPUS_DEFAULT_16
1954 default "32" if NR_CPUS_DEFAULT_32
1955 default "64" if NR_CPUS_DEFAULT_64
Linus Torvalds1da177e2005-04-16 15:20:36 -07001956 help
1957 This allows you to specify the maximum number of CPUs which this
1958 kernel will support. The maximum supported value is 32 for 32-bit
1959 kernel and 64 for 64-bit kernels; the minimum value which makes
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001960 sense is 1 for Qemu (useful only for kernel debugging purposes)
1961 and 2 for all others.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001962
1963 This is purely to save memory - each supported CPU adds
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001964 approximately eight kilobytes to the kernel image. For best
1965 performance should round up your number of processors to the next
1966 power of two.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001967
Atsushi Nemotoc4eee282007-11-12 01:05:16 +09001968source "kernel/time/Kconfig"
1969
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09001970#
1971# Timer Interrupt Frequency Configuration
1972#
1973
1974choice
1975 prompt "Timer frequency"
1976 default HZ_250
1977 help
1978 Allows the configuration of the timer frequency.
1979
1980 config HZ_48
Ralf Baechle0f873582008-02-25 16:55:29 +00001981 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09001982
1983 config HZ_100
1984 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1985
1986 config HZ_128
1987 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1988
1989 config HZ_250
1990 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1991
1992 config HZ_256
1993 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1994
1995 config HZ_1000
1996 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1997
1998 config HZ_1024
1999 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2000
2001endchoice
2002
2003config SYS_SUPPORTS_48HZ
2004 bool
2005
2006config SYS_SUPPORTS_100HZ
2007 bool
2008
2009config SYS_SUPPORTS_128HZ
2010 bool
2011
2012config SYS_SUPPORTS_250HZ
2013 bool
2014
2015config SYS_SUPPORTS_256HZ
2016 bool
2017
2018config SYS_SUPPORTS_1000HZ
2019 bool
2020
2021config SYS_SUPPORTS_1024HZ
2022 bool
2023
2024config SYS_SUPPORTS_ARBIT_HZ
2025 bool
2026 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2027 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2028 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2029 !SYS_SUPPORTS_1024HZ
2030
2031config HZ
2032 int
2033 default 48 if HZ_48
2034 default 100 if HZ_100
2035 default 128 if HZ_128
2036 default 250 if HZ_250
2037 default 256 if HZ_256
2038 default 1000 if HZ_1000
2039 default 1024 if HZ_1024
2040
Ralf Baechlee80de852005-07-11 20:45:51 +00002041source "kernel/Kconfig.preempt"
Linus Torvalds1da177e2005-04-16 15:20:36 -07002042
Linus Torvalds1da177e2005-04-16 15:20:36 -07002043config MIPS_INSANE_LARGE
2044 bool "Support for large 64-bit configurations"
Ralf Baechle875d43e2005-09-03 15:56:16 -07002045 depends on CPU_R10000 && 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07002046 help
2047 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
2048 previous 64-bit processors which only supported 40 bit / 1TB. If you
2049 need processes of more than 1TB virtual address space, say Y here.
2050 This will result in additional memory usage, so it is not
2051 recommended for normal users.
2052
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09002053config KEXEC
2054 bool "Kexec system call (EXPERIMENTAL)"
2055 depends on EXPERIMENTAL
2056 help
2057 kexec is a system call that implements the ability to shutdown your
2058 current kernel, and to start another kernel. It is like a reboot
David Sterba3dde6ad2007-05-09 07:12:20 +02002059 but it is independent of the system firmware. And like a reboot
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09002060 you can start any kernel with it, not just Linux.
2061
Matt LaPlante01dd2fb2007-10-20 01:34:40 +02002062 The name comes from the similarity to the exec system call.
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09002063
2064 It is an ongoing process to be certain the hardware in a machine
2065 is properly shutdown, so do not be surprised if this code does not
2066 initially work for you. It may help to enable device hotplugging
2067 support. As of this writing the exact hardware interface is
2068 strongly in flux, so no good recommendation can be made.
2069
2070config SECCOMP
2071 bool "Enable seccomp to safely compute untrusted bytecode"
Ralf Baechle293c5bd2007-07-25 16:19:33 +01002072 depends on PROC_FS
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09002073 default y
2074 help
2075 This kernel feature is useful for number crunching applications
2076 that may need to compute untrusted bytecode during their
2077 execution. By using pipes or other transports made available to
2078 the process as file descriptors supporting the read/write
2079 syscalls, it's possible to isolate those applications in
2080 their own address space using seccomp. Once seccomp is
2081 enabled via /proc/<pid>/seccomp, it cannot be disabled
2082 and the task is only allowed to execute a few safe syscalls
2083 defined by each seccomp mode.
2084
2085 If unsure, say Y. Only embedded should say N here.
2086
Ralf Baechle5e83d432005-10-29 19:32:41 +01002087endmenu
2088
Atsushi Nemoto1df0f0f2006-09-26 23:44:01 +09002089config LOCKDEP_SUPPORT
2090 bool
2091 default y
2092
2093config STACKTRACE_SUPPORT
2094 bool
2095 default y
2096
Ralf Baechleb6c35392005-11-25 11:35:40 +00002097source "init/Kconfig"
2098
Matt Helsleydc52ddc2008-10-18 20:27:21 -07002099source "kernel/Kconfig.freezer"
2100
Linus Torvalds1da177e2005-04-16 15:20:36 -07002101menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2102
Ralf Baechle5e83d432005-10-29 19:32:41 +01002103config HW_HAS_EISA
2104 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002105config HW_HAS_PCI
2106 bool
2107
2108config PCI
2109 bool "Support for PCI controller"
2110 depends on HW_HAS_PCI
Ralf Baechleabb4ae42007-10-11 23:46:03 +01002111 select PCI_DOMAINS
Linus Torvalds1da177e2005-04-16 15:20:36 -07002112 help
2113 Find out whether you have a PCI motherboard. PCI is the name of a
2114 bus system, i.e. the way the CPU talks to the other stuff inside
2115 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2116 say Y, otherwise N.
2117
Linus Torvalds1da177e2005-04-16 15:20:36 -07002118config PCI_DOMAINS
2119 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002120
2121source "drivers/pci/Kconfig"
2122
2123#
2124# ISA support is now enabled via select. Too many systems still have the one
2125# or other ISA chip on the board that users don't know about so don't expect
2126# users to choose the right thing ...
2127#
2128config ISA
2129 bool
2130
2131config EISA
2132 bool "EISA support"
Ralf Baechle5e83d432005-10-29 19:32:41 +01002133 depends on HW_HAS_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -07002134 select ISA
Ralf Baechleaa414df2006-11-30 01:14:51 +00002135 select GENERIC_ISA_DMA
Linus Torvalds1da177e2005-04-16 15:20:36 -07002136 ---help---
2137 The Extended Industry Standard Architecture (EISA) bus was
2138 developed as an open alternative to the IBM MicroChannel bus.
2139
2140 The EISA bus provided some of the features of the IBM MicroChannel
2141 bus while maintaining backward compatibility with cards made for
2142 the older ISA bus. The EISA bus saw limited use between 1988 and
2143 1995 when it was made obsolete by the PCI bus.
2144
2145 Say Y here if you are building a kernel for an EISA-based machine.
2146
2147 Otherwise, say N.
2148
2149source "drivers/eisa/Kconfig"
2150
2151config TC
2152 bool "TURBOchannel support"
2153 depends on MACH_DECSTATION
2154 help
2155 TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2156 processors. Documentation on writing device drivers for TurboChannel
2157 is available at:
2158 <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
2159
2160#config ACCESSBUS
2161# bool "Access.Bus support"
2162# depends on TC
2163
2164config MMU
2165 bool
2166 default y
2167
Ralf Baechled865bea2007-10-11 23:46:10 +01002168config I8253
2169 bool
Wu Zhangjin9726b432009-11-17 01:32:58 +08002170 select MIPS_EXTERNAL_TIMER
Ralf Baechled865bea2007-10-11 23:46:10 +01002171
Ralf Baechlecce335ae2007-11-03 02:05:43 +00002172config ZONE_DMA32
2173 bool
2174
Linus Torvalds1da177e2005-04-16 15:20:36 -07002175source "drivers/pcmcia/Kconfig"
2176
2177source "drivers/pci/hotplug/Kconfig"
2178
2179endmenu
2180
2181menu "Executable file formats"
2182
2183source "fs/Kconfig.binfmt"
2184
2185config TRAD_SIGNALS
2186 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002187
Linus Torvalds1da177e2005-04-16 15:20:36 -07002188config MIPS32_COMPAT
2189 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
Ralf Baechle875d43e2005-09-03 15:56:16 -07002190 depends on 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07002191 help
2192 Select this option if you want Linux/MIPS 32-bit binary
2193 compatibility. Since all software available for Linux/MIPS is
2194 currently 32-bit you should say Y here.
2195
2196config COMPAT
2197 bool
2198 depends on MIPS32_COMPAT
2199 default y
2200
Atsushi Nemoto05e43962006-11-07 18:02:44 +09002201config SYSVIPC_COMPAT
2202 bool
2203 depends on COMPAT && SYSVIPC
2204 default y
2205
Linus Torvalds1da177e2005-04-16 15:20:36 -07002206config MIPS32_O32
2207 bool "Kernel support for o32 binaries"
2208 depends on MIPS32_COMPAT
2209 help
2210 Select this option if you want to run o32 binaries. These are pure
2211 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2212 existing binaries are in this format.
2213
2214 If unsure, say Y.
2215
2216config MIPS32_N32
2217 bool "Kernel support for n32 binaries"
2218 depends on MIPS32_COMPAT
2219 help
2220 Select this option if you want to run n32 binaries. These are
2221 64-bit binaries using 32-bit quantities for addressing and certain
2222 data that would normally be 64-bit. They are used in special
2223 cases.
2224
2225 If unsure, say N.
2226
2227config BINFMT_ELF32
2228 bool
2229 default y if MIPS32_O32 || MIPS32_N32
2230
Ralf Baechle21162452007-02-09 17:08:58 +00002231endmenu
Linus Torvalds1da177e2005-04-16 15:20:36 -07002232
Ralf Baechle21162452007-02-09 17:08:58 +00002233menu "Power management options"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02002234
Wu Zhangjin363c55c2009-06-04 20:27:10 +08002235config ARCH_HIBERNATION_POSSIBLE
2236 def_bool y
Ralf Baechle3f5b3e12009-07-02 11:48:07 +01002237 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
Wu Zhangjin363c55c2009-06-04 20:27:10 +08002238
Johannes Bergf4cb5702007-12-08 02:14:00 +01002239config ARCH_SUSPEND_POSSIBLE
2240 def_bool y
Ralf Baechle3f5b3e12009-07-02 11:48:07 +01002241 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
Johannes Bergf4cb5702007-12-08 02:14:00 +01002242
Ralf Baechle21162452007-02-09 17:08:58 +00002243source "kernel/power/Kconfig"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02002244
Linus Torvalds1da177e2005-04-16 15:20:36 -07002245endmenu
2246
Wu Zhangjin9726b432009-11-17 01:32:58 +08002247source "arch/mips/kernel/cpufreq/Kconfig"
2248
Sam Ravnborgd5950b42005-07-11 21:03:49 -07002249source "net/Kconfig"
2250
Linus Torvalds1da177e2005-04-16 15:20:36 -07002251source "drivers/Kconfig"
2252
2253source "fs/Kconfig"
2254
2255source "arch/mips/Kconfig.debug"
2256
2257source "security/Kconfig"
2258
2259source "crypto/Kconfig"
2260
2261source "lib/Kconfig"