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