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