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