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