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