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