[MIPS] Include <asm/bugs> to for declaration of check_bugs32.
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / arch / mips / Kconfig
CommitLineData
1da177e4
LT
1config MIPS
2 bool
3 default y
4 # Horrible source of confusion. Die, die, die ...
5 select EMBEDDED
6
875d43e7
RB
7mainmenu "Linux/MIPS Kernel Configuration"
8
1da177e4
LT
9menu "Machine selection"
10
5ac6da66
CL
11config ZONE_DMA
12 bool
13 default y
14
5e83d430
RB
15choice
16 prompt "System type"
17 default SGI_IP22
1da177e4 18
5e83d430 19config MIPS_MTX1
3fa986fa 20 bool "4G Systems MTX-1 board"
1da177e4 21 select DMA_NONCOHERENT
5e83d430 22 select HW_HAS_PCI
08f57f7f 23 select RESOURCES_64BIT if PCI
5e83d430 24 select SOC_AU1500
7cf8053b 25 select SYS_HAS_CPU_MIPS32_R1
5e83d430 26 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 27
5e83d430
RB
28config MIPS_BOSPORUS
29 bool "AMD Alchemy Bosporus board"
30 select SOC_AU1500
1da177e4 31 select DMA_NONCOHERENT
7cf8053b 32 select SYS_HAS_CPU_MIPS32_R1
5e83d430 33 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 34
5e83d430
RB
35config MIPS_PB1000
36 bool "AMD Alchemy PB1000 board"
37 select SOC_AU1000
1da177e4 38 select DMA_NONCOHERENT
5e83d430 39 select HW_HAS_PCI
08f57f7f 40 select RESOURCES_64BIT if PCI
5e83d430 41 select SWAP_IO_SPACE
7cf8053b 42 select SYS_HAS_CPU_MIPS32_R1
5e83d430 43 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 44
5e83d430
RB
45config MIPS_PB1100
46 bool "AMD Alchemy PB1100 board"
47 select SOC_AU1100
1da177e4 48 select DMA_NONCOHERENT
1da177e4 49 select HW_HAS_PCI
08f57f7f 50 select RESOURCES_64BIT if PCI
5e83d430 51 select SWAP_IO_SPACE
7cf8053b 52 select SYS_HAS_CPU_MIPS32_R1
5e83d430 53 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 54
5e83d430
RB
55config MIPS_PB1500
56 bool "AMD Alchemy PB1500 board"
57 select SOC_AU1500
58 select DMA_NONCOHERENT
59 select HW_HAS_PCI
08f57f7f 60 select RESOURCES_64BIT if PCI
7cf8053b 61 select SYS_HAS_CPU_MIPS32_R1
5e83d430 62 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 63
5e83d430
RB
64config MIPS_PB1550
65 bool "AMD Alchemy PB1550 board"
66 select SOC_AU1550
1da177e4 67 select DMA_NONCOHERENT
5e83d430
RB
68 select HW_HAS_PCI
69 select MIPS_DISABLE_OBSOLETE_IDE
08f57f7f 70 select RESOURCES_64BIT if PCI
7cf8053b 71 select SYS_HAS_CPU_MIPS32_R1
5e83d430 72 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 73
5e83d430
RB
74config MIPS_PB1200
75 bool "AMD Alchemy PB1200 board"
76 select SOC_AU1200
1da177e4 77 select DMA_NONCOHERENT
5e83d430 78 select MIPS_DISABLE_OBSOLETE_IDE
08f57f7f 79 select RESOURCES_64BIT if PCI
7cf8053b 80 select SYS_HAS_CPU_MIPS32_R1
5e83d430 81 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 82
5e83d430
RB
83config MIPS_DB1000
84 bool "AMD Alchemy DB1000 board"
85 select SOC_AU1000
1da177e4 86 select DMA_NONCOHERENT
63b799f9 87 select HW_HAS_PCI
08f57f7f 88 select RESOURCES_64BIT if PCI
7cf8053b 89 select SYS_HAS_CPU_MIPS32_R1
5e83d430 90 select SYS_SUPPORTS_LITTLE_ENDIAN
4d666d7a 91
5e83d430
RB
92config MIPS_DB1100
93 bool "AMD Alchemy DB1100 board"
94 select SOC_AU1100
1da177e4 95 select DMA_NONCOHERENT
7cf8053b 96 select SYS_HAS_CPU_MIPS32_R1
5e83d430 97 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 98
5e83d430
RB
99config MIPS_DB1500
100 bool "AMD Alchemy DB1500 board"
101 select SOC_AU1500
1da177e4 102 select DMA_NONCOHERENT
8dd4aebe 103 select HW_HAS_PCI
5e83d430 104 select MIPS_DISABLE_OBSOLETE_IDE
08f57f7f 105 select RESOURCES_64BIT if PCI
7cf8053b 106 select SYS_HAS_CPU_MIPS32_R1
5e83d430
RB
107 select SYS_SUPPORTS_BIG_ENDIAN
108 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 109
5e83d430
RB
110config MIPS_DB1550
111 bool "AMD Alchemy DB1550 board"
112 select SOC_AU1550
113 select HW_HAS_PCI
114 select DMA_NONCOHERENT
115 select MIPS_DISABLE_OBSOLETE_IDE
08f57f7f 116 select RESOURCES_64BIT if PCI
7cf8053b 117 select SYS_HAS_CPU_MIPS32_R1
5e83d430 118 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 119
5e83d430
RB
120config MIPS_DB1200
121 bool "AMD Alchemy DB1200 board"
122 select SOC_AU1200
123 select DMA_COHERENT
124 select MIPS_DISABLE_OBSOLETE_IDE
7cf8053b 125 select SYS_HAS_CPU_MIPS32_R1
5e83d430 126 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 127
5e83d430
RB
128config MIPS_MIRAGE
129 bool "AMD Alchemy Mirage board"
1da177e4 130 select DMA_NONCOHERENT
5e83d430 131 select SOC_AU1500
7cf8053b 132 select SYS_HAS_CPU_MIPS32_R1
5e83d430 133 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 134
35189fad
RB
135config BASLER_EXCITE
136 bool "Basler eXcite smart camera support"
137 select DMA_COHERENT
138 select HW_HAS_PCI
139 select IRQ_CPU
140 select IRQ_CPU_RM7K
141 select IRQ_CPU_RM9K
663c3d90 142 select MIPS_RM9122
35189fad
RB
143 select SYS_HAS_CPU_RM9000
144 select SYS_SUPPORTS_32BIT_KERNEL
145 select SYS_SUPPORTS_64BIT_KERNEL
146 select SYS_SUPPORTS_BIG_ENDIAN
147 help
148 The eXcite is a smart camera platform manufactured by
149 Basler Vision Technologies AG
150
151config BASLER_EXCITE_PROTOTYPE
152 bool "Support for pre-release units"
153 depends on BASLER_EXCITE
154 default n
155 help
156 Pre-series (prototype) units are different from later ones in
157 some ways. Select this option if you have one of these. Please
158 note that a kernel built with this option selected will not be
159 able to run on normal units.
160
1da177e4 161config MIPS_COBALT
3fa986fa 162 bool "Cobalt Server"
1da177e4
LT
163 select DMA_NONCOHERENT
164 select HW_HAS_PCI
165 select I8259
166 select IRQ_CPU
5e83d430 167 select MIPS_GT64111
7cf8053b 168 select SYS_HAS_CPU_NEVADA
ed5ba2fb
YY
169 select SYS_SUPPORTS_32BIT_KERNEL
170 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
5e83d430 171 select SYS_SUPPORTS_LITTLE_ENDIAN
9fd32cfb 172 select GENERIC_HARDIRQS_NO__DO_IRQ
1da177e4
LT
173
174config MACH_DECSTATION
3fa986fa 175 bool "DECstations"
1da177e4
LT
176 select BOOT_ELF32
177 select DMA_NONCOHERENT
b6d468ec 178 select EARLY_PRINTK
1da177e4 179 select IRQ_CPU
7cf8053b
RB
180 select SYS_HAS_CPU_R3000
181 select SYS_HAS_CPU_R4X00
ed5ba2fb
YY
182 select SYS_SUPPORTS_32BIT_KERNEL
183 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
5e83d430 184 select SYS_SUPPORTS_LITTLE_ENDIAN
1723b4a3
AN
185 select SYS_SUPPORTS_128HZ
186 select SYS_SUPPORTS_256HZ
187 select SYS_SUPPORTS_1024HZ
5e83d430 188 help
1da177e4
LT
189 This enables support for DEC's MIPS based workstations. For details
190 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
191 DECstation porting pages on <http://decstation.unix-ag.org/>.
192
193 If you have one of the following DECstation Models you definitely
194 want to choose R4xx0 for the CPU Type:
195
196 DECstation 5000/50
197 DECstation 5000/150
198 DECstation 5000/260
199 DECsystem 5900/260
200
201 otherwise choose R3000.
202
203config MIPS_EV64120
3fa986fa 204 bool "Galileo EV64120 Evaluation board (EXPERIMENTAL)"
1da177e4
LT
205 depends on EXPERIMENTAL
206 select DMA_NONCOHERENT
207 select HW_HAS_PCI
208 select MIPS_GT64120
7cf8053b 209 select SYS_HAS_CPU_R5000
ed5ba2fb
YY
210 select SYS_SUPPORTS_32BIT_KERNEL
211 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 212 select SYS_SUPPORTS_BIG_ENDIAN
1da177e4
LT
213 help
214 This is an evaluation board based on the Galileo GT-64120
215 single-chip system controller that contains a MIPS R5000 compatible
216 core running at 75/100MHz. Their website is located at
217 <http://www.marvell.com/>. Say Y here if you wish to build a
218 kernel for this platform.
219
5e83d430 220config MACH_JAZZ
3fa986fa 221 bool "Jazz family of machines"
5e83d430
RB
222 select ARC
223 select ARC32
224 select ARCH_MAY_HAVE_PC_FDC
225 select GENERIC_ISA_DMA
e5c6c8e4 226 select I8253
5e83d430
RB
227 select I8259
228 select ISA
7cf8053b 229 select SYS_HAS_CPU_R4X00
5e83d430
RB
230 select SYS_SUPPORTS_32BIT_KERNEL
231 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
1723b4a3 232 select SYS_SUPPORTS_100HZ
9fd32cfb 233 select GENERIC_HARDIRQS_NO__DO_IRQ
1da177e4 234 help
5e83d430
RB
235 This a family of machines based on the MIPS R4030 chipset which was
236 used by several vendors to build RISC/os and Windows NT workstations.
237 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
238 Olivetti M700-10 workstations.
239
240config LASAT
3fa986fa 241 bool "LASAT Networks platforms"
5e83d430
RB
242 select DMA_NONCOHERENT
243 select HW_HAS_PCI
244 select MIPS_GT64120
245 select MIPS_NILE4
246 select R5000_CPU_SCACHE
7cf8053b 247 select SYS_HAS_CPU_R5000
5e83d430
RB
248 select SYS_SUPPORTS_32BIT_KERNEL
249 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
250 select SYS_SUPPORTS_LITTLE_ENDIAN
e77c232c 251 select GENERIC_HARDIRQS_NO__DO_IRQ
1da177e4
LT
252
253config MIPS_ATLAS
3fa986fa 254 bool "MIPS Atlas board"
1da177e4
LT
255 select BOOT_ELF32
256 select DMA_NONCOHERENT
5e83d430 257 select IRQ_CPU
1da177e4 258 select HW_HAS_PCI
5e83d430
RB
259 select MIPS_BOARDS_GEN
260 select MIPS_BONITO64
1da177e4 261 select MIPS_GT64120
5e83d430 262 select MIPS_MSC
f4b7cdb4 263 select RM7000_CPU_SCACHE
1da177e4 264 select SWAP_IO_SPACE
7cf8053b
RB
265 select SYS_HAS_CPU_MIPS32_R1
266 select SYS_HAS_CPU_MIPS32_R2
267 select SYS_HAS_CPU_MIPS64_R1
268 select SYS_HAS_CPU_NEVADA
269 select SYS_HAS_CPU_RM7000
ed5ba2fb
YY
270 select SYS_SUPPORTS_32BIT_KERNEL
271 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430
RB
272 select SYS_SUPPORTS_BIG_ENDIAN
273 select SYS_SUPPORTS_LITTLE_ENDIAN
f41ae0b2 274 select SYS_SUPPORTS_MULTITHREADING if EXPERIMENTAL
e77c232c 275 select GENERIC_HARDIRQS_NO__DO_IRQ
1da177e4 276 help
f638d197 277 This enables support for the MIPS Technologies Atlas evaluation
1da177e4
LT
278 board.
279
280config MIPS_MALTA
3fa986fa 281 bool "MIPS Malta board"
61ed242d 282 select ARCH_MAY_HAVE_PC_FDC
1da177e4
LT
283 select BOOT_ELF32
284 select HAVE_STD_PC_SERIAL_PORT
285 select DMA_NONCOHERENT
286 select GENERIC_ISA_DMA
aa414dff 287 select IRQ_CPU
1da177e4
LT
288 select HW_HAS_PCI
289 select I8259
5e83d430
RB
290 select MIPS_BOARDS_GEN
291 select MIPS_BONITO64
9318c51a 292 select MIPS_CPU_SCACHE
1da177e4 293 select MIPS_GT64120
5e83d430 294 select MIPS_MSC
1da177e4 295 select SWAP_IO_SPACE
7cf8053b
RB
296 select SYS_HAS_CPU_MIPS32_R1
297 select SYS_HAS_CPU_MIPS32_R2
298 select SYS_HAS_CPU_MIPS64_R1
299 select SYS_HAS_CPU_NEVADA
300 select SYS_HAS_CPU_RM7000
ed5ba2fb
YY
301 select SYS_SUPPORTS_32BIT_KERNEL
302 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430
RB
303 select SYS_SUPPORTS_BIG_ENDIAN
304 select SYS_SUPPORTS_LITTLE_ENDIAN
f41ae0b2 305 select SYS_SUPPORTS_MULTITHREADING
1da177e4 306 help
f638d197 307 This enables support for the MIPS Technologies Malta evaluation
1da177e4
LT
308 board.
309
310config MIPS_SEAD
3fa986fa 311 bool "MIPS SEAD board (EXPERIMENTAL)"
1da177e4
LT
312 depends on EXPERIMENTAL
313 select IRQ_CPU
314 select DMA_NONCOHERENT
5e83d430 315 select MIPS_BOARDS_GEN
7cf8053b
RB
316 select SYS_HAS_CPU_MIPS32_R1
317 select SYS_HAS_CPU_MIPS32_R2
318 select SYS_HAS_CPU_MIPS64_R1
ed5ba2fb 319 select SYS_SUPPORTS_32BIT_KERNEL
5e83d430
RB
320 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
321 select SYS_SUPPORTS_BIG_ENDIAN
322 select SYS_SUPPORTS_LITTLE_ENDIAN
f638d197
MR
323 help
324 This enables support for the MIPS Technologies SEAD evaluation
325 board.
1da177e4 326
a240a469 327config WR_PPMC
9247857f 328 bool "Wind River PPMC board"
a240a469
MZ
329 select IRQ_CPU
330 select BOOT_ELF32
331 select DMA_NONCOHERENT
332 select HW_HAS_PCI
333 select MIPS_GT64120
334 select SWAP_IO_SPACE
335 select SYS_HAS_CPU_MIPS32_R1
336 select SYS_HAS_CPU_MIPS32_R2
337 select SYS_HAS_CPU_MIPS64_R1
338 select SYS_HAS_CPU_NEVADA
339 select SYS_HAS_CPU_RM7000
340 select SYS_SUPPORTS_32BIT_KERNEL
341 select SYS_SUPPORTS_64BIT_KERNEL
342 select SYS_SUPPORTS_BIG_ENDIAN
343 select SYS_SUPPORTS_LITTLE_ENDIAN
344 help
345 This enables support for the Wind River MIPS32 4KC PPMC evaluation
346 board, which is based on GT64120 bridge chip.
347
5e83d430 348config MIPS_SIM
3fa986fa 349 bool 'MIPS simulator (MIPSsim)'
1da177e4 350 select DMA_NONCOHERENT
1da177e4 351 select IRQ_CPU
7cf8053b
RB
352 select SYS_HAS_CPU_MIPS32_R1
353 select SYS_HAS_CPU_MIPS32_R2
ed5ba2fb 354 select SYS_SUPPORTS_32BIT_KERNEL
5e83d430
RB
355 select SYS_SUPPORTS_BIG_ENDIAN
356 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 357 help
5e83d430
RB
358 This option enables support for MIPS Technologies MIPSsim software
359 emulator.
1da177e4 360
5e83d430 361config MOMENCO_JAGUAR_ATX
3fa986fa 362 bool "Momentum Jaguar board"
5e83d430 363 select BOOT_ELF32
1da177e4
LT
364 select DMA_NONCOHERENT
365 select HW_HAS_PCI
366 select IRQ_CPU
367 select IRQ_CPU_RM7K
5e83d430
RB
368 select IRQ_MV64340
369 select LIMITED_DMA
1da177e4
LT
370 select PCI_MARVELL
371 select RM7000_CPU_SCACHE
372 select SWAP_IO_SPACE
7cf8053b 373 select SYS_HAS_CPU_RM9000
ed5ba2fb
YY
374 select SYS_SUPPORTS_32BIT_KERNEL
375 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 376 select SYS_SUPPORTS_BIG_ENDIAN
1da177e4 377 help
5e83d430 378 The Jaguar ATX is a MIPS-based Single Board Computer (SBC) made by
1da177e4
LT
379 Momentum Computer <http://www.momenco.com/>.
380
5e83d430 381config MOMENCO_OCELOT
3fa986fa 382 bool "Momentum Ocelot board"
1da177e4
LT
383 select DMA_NONCOHERENT
384 select HW_HAS_PCI
385 select IRQ_CPU
5e83d430
RB
386 select IRQ_CPU_RM7K
387 select MIPS_GT64120
1da177e4
LT
388 select RM7000_CPU_SCACHE
389 select SWAP_IO_SPACE
7cf8053b 390 select SYS_HAS_CPU_RM7000
ed5ba2fb
YY
391 select SYS_SUPPORTS_32BIT_KERNEL
392 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 393 select SYS_SUPPORTS_BIG_ENDIAN
1da177e4
LT
394 help
395 The Ocelot is a MIPS-based Single Board Computer (SBC) made by
396 Momentum Computer <http://www.momenco.com/>.
397
398config MOMENCO_OCELOT_3
3fa986fa 399 bool "Momentum Ocelot-3 board"
1da177e4
LT
400 select BOOT_ELF32
401 select DMA_NONCOHERENT
402 select HW_HAS_PCI
403 select IRQ_CPU
404 select IRQ_CPU_RM7K
405 select IRQ_MV64340
406 select PCI_MARVELL
407 select RM7000_CPU_SCACHE
408 select SWAP_IO_SPACE
7cf8053b 409 select SYS_HAS_CPU_RM9000
ed5ba2fb
YY
410 select SYS_SUPPORTS_32BIT_KERNEL
411 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 412 select SYS_SUPPORTS_BIG_ENDIAN
1da177e4
LT
413 help
414 The Ocelot-3 is based off Discovery III System Controller and
415 PMC-Sierra Rm79000 core.
416
5e83d430 417config MOMENCO_OCELOT_C
3fa986fa 418 bool "Momentum Ocelot-C board"
1da177e4
LT
419 select DMA_NONCOHERENT
420 select HW_HAS_PCI
421 select IRQ_CPU
1da177e4 422 select IRQ_MV64340
1da177e4
LT
423 select PCI_MARVELL
424 select RM7000_CPU_SCACHE
425 select SWAP_IO_SPACE
7cf8053b 426 select SYS_HAS_CPU_RM7000
ed5ba2fb 427 select SYS_SUPPORTS_32BIT_KERNEL
8a88ca8f 428 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 429 select SYS_SUPPORTS_BIG_ENDIAN
e77c232c 430 select GENERIC_HARDIRQS_NO__DO_IRQ
1da177e4 431 help
5e83d430 432 The Ocelot is a MIPS-based Single Board Computer (SBC) made by
1da177e4
LT
433 Momentum Computer <http://www.momenco.com/>.
434
5e83d430 435config MOMENCO_OCELOT_G
3fa986fa 436 bool "Momentum Ocelot-G board"
5e83d430 437 select DMA_NONCOHERENT
1da177e4
LT
438 select HW_HAS_PCI
439 select IRQ_CPU
440 select IRQ_CPU_RM7K
5e83d430
RB
441 select PCI_MARVELL
442 select RM7000_CPU_SCACHE
1da177e4 443 select SWAP_IO_SPACE
7cf8053b 444 select SYS_HAS_CPU_RM7000
ed5ba2fb 445 select SYS_SUPPORTS_32BIT_KERNEL
8a88ca8f 446 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
5e83d430 447 select SYS_SUPPORTS_BIG_ENDIAN
1da177e4 448 help
5e83d430
RB
449 The Ocelot is a MIPS-based Single Board Computer (SBC) made by
450 Momentum Computer <http://www.momenco.com/>.
1da177e4 451
5e83d430 452config MIPS_XXS1500
3fa986fa 453 bool "MyCable XXS1500 board"
5e83d430
RB
454 select DMA_NONCOHERENT
455 select SOC_AU1500
456 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 457
bdf21b18 458config PNX8550_V2PCI
3fa986fa 459 bool "Philips PNX8550 based Viper2-PCI board"
bdf21b18
PP
460 select PNX8550
461 select SYS_SUPPORTS_LITTLE_ENDIAN
462
463config PNX8550_JBS
3fa986fa 464 bool "Philips PNX8550 based JBS board"
bdf21b18
PP
465 select PNX8550
466 select SYS_SUPPORTS_LITTLE_ENDIAN
f0647a52
VW
467
468config PNX8550_STB810
469 bool "Support for Philips PNX8550 based STB810 board"
470 select PNX8550
471 select SYS_SUPPORTS_LITTLE_ENDIAN
bdf21b18 472
1da177e4 473config DDB5477
3fa986fa 474 bool "NEC DDB Vrc-5477"
5e83d430 475 select DDB5XXX_COMMON
1da177e4
LT
476 select DMA_NONCOHERENT
477 select HW_HAS_PCI
478 select I8259
479 select IRQ_CPU
7cf8053b 480 select SYS_HAS_CPU_R5432
ed5ba2fb
YY
481 select SYS_SUPPORTS_32BIT_KERNEL
482 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
5e83d430 483 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4
LT
484 help
485 This enables support for the R5432-based NEC DDB Vrc-5477,
486 or Rockhopper/SolutionGear boards with R5432/R5500 CPUs.
487
488 Features : kernel debugging, serial terminal, NFS root fs, on-board
489 ether port USB, AC97, PCI, etc.
490
5e83d430 491config MACH_VR41XX
3fa986fa 492 bool "NEC VR41XX-based machines"
7cf8053b 493 select SYS_HAS_CPU_VR41XX
5e83d430
RB
494 select SYS_SUPPORTS_32BIT_KERNEL
495 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
9fd32cfb 496 select GENERIC_HARDIRQS_NO__DO_IRQ
5e83d430
RB
497
498config PMC_YOSEMITE
3fa986fa 499 bool "PMC-Sierra Yosemite eval board"
5e83d430
RB
500 select DMA_COHERENT
501 select HW_HAS_PCI
502 select IRQ_CPU
503 select IRQ_CPU_RM7K
504 select IRQ_CPU_RM9K
505 select SWAP_IO_SPACE
7cf8053b 506 select SYS_HAS_CPU_RM9000
5e83d430
RB
507 select SYS_SUPPORTS_32BIT_KERNEL
508 select SYS_SUPPORTS_64BIT_KERNEL
509 select SYS_SUPPORTS_BIG_ENDIAN
510 select SYS_SUPPORTS_HIGHMEM
e73ea273 511 select SYS_SUPPORTS_SMP
5e83d430
RB
512 help
513 Yosemite is an evaluation board for the RM9000x2 processor
514 manufactured by PMC-Sierra.
1da177e4 515
07119621 516config QEMU
3fa986fa 517 bool "Qemu"
07119621
RB
518 select DMA_COHERENT
519 select GENERIC_ISA_DMA
520 select HAVE_STD_PC_SERIAL_PORT
e5c6c8e4 521 select I8253
07119621
RB
522 select I8259
523 select ISA
524 select SWAP_IO_SPACE
7cf8053b 525 select SYS_HAS_CPU_MIPS32_R1
07119621
RB
526 select SYS_SUPPORTS_32BIT_KERNEL
527 select SYS_SUPPORTS_BIG_ENDIAN
c8cc9618 528 select SYS_SUPPORTS_LITTLE_ENDIAN
b1c6cd42 529 select ARCH_SPARSEMEM_ENABLE
9fd32cfb 530 select GENERIC_HARDIRQS_NO__DO_IRQ
07119621 531 help
5e83d430
RB
532 Qemu is a software emulator which among other architectures also
533 can simulate a MIPS32 4Kc system. This patch adds support for the
534 system architecture that currently is being simulated by Qemu. It
535 will eventually be removed again when Qemu has the capability to
536 simulate actual MIPS hardware platforms. More information on Qemu
537 can be found at http://www.linux-mips.org/wiki/Qemu.
07119621 538
355c471f 539config MARKEINS
540 bool "Support for NEC EMMA2RH Mark-eins"
541 select DMA_NONCOHERENT
542 select HW_HAS_PCI
543 select IRQ_CPU
544 select SWAP_IO_SPACE
545 select SYS_SUPPORTS_32BIT_KERNEL
546 select SYS_SUPPORTS_BIG_ENDIAN
547 select SYS_SUPPORTS_LITTLE_ENDIAN
548 select SYS_HAS_CPU_R5000
549 help
550 This enables support for the R5432-based NEC Mark-eins
551 boards with R5500 CPU.
552
1da177e4 553config SGI_IP22
3fa986fa 554 bool "SGI IP22 (Indy/Indigo2)"
1da177e4
LT
555 select ARC
556 select ARC32
557 select BOOT_ELF32
558 select DMA_NONCOHERENT
5e83d430 559 select HW_HAS_EISA
1da177e4
LT
560 select IP22_CPU_SCACHE
561 select IRQ_CPU
aa414dff 562 select GENERIC_ISA_DMA_SUPPORT_BROKEN
1da177e4 563 select SWAP_IO_SPACE
7cf8053b
RB
564 select SYS_HAS_CPU_R4X00
565 select SYS_HAS_CPU_R5000
ed5ba2fb
YY
566 select SYS_SUPPORTS_32BIT_KERNEL
567 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 568 select SYS_SUPPORTS_BIG_ENDIAN
1da177e4
LT
569 help
570 This are the SGI Indy, Challenge S and Indigo2, as well as certain
571 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
572 that runs on these, say Y here.
573
574config SGI_IP27
3fa986fa 575 bool "SGI IP27 (Origin200/2000)"
1da177e4
LT
576 select ARC
577 select ARC64
5e83d430 578 select BOOT_ELF64
1da177e4 579 select DMA_IP27
a3d45391 580 select EARLY_PRINTK
1da177e4 581 select HW_HAS_PCI
130e2fb7 582 select NR_CPUS_DEFAULT_64
1da177e4 583 select PCI_DOMAINS
7cf8053b 584 select SYS_HAS_CPU_R10000
ed5ba2fb 585 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 586 select SYS_SUPPORTS_BIG_ENDIAN
d8cb4e11 587 select SYS_SUPPORTS_NUMA
1a5c5de1 588 select SYS_SUPPORTS_SMP
e77c232c 589 select GENERIC_HARDIRQS_NO__DO_IRQ
1da177e4
LT
590 help
591 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
592 workstations. To compile a Linux kernel that runs on these, say Y
593 here.
594
1da177e4 595config SGI_IP32
3fa986fa 596 bool "SGI IP32 (O2) (EXPERIMENTAL)"
ed5ba2fb 597 depends on EXPERIMENTAL
1da177e4
LT
598 select ARC
599 select ARC32
600 select BOOT_ELF32
1da177e4
LT
601 select DMA_NONCOHERENT
602 select HW_HAS_PCI
603 select R5000_CPU_SCACHE
604 select RM7000_CPU_SCACHE
7cf8053b
RB
605 select SYS_HAS_CPU_R5000
606 select SYS_HAS_CPU_R10000 if BROKEN
607 select SYS_HAS_CPU_RM7000
dd2f18fe 608 select SYS_HAS_CPU_NEVADA
ed5ba2fb 609 select SYS_SUPPORTS_64BIT_KERNEL
23fbee9d 610 select SYS_SUPPORTS_BIG_ENDIAN
23fbee9d 611 help
5e83d430 612 If you want this kernel to run on SGI O2 workstation, say Y here.
1da177e4 613
9a6dcea1 614config SIBYTE_BIGSUR
3fa986fa 615 bool "Sibyte BCM91480B-BigSur"
9a6dcea1
AI
616 select BOOT_ELF32
617 select DMA_COHERENT
130e2fb7 618 select NR_CPUS_DEFAULT_4
7cf8053b 619 select PCI_DOMAINS
9a6dcea1
AI
620 select SIBYTE_BCM1x80
621 select SWAP_IO_SPACE
7cf8053b 622 select SYS_HAS_CPU_SB1
9a6dcea1
AI
623 select SYS_SUPPORTS_BIG_ENDIAN
624 select SYS_SUPPORTS_LITTLE_ENDIAN
625
5e83d430 626config SIBYTE_SWARM
3fa986fa 627 bool "Sibyte BCM91250A-SWARM"
5e83d430 628 select BOOT_ELF32
1da177e4 629 select DMA_COHERENT
130e2fb7 630 select NR_CPUS_DEFAULT_2
5e83d430
RB
631 select SIBYTE_SB1250
632 select SWAP_IO_SPACE
7cf8053b 633 select SYS_HAS_CPU_SB1
81731f79 634 select SYS_SUPPORTS_BIG_ENDIAN
5e83d430
RB
635 select SYS_SUPPORTS_HIGHMEM
636 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 637
5e83d430 638config SIBYTE_SENTOSA
3fa986fa 639 bool "Sibyte BCM91250E-Sentosa"
5e83d430
RB
640 depends on EXPERIMENTAL
641 select BOOT_ELF32
642 select DMA_COHERENT
130e2fb7 643 select NR_CPUS_DEFAULT_2
5e83d430
RB
644 select SIBYTE_SB1250
645 select SWAP_IO_SPACE
7cf8053b 646 select SYS_HAS_CPU_SB1
5e83d430
RB
647 select SYS_SUPPORTS_BIG_ENDIAN
648 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 649
5e83d430 650config SIBYTE_RHONE
3fa986fa 651 bool "Sibyte BCM91125E-Rhone"
5e83d430
RB
652 depends on EXPERIMENTAL
653 select BOOT_ELF32
654 select DMA_COHERENT
655 select SIBYTE_BCM1125H
656 select SWAP_IO_SPACE
7cf8053b 657 select SYS_HAS_CPU_SB1
5e83d430
RB
658 select SYS_SUPPORTS_BIG_ENDIAN
659 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 660
5e83d430 661config SIBYTE_CARMEL
3fa986fa 662 bool "Sibyte BCM91120x-Carmel"
5e83d430
RB
663 depends on EXPERIMENTAL
664 select BOOT_ELF32
26a940e2 665 select DMA_COHERENT
5e83d430
RB
666 select SIBYTE_BCM1120
667 select SWAP_IO_SPACE
7cf8053b 668 select SYS_HAS_CPU_SB1
5e83d430 669 select SYS_SUPPORTS_BIG_ENDIAN
e3ad1c23
PP
670 select SYS_SUPPORTS_LITTLE_ENDIAN
671
5e83d430 672config SIBYTE_PTSWARM
3fa986fa 673 bool "Sibyte BCM91250PT-PTSWARM"
5e83d430
RB
674 depends on EXPERIMENTAL
675 select BOOT_ELF32
676 select DMA_COHERENT
130e2fb7 677 select NR_CPUS_DEFAULT_2
5e83d430
RB
678 select SIBYTE_SB1250
679 select SWAP_IO_SPACE
7cf8053b 680 select SYS_HAS_CPU_SB1
5e83d430
RB
681 select SYS_SUPPORTS_BIG_ENDIAN
682 select SYS_SUPPORTS_HIGHMEM
683 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 684
5e83d430 685config SIBYTE_LITTLESUR
3fa986fa 686 bool "Sibyte BCM91250C2-LittleSur"
5e83d430
RB
687 depends on EXPERIMENTAL
688 select BOOT_ELF32
689 select DMA_COHERENT
130e2fb7 690 select NR_CPUS_DEFAULT_2
5e83d430
RB
691 select SIBYTE_SB1250
692 select SWAP_IO_SPACE
7cf8053b 693 select SYS_HAS_CPU_SB1
5e83d430
RB
694 select SYS_SUPPORTS_BIG_ENDIAN
695 select SYS_SUPPORTS_HIGHMEM
696 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 697
5e83d430 698config SIBYTE_CRHINE
3fa986fa 699 bool "Sibyte BCM91120C-CRhine"
5e83d430
RB
700 depends on EXPERIMENTAL
701 select BOOT_ELF32
702 select DMA_COHERENT
703 select SIBYTE_BCM1120
704 select SWAP_IO_SPACE
7cf8053b 705 select SYS_HAS_CPU_SB1
5e83d430
RB
706 select SYS_SUPPORTS_BIG_ENDIAN
707 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 708
5e83d430 709config SIBYTE_CRHONE
3fa986fa 710 bool "Sibyte BCM91125C-CRhone"
5e83d430
RB
711 depends on EXPERIMENTAL
712 select BOOT_ELF32
713 select DMA_COHERENT
714 select SIBYTE_BCM1125
715 select SWAP_IO_SPACE
7cf8053b 716 select SYS_HAS_CPU_SB1
5e83d430
RB
717 select SYS_SUPPORTS_BIG_ENDIAN
718 select SYS_SUPPORTS_HIGHMEM
719 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 720
14b36af4
TB
721config SNI_RM
722 bool "SNI RM200/300/400"
4a0312fc
TB
723 select ARC if CPU_LITTLE_ENDIAN
724 select ARC32 if CPU_LITTLE_ENDIAN
61ed242d 725 select ARCH_MAY_HAVE_PC_FDC
1da177e4
LT
726 select BOOT_ELF32
727 select DMA_NONCOHERENT
728 select GENERIC_ISA_DMA
729 select HAVE_STD_PC_SERIAL_PORT
5e83d430 730 select HW_HAS_EISA
1da177e4 731 select HW_HAS_PCI
e5c6c8e4 732 select I8253
1da177e4
LT
733 select I8259
734 select ISA
4a0312fc 735 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
7cf8053b 736 select SYS_HAS_CPU_R4X00
4a0312fc
TB
737 select SYS_HAS_CPU_R5000
738 select R5000_CPU_SCACHE
ed5ba2fb
YY
739 select SYS_SUPPORTS_32BIT_KERNEL
740 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
4a0312fc 741 select SYS_SUPPORTS_BIG_ENDIAN
797798c1 742 select SYS_SUPPORTS_HIGHMEM
5e83d430 743 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 744 help
14b36af4
TB
745 The SNI RM200/300/400 are MIPS-based machines manufactured by
746 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
1da177e4
LT
747 Technology and now in turn merged with Fujitsu. Say Y here to
748 support this machine type.
749
5e83d430 750config TOSHIBA_JMR3927
3fa986fa 751 bool "Toshiba JMR-TX3927 board"
5e83d430
RB
752 select DMA_NONCOHERENT
753 select HW_HAS_PCI
754 select MIPS_TX3927
755 select SWAP_IO_SPACE
7cf8053b 756 select SYS_HAS_CPU_TX39XX
5e83d430 757 select SYS_SUPPORTS_32BIT_KERNEL
6a2603a2 758 select SYS_SUPPORTS_LITTLE_ENDIAN
5e83d430
RB
759 select SYS_SUPPORTS_BIG_ENDIAN
760 select TOSHIBA_BOARDS
761
1da177e4 762config TOSHIBA_RBTX4927
3fa986fa 763 bool "Toshiba TBTX49[23]7 board"
1da177e4
LT
764 select DMA_NONCOHERENT
765 select HAS_TXX9_SERIAL
766 select HW_HAS_PCI
767 select I8259
768 select ISA
769 select SWAP_IO_SPACE
7cf8053b 770 select SYS_HAS_CPU_TX49XX
ed5ba2fb
YY
771 select SYS_SUPPORTS_32BIT_KERNEL
772 select SYS_SUPPORTS_64BIT_KERNEL
6a2603a2 773 select SYS_SUPPORTS_LITTLE_ENDIAN
5e83d430
RB
774 select SYS_SUPPORTS_BIG_ENDIAN
775 select TOSHIBA_BOARDS
9fd32cfb 776 select GENERIC_HARDIRQS_NO__DO_IRQ
1da177e4
LT
777 help
778 This Toshiba board is based on the TX4927 processor. Say Y here to
779 support this machine type
780
5e83d430 781config TOSHIBA_RBTX4938
3fa986fa 782 bool "Toshiba RBTX4938 board"
5e83d430
RB
783 select HAVE_STD_PC_SERIAL_PORT
784 select DMA_NONCOHERENT
785 select GENERIC_ISA_DMA
786 select HAS_TXX9_SERIAL
787 select HW_HAS_PCI
788 select I8259
789 select ISA
790 select SWAP_IO_SPACE
7cf8053b 791 select SYS_HAS_CPU_TX49XX
5e83d430
RB
792 select SYS_SUPPORTS_32BIT_KERNEL
793 select SYS_SUPPORTS_LITTLE_ENDIAN
794 select SYS_SUPPORTS_BIG_ENDIAN
795 select TOSHIBA_BOARDS
9fd32cfb 796 select GENERIC_HARDIRQS_NO__DO_IRQ
5e83d430
RB
797 help
798 This Toshiba board is based on the TX4938 processor. Say Y here to
799 support this machine type
800
801endchoice
1da177e4 802
5e83d430
RB
803source "arch/mips/ddb5xxx/Kconfig"
804source "arch/mips/gt64120/ev64120/Kconfig"
805source "arch/mips/jazz/Kconfig"
5e83d430
RB
806source "arch/mips/lasat/Kconfig"
807source "arch/mips/momentum/Kconfig"
808source "arch/mips/pmc-sierra/Kconfig"
29c48699 809source "arch/mips/sgi-ip27/Kconfig"
38b18f72 810source "arch/mips/sibyte/Kconfig"
5e83d430 811source "arch/mips/tx4927/Kconfig"
23fbee9d 812source "arch/mips/tx4938/Kconfig"
5e83d430 813source "arch/mips/vr41xx/Kconfig"
bdf21b18 814source "arch/mips/philips/pnx8550/common/Kconfig"
e87dddeb 815source "arch/mips/cobalt/Kconfig"
38b18f72 816
5e83d430
RB
817endmenu
818
1da177e4
LT
819config RWSEM_GENERIC_SPINLOCK
820 bool
821 default y
822
823config RWSEM_XCHGADD_ALGORITHM
824 bool
825
f0d1b0b3
DH
826config ARCH_HAS_ILOG2_U32
827 bool
828 default n
829
830config ARCH_HAS_ILOG2_U64
831 bool
832 default n
833
3c9ee7ef
AM
834config GENERIC_FIND_NEXT_BIT
835 bool
836 default y
837
838config GENERIC_HWEIGHT
839 bool
840 default y
841
1da177e4
LT
842config GENERIC_CALIBRATE_DELAY
843 bool
844 default y
845
8db02010
RB
846config GENERIC_TIME
847 bool
848 default y
849
1cc89038
AN
850config SCHED_NO_NO_OMIT_FRAME_POINTER
851 bool
852 default y
853
e77c232c
FBH
854config GENERIC_HARDIRQS_NO__DO_IRQ
855 bool
856 default n
857
1da177e4
LT
858#
859# Select some configuration options automatically based on user selections.
860#
861config ARC
862 bool
1da177e4 863
61ed242d
RB
864config ARCH_MAY_HAVE_PC_FDC
865 bool
866
4ce588cd 867config DMA_COHERENT
1da177e4
LT
868 bool
869
4ce588cd 870config DMA_IP27
1da177e4
LT
871 bool
872
4ce588cd
RB
873config DMA_IP32
874 bool
875 select DMA_NEED_PCI_MAP_STATE
876
877config DMA_NONCOHERENT
878 bool
879 select DMA_NEED_PCI_MAP_STATE
880
881config DMA_NEED_PCI_MAP_STATE
1da177e4
LT
882 bool
883
884config EARLY_PRINTK
885 bool
1da177e4
LT
886
887config GENERIC_ISA_DMA
888 bool
1da177e4
LT
889
890config I8259
891 bool
1da177e4
LT
892
893config LIMITED_DMA
894 bool
895 select HIGHMEM
797798c1 896 select SYS_SUPPORTS_HIGHMEM
1da177e4
LT
897
898config MIPS_BONITO64
899 bool
1da177e4
LT
900
901config MIPS_MSC
902 bool
1da177e4
LT
903
904config MIPS_NILE4
905 bool
1da177e4
LT
906
907config MIPS_DISABLE_OBSOLETE_IDE
908 bool
909
aa414dff
RB
910config GENERIC_ISA_DMA_SUPPORT_BROKEN
911 bool
912
5e83d430 913#
3cb2fccc 914# Endianess selection. Sufficiently obscure so many users don't know what to
5e83d430
RB
915# answer,so we try hard to limit the available choices. Also the use of a
916# choice statement should be more obvious to the user.
917#
918choice
919 prompt "Endianess selection"
1da177e4
LT
920 help
921 Some MIPS machines can be configured for either little or big endian
5e83d430 922 byte order. These modes require different kernels and a different
3cb2fccc 923 Linux distribution. In general there is one preferred byteorder for a
5e83d430
RB
924 particular system but some systems are just as commonly used in the
925 one or the other endianess.
926
927config CPU_BIG_ENDIAN
928 bool "Big endian"
929 depends on SYS_SUPPORTS_BIG_ENDIAN
930
931config CPU_LITTLE_ENDIAN
932 bool "Little endian"
933 depends on SYS_SUPPORTS_LITTLE_ENDIAN
934 help
935
936endchoice
937
2116245e
RB
938config SYS_SUPPORTS_APM_EMULATION
939 bool
940
5e83d430
RB
941config SYS_SUPPORTS_BIG_ENDIAN
942 bool
943
944config SYS_SUPPORTS_LITTLE_ENDIAN
945 bool
1da177e4
LT
946
947config IRQ_CPU
948 bool
949
950config IRQ_CPU_RM7K
951 bool
952
5e83d430
RB
953config IRQ_CPU_RM9K
954 bool
955
1da177e4
LT
956config IRQ_MV64340
957 bool
958
959config DDB5XXX_COMMON
960 bool
1da177e4
LT
961
962config MIPS_BOARDS_GEN
963 bool
1da177e4
LT
964
965config MIPS_GT64111
966 bool
1da177e4
LT
967
968config MIPS_GT64120
969 bool
1da177e4
LT
970
971config MIPS_TX3927
972 bool
1da177e4 973 select HAS_TXX9_SERIAL
1da177e4 974
663c3d90 975config MIPS_RM9122
976 bool
977 select SERIAL_RM9000
978 select GPI_RM9000
979 select WDT_RM9000
980
1da177e4
LT
981config PCI_MARVELL
982 bool
983
5e83d430
RB
984config SOC_AU1000
985 bool
986 select SOC_AU1X00
987
988config SOC_AU1100
989 bool
990 select SOC_AU1X00
991
992config SOC_AU1500
993 bool
994 select SOC_AU1X00
995
996config SOC_AU1550
997 bool
998 select SOC_AU1X00
999
1000config SOC_AU1200
1001 bool
1002 select SOC_AU1X00
1003
1004config SOC_AU1X00
1005 bool
7cf8053b 1006 select SYS_HAS_CPU_MIPS32_R1
5e83d430 1007 select SYS_SUPPORTS_32BIT_KERNEL
2116245e 1008 select SYS_SUPPORTS_APM_EMULATION
1da177e4 1009
bdf21b18
PP
1010config PNX8550
1011 bool
1012 select SOC_PNX8550
1013
1014config SOC_PNX8550
1015 bool
bdf21b18
PP
1016 select DMA_NONCOHERENT
1017 select HW_HAS_PCI
b8c2a77c 1018 select SYS_HAS_CPU_MIPS32_R1
7cf8053b 1019 select SYS_SUPPORTS_32BIT_KERNEL
e77c232c 1020 select GENERIC_HARDIRQS_NO__DO_IRQ
bdf21b18 1021
1da177e4
LT
1022config SWAP_IO_SPACE
1023 bool
1024
355c471f 1025config EMMA2RH
1026 bool
1027 depends on MARKEINS
1028 default y
1029
663c3d90 1030config SERIAL_RM9000
1031 bool
1032
1033config GPI_RM9000
1034 bool
1035
1036config WDT_RM9000
1037 bool
1038
1da177e4
LT
1039#
1040# Unfortunately not all GT64120 systems run the chip at the same clock.
1041# As the user for the clock rate and try to minimize the available options.
1042#
1043choice
1044 prompt "Galileo Chip Clock"
1045 #default SYSCLK_83 if MIPS_EV64120
1046 depends on MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
1047 default SYSCLK_83 if MIPS_EV64120
1048 default SYSCLK_100 if MOMENCO_OCELOT || MOMENCO_OCELOT_G
1049
1050config SYSCLK_75
1051 bool "75" if MIPS_EV64120
1052
1053config SYSCLK_83
1054 bool "83.3" if MIPS_EV64120
1055
1056config SYSCLK_100
1057 bool "100" if MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
1058
1059endchoice
1060
5e83d430
RB
1061config ARC32
1062 bool
1063
1da177e4
LT
1064config BOOT_ELF32
1065 bool
1da177e4
LT
1066
1067config MIPS_L1_CACHE_SHIFT
1068 int
1069 default "4" if MACH_DECSTATION
1070 default "7" if SGI_IP27
1071 default "5"
1072
1da177e4
LT
1073config HAVE_STD_PC_SERIAL_PORT
1074 bool
1075
1da177e4
LT
1076config ARC_CONSOLE
1077 bool "ARC console support"
14b36af4 1078 depends on SGI_IP22 || SNI_RM
1da177e4
LT
1079
1080config ARC_MEMORY
1081 bool
14b36af4 1082 depends on MACH_JAZZ || SNI_RM || SGI_IP32
1da177e4
LT
1083 default y
1084
1085config ARC_PROMLIB
1086 bool
14b36af4 1087 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP32
1da177e4
LT
1088 default y
1089
1090config ARC64
1091 bool
1da177e4
LT
1092
1093config BOOT_ELF64
1094 bool
1da177e4 1095
1da177e4
LT
1096config TOSHIBA_BOARDS
1097 bool
1da177e4
LT
1098
1099menu "CPU selection"
1100
1101choice
1102 prompt "CPU type"
1103 default CPU_R4X00
1104
6e760c8d
RB
1105config CPU_MIPS32_R1
1106 bool "MIPS32 Release 1"
7cf8053b 1107 depends on SYS_HAS_CPU_MIPS32_R1
f7062ddb 1108 select CPU_HAS_LLSC
6e760c8d 1109 select CPU_HAS_PREFETCH
797798c1 1110 select CPU_SUPPORTS_32BIT_KERNEL
ec28f306 1111 select CPU_SUPPORTS_HIGHMEM
1e5f1caa 1112 help
5e83d430 1113 Choose this option to build a kernel for release 1 or later of the
1e5f1caa
RB
1114 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.
1118 Release 2 of the MIPS32 architecture is available since several
1119 years so chances are you even have a MIPS32 Release 2 processor
1120 in which case you should choose CPU_MIPS32_R2 instead for better
1121 performance.
1122
1123config CPU_MIPS32_R2
1124 bool "MIPS32 Release 2"
7cf8053b 1125 depends on SYS_HAS_CPU_MIPS32_R2
f7062ddb 1126 select CPU_HAS_LLSC
1e5f1caa 1127 select CPU_HAS_PREFETCH
797798c1 1128 select CPU_SUPPORTS_32BIT_KERNEL
ec28f306 1129 select CPU_SUPPORTS_HIGHMEM
6e760c8d 1130 help
5e83d430 1131 Choose this option to build a kernel for release 2 or later of the
6e760c8d
RB
1132 MIPS32 architecture. Most modern embedded systems with a 32-bit
1133 MIPS processor are based on a MIPS32 processor. If you know the
1134 specific type of processor in your system, choose those that one
1135 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1136
1137config CPU_MIPS64_R1
1138 bool "MIPS64 Release 1"
7cf8053b 1139 depends on SYS_HAS_CPU_MIPS64_R1
f7062ddb 1140 select CPU_HAS_LLSC
797798c1 1141 select CPU_HAS_PREFETCH
ed5ba2fb
YY
1142 select CPU_SUPPORTS_32BIT_KERNEL
1143 select CPU_SUPPORTS_64BIT_KERNEL
ec28f306 1144 select CPU_SUPPORTS_HIGHMEM
6e760c8d
RB
1145 help
1146 Choose this option to build a kernel for release 1 or later of the
1147 MIPS64 architecture. Many modern embedded systems with a 64-bit
1148 MIPS processor are based on a MIPS64 processor. If you know the
1149 specific type of processor in your system, choose those that one
1150 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1e5f1caa
RB
1151 Release 2 of the MIPS64 architecture is available since several
1152 years so chances are you even have a MIPS64 Release 2 processor
1153 in which case you should choose CPU_MIPS64_R2 instead for better
1154 performance.
1155
1156config CPU_MIPS64_R2
1157 bool "MIPS64 Release 2"
7cf8053b 1158 depends on SYS_HAS_CPU_MIPS64_R2
f7062ddb 1159 select CPU_HAS_LLSC
797798c1 1160 select CPU_HAS_PREFETCH
1e5f1caa
RB
1161 select CPU_SUPPORTS_32BIT_KERNEL
1162 select CPU_SUPPORTS_64BIT_KERNEL
ec28f306 1163 select CPU_SUPPORTS_HIGHMEM
1e5f1caa
RB
1164 help
1165 Choose this option to build a kernel for release 2 or later of the
1166 MIPS64 architecture. Many modern embedded systems with a 64-bit
1167 MIPS processor are based on a MIPS64 processor. If you know the
1168 specific type of processor in your system, choose those that one
1169 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1da177e4
LT
1170
1171config CPU_R3000
1172 bool "R3000"
7cf8053b 1173 depends on SYS_HAS_CPU_R3000
f7062ddb 1174 select CPU_HAS_WB
ed5ba2fb 1175 select CPU_SUPPORTS_32BIT_KERNEL
797798c1 1176 select CPU_SUPPORTS_HIGHMEM
1da177e4
LT
1177 help
1178 Please make sure to pick the right CPU type. Linux/MIPS is not
1179 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1180 *not* work on R4000 machines and vice versa. However, since most
1181 of the supported machines have an R4000 (or similar) CPU, R4x00
1182 might be a safe bet. If the resulting kernel does not work,
1183 try to recompile with R3000.
1184
1185config CPU_TX39XX
1186 bool "R39XX"
7cf8053b 1187 depends on SYS_HAS_CPU_TX39XX
ed5ba2fb 1188 select CPU_SUPPORTS_32BIT_KERNEL
1da177e4
LT
1189
1190config CPU_VR41XX
1191 bool "R41xx"
7cf8053b 1192 depends on SYS_HAS_CPU_VR41XX
ed5ba2fb
YY
1193 select CPU_SUPPORTS_32BIT_KERNEL
1194 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4 1195 help
5e83d430 1196 The options selects support for the NEC VR4100 series of processors.
1da177e4
LT
1197 Only choose this option if you have one of these processors as a
1198 kernel built with this option will not run on any other type of
1199 processor or vice versa.
1200
1201config CPU_R4300
1202 bool "R4300"
7cf8053b 1203 depends on SYS_HAS_CPU_R4300
f7062ddb 1204 select CPU_HAS_LLSC
ed5ba2fb
YY
1205 select CPU_SUPPORTS_32BIT_KERNEL
1206 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1207 help
1208 MIPS Technologies R4300-series processors.
1209
1210config CPU_R4X00
1211 bool "R4x00"
7cf8053b 1212 depends on SYS_HAS_CPU_R4X00
f7062ddb 1213 select CPU_HAS_LLSC
ed5ba2fb
YY
1214 select CPU_SUPPORTS_32BIT_KERNEL
1215 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1216 help
1217 MIPS Technologies R4000-series processors other than 4300, including
1218 the R4000, R4400, R4600, and 4700.
1219
1220config CPU_TX49XX
1221 bool "R49XX"
7cf8053b 1222 depends on SYS_HAS_CPU_TX49XX
f7062ddb 1223 select CPU_HAS_LLSC
de862b48 1224 select CPU_HAS_PREFETCH
ed5ba2fb
YY
1225 select CPU_SUPPORTS_32BIT_KERNEL
1226 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1227
1228config CPU_R5000
1229 bool "R5000"
7cf8053b 1230 depends on SYS_HAS_CPU_R5000
f7062ddb 1231 select CPU_HAS_LLSC
ed5ba2fb
YY
1232 select CPU_SUPPORTS_32BIT_KERNEL
1233 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1234 help
1235 MIPS Technologies R5000-series processors other than the Nevada.
1236
1237config CPU_R5432
1238 bool "R5432"
7cf8053b 1239 depends on SYS_HAS_CPU_R5432
f7062ddb 1240 select CPU_HAS_LLSC
5e83d430
RB
1241 select CPU_SUPPORTS_32BIT_KERNEL
1242 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1243
1244config CPU_R6000
1245 bool "R6000"
ed5ba2fb 1246 depends on EXPERIMENTAL
f7062ddb 1247 select CPU_HAS_LLSC
7cf8053b 1248 depends on SYS_HAS_CPU_R6000
ed5ba2fb 1249 select CPU_SUPPORTS_32BIT_KERNEL
1da177e4
LT
1250 help
1251 MIPS Technologies R6000 and R6000A series processors. Note these
c09b47d8 1252 processors are extremely rare and the support for them is incomplete.
1da177e4
LT
1253
1254config CPU_NEVADA
1255 bool "RM52xx"
7cf8053b 1256 depends on SYS_HAS_CPU_NEVADA
f7062ddb 1257 select CPU_HAS_LLSC
ed5ba2fb
YY
1258 select CPU_SUPPORTS_32BIT_KERNEL
1259 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1260 help
1261 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1262
1263config CPU_R8000
1264 bool "R8000"
ed5ba2fb 1265 depends on EXPERIMENTAL
7cf8053b 1266 depends on SYS_HAS_CPU_R8000
f7062ddb 1267 select CPU_HAS_LLSC
5e83d430 1268 select CPU_HAS_PREFETCH
ed5ba2fb 1269 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1270 help
1271 MIPS Technologies R8000 processors. Note these processors are
1272 uncommon and the support for them is incomplete.
1273
1274config CPU_R10000
1275 bool "R10000"
7cf8053b 1276 depends on SYS_HAS_CPU_R10000
f7062ddb 1277 select CPU_HAS_LLSC
5e83d430 1278 select CPU_HAS_PREFETCH
ed5ba2fb
YY
1279 select CPU_SUPPORTS_32BIT_KERNEL
1280 select CPU_SUPPORTS_64BIT_KERNEL
797798c1 1281 select CPU_SUPPORTS_HIGHMEM
1da177e4
LT
1282 help
1283 MIPS Technologies R10000-series processors.
1284
1285config CPU_RM7000
1286 bool "RM7000"
7cf8053b 1287 depends on SYS_HAS_CPU_RM7000
f7062ddb 1288 select CPU_HAS_LLSC
5e83d430 1289 select CPU_HAS_PREFETCH
ed5ba2fb
YY
1290 select CPU_SUPPORTS_32BIT_KERNEL
1291 select CPU_SUPPORTS_64BIT_KERNEL
797798c1 1292 select CPU_SUPPORTS_HIGHMEM
1da177e4
LT
1293
1294config CPU_RM9000
1295 bool "RM9000"
7cf8053b 1296 depends on SYS_HAS_CPU_RM9000
f7062ddb 1297 select CPU_HAS_LLSC
5e83d430 1298 select CPU_HAS_PREFETCH
ed5ba2fb
YY
1299 select CPU_SUPPORTS_32BIT_KERNEL
1300 select CPU_SUPPORTS_64BIT_KERNEL
797798c1 1301 select CPU_SUPPORTS_HIGHMEM
0004a9df 1302 select WEAK_ORDERING
1da177e4
LT
1303
1304config CPU_SB1
1305 bool "SB1"
7cf8053b 1306 depends on SYS_HAS_CPU_SB1
f7062ddb 1307 select CPU_HAS_LLSC
ed5ba2fb
YY
1308 select CPU_SUPPORTS_32BIT_KERNEL
1309 select CPU_SUPPORTS_64BIT_KERNEL
797798c1 1310 select CPU_SUPPORTS_HIGHMEM
0004a9df 1311 select WEAK_ORDERING
1da177e4
LT
1312
1313endchoice
1314
7cf8053b
RB
1315config SYS_HAS_CPU_MIPS32_R1
1316 bool
1317
1318config SYS_HAS_CPU_MIPS32_R2
1319 bool
1320
1321config SYS_HAS_CPU_MIPS64_R1
1322 bool
1323
1324config SYS_HAS_CPU_MIPS64_R2
1325 bool
1326
1327config SYS_HAS_CPU_R3000
1328 bool
1329
1330config SYS_HAS_CPU_TX39XX
1331 bool
1332
1333config SYS_HAS_CPU_VR41XX
1334 bool
1335
1336config SYS_HAS_CPU_R4300
1337 bool
1338
1339config SYS_HAS_CPU_R4X00
1340 bool
1341
1342config SYS_HAS_CPU_TX49XX
1343 bool
1344
1345config SYS_HAS_CPU_R5000
1346 bool
1347
1348config SYS_HAS_CPU_R5432
1349 bool
1350
1351config SYS_HAS_CPU_R6000
1352 bool
1353
1354config SYS_HAS_CPU_NEVADA
1355 bool
1356
1357config SYS_HAS_CPU_R8000
1358 bool
1359
1360config SYS_HAS_CPU_R10000
1361 bool
1362
1363config SYS_HAS_CPU_RM7000
1364 bool
1365
1366config SYS_HAS_CPU_RM9000
1367 bool
1368
1369config SYS_HAS_CPU_SB1
1370 bool
1371
0004a9df
RB
1372config WEAK_ORDERING
1373 bool
5e83d430
RB
1374endmenu
1375
1376#
c09b47d8 1377# These two indicate any level of the MIPS32 and MIPS64 architecture
5e83d430
RB
1378#
1379config CPU_MIPS32
1380 bool
1381 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1382
1383config CPU_MIPS64
1384 bool
1385 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1386
1387#
c09b47d8 1388# These two indicate the revision of the architecture, either Release 1 or Release 2
5e83d430
RB
1389#
1390config CPU_MIPSR1
1391 bool
1392 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1393
1394config CPU_MIPSR2
1395 bool
1396 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1397
1398config SYS_SUPPORTS_32BIT_KERNEL
1399 bool
1400config SYS_SUPPORTS_64BIT_KERNEL
1401 bool
1402config CPU_SUPPORTS_32BIT_KERNEL
1403 bool
1404config CPU_SUPPORTS_64BIT_KERNEL
1405 bool
1406
1407menu "Kernel type"
1408
1409choice
1410
1411 prompt "Kernel code model"
1412 help
1413 You should only select this option if you have a workload that
1414 actually benefits from 64-bit processing or if your machine has
1415 large memory. You will only be presented a single option in this
1416 menu if your system does not support both 32-bit and 64-bit kernels.
1417
1418config 32BIT
1419 bool "32-bit kernel"
1420 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1421 select TRAD_SIGNALS
1422 help
1423 Select this option if you want to build a 32-bit kernel.
1424config 64BIT
1425 bool "64-bit kernel"
1426 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1427 help
1428 Select this option if you want to build a 64-bit kernel.
1429
1430endchoice
1431
1da177e4
LT
1432choice
1433 prompt "Kernel page size"
1434 default PAGE_SIZE_4KB
1435
1436config PAGE_SIZE_4KB
1437 bool "4kB"
1438 help
1439 This option select the standard 4kB Linux page size. On some
1440 R3000-family processors this is the only available page size. Using
1441 4kB page size will minimize memory consumption and is therefore
1442 recommended for low memory systems.
1443
1444config PAGE_SIZE_8KB
1445 bool "8kB"
1446 depends on EXPERIMENTAL && CPU_R8000
1447 help
1448 Using 8kB page size will result in higher performance kernel at
1449 the price of higher memory consumption. This option is available
1450 only on the R8000 processor. Not that at the time of this writing
1451 this option is still high experimental; there are also issues with
1452 compatibility of user applications.
1453
1454config PAGE_SIZE_16KB
1455 bool "16kB"
714bfad6 1456 depends on !CPU_R3000 && !CPU_TX39XX
1da177e4
LT
1457 help
1458 Using 16kB page size will result in higher performance kernel at
1459 the price of higher memory consumption. This option is available on
714bfad6
RB
1460 all non-R3000 family processors. Note that you will need a suitable
1461 Linux distribution to support this.
1da177e4
LT
1462
1463config PAGE_SIZE_64KB
1464 bool "64kB"
1465 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1466 help
1467 Using 64kB page size will result in higher performance kernel at
1468 the price of higher memory consumption. This option is available on
1469 all non-R3000 family processor. Not that at the time of this
714bfad6 1470 writing this option is still high experimental.
1da177e4
LT
1471
1472endchoice
1473
1474config BOARD_SCACHE
1475 bool
1476
1477config IP22_CPU_SCACHE
1478 bool
1479 select BOARD_SCACHE
1480
9318c51a
CD
1481#
1482# Support for a MIPS32 / MIPS64 style S-caches
1483#
1484config MIPS_CPU_SCACHE
1485 bool
1486 select BOARD_SCACHE
1487
1da177e4
LT
1488config R5000_CPU_SCACHE
1489 bool
1490 select BOARD_SCACHE
1491
1492config RM7000_CPU_SCACHE
1493 bool
1494 select BOARD_SCACHE
1495
1496config SIBYTE_DMA_PAGEOPS
1497 bool "Use DMA to clear/copy pages"
1498 depends on CPU_SB1
1499 help
1500 Instead of using the CPU to zero and copy pages, use a Data Mover
1501 channel. These DMA channels are otherwise unused by the standard
1502 SiByte Linux port. Seems to give a small performance benefit.
1503
1504config CPU_HAS_PREFETCH
c8094b53 1505 bool
1da177e4 1506
340ee4b9
RB
1507choice
1508 prompt "MIPS MT options"
f41ae0b2
RB
1509
1510config MIPS_MT_DISABLED
1511 bool "Disable multithreading support."
1512 help
1513 Use this option if your workload can't take advantage of
1514 MIPS hardware multithreading support. On systems that don't have
1515 the option of an MT-enabled processor this option will be the only
1516 option in this menu.
340ee4b9 1517
59d6ab86
RB
1518config MIPS_MT_SMP
1519 bool "Use 1 TC on each available VPE for SMP"
f41ae0b2 1520 depends on SYS_SUPPORTS_MULTITHREADING
f7062ddb
RB
1521 select CPU_MIPSR2_IRQ_VI
1522 select CPU_MIPSR2_SRS
f41ae0b2 1523 select MIPS_MT
41c594ab 1524 select SMP
73b76c78 1525 select SYS_SUPPORTS_SMP
f41ae0b2 1526 help
59d6ab86
RB
1527 This is a kernel model which is also known a VSMP or lately
1528 has been marketesed into SMVP.
41c594ab 1529
59d6ab86
RB
1530config MIPS_MT_SMTC
1531 bool "SMTC: Use all TCs on all VPEs for SMP"
1532 depends on CPU_MIPS32_R2
1533 #depends on CPU_MIPS64_R2 # once there is hardware ...
f41ae0b2
RB
1534 depends on SYS_SUPPORTS_MULTITHREADING
1535 select CPU_MIPSR2_IRQ_VI
1536 select CPU_MIPSR2_SRS
1537 select MIPS_MT
130e2fb7
RB
1538 select NR_CPUS_DEFAULT_2
1539 select NR_CPUS_DEFAULT_8
340ee4b9 1540 select SMP
73b76c78 1541 select SYS_SUPPORTS_SMP
f41ae0b2 1542 help
59d6ab86
RB
1543 This is a kernel model which is known a SMTC or lately has been
1544 marketesed into SMVP.
340ee4b9 1545
e01402b1
RB
1546config MIPS_VPE_LOADER
1547 bool "VPE loader support."
f41ae0b2
RB
1548 depends on SYS_SUPPORTS_MULTITHREADING
1549 select MIPS_MT
e01402b1
RB
1550 help
1551 Includes a loader for loading an elf relocatable object
1552 onto another VPE and running it.
1553
340ee4b9
RB
1554endchoice
1555
f41ae0b2
RB
1556config MIPS_MT
1557 bool
1558
1559config SYS_SUPPORTS_MULTITHREADING
1560 bool
1561
f088fc84
RB
1562config MIPS_MT_FPAFF
1563 bool "Dynamic FPU affinity for FP-intensive threads"
1564 depends on MIPS_MT
1565 default y
1566
ac8be955
RB
1567config MIPS_MT_SMTC_INSTANT_REPLAY
1568 bool "Low-latency Dispatch of Deferred SMTC IPIs"
1569 depends on MIPS_MT_SMTC
1570 default y
1571 help
1572 SMTC pseudo-interrupts between TCs are deferred and queued
1573 if the target TC is interrupt-inhibited (IXMT). In the first
1574 SMTC prototypes, these queued IPIs were serviced on return
1575 to user mode, or on entry into the kernel idle loop. The
1576 INSTANT_REPLAY option dispatches them as part of local_irq_restore()
1577 processing, which adds runtime overhead (hence the option to turn
1578 it off), but ensures that IPIs are handled promptly even under
1579 heavy I/O interrupt load.
1580
e01402b1
RB
1581config MIPS_VPE_LOADER_TOM
1582 bool "Load VPE program into memory hidden from linux"
1583 depends on MIPS_VPE_LOADER
1584 default y
1585 help
1586 The loader can use memory that is present but has been hidden from
1587 Linux using the kernel command line option "mem=xxMB". It's up to
1588 you to ensure the amount you put in the option and the space your
1589 program requires is less or equal to the amount physically present.
1590
1591# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1592config MIPS_VPE_APSP_API
5e83d430
RB
1593 bool "Enable support for AP/SP API (RTLX)"
1594 depends on MIPS_VPE_LOADER
1595 help
e01402b1 1596
2600990e
RB
1597config MIPS_APSP_KSPD
1598 bool "Enable KSPD"
1599 depends on MIPS_VPE_APSP_API
1600 default y
1601 help
1602 KSPD is a kernel daemon that accepts syscall requests from the SP
1603 side, actions them and returns the results. It also handles the
1604 "exit" syscall notifying other kernel modules the SP program is
1605 exiting. You probably want to say yes here.
1606
1da177e4
LT
1607config SB1_PASS_1_WORKAROUNDS
1608 bool
1609 depends on CPU_SB1_PASS_1
1610 default y
1611
1612config SB1_PASS_2_WORKAROUNDS
1613 bool
1614 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1615 default y
1616
1617config SB1_PASS_2_1_WORKAROUNDS
1618 bool
1619 depends on CPU_SB1 && CPU_SB1_PASS_2
1620 default y
1621
1622config 64BIT_PHYS_ADDR
1623 bool "Support for 64-bit physical address space"
948928ad 1624 depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT
1da177e4 1625
1da177e4 1626config CPU_HAS_LLSC
f7062ddb 1627 bool
1da177e4 1628
1da177e4 1629config CPU_HAS_WB
f7062ddb 1630 bool
e01402b1 1631
f41ae0b2
RB
1632#
1633# Vectored interrupt mode is an R2 feature
1634#
e01402b1 1635config CPU_MIPSR2_IRQ_VI
f41ae0b2 1636 bool
e01402b1 1637
f41ae0b2
RB
1638#
1639# Extended interrupt mode is an R2 feature
1640#
e01402b1 1641config CPU_MIPSR2_IRQ_EI
f41ae0b2 1642 bool
e01402b1 1643
f41ae0b2
RB
1644#
1645# Shadow registers are an R2 feature
1646#
e01402b1 1647config CPU_MIPSR2_SRS
f41ae0b2 1648 bool
e01402b1 1649
1da177e4
LT
1650config CPU_HAS_SYNC
1651 bool
1652 depends on !CPU_R3000
1653 default y
1654
797798c1
RB
1655#
1656# Use the generic interrupt handling code in kernel/irq/:
1657#
1658config GENERIC_HARDIRQS
1659 bool
1660 default y
1661
1662config GENERIC_IRQ_PROBE
1663 bool
1664 default y
1665
0d7012a9 1666config IRQ_PER_CPU
0d7012a9 1667 bool
0d7012a9 1668
1da177e4
LT
1669#
1670# - Highmem only makes sense for the 32-bit kernel.
1671# - The current highmem code will only work properly on physically indexed
1672# caches such as R3000, SB1, R7000 or those that look like they're virtually
1673# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1674# moment we protect the user and offer the highmem option only on machines
1675# where it's known to be safe. This will not offer highmem on a few systems
1676# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1677# indexed CPUs but we're playing safe.
797798c1
RB
1678# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1679# know they might have memory configurations that could make use of highmem
1680# support.
1da177e4
LT
1681#
1682config HIGHMEM
1683 bool "High Memory Support"
797798c1
RB
1684 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1685
1686config CPU_SUPPORTS_HIGHMEM
1687 bool
1688
1689config SYS_SUPPORTS_HIGHMEM
1690 bool
1da177e4 1691
b4819b59
YY
1692config ARCH_FLATMEM_ENABLE
1693 def_bool y
1694 depends on !NUMA
1695
d8cb4e11
RB
1696config ARCH_DISCONTIGMEM_ENABLE
1697 bool
1698 default y if SGI_IP27
1699 help
1700 Say Y to upport efficient handling of discontiguous physical memory,
1701 for architectures which are either NUMA (Non-Uniform Memory Access)
1702 or have huge holes in the physical address space for other reasons.
1703 See <file:Documentation/vm/numa> for more.
1704
31473747
AN
1705config ARCH_SPARSEMEM_ENABLE
1706 bool
7de58fab 1707 select SPARSEMEM_STATIC
31473747 1708
d8cb4e11
RB
1709config NUMA
1710 bool "NUMA Support"
1711 depends on SYS_SUPPORTS_NUMA
1712 help
1713 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1714 Access). This option improves performance on systems with more
1715 than two nodes; on two node systems it is generally better to
1716 leave it disabled; on single node systems disable this option
1717 disabled.
1718
1719config SYS_SUPPORTS_NUMA
1720 bool
1721
c80d79d7
YG
1722config NODES_SHIFT
1723 int
1724 default "6"
1725 depends on NEED_MULTIPLE_NODES
1726
b4819b59
YY
1727source "mm/Kconfig"
1728
1da177e4
LT
1729config SMP
1730 bool "Multi-Processing support"
e73ea273 1731 depends on SYS_SUPPORTS_SMP
b4b30a5a 1732 select IRQ_PER_CPU
e73ea273 1733 help
1da177e4
LT
1734 This enables support for systems with more than one CPU. If you have
1735 a system with only one CPU, like most personal computers, say N. If
1736 you have a system with more than one CPU, say Y.
1737
1738 If you say N here, the kernel will run on single and multiprocessor
1739 machines, but will use only one CPU of a multiprocessor machine. If
1740 you say Y here, the kernel will run on many, but not all,
1741 singleprocessor machines. On a singleprocessor machine, the kernel
1742 will run faster if you say N here.
1743
1744 People using multiprocessor machines who say Y here should also say
1745 Y to "Enhanced Real Time Clock Support", below.
1746
1747 See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1748 available at <http://www.tldp.org/docs.html#howto>.
1749
1750 If you don't know what to do here, say N.
1751
e73ea273
RB
1752config SYS_SUPPORTS_SMP
1753 bool
1754
130e2fb7
RB
1755config NR_CPUS_DEFAULT_2
1756 bool
1757
1758config NR_CPUS_DEFAULT_4
1759 bool
1760
1761config NR_CPUS_DEFAULT_8
1762 bool
1763
1764config NR_CPUS_DEFAULT_16
1765 bool
1766
1767config NR_CPUS_DEFAULT_32
1768 bool
1769
1770config NR_CPUS_DEFAULT_64
1771 bool
1772
1da177e4
LT
1773config NR_CPUS
1774 int "Maximum number of CPUs (2-64)"
1775 range 2 64
1776 depends on SMP
130e2fb7
RB
1777 default "2" if NR_CPUS_DEFAULT_2
1778 default "4" if NR_CPUS_DEFAULT_4
1779 default "8" if NR_CPUS_DEFAULT_8
1780 default "16" if NR_CPUS_DEFAULT_16
1781 default "32" if NR_CPUS_DEFAULT_32
1782 default "64" if NR_CPUS_DEFAULT_64
1da177e4
LT
1783 help
1784 This allows you to specify the maximum number of CPUs which this
1785 kernel will support. The maximum supported value is 32 for 32-bit
1786 kernel and 64 for 64-bit kernels; the minimum value which makes
1787 sense is 2.
1788
1789 This is purely to save memory - each supported CPU adds
1790 approximately eight kilobytes to the kernel image.
1791
1723b4a3
AN
1792#
1793# Timer Interrupt Frequency Configuration
1794#
1795
1796choice
1797 prompt "Timer frequency"
1798 default HZ_250
1799 help
1800 Allows the configuration of the timer frequency.
1801
1802 config HZ_48
1803 bool "48 HZ" if SYS_SUPPORTS_48HZ
1804
1805 config HZ_100
1806 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1807
1808 config HZ_128
1809 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1810
1811 config HZ_250
1812 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1813
1814 config HZ_256
1815 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1816
1817 config HZ_1000
1818 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1819
1820 config HZ_1024
1821 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1822
1823endchoice
1824
1825config SYS_SUPPORTS_48HZ
1826 bool
1827
1828config SYS_SUPPORTS_100HZ
1829 bool
1830
1831config SYS_SUPPORTS_128HZ
1832 bool
1833
1834config SYS_SUPPORTS_250HZ
1835 bool
1836
1837config SYS_SUPPORTS_256HZ
1838 bool
1839
1840config SYS_SUPPORTS_1000HZ
1841 bool
1842
1843config SYS_SUPPORTS_1024HZ
1844 bool
1845
1846config SYS_SUPPORTS_ARBIT_HZ
1847 bool
1848 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1849 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1850 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1851 !SYS_SUPPORTS_1024HZ
1852
1853config HZ
1854 int
1855 default 48 if HZ_48
1856 default 100 if HZ_100
1857 default 128 if HZ_128
1858 default 250 if HZ_250
1859 default 256 if HZ_256
1860 default 1000 if HZ_1000
1861 default 1024 if HZ_1024
1862
e80de850 1863source "kernel/Kconfig.preempt"
1da177e4
LT
1864
1865config RTC_DS1742
1866 bool "DS1742 BRAM/RTC support"
1867 depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927
1868
1869config MIPS_INSANE_LARGE
1870 bool "Support for large 64-bit configurations"
875d43e7 1871 depends on CPU_R10000 && 64BIT
1da177e4
LT
1872 help
1873 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1874 previous 64-bit processors which only supported 40 bit / 1TB. If you
1875 need processes of more than 1TB virtual address space, say Y here.
1876 This will result in additional memory usage, so it is not
1877 recommended for normal users.
1878
ea6e942b
AN
1879config KEXEC
1880 bool "Kexec system call (EXPERIMENTAL)"
1881 depends on EXPERIMENTAL
1882 help
1883 kexec is a system call that implements the ability to shutdown your
1884 current kernel, and to start another kernel. It is like a reboot
1885 but it is indepedent of the system firmware. And like a reboot
1886 you can start any kernel with it, not just Linux.
1887
1888 The name comes from the similiarity to the exec system call.
1889
1890 It is an ongoing process to be certain the hardware in a machine
1891 is properly shutdown, so do not be surprised if this code does not
1892 initially work for you. It may help to enable device hotplugging
1893 support. As of this writing the exact hardware interface is
1894 strongly in flux, so no good recommendation can be made.
1895
1896config SECCOMP
1897 bool "Enable seccomp to safely compute untrusted bytecode"
1898 depends on PROC_FS && BROKEN
1899 default y
1900 help
1901 This kernel feature is useful for number crunching applications
1902 that may need to compute untrusted bytecode during their
1903 execution. By using pipes or other transports made available to
1904 the process as file descriptors supporting the read/write
1905 syscalls, it's possible to isolate those applications in
1906 their own address space using seccomp. Once seccomp is
1907 enabled via /proc/<pid>/seccomp, it cannot be disabled
1908 and the task is only allowed to execute a few safe syscalls
1909 defined by each seccomp mode.
1910
1911 If unsure, say Y. Only embedded should say N here.
1912
5e83d430
RB
1913endmenu
1914
1da177e4
LT
1915config RWSEM_GENERIC_SPINLOCK
1916 bool
1917 default y
1918
1df0f0ff
AN
1919config LOCKDEP_SUPPORT
1920 bool
1921 default y
1922
1923config STACKTRACE_SUPPORT
1924 bool
1925 default y
1926
b6c3539b
RB
1927source "init/Kconfig"
1928
1da177e4
LT
1929menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1930
5e83d430
RB
1931config HW_HAS_EISA
1932 bool
1da177e4
LT
1933config HW_HAS_PCI
1934 bool
1935
1936config PCI
1937 bool "Support for PCI controller"
1938 depends on HW_HAS_PCI
1939 help
1940 Find out whether you have a PCI motherboard. PCI is the name of a
1941 bus system, i.e. the way the CPU talks to the other stuff inside
1942 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1943 say Y, otherwise N.
1944
1945 The PCI-HOWTO, available from
1946 <http://www.tldp.org/docs.html#howto>, contains valuable
1947 information about which PCI hardware does work under Linux and which
1948 doesn't.
1949
1950config PCI_DOMAINS
1951 bool
1952 depends on PCI
1953
1954source "drivers/pci/Kconfig"
1955
1956#
1957# ISA support is now enabled via select. Too many systems still have the one
1958# or other ISA chip on the board that users don't know about so don't expect
1959# users to choose the right thing ...
1960#
1961config ISA
1962 bool
1963
1964config EISA
1965 bool "EISA support"
5e83d430 1966 depends on HW_HAS_EISA
1da177e4 1967 select ISA
aa414dff 1968 select GENERIC_ISA_DMA
1da177e4
LT
1969 ---help---
1970 The Extended Industry Standard Architecture (EISA) bus was
1971 developed as an open alternative to the IBM MicroChannel bus.
1972
1973 The EISA bus provided some of the features of the IBM MicroChannel
1974 bus while maintaining backward compatibility with cards made for
1975 the older ISA bus. The EISA bus saw limited use between 1988 and
1976 1995 when it was made obsolete by the PCI bus.
1977
1978 Say Y here if you are building a kernel for an EISA-based machine.
1979
1980 Otherwise, say N.
1981
1982source "drivers/eisa/Kconfig"
1983
1984config TC
1985 bool "TURBOchannel support"
1986 depends on MACH_DECSTATION
1987 help
1988 TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1989 processors. Documentation on writing device drivers for TurboChannel
1990 is available at:
1991 <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1992
1993#config ACCESSBUS
1994# bool "Access.Bus support"
1995# depends on TC
1996
1997config MMU
1998 bool
1999 default y
2000
e5c6c8e4
MN
2001config I8253
2002 bool
2003
1da177e4
LT
2004source "drivers/pcmcia/Kconfig"
2005
2006source "drivers/pci/hotplug/Kconfig"
2007
2008endmenu
2009
2010menu "Executable file formats"
2011
2012source "fs/Kconfig.binfmt"
2013
2014config TRAD_SIGNALS
2015 bool
1da177e4
LT
2016
2017config BUILD_ELF64
2018 bool "Use 64-bit ELF format for building"
875d43e7 2019 depends on 64BIT
1da177e4
LT
2020 help
2021 A 64-bit kernel is usually built using the 64-bit ELF binary object
2022 format as it's one that allows arbitrary 64-bit constructs. For
2023 kernels that are loaded within the KSEG compatibility segments the
2024 32-bit ELF format can optionally be used resulting in a somewhat
2025 smaller binary, but this option is not explicitly supported by the
2026 toolchain and since binutils 2.14 it does not even work at all.
2027
2028 Say Y to use the 64-bit format or N to use the 32-bit one.
2029
2030 If unsure say Y.
2031
2032config BINFMT_IRIX
2033 bool "Include IRIX binary compatibility"
5e83d430 2034 depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
1da177e4
LT
2035
2036config MIPS32_COMPAT
2037 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
875d43e7 2038 depends on 64BIT
1da177e4
LT
2039 help
2040 Select this option if you want Linux/MIPS 32-bit binary
2041 compatibility. Since all software available for Linux/MIPS is
2042 currently 32-bit you should say Y here.
2043
2044config COMPAT
2045 bool
2046 depends on MIPS32_COMPAT
2047 default y
2048
05e43966
AN
2049config SYSVIPC_COMPAT
2050 bool
2051 depends on COMPAT && SYSVIPC
2052 default y
2053
1da177e4
LT
2054config MIPS32_O32
2055 bool "Kernel support for o32 binaries"
2056 depends on MIPS32_COMPAT
2057 help
2058 Select this option if you want to run o32 binaries. These are pure
2059 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2060 existing binaries are in this format.
2061
2062 If unsure, say Y.
2063
2064config MIPS32_N32
2065 bool "Kernel support for n32 binaries"
2066 depends on MIPS32_COMPAT
2067 help
2068 Select this option if you want to run n32 binaries. These are
2069 64-bit binaries using 32-bit quantities for addressing and certain
2070 data that would normally be 64-bit. They are used in special
2071 cases.
2072
2073 If unsure, say N.
2074
2075config BINFMT_ELF32
2076 bool
2077 default y if MIPS32_O32 || MIPS32_N32
2078
2116245e
RB
2079endmenu
2080
2081menu "Power management options"
2082
2083source "kernel/power/Kconfig"
952fa954 2084
1da177e4
LT
2085endmenu
2086
d5950b43
SR
2087source "net/Kconfig"
2088
1da177e4
LT
2089source "drivers/Kconfig"
2090
2091source "fs/Kconfig"
2092
5e83d430
RB
2093source "arch/mips/oprofile/Kconfig"
2094
1da177e4
LT
2095source "arch/mips/Kconfig.debug"
2096
2097source "security/Kconfig"
2098
2099source "crypto/Kconfig"
2100
2101source "lib/Kconfig"