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