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