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