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