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