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