]> bbs.cooldavid.org Git - net-next-2.6.git/blame - arch/mips/Kconfig
Hugetlbfs: Enable hugetlbfs for more systems in Kconfig.
[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 620 select SWAP_IO_SPACE
e8635b48
DD
621 select HW_HAS_PCI
622 select ARCH_SUPPORTS_MSI
a86c7f72
DD
623 help
624 This option supports all of the Octeon reference boards from Cavium
625 Networks. It builds a kernel that dynamically determines the Octeon
626 CPU type and supports all known board reference implementations.
627 Some of the supported boards are:
628 EBT3000
629 EBH3000
630 EBH3100
631 Thunder
632 Kodama
633 Hikari
634 Say Y here for most Octeon reference boards.
635
5e83d430 636endchoice
1da177e4 637
e8c7c482 638source "arch/mips/alchemy/Kconfig"
9c746edb 639source "arch/mips/basler/excite/Kconfig"
5e83d430 640source "arch/mips/jazz/Kconfig"
1f21d2bd 641source "arch/mips/lasat/Kconfig"
5e83d430 642source "arch/mips/pmc-sierra/Kconfig"
29c48699 643source "arch/mips/sgi-ip27/Kconfig"
38b18f72 644source "arch/mips/sibyte/Kconfig"
22b1d707 645source "arch/mips/txx9/Kconfig"
5e83d430 646source "arch/mips/vr41xx/Kconfig"
a86c7f72 647source "arch/mips/cavium-octeon/Kconfig"
38b18f72 648
5e83d430
RB
649endmenu
650
1da177e4
LT
651config RWSEM_GENERIC_SPINLOCK
652 bool
653 default y
654
655config RWSEM_XCHGADD_ALGORITHM
656 bool
657
f0d1b0b3
DH
658config ARCH_HAS_ILOG2_U32
659 bool
660 default n
661
662config ARCH_HAS_ILOG2_U64
663 bool
664 default n
665
00a58253
RB
666config ARCH_SUPPORTS_OPROFILE
667 bool
668 default y if !MIPS_MT_SMTC
669
3c9ee7ef
AM
670config GENERIC_FIND_NEXT_BIT
671 bool
672 default y
673
674config GENERIC_HWEIGHT
675 bool
676 default y
677
1da177e4
LT
678config GENERIC_CALIBRATE_DELAY
679 bool
680 default y
681
7bcf7717
RB
682config GENERIC_CLOCKEVENTS
683 bool
684 default y
685
8db02010
RB
686config GENERIC_TIME
687 bool
688 default y
689
f5ff0a28
RB
690config GENERIC_CMOS_UPDATE
691 bool
692 default y
693
ae1e9130 694config SCHED_OMIT_FRAME_POINTER
1cc89038
AN
695 bool
696 default y
697
e77c232c 698config GENERIC_HARDIRQS_NO__DO_IRQ
c87e0909 699 def_bool y
e77c232c 700
1da177e4
LT
701#
702# Select some configuration options automatically based on user selections.
703#
704config ARC
705 bool
1da177e4 706
61ed242d
RB
707config ARCH_MAY_HAVE_PC_FDC
708 bool
709
9267a30d
MSJ
710config BOOT_RAW
711 bool
712
217dd11e
RB
713config CEVT_BCM1480
714 bool
715
6457d9fc
YY
716config CEVT_DS1287
717 bool
718
1097c6ac
YY
719config CEVT_GT641XX
720 bool
721
779e7d41
ML
722config CEVT_R4K_LIB
723 bool
724
42f77542 725config CEVT_R4K
779e7d41 726 select CEVT_R4K_LIB
42f77542
RB
727 bool
728
217dd11e
RB
729config CEVT_SB1250
730 bool
731
229f773e
AN
732config CEVT_TXX9
733 bool
734
217dd11e
RB
735config CSRC_BCM1480
736 bool
737
4247417d
YY
738config CSRC_IOASIC
739 bool
740
779e7d41
ML
741config CSRC_R4K_LIB
742 bool
743
940f6b48 744config CSRC_R4K
779e7d41 745 select CSRC_R4K_LIB
940f6b48
RB
746 bool
747
217dd11e
RB
748config CSRC_SB1250
749 bool
750
a9aec7fe
AN
751config GPIO_TXX9
752 select GENERIC_GPIO
7444a72e 753 select ARCH_REQUIRE_GPIOLIB
a9aec7fe
AN
754 bool
755
df78b5c8
AJ
756config CFE
757 bool
758
4ce588cd 759config DMA_COHERENT
1da177e4
LT
760 bool
761
4ce588cd
RB
762config DMA_NONCOHERENT
763 bool
764 select DMA_NEED_PCI_MAP_STATE
765
766config DMA_NEED_PCI_MAP_STATE
1da177e4
LT
767 bool
768
769config EARLY_PRINTK
36a88530
RB
770 bool "Early printk" if EMBEDDED && DEBUG_KERNEL
771 depends on SYS_HAS_EARLY_PRINTK
772 default y
773 help
774 This option enables special console drivers which allow the kernel
775 to print messages very early in the bootup process.
776
777 This is useful for kernel debugging when your machine crashes very
490dcc4d
RD
778 early before the console code is initialized. For normal operation,
779 it is not recommended because it looks ugly on some machines and
780 doesn't cooperate with an X server. You should normally say N here,
36a88530
RB
781 unless you want to debug such a crash.
782
783config SYS_HAS_EARLY_PRINTK
1da177e4 784 bool
1da177e4 785
dbb74540
RB
786config HOTPLUG_CPU
787 bool
788 default n
789
1da177e4
LT
790config I8259
791 bool
1da177e4 792
1da177e4
LT
793config MIPS_BONITO64
794 bool
1da177e4
LT
795
796config MIPS_MSC
797 bool
1da177e4 798
1f21d2bd
BM
799config MIPS_NILE4
800 bool
801
1da177e4
LT
802config MIPS_DISABLE_OBSOLETE_IDE
803 bool
804
39b8d525
RB
805config SYNC_R4K
806 bool
807
d388d685
MR
808config NO_IOPORT
809 def_bool n
810
8313da30
RB
811config GENERIC_ISA_DMA
812 bool
813 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
814
aa414dff
RB
815config GENERIC_ISA_DMA_SUPPORT_BROKEN
816 bool
8313da30 817 select GENERIC_ISA_DMA
aa414dff 818
09663335
YY
819config GENERIC_GPIO
820 bool
821
5e83d430 822#
3cb2fccc 823# Endianess selection. Sufficiently obscure so many users don't know what to
5e83d430
RB
824# answer,so we try hard to limit the available choices. Also the use of a
825# choice statement should be more obvious to the user.
826#
827choice
828 prompt "Endianess selection"
1da177e4
LT
829 help
830 Some MIPS machines can be configured for either little or big endian
5e83d430 831 byte order. These modes require different kernels and a different
3cb2fccc 832 Linux distribution. In general there is one preferred byteorder for a
5e83d430 833 particular system but some systems are just as commonly used in the
3dde6ad8 834 one or the other endianness.
5e83d430
RB
835
836config CPU_BIG_ENDIAN
837 bool "Big endian"
838 depends on SYS_SUPPORTS_BIG_ENDIAN
839
840config CPU_LITTLE_ENDIAN
841 bool "Little endian"
842 depends on SYS_SUPPORTS_LITTLE_ENDIAN
843 help
844
845endchoice
846
2116245e
RB
847config SYS_SUPPORTS_APM_EMULATION
848 bool
849
5e83d430
RB
850config SYS_SUPPORTS_BIG_ENDIAN
851 bool
852
853config SYS_SUPPORTS_LITTLE_ENDIAN
854 bool
1da177e4
LT
855
856config IRQ_CPU
857 bool
858
859config IRQ_CPU_RM7K
860 bool
861
5e83d430
RB
862config IRQ_CPU_RM9K
863 bool
864
9267a30d
MSJ
865config IRQ_MSP_SLP
866 bool
867
868config IRQ_MSP_CIC
869 bool
870
8420fd00
AN
871config IRQ_TXX9
872 bool
873
d5ab1a69
YY
874config IRQ_GT641XX
875 bool
876
39b8d525
RB
877config IRQ_GIC
878 bool
879
a86c7f72
DD
880config IRQ_CPU_OCTEON
881 bool
882
1da177e4
LT
883config MIPS_BOARDS_GEN
884 bool
1da177e4 885
252161ec 886config PCI_GT64XXX_PCI0
1da177e4 887 bool
1da177e4 888
9267a30d
MSJ
889config NO_EXCEPT_FILL
890 bool
891
663c3d90 892config MIPS_RM9122
893 bool
894 select SERIAL_RM9000
663c3d90 895
a83860c2
RB
896config SOC_EMMA2RH
897 bool
898 select CEVT_R4K
899 select CSRC_R4K
900 select DMA_NONCOHERENT
901 select IRQ_CPU
902 select SWAP_IO_SPACE
903 select SYS_HAS_CPU_R5500
904 select SYS_SUPPORTS_32BIT_KERNEL
905 select SYS_SUPPORTS_64BIT_KERNEL
906 select SYS_SUPPORTS_BIG_ENDIAN
907
edb6310a
DL
908config SOC_PNX833X
909 bool
910 select CEVT_R4K
911 select CSRC_R4K
912 select IRQ_CPU
913 select DMA_NONCOHERENT
914 select SYS_HAS_CPU_MIPS32_R2
915 select SYS_SUPPORTS_32BIT_KERNEL
916 select SYS_SUPPORTS_LITTLE_ENDIAN
917 select SYS_SUPPORTS_BIG_ENDIAN
edb6310a
DL
918 select GENERIC_GPIO
919 select CPU_MIPSR2_IRQ_VI
920
921config SOC_PNX8335
922 bool
923 select SOC_PNX833X
924
bdf21b18
PP
925config PNX8550
926 bool
927 select SOC_PNX8550
928
929config SOC_PNX8550
930 bool
bdf21b18
PP
931 select DMA_NONCOHERENT
932 select HW_HAS_PCI
b8c2a77c 933 select SYS_HAS_CPU_MIPS32_R1
36a88530 934 select SYS_HAS_EARLY_PRINTK
7cf8053b 935 select SYS_SUPPORTS_32BIT_KERNEL
4ead1681 936 select GENERIC_GPIO
bdf21b18 937
1da177e4
LT
938config SWAP_IO_SPACE
939 bool
940
663c3d90 941config SERIAL_RM9000
942 bool
943
e2defae5
TB
944config SGI_HAS_INDYDOG
945 bool
946
5b438c44
TB
947config SGI_HAS_HAL2
948 bool
949
e2defae5
TB
950config SGI_HAS_SEEQ
951 bool
952
953config SGI_HAS_WD93
954 bool
955
956config SGI_HAS_ZILOG
957 bool
958
959config SGI_HAS_I8042
960 bool
961
962config DEFAULT_SGI_PARTITION
963 bool
964
5e83d430
RB
965config ARC32
966 bool
967
231a35d3
TB
968config SNIPROM
969 bool
970
1da177e4
LT
971config BOOT_ELF32
972 bool
1da177e4
LT
973
974config MIPS_L1_CACHE_SHIFT
975 int
73b4390f 976 default "4" if MACH_DECSTATION || MIKROTIK_RB532
a86c7f72 977 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON
9267a30d 978 default "4" if PMC_MSP4200_EVAL
1da177e4
LT
979 default "5"
980
1da177e4
LT
981config HAVE_STD_PC_SERIAL_PORT
982 bool
983
1da177e4
LT
984config ARC_CONSOLE
985 bool "ARC console support"
e2defae5 986 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
1da177e4
LT
987
988config ARC_MEMORY
989 bool
14b36af4 990 depends on MACH_JAZZ || SNI_RM || SGI_IP32
1da177e4
LT
991 default y
992
993config ARC_PROMLIB
994 bool
e2defae5 995 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
1da177e4
LT
996 default y
997
998config ARC64
999 bool
1da177e4
LT
1000
1001config BOOT_ELF64
1002 bool
1da177e4 1003
1da177e4
LT
1004menu "CPU selection"
1005
1006choice
1007 prompt "CPU type"
1008 default CPU_R4X00
1009
2a21c730
FZ
1010config CPU_LOONGSON2
1011 bool "Loongson 2"
1012 depends on SYS_HAS_CPU_LOONGSON2
1013 select CPU_SUPPORTS_32BIT_KERNEL
1014 select CPU_SUPPORTS_64BIT_KERNEL
1015 select CPU_SUPPORTS_HIGHMEM
1016 help
1017 The Loongson 2E processor implements the MIPS III instruction set
1018 with many extensions.
1019
6e760c8d
RB
1020config CPU_MIPS32_R1
1021 bool "MIPS32 Release 1"
7cf8053b 1022 depends on SYS_HAS_CPU_MIPS32_R1
f7062ddb 1023 select CPU_HAS_LLSC
6e760c8d 1024 select CPU_HAS_PREFETCH
797798c1 1025 select CPU_SUPPORTS_32BIT_KERNEL
ec28f306 1026 select CPU_SUPPORTS_HIGHMEM
1e5f1caa 1027 help
5e83d430 1028 Choose this option to build a kernel for release 1 or later of the
1e5f1caa
RB
1029 MIPS32 architecture. Most modern embedded systems with a 32-bit
1030 MIPS processor are based on a MIPS32 processor. If you know the
1031 specific type of processor in your system, choose those that one
1032 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1033 Release 2 of the MIPS32 architecture is available since several
1034 years so chances are you even have a MIPS32 Release 2 processor
1035 in which case you should choose CPU_MIPS32_R2 instead for better
1036 performance.
1037
1038config CPU_MIPS32_R2
1039 bool "MIPS32 Release 2"
7cf8053b 1040 depends on SYS_HAS_CPU_MIPS32_R2
f7062ddb 1041 select CPU_HAS_LLSC
1e5f1caa 1042 select CPU_HAS_PREFETCH
797798c1 1043 select CPU_SUPPORTS_32BIT_KERNEL
ec28f306 1044 select CPU_SUPPORTS_HIGHMEM
6e760c8d 1045 help
5e83d430 1046 Choose this option to build a kernel for release 2 or later of the
6e760c8d
RB
1047 MIPS32 architecture. Most modern embedded systems with a 32-bit
1048 MIPS processor are based on a MIPS32 processor. If you know the
1049 specific type of processor in your system, choose those that one
1050 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1051
1052config CPU_MIPS64_R1
1053 bool "MIPS64 Release 1"
7cf8053b 1054 depends on SYS_HAS_CPU_MIPS64_R1
f7062ddb 1055 select CPU_HAS_LLSC
797798c1 1056 select CPU_HAS_PREFETCH
ed5ba2fb
YY
1057 select CPU_SUPPORTS_32BIT_KERNEL
1058 select CPU_SUPPORTS_64BIT_KERNEL
ec28f306 1059 select CPU_SUPPORTS_HIGHMEM
6e760c8d
RB
1060 help
1061 Choose this option to build a kernel for release 1 or later of the
1062 MIPS64 architecture. Many modern embedded systems with a 64-bit
1063 MIPS processor are based on a MIPS64 processor. If you know the
1064 specific type of processor in your system, choose those that one
1065 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1e5f1caa
RB
1066 Release 2 of the MIPS64 architecture is available since several
1067 years so chances are you even have a MIPS64 Release 2 processor
1068 in which case you should choose CPU_MIPS64_R2 instead for better
1069 performance.
1070
1071config CPU_MIPS64_R2
1072 bool "MIPS64 Release 2"
7cf8053b 1073 depends on SYS_HAS_CPU_MIPS64_R2
f7062ddb 1074 select CPU_HAS_LLSC
797798c1 1075 select CPU_HAS_PREFETCH
1e5f1caa
RB
1076 select CPU_SUPPORTS_32BIT_KERNEL
1077 select CPU_SUPPORTS_64BIT_KERNEL
ec28f306 1078 select CPU_SUPPORTS_HIGHMEM
1e5f1caa
RB
1079 help
1080 Choose this option to build a kernel for release 2 or later of the
1081 MIPS64 architecture. Many modern embedded systems with a 64-bit
1082 MIPS processor are based on a MIPS64 processor. If you know the
1083 specific type of processor in your system, choose those that one
1084 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1da177e4
LT
1085
1086config CPU_R3000
1087 bool "R3000"
7cf8053b 1088 depends on SYS_HAS_CPU_R3000
f7062ddb 1089 select CPU_HAS_WB
ed5ba2fb 1090 select CPU_SUPPORTS_32BIT_KERNEL
797798c1 1091 select CPU_SUPPORTS_HIGHMEM
1da177e4
LT
1092 help
1093 Please make sure to pick the right CPU type. Linux/MIPS is not
1094 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1095 *not* work on R4000 machines and vice versa. However, since most
1096 of the supported machines have an R4000 (or similar) CPU, R4x00
1097 might be a safe bet. If the resulting kernel does not work,
1098 try to recompile with R3000.
1099
1100config CPU_TX39XX
1101 bool "R39XX"
7cf8053b 1102 depends on SYS_HAS_CPU_TX39XX
ed5ba2fb 1103 select CPU_SUPPORTS_32BIT_KERNEL
1da177e4
LT
1104
1105config CPU_VR41XX
1106 bool "R41xx"
7cf8053b 1107 depends on SYS_HAS_CPU_VR41XX
ed5ba2fb
YY
1108 select CPU_SUPPORTS_32BIT_KERNEL
1109 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4 1110 help
5e83d430 1111 The options selects support for the NEC VR4100 series of processors.
1da177e4
LT
1112 Only choose this option if you have one of these processors as a
1113 kernel built with this option will not run on any other type of
1114 processor or vice versa.
1115
1116config CPU_R4300
1117 bool "R4300"
7cf8053b 1118 depends on SYS_HAS_CPU_R4300
f7062ddb 1119 select CPU_HAS_LLSC
ed5ba2fb
YY
1120 select CPU_SUPPORTS_32BIT_KERNEL
1121 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1122 help
1123 MIPS Technologies R4300-series processors.
1124
1125config CPU_R4X00
1126 bool "R4x00"
7cf8053b 1127 depends on SYS_HAS_CPU_R4X00
f7062ddb 1128 select CPU_HAS_LLSC
ed5ba2fb
YY
1129 select CPU_SUPPORTS_32BIT_KERNEL
1130 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1131 help
1132 MIPS Technologies R4000-series processors other than 4300, including
1133 the R4000, R4400, R4600, and 4700.
1134
1135config CPU_TX49XX
1136 bool "R49XX"
7cf8053b 1137 depends on SYS_HAS_CPU_TX49XX
f7062ddb 1138 select CPU_HAS_LLSC
de862b48 1139 select CPU_HAS_PREFETCH
ed5ba2fb
YY
1140 select CPU_SUPPORTS_32BIT_KERNEL
1141 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1142
1143config CPU_R5000
1144 bool "R5000"
7cf8053b 1145 depends on SYS_HAS_CPU_R5000
f7062ddb 1146 select CPU_HAS_LLSC
ed5ba2fb
YY
1147 select CPU_SUPPORTS_32BIT_KERNEL
1148 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1149 help
1150 MIPS Technologies R5000-series processors other than the Nevada.
1151
1152config CPU_R5432
1153 bool "R5432"
7cf8053b 1154 depends on SYS_HAS_CPU_R5432
f7062ddb 1155 select CPU_HAS_LLSC
5e83d430
RB
1156 select CPU_SUPPORTS_32BIT_KERNEL
1157 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4 1158
542c1020
SK
1159config CPU_R5500
1160 bool "R5500"
1161 depends on SYS_HAS_CPU_R5500
1162 select CPU_HAS_LLSC
1163 select CPU_SUPPORTS_32BIT_KERNEL
1164 select CPU_SUPPORTS_64BIT_KERNEL
1165 help
1166 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1167 instruction set.
1168
1da177e4
LT
1169config CPU_R6000
1170 bool "R6000"
ed5ba2fb 1171 depends on EXPERIMENTAL
f7062ddb 1172 select CPU_HAS_LLSC
7cf8053b 1173 depends on SYS_HAS_CPU_R6000
ed5ba2fb 1174 select CPU_SUPPORTS_32BIT_KERNEL
1da177e4
LT
1175 help
1176 MIPS Technologies R6000 and R6000A series processors. Note these
c09b47d8 1177 processors are extremely rare and the support for them is incomplete.
1da177e4
LT
1178
1179config CPU_NEVADA
1180 bool "RM52xx"
7cf8053b 1181 depends on SYS_HAS_CPU_NEVADA
f7062ddb 1182 select CPU_HAS_LLSC
ed5ba2fb
YY
1183 select CPU_SUPPORTS_32BIT_KERNEL
1184 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1185 help
1186 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1187
1188config CPU_R8000
1189 bool "R8000"
ed5ba2fb 1190 depends on EXPERIMENTAL
7cf8053b 1191 depends on SYS_HAS_CPU_R8000
f7062ddb 1192 select CPU_HAS_LLSC
5e83d430 1193 select CPU_HAS_PREFETCH
ed5ba2fb 1194 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1195 help
1196 MIPS Technologies R8000 processors. Note these processors are
1197 uncommon and the support for them is incomplete.
1198
1199config CPU_R10000
1200 bool "R10000"
7cf8053b 1201 depends on SYS_HAS_CPU_R10000
f7062ddb 1202 select CPU_HAS_LLSC
5e83d430 1203 select CPU_HAS_PREFETCH
ed5ba2fb
YY
1204 select CPU_SUPPORTS_32BIT_KERNEL
1205 select CPU_SUPPORTS_64BIT_KERNEL
797798c1 1206 select CPU_SUPPORTS_HIGHMEM
1da177e4
LT
1207 help
1208 MIPS Technologies R10000-series processors.
1209
1210config CPU_RM7000
1211 bool "RM7000"
7cf8053b 1212 depends on SYS_HAS_CPU_RM7000
f7062ddb 1213 select CPU_HAS_LLSC
5e83d430 1214 select CPU_HAS_PREFETCH
ed5ba2fb
YY
1215 select CPU_SUPPORTS_32BIT_KERNEL
1216 select CPU_SUPPORTS_64BIT_KERNEL
797798c1 1217 select CPU_SUPPORTS_HIGHMEM
1da177e4
LT
1218
1219config CPU_RM9000
1220 bool "RM9000"
7cf8053b 1221 depends on SYS_HAS_CPU_RM9000
f7062ddb 1222 select CPU_HAS_LLSC
5e83d430 1223 select CPU_HAS_PREFETCH
ed5ba2fb
YY
1224 select CPU_SUPPORTS_32BIT_KERNEL
1225 select CPU_SUPPORTS_64BIT_KERNEL
797798c1 1226 select CPU_SUPPORTS_HIGHMEM
0004a9df 1227 select WEAK_ORDERING
1da177e4
LT
1228
1229config CPU_SB1
1230 bool "SB1"
7cf8053b 1231 depends on SYS_HAS_CPU_SB1
f7062ddb 1232 select CPU_HAS_LLSC
ed5ba2fb
YY
1233 select CPU_SUPPORTS_32BIT_KERNEL
1234 select CPU_SUPPORTS_64BIT_KERNEL
797798c1 1235 select CPU_SUPPORTS_HIGHMEM
0004a9df 1236 select WEAK_ORDERING
1da177e4 1237
a86c7f72
DD
1238config CPU_CAVIUM_OCTEON
1239 bool "Cavium Octeon processor"
5e683389 1240 depends on SYS_HAS_CPU_CAVIUM_OCTEON
a86c7f72
DD
1241 select IRQ_CPU
1242 select IRQ_CPU_OCTEON
1243 select CPU_HAS_PREFETCH
1244 select CPU_SUPPORTS_64BIT_KERNEL
1245 select SYS_SUPPORTS_SMP
1246 select NR_CPUS_DEFAULT_16
1247 select WEAK_ORDERING
1248 select WEAK_REORDERING_BEYOND_LLSC
1249 select CPU_SUPPORTS_HIGHMEM
1250 help
1251 The Cavium Octeon processor is a highly integrated chip containing
1252 many ethernet hardware widgets for networking tasks. The processor
1253 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1254 Full details can be found at http://www.caviumnetworks.com.
1255
1da177e4
LT
1256endchoice
1257
2a21c730
FZ
1258config SYS_HAS_CPU_LOONGSON2
1259 bool
1260
7cf8053b
RB
1261config SYS_HAS_CPU_MIPS32_R1
1262 bool
1263
1264config SYS_HAS_CPU_MIPS32_R2
1265 bool
1266
1267config SYS_HAS_CPU_MIPS64_R1
1268 bool
1269
1270config SYS_HAS_CPU_MIPS64_R2
1271 bool
1272
1273config SYS_HAS_CPU_R3000
1274 bool
1275
1276config SYS_HAS_CPU_TX39XX
1277 bool
1278
1279config SYS_HAS_CPU_VR41XX
1280 bool
1281
1282config SYS_HAS_CPU_R4300
1283 bool
1284
1285config SYS_HAS_CPU_R4X00
1286 bool
1287
1288config SYS_HAS_CPU_TX49XX
1289 bool
1290
1291config SYS_HAS_CPU_R5000
1292 bool
1293
1294config SYS_HAS_CPU_R5432
1295 bool
1296
542c1020
SK
1297config SYS_HAS_CPU_R5500
1298 bool
1299
7cf8053b
RB
1300config SYS_HAS_CPU_R6000
1301 bool
1302
1303config SYS_HAS_CPU_NEVADA
1304 bool
1305
1306config SYS_HAS_CPU_R8000
1307 bool
1308
1309config SYS_HAS_CPU_R10000
1310 bool
1311
1312config SYS_HAS_CPU_RM7000
1313 bool
1314
1315config SYS_HAS_CPU_RM9000
1316 bool
1317
1318config SYS_HAS_CPU_SB1
1319 bool
1320
5e683389
DD
1321config SYS_HAS_CPU_CAVIUM_OCTEON
1322 bool
1323
17099b11
RB
1324#
1325# CPU may reorder R->R, R->W, W->R, W->W
1326# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1327#
0004a9df
RB
1328config WEAK_ORDERING
1329 bool
17099b11
RB
1330
1331#
1332# CPU may reorder reads and writes beyond LL/SC
1333# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1334#
1335config WEAK_REORDERING_BEYOND_LLSC
1336 bool
5e83d430
RB
1337endmenu
1338
1339#
c09b47d8 1340# These two indicate any level of the MIPS32 and MIPS64 architecture
5e83d430
RB
1341#
1342config CPU_MIPS32
1343 bool
1344 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1345
1346config CPU_MIPS64
1347 bool
1348 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1349
1350#
c09b47d8 1351# These two indicate the revision of the architecture, either Release 1 or Release 2
5e83d430
RB
1352#
1353config CPU_MIPSR1
1354 bool
1355 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1356
1357config CPU_MIPSR2
1358 bool
a86c7f72 1359 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
5e83d430
RB
1360
1361config SYS_SUPPORTS_32BIT_KERNEL
1362 bool
1363config SYS_SUPPORTS_64BIT_KERNEL
1364 bool
1365config CPU_SUPPORTS_32BIT_KERNEL
1366 bool
1367config CPU_SUPPORTS_64BIT_KERNEL
1368 bool
1369
8192c9ea
DD
1370#
1371# Set to y for ptrace access to watch registers.
1372#
1373config HARDWARE_WATCHPOINTS
1374 bool
f839490a 1375 default y if CPU_MIPSR1 || CPU_MIPSR2
8192c9ea 1376
5e83d430
RB
1377menu "Kernel type"
1378
1379choice
1380
1381 prompt "Kernel code model"
1382 help
1383 You should only select this option if you have a workload that
1384 actually benefits from 64-bit processing or if your machine has
1385 large memory. You will only be presented a single option in this
1386 menu if your system does not support both 32-bit and 64-bit kernels.
1387
1388config 32BIT
1389 bool "32-bit kernel"
1390 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1391 select TRAD_SIGNALS
1392 help
1393 Select this option if you want to build a 32-bit kernel.
1394config 64BIT
1395 bool "64-bit kernel"
1396 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
dbda6ac0 1397 select HAVE_SYSCALL_WRAPPERS
5e83d430
RB
1398 help
1399 Select this option if you want to build a 64-bit kernel.
1400
1401endchoice
1402
1da177e4
LT
1403choice
1404 prompt "Kernel page size"
1405 default PAGE_SIZE_4KB
1406
1407config PAGE_SIZE_4KB
1408 bool "4kB"
1409 help
1410 This option select the standard 4kB Linux page size. On some
1411 R3000-family processors this is the only available page size. Using
1412 4kB page size will minimize memory consumption and is therefore
1413 recommended for low memory systems.
1414
1415config PAGE_SIZE_8KB
1416 bool "8kB"
c52399be 1417 depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
1da177e4
LT
1418 help
1419 Using 8kB page size will result in higher performance kernel at
1420 the price of higher memory consumption. This option is available
c52399be
RB
1421 only on R8000 and cnMIPS processors. Note that you will need a
1422 suitable Linux distribution to support this.
1da177e4
LT
1423
1424config PAGE_SIZE_16KB
1425 bool "16kB"
714bfad6 1426 depends on !CPU_R3000 && !CPU_TX39XX
1da177e4
LT
1427 help
1428 Using 16kB page size will result in higher performance kernel at
1429 the price of higher memory consumption. This option is available on
714bfad6
RB
1430 all non-R3000 family processors. Note that you will need a suitable
1431 Linux distribution to support this.
1da177e4 1432
c52399be
RB
1433config PAGE_SIZE_32KB
1434 bool "32kB"
1435 depends on CPU_CAVIUM_OCTEON
1436 help
1437 Using 32kB page size will result in higher performance kernel at
1438 the price of higher memory consumption. This option is available
1439 only on cnMIPS cores. Note that you will need a suitable Linux
1440 distribution to support this.
1441
1da177e4
LT
1442config PAGE_SIZE_64KB
1443 bool "64kB"
1444 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1445 help
1446 Using 64kB page size will result in higher performance kernel at
1447 the price of higher memory consumption. This option is available on
1448 all non-R3000 family processor. Not that at the time of this
714bfad6 1449 writing this option is still high experimental.
1da177e4
LT
1450
1451endchoice
1452
1453config BOARD_SCACHE
1454 bool
1455
1456config IP22_CPU_SCACHE
1457 bool
1458 select BOARD_SCACHE
1459
9318c51a
CD
1460#
1461# Support for a MIPS32 / MIPS64 style S-caches
1462#
1463config MIPS_CPU_SCACHE
1464 bool
1465 select BOARD_SCACHE
1466
1da177e4
LT
1467config R5000_CPU_SCACHE
1468 bool
1469 select BOARD_SCACHE
1470
1471config RM7000_CPU_SCACHE
1472 bool
1473 select BOARD_SCACHE
1474
1475config SIBYTE_DMA_PAGEOPS
1476 bool "Use DMA to clear/copy pages"
1477 depends on CPU_SB1
1478 help
1479 Instead of using the CPU to zero and copy pages, use a Data Mover
1480 channel. These DMA channels are otherwise unused by the standard
1481 SiByte Linux port. Seems to give a small performance benefit.
1482
1483config CPU_HAS_PREFETCH
c8094b53 1484 bool
1da177e4 1485
340ee4b9
RB
1486choice
1487 prompt "MIPS MT options"
f41ae0b2
RB
1488
1489config MIPS_MT_DISABLED
1490 bool "Disable multithreading support."
1491 help
1492 Use this option if your workload can't take advantage of
1493 MIPS hardware multithreading support. On systems that don't have
1494 the option of an MT-enabled processor this option will be the only
1495 option in this menu.
340ee4b9 1496
59d6ab86
RB
1497config MIPS_MT_SMP
1498 bool "Use 1 TC on each available VPE for SMP"
f41ae0b2 1499 depends on SYS_SUPPORTS_MULTITHREADING
f7062ddb 1500 select CPU_MIPSR2_IRQ_VI
d725cf38 1501 select CPU_MIPSR2_IRQ_EI
f41ae0b2 1502 select MIPS_MT
f510aa3b 1503 select NR_CPUS_DEFAULT_2
41c594ab 1504 select SMP
0ab7aefc 1505 select SYS_SUPPORTS_SCHED_SMT if SMP
73b76c78 1506 select SYS_SUPPORTS_SMP
87353d8a 1507 select SMP_UP
f41ae0b2 1508 help
59d6ab86
RB
1509 This is a kernel model which is also known a VSMP or lately
1510 has been marketesed into SMVP.
41c594ab 1511
59d6ab86
RB
1512config MIPS_MT_SMTC
1513 bool "SMTC: Use all TCs on all VPEs for SMP"
1514 depends on CPU_MIPS32_R2
1515 #depends on CPU_MIPS64_R2 # once there is hardware ...
f41ae0b2
RB
1516 depends on SYS_SUPPORTS_MULTITHREADING
1517 select CPU_MIPSR2_IRQ_VI
d725cf38 1518 select CPU_MIPSR2_IRQ_EI
f41ae0b2 1519 select MIPS_MT
130e2fb7 1520 select NR_CPUS_DEFAULT_8
340ee4b9 1521 select SMP
73b76c78 1522 select SYS_SUPPORTS_SMP
87353d8a 1523 select SMP_UP
f41ae0b2 1524 help
59d6ab86
RB
1525 This is a kernel model which is known a SMTC or lately has been
1526 marketesed into SMVP.
340ee4b9 1527
340ee4b9
RB
1528endchoice
1529
f41ae0b2
RB
1530config MIPS_MT
1531 bool
1532
0ab7aefc
RB
1533config SCHED_SMT
1534 bool "SMT (multithreading) scheduler support"
1535 depends on SYS_SUPPORTS_SCHED_SMT
1536 default n
1537 help
1538 SMT scheduler support improves the CPU scheduler's decision making
1539 when dealing with MIPS MT enabled cores at a cost of slightly
1540 increased overhead in some places. If unsure say N here.
1541
1542config SYS_SUPPORTS_SCHED_SMT
1543 bool
1544
1545
f41ae0b2
RB
1546config SYS_SUPPORTS_MULTITHREADING
1547 bool
1548
f088fc84
RB
1549config MIPS_MT_FPAFF
1550 bool "Dynamic FPU affinity for FP-intensive threads"
f088fc84 1551 default y
07cc0c9e
RB
1552 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1553
1554config MIPS_VPE_LOADER
1555 bool "VPE loader support."
1556 depends on SYS_SUPPORTS_MULTITHREADING
1557 select CPU_MIPSR2_IRQ_VI
1558 select CPU_MIPSR2_IRQ_EI
07cc0c9e
RB
1559 select MIPS_MT
1560 help
1561 Includes a loader for loading an elf relocatable object
1562 onto another VPE and running it.
f088fc84 1563
0db34215
KK
1564config MIPS_MT_SMTC_IM_BACKSTOP
1565 bool "Use per-TC register bits as backstop for inhibited IM bits"
1566 depends on MIPS_MT_SMTC
8531a35e 1567 default n
0db34215
KK
1568 help
1569 To support multiple TC microthreads acting as "CPUs" within
1570 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1571 during interrupt handling. To support legacy drivers and interrupt
1572 controller management code, SMTC has a "backstop" to track and
1573 if necessary restore the interrupt mask. This has some performance
8531a35e 1574 impact on interrupt service overhead.
0db34215 1575
f571eff0
KK
1576config MIPS_MT_SMTC_IRQAFF
1577 bool "Support IRQ affinity API"
1578 depends on MIPS_MT_SMTC
1579 default n
1580 help
1581 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1582 for SMTC Linux kernel. Requires platform support, of which
1583 an example can be found in the MIPS kernel i8259 and Malta
8531a35e
KK
1584 platform code. Adds some overhead to interrupt dispatch, and
1585 should be used only if you know what you are doing.
f571eff0 1586
e01402b1
RB
1587config MIPS_VPE_LOADER_TOM
1588 bool "Load VPE program into memory hidden from linux"
1589 depends on MIPS_VPE_LOADER
1590 default y
1591 help
1592 The loader can use memory that is present but has been hidden from
1593 Linux using the kernel command line option "mem=xxMB". It's up to
1594 you to ensure the amount you put in the option and the space your
1595 program requires is less or equal to the amount physically present.
1596
1597# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1598config MIPS_VPE_APSP_API
5e83d430
RB
1599 bool "Enable support for AP/SP API (RTLX)"
1600 depends on MIPS_VPE_LOADER
1601 help
e01402b1 1602
2600990e
RB
1603config MIPS_APSP_KSPD
1604 bool "Enable KSPD"
1605 depends on MIPS_VPE_APSP_API
1606 default y
1607 help
1608 KSPD is a kernel daemon that accepts syscall requests from the SP
1609 side, actions them and returns the results. It also handles the
1610 "exit" syscall notifying other kernel modules the SP program is
1611 exiting. You probably want to say yes here.
1612
4a16ff4c
RB
1613config MIPS_CMP
1614 bool "MIPS CMP framework support"
1615 depends on SYS_SUPPORTS_MIPS_CMP
1616 select SYNC_R4K if BROKEN
1617 select SYS_SUPPORTS_SMP
1618 select SYS_SUPPORTS_SCHED_SMT if SMP
1619 select WEAK_ORDERING
1620 default n
1621 help
1622 This is a placeholder option for the GCMP work. It will need to
1623 be handled differently...
1624
1da177e4
LT
1625config SB1_PASS_1_WORKAROUNDS
1626 bool
1627 depends on CPU_SB1_PASS_1
1628 default y
1629
1630config SB1_PASS_2_WORKAROUNDS
1631 bool
1632 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1633 default y
1634
1635config SB1_PASS_2_1_WORKAROUNDS
1636 bool
1637 depends on CPU_SB1 && CPU_SB1_PASS_2
1638 default y
1639
1640config 64BIT_PHYS_ADDR
d806cb2b 1641 bool
1da177e4 1642
1da177e4 1643config CPU_HAS_LLSC
f7062ddb 1644 bool
1da177e4 1645
9693a853
FBH
1646config CPU_HAS_SMARTMIPS
1647 depends on SYS_SUPPORTS_SMARTMIPS
1648 bool "Support for the SmartMIPS ASE"
1649 help
1650 SmartMIPS is a extension of the MIPS32 architecture aimed at
1651 increased security at both hardware and software level for
1652 smartcards. Enabling this option will allow proper use of the
1653 SmartMIPS instructions by Linux applications. However a kernel with
1654 this option will not work on a MIPS core without SmartMIPS core. If
1655 you don't know you probably don't have SmartMIPS and should say N
1656 here.
1657
1da177e4 1658config CPU_HAS_WB
f7062ddb 1659 bool
e01402b1 1660
f41ae0b2
RB
1661#
1662# Vectored interrupt mode is an R2 feature
1663#
e01402b1 1664config CPU_MIPSR2_IRQ_VI
f41ae0b2 1665 bool
e01402b1 1666
f41ae0b2
RB
1667#
1668# Extended interrupt mode is an R2 feature
1669#
e01402b1 1670config CPU_MIPSR2_IRQ_EI
f41ae0b2 1671 bool
e01402b1 1672
1da177e4
LT
1673config CPU_HAS_SYNC
1674 bool
1675 depends on !CPU_R3000
1676 default y
1677
ea580401
RB
1678config GENERIC_CLOCKEVENTS_BROADCAST
1679 bool
1680
20d60d99
MR
1681#
1682# CPU non-features
1683#
1684config CPU_DADDI_WORKAROUNDS
1685 bool
1686
1687config CPU_R4000_WORKAROUNDS
1688 bool
1689 select CPU_R4400_WORKAROUNDS
1690
1691config CPU_R4400_WORKAROUNDS
1692 bool
1693
797798c1
RB
1694#
1695# Use the generic interrupt handling code in kernel/irq/:
1696#
1697config GENERIC_HARDIRQS
1698 bool
1699 default y
1700
1701config GENERIC_IRQ_PROBE
1702 bool
1703 default y
1704
0d7012a9 1705config IRQ_PER_CPU
0d7012a9 1706 bool
0d7012a9 1707
1da177e4
LT
1708#
1709# - Highmem only makes sense for the 32-bit kernel.
1710# - The current highmem code will only work properly on physically indexed
1711# caches such as R3000, SB1, R7000 or those that look like they're virtually
1712# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1713# moment we protect the user and offer the highmem option only on machines
1714# where it's known to be safe. This will not offer highmem on a few systems
1715# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1716# indexed CPUs but we're playing safe.
797798c1
RB
1717# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1718# know they might have memory configurations that could make use of highmem
1719# support.
1da177e4
LT
1720#
1721config HIGHMEM
1722 bool "High Memory Support"
797798c1
RB
1723 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1724
1725config CPU_SUPPORTS_HIGHMEM
1726 bool
1727
1728config SYS_SUPPORTS_HIGHMEM
1729 bool
1da177e4 1730
9693a853
FBH
1731config SYS_SUPPORTS_SMARTMIPS
1732 bool
1733
b4819b59
YY
1734config ARCH_FLATMEM_ENABLE
1735 def_bool y
1736 depends on !NUMA
1737
d8cb4e11
RB
1738config ARCH_DISCONTIGMEM_ENABLE
1739 bool
1740 default y if SGI_IP27
1741 help
3dde6ad8 1742 Say Y to support efficient handling of discontiguous physical memory,
d8cb4e11
RB
1743 for architectures which are either NUMA (Non-Uniform Memory Access)
1744 or have huge holes in the physical address space for other reasons.
1745 See <file:Documentation/vm/numa> for more.
1746
cce335ae
RB
1747config ARCH_POPULATES_NODE_MAP
1748 def_bool y
1749
31473747
AN
1750config ARCH_SPARSEMEM_ENABLE
1751 bool
7de58fab 1752 select SPARSEMEM_STATIC
31473747 1753
d8cb4e11
RB
1754config NUMA
1755 bool "NUMA Support"
1756 depends on SYS_SUPPORTS_NUMA
1757 help
1758 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1759 Access). This option improves performance on systems with more
1760 than two nodes; on two node systems it is generally better to
1761 leave it disabled; on single node systems disable this option
1762 disabled.
1763
1764config SYS_SUPPORTS_NUMA
1765 bool
1766
c80d79d7
YG
1767config NODES_SHIFT
1768 int
1769 default "6"
1770 depends on NEED_MULTIPLE_NODES
1771
b4819b59
YY
1772source "mm/Kconfig"
1773
1da177e4
LT
1774config SMP
1775 bool "Multi-Processing support"
e73ea273 1776 depends on SYS_SUPPORTS_SMP
b4b30a5a 1777 select IRQ_PER_CPU
2f304c0a 1778 select USE_GENERIC_SMP_HELPERS
e73ea273 1779 help
1da177e4
LT
1780 This enables support for systems with more than one CPU. If you have
1781 a system with only one CPU, like most personal computers, say N. If
1782 you have a system with more than one CPU, say Y.
1783
1784 If you say N here, the kernel will run on single and multiprocessor
1785 machines, but will use only one CPU of a multiprocessor machine. If
1786 you say Y here, the kernel will run on many, but not all,
1787 singleprocessor machines. On a singleprocessor machine, the kernel
1788 will run faster if you say N here.
1789
1790 People using multiprocessor machines who say Y here should also say
1791 Y to "Enhanced Real Time Clock Support", below.
1792
03502faa
AB
1793 See also the SMP-HOWTO available at
1794 <http://www.tldp.org/docs.html#howto>.
1da177e4
LT
1795
1796 If you don't know what to do here, say N.
1797
87353d8a
RB
1798config SMP_UP
1799 bool
1800
4a16ff4c
RB
1801config SYS_SUPPORTS_MIPS_CMP
1802 bool
1803
e73ea273
RB
1804config SYS_SUPPORTS_SMP
1805 bool
1806
72ede9b1
AN
1807config NR_CPUS_DEFAULT_1
1808 bool
1809
130e2fb7
RB
1810config NR_CPUS_DEFAULT_2
1811 bool
1812
1813config NR_CPUS_DEFAULT_4
1814 bool
1815
1816config NR_CPUS_DEFAULT_8
1817 bool
1818
1819config NR_CPUS_DEFAULT_16
1820 bool
1821
1822config NR_CPUS_DEFAULT_32
1823 bool
1824
1825config NR_CPUS_DEFAULT_64
1826 bool
1827
1da177e4
LT
1828config NR_CPUS
1829 int "Maximum number of CPUs (2-64)"
72ede9b1 1830 range 1 64 if NR_CPUS_DEFAULT_1
1da177e4 1831 depends on SMP
72ede9b1 1832 default "1" if NR_CPUS_DEFAULT_1
130e2fb7
RB
1833 default "2" if NR_CPUS_DEFAULT_2
1834 default "4" if NR_CPUS_DEFAULT_4
1835 default "8" if NR_CPUS_DEFAULT_8
1836 default "16" if NR_CPUS_DEFAULT_16
1837 default "32" if NR_CPUS_DEFAULT_32
1838 default "64" if NR_CPUS_DEFAULT_64
1da177e4
LT
1839 help
1840 This allows you to specify the maximum number of CPUs which this
1841 kernel will support. The maximum supported value is 32 for 32-bit
1842 kernel and 64 for 64-bit kernels; the minimum value which makes
72ede9b1
AN
1843 sense is 1 for Qemu (useful only for kernel debugging purposes)
1844 and 2 for all others.
1da177e4
LT
1845
1846 This is purely to save memory - each supported CPU adds
72ede9b1
AN
1847 approximately eight kilobytes to the kernel image. For best
1848 performance should round up your number of processors to the next
1849 power of two.
1da177e4 1850
c4eee283
AN
1851source "kernel/time/Kconfig"
1852
1723b4a3
AN
1853#
1854# Timer Interrupt Frequency Configuration
1855#
1856
1857choice
1858 prompt "Timer frequency"
1859 default HZ_250
1860 help
1861 Allows the configuration of the timer frequency.
1862
1863 config HZ_48
0f873585 1864 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
1723b4a3
AN
1865
1866 config HZ_100
1867 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1868
1869 config HZ_128
1870 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1871
1872 config HZ_250
1873 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1874
1875 config HZ_256
1876 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1877
1878 config HZ_1000
1879 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1880
1881 config HZ_1024
1882 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1883
1884endchoice
1885
1886config SYS_SUPPORTS_48HZ
1887 bool
1888
1889config SYS_SUPPORTS_100HZ
1890 bool
1891
1892config SYS_SUPPORTS_128HZ
1893 bool
1894
1895config SYS_SUPPORTS_250HZ
1896 bool
1897
1898config SYS_SUPPORTS_256HZ
1899 bool
1900
1901config SYS_SUPPORTS_1000HZ
1902 bool
1903
1904config SYS_SUPPORTS_1024HZ
1905 bool
1906
1907config SYS_SUPPORTS_ARBIT_HZ
1908 bool
1909 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1910 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1911 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1912 !SYS_SUPPORTS_1024HZ
1913
1914config HZ
1915 int
1916 default 48 if HZ_48
1917 default 100 if HZ_100
1918 default 128 if HZ_128
1919 default 250 if HZ_250
1920 default 256 if HZ_256
1921 default 1000 if HZ_1000
1922 default 1024 if HZ_1024
1923
e80de850 1924source "kernel/Kconfig.preempt"
1da177e4 1925
1da177e4
LT
1926config MIPS_INSANE_LARGE
1927 bool "Support for large 64-bit configurations"
875d43e7 1928 depends on CPU_R10000 && 64BIT
1da177e4
LT
1929 help
1930 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1931 previous 64-bit processors which only supported 40 bit / 1TB. If you
1932 need processes of more than 1TB virtual address space, say Y here.
1933 This will result in additional memory usage, so it is not
1934 recommended for normal users.
1935
ea6e942b
AN
1936config KEXEC
1937 bool "Kexec system call (EXPERIMENTAL)"
1938 depends on EXPERIMENTAL
1939 help
1940 kexec is a system call that implements the ability to shutdown your
1941 current kernel, and to start another kernel. It is like a reboot
3dde6ad8 1942 but it is independent of the system firmware. And like a reboot
ea6e942b
AN
1943 you can start any kernel with it, not just Linux.
1944
01dd2fbf 1945 The name comes from the similarity to the exec system call.
ea6e942b
AN
1946
1947 It is an ongoing process to be certain the hardware in a machine
1948 is properly shutdown, so do not be surprised if this code does not
1949 initially work for you. It may help to enable device hotplugging
1950 support. As of this writing the exact hardware interface is
1951 strongly in flux, so no good recommendation can be made.
1952
1953config SECCOMP
1954 bool "Enable seccomp to safely compute untrusted bytecode"
293c5bd1 1955 depends on PROC_FS
ea6e942b
AN
1956 default y
1957 help
1958 This kernel feature is useful for number crunching applications
1959 that may need to compute untrusted bytecode during their
1960 execution. By using pipes or other transports made available to
1961 the process as file descriptors supporting the read/write
1962 syscalls, it's possible to isolate those applications in
1963 their own address space using seccomp. Once seccomp is
1964 enabled via /proc/<pid>/seccomp, it cannot be disabled
1965 and the task is only allowed to execute a few safe syscalls
1966 defined by each seccomp mode.
1967
1968 If unsure, say Y. Only embedded should say N here.
1969
5e83d430
RB
1970endmenu
1971
1df0f0ff
AN
1972config LOCKDEP_SUPPORT
1973 bool
1974 default y
1975
1976config STACKTRACE_SUPPORT
1977 bool
1978 default y
1979
b6c3539b
RB
1980source "init/Kconfig"
1981
0011036b
AN
1982config PROBE_INITRD_HEADER
1983 bool "Probe initrd header created by addinitrd"
1984 depends on BLK_DEV_INITRD
1985 help
1986 Probe initrd header at the last page of kernel image.
1987 Say Y here if you are using arch/mips/boot/addinitrd.c to
1988 add initrd or initramfs image to the kernel image.
1989 Otherwise, say N.
1990
dc52ddc0
MH
1991source "kernel/Kconfig.freezer"
1992
1da177e4
LT
1993menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1994
5e83d430
RB
1995config HW_HAS_EISA
1996 bool
1da177e4
LT
1997config HW_HAS_PCI
1998 bool
1999
2000config PCI
2001 bool "Support for PCI controller"
2002 depends on HW_HAS_PCI
abb4ae46 2003 select PCI_DOMAINS
1da177e4
LT
2004 help
2005 Find out whether you have a PCI motherboard. PCI is the name of a
2006 bus system, i.e. the way the CPU talks to the other stuff inside
2007 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2008 say Y, otherwise N.
2009
1da177e4
LT
2010config PCI_DOMAINS
2011 bool
1da177e4
LT
2012
2013source "drivers/pci/Kconfig"
2014
2015#
2016# ISA support is now enabled via select. Too many systems still have the one
2017# or other ISA chip on the board that users don't know about so don't expect
2018# users to choose the right thing ...
2019#
2020config ISA
2021 bool
2022
2023config EISA
2024 bool "EISA support"
5e83d430 2025 depends on HW_HAS_EISA
1da177e4 2026 select ISA
aa414dff 2027 select GENERIC_ISA_DMA
1da177e4
LT
2028 ---help---
2029 The Extended Industry Standard Architecture (EISA) bus was
2030 developed as an open alternative to the IBM MicroChannel bus.
2031
2032 The EISA bus provided some of the features of the IBM MicroChannel
2033 bus while maintaining backward compatibility with cards made for
2034 the older ISA bus. The EISA bus saw limited use between 1988 and
2035 1995 when it was made obsolete by the PCI bus.
2036
2037 Say Y here if you are building a kernel for an EISA-based machine.
2038
2039 Otherwise, say N.
2040
2041source "drivers/eisa/Kconfig"
2042
2043config TC
2044 bool "TURBOchannel support"
2045 depends on MACH_DECSTATION
2046 help
2047 TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2048 processors. Documentation on writing device drivers for TurboChannel
2049 is available at:
2050 <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
2051
2052#config ACCESSBUS
2053# bool "Access.Bus support"
2054# depends on TC
2055
2056config MMU
2057 bool
2058 default y
2059
d865bea4
RB
2060config I8253
2061 bool
2062
cce335ae
RB
2063config ZONE_DMA32
2064 bool
2065
1da177e4
LT
2066source "drivers/pcmcia/Kconfig"
2067
2068source "drivers/pci/hotplug/Kconfig"
2069
2070endmenu
2071
2072menu "Executable file formats"
2073
2074source "fs/Kconfig.binfmt"
2075
2076config TRAD_SIGNALS
2077 bool
1da177e4 2078
1da177e4
LT
2079config MIPS32_COMPAT
2080 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
875d43e7 2081 depends on 64BIT
1da177e4
LT
2082 help
2083 Select this option if you want Linux/MIPS 32-bit binary
2084 compatibility. Since all software available for Linux/MIPS is
2085 currently 32-bit you should say Y here.
2086
2087config COMPAT
2088 bool
2089 depends on MIPS32_COMPAT
2090 default y
2091
05e43966
AN
2092config SYSVIPC_COMPAT
2093 bool
2094 depends on COMPAT && SYSVIPC
2095 default y
2096
1da177e4
LT
2097config MIPS32_O32
2098 bool "Kernel support for o32 binaries"
2099 depends on MIPS32_COMPAT
2100 help
2101 Select this option if you want to run o32 binaries. These are pure
2102 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2103 existing binaries are in this format.
2104
2105 If unsure, say Y.
2106
2107config MIPS32_N32
2108 bool "Kernel support for n32 binaries"
2109 depends on MIPS32_COMPAT
2110 help
2111 Select this option if you want to run n32 binaries. These are
2112 64-bit binaries using 32-bit quantities for addressing and certain
2113 data that would normally be 64-bit. They are used in special
2114 cases.
2115
2116 If unsure, say N.
2117
2118config BINFMT_ELF32
2119 bool
2120 default y if MIPS32_O32 || MIPS32_N32
2121
2116245e
RB
2122endmenu
2123
2124menu "Power management options"
2125
f4cb5700
JB
2126config ARCH_SUSPEND_POSSIBLE
2127 def_bool y
2128 depends on !SMP
2129
2116245e 2130source "kernel/power/Kconfig"
952fa954 2131
1da177e4
LT
2132endmenu
2133
d5950b43
SR
2134source "net/Kconfig"
2135
1da177e4
LT
2136source "drivers/Kconfig"
2137
2138source "fs/Kconfig"
2139
2140source "arch/mips/Kconfig.debug"
2141
2142source "security/Kconfig"
2143
2144source "crypto/Kconfig"
2145
2146source "lib/Kconfig"