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