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