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