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