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