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