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