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