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