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