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