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