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