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