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