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