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