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