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