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