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