MIPS: introduce CPU_GENERIC_DUMP_TLB
[deliverable/linux.git] / arch / mips / Kconfig
CommitLineData
1da177e4
LT
1config MIPS
2 bool
3 default y
f8ac0425 4 select HAVE_GENERIC_DMA_COHERENT
ec7748b5 5 select HAVE_IDE
42d4b839 6 select HAVE_OPROFILE
91f01737 7 select HAVE_IRQ_WORK
7f788d2d
DCZ
8 select HAVE_PERF_EVENTS
9 select PERF_USE_VMALLOC
88547001 10 select HAVE_ARCH_KGDB
7563bbf8 11 select ARCH_HAVE_CUSTOM_GPIO_H
d2bb0762 12 select HAVE_FUNCTION_TRACER
69a7d1b3 13 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
538f1952
WZ
14 select HAVE_DYNAMIC_FTRACE
15 select HAVE_FTRACE_MCOUNT_RECORD
64575f91 16 select HAVE_C_RECORDMCOUNT
29c5d346 17 select HAVE_FUNCTION_GRAPH_TRACER
c1bf207d
DD
18 select HAVE_KPROBES
19 select HAVE_KRETPROBES
e26d196c 20 select ARCH_BINFMT_ELF_RANDOMIZE_PIE
21a41faa 21 select RTC_LIB if !MACH_LOONGSON
2b78920d 22 select GENERIC_ATOMIC64 if !64BIT
7463449b 23 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
48e1fd5a
DD
24 select HAVE_DMA_ATTRS
25 select HAVE_DMA_API_DEBUG
3bd27e32
DD
26 select HAVE_GENERIC_HARDIRQS
27 select GENERIC_IRQ_PROBE
f8396c17 28 select GENERIC_IRQ_SHOW
94bb0c1a 29 select HAVE_ARCH_JUMP_LABEL
c1d7e01d 30 select ARCH_WANT_IPC_PARSE_VERSION
0f462e3c 31 select IRQ_FORCED_THREADING
9d15ffc8
TH
32 select HAVE_MEMBLOCK
33 select HAVE_MEMBLOCK_NODE_MAP
34 select ARCH_DISCARD_MEMBLOCK
360014a3 35 select GENERIC_SMP_IDLE_THREAD
4b054495 36 select BUILDTIME_EXTABLE_SORT
cde1794b
AMG
37 select GENERIC_CLOCKEVENTS
38 select GENERIC_CMOS_UPDATE
1da177e4 39
1da177e4
LT
40menu "Machine selection"
41
5ac6da66
CL
42config ZONE_DMA
43 bool
5ac6da66 44
5e83d430
RB
45choice
46 prompt "System type"
47 default SGI_IP22
1da177e4 48
42a4f17d 49config MIPS_ALCHEMY
c3543e25 50 bool "Alchemy processor based machines"
42a4f17d
ML
51 select 64BIT_PHYS_ADDR
52 select CEVT_R4K_LIB
53 select CSRC_R4K_LIB
54 select IRQ_CPU
55 select SYS_HAS_CPU_MIPS32_R1
56 select SYS_SUPPORTS_32BIT_KERNEL
57 select SYS_SUPPORTS_APM_EMULATION
58 select GENERIC_GPIO
59 select ARCH_WANT_OPTIONAL_GPIOLIB
1b93b3c3 60 select SYS_SUPPORTS_ZBOOT
37663860
ML
61 select USB_ARCH_HAS_OHCI
62 select USB_ARCH_HAS_EHCI
1da177e4 63
7ca5dc14
FF
64config AR7
65 bool "Texas Instruments AR7"
66 select BOOT_ELF32
67 select DMA_NONCOHERENT
68 select CEVT_R4K
69 select CSRC_R4K
70 select IRQ_CPU
71 select NO_EXCEPT_FILL
72 select SWAP_IO_SPACE
73 select SYS_HAS_CPU_MIPS32_R1
74 select SYS_HAS_EARLY_PRINTK
75 select SYS_SUPPORTS_32BIT_KERNEL
76 select SYS_SUPPORTS_LITTLE_ENDIAN
1b93b3c3 77 select SYS_SUPPORTS_ZBOOT_UART16550
5f3c9098 78 select ARCH_REQUIRE_GPIOLIB
7ca5dc14 79 select VLYNQ
8551fb64 80 select HAVE_CLK
7ca5dc14
FF
81 help
82 Support for the Texas Instruments AR7 System-on-a-Chip
83 family: TNETD7100, 7200 and 7300.
84
d4a67d9d
GJ
85config ATH79
86 bool "Atheros AR71XX/AR724X/AR913X based boards"
6eae43c5 87 select ARCH_REQUIRE_GPIOLIB
d4a67d9d
GJ
88 select BOOT_RAW
89 select CEVT_R4K
90 select CSRC_R4K
91 select DMA_NONCOHERENT
92 select IRQ_CPU
0aabf1a4 93 select MIPS_MACHINE
d4a67d9d
GJ
94 select SYS_HAS_CPU_MIPS32_R2
95 select SYS_HAS_EARLY_PRINTK
96 select SYS_SUPPORTS_32BIT_KERNEL
97 select SYS_SUPPORTS_BIG_ENDIAN
98 help
99 Support for the Atheros AR71XX/AR724X/AR913X SoCs.
100
1c0c13eb 101config BCM47XX
c619366e 102 bool "Broadcom BCM47XX based boards"
42f77542 103 select CEVT_R4K
940f6b48 104 select CSRC_R4K
1c0c13eb
AJ
105 select DMA_NONCOHERENT
106 select HW_HAS_PCI
107 select IRQ_CPU
1c0c13eb
AJ
108 select SYS_SUPPORTS_32BIT_KERNEL
109 select SYS_SUPPORTS_LITTLE_ENDIAN
1c0c13eb 110 select GENERIC_GPIO
25e5fb97
AJ
111 select SYS_HAS_EARLY_PRINTK
112 select CFE
1c0c13eb
AJ
113 help
114 Support for BCM47XX based boards
115
e7300d04
MB
116config BCM63XX
117 bool "Broadcom BCM63XX based boards"
118 select CEVT_R4K
119 select CSRC_R4K
120 select DMA_NONCOHERENT
121 select IRQ_CPU
122 select SYS_HAS_CPU_MIPS32_R1
123 select SYS_SUPPORTS_32BIT_KERNEL
124 select SYS_SUPPORTS_BIG_ENDIAN
125 select SYS_HAS_EARLY_PRINTK
126 select SWAP_IO_SPACE
127 select ARCH_REQUIRE_GPIOLIB
3e82eeeb 128 select HAVE_CLK
e7300d04
MB
129 help
130 Support for BCM63XX based boards
131
1da177e4 132config MIPS_COBALT
3fa986fa 133 bool "Cobalt Server"
42f77542 134 select CEVT_R4K
940f6b48 135 select CSRC_R4K
1097c6ac 136 select CEVT_GT641XX
1da177e4
LT
137 select DMA_NONCOHERENT
138 select HW_HAS_PCI
d865bea4 139 select I8253
1da177e4
LT
140 select I8259
141 select IRQ_CPU
d5ab1a69 142 select IRQ_GT641XX
252161ec 143 select PCI_GT64XXX_PCI0
e25bfc92 144 select PCI
7cf8053b 145 select SYS_HAS_CPU_NEVADA
0a22e0d4 146 select SYS_HAS_EARLY_PRINTK
ed5ba2fb 147 select SYS_SUPPORTS_32BIT_KERNEL
0e8774b6 148 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 149 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4
LT
150
151config MACH_DECSTATION
3fa986fa 152 bool "DECstations"
1da177e4 153 select BOOT_ELF32
6457d9fc 154 select CEVT_DS1287
42f77542 155 select CEVT_R4K
4247417d 156 select CSRC_IOASIC
940f6b48 157 select CSRC_R4K
20d60d99
MR
158 select CPU_DADDI_WORKAROUNDS if 64BIT
159 select CPU_R4000_WORKAROUNDS if 64BIT
160 select CPU_R4400_WORKAROUNDS if 64BIT
1da177e4 161 select DMA_NONCOHERENT
d388d685 162 select NO_IOPORT
1da177e4 163 select IRQ_CPU
7cf8053b
RB
164 select SYS_HAS_CPU_R3000
165 select SYS_HAS_CPU_R4X00
ed5ba2fb
YY
166 select SYS_SUPPORTS_32BIT_KERNEL
167 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
5e83d430 168 select SYS_SUPPORTS_LITTLE_ENDIAN
1723b4a3
AN
169 select SYS_SUPPORTS_128HZ
170 select SYS_SUPPORTS_256HZ
171 select SYS_SUPPORTS_1024HZ
5e83d430 172 help
1da177e4
LT
173 This enables support for DEC's MIPS based workstations. For details
174 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
175 DECstation porting pages on <http://decstation.unix-ag.org/>.
176
177 If you have one of the following DECstation Models you definitely
178 want to choose R4xx0 for the CPU Type:
179
9308816c
RB
180 DECstation 5000/50
181 DECstation 5000/150
182 DECstation 5000/260
183 DECsystem 5900/260
1da177e4
LT
184
185 otherwise choose R3000.
186
5e83d430 187config MACH_JAZZ
3fa986fa 188 bool "Jazz family of machines"
5e83d430
RB
189 select ARC
190 select ARC32
191 select ARCH_MAY_HAVE_PC_FDC
42f77542 192 select CEVT_R4K
940f6b48 193 select CSRC_R4K
e2defae5 194 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
5e83d430 195 select GENERIC_ISA_DMA
8a118c38 196 select HAVE_PCSPKR_PLATFORM
ea202c63 197 select IRQ_CPU
d865bea4 198 select I8253
5e83d430
RB
199 select I8259
200 select ISA
7cf8053b 201 select SYS_HAS_CPU_R4X00
5e83d430
RB
202 select SYS_SUPPORTS_32BIT_KERNEL
203 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
1723b4a3 204 select SYS_SUPPORTS_100HZ
1da177e4 205 help
5e83d430
RB
206 This a family of machines based on the MIPS R4030 chipset which was
207 used by several vendors to build RISC/os and Windows NT workstations.
692105b8 208 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
5e83d430
RB
209 Olivetti M700-10 workstations.
210
5ebabe59
LPC
211config MACH_JZ4740
212 bool "Ingenic JZ4740 based machines"
213 select SYS_HAS_CPU_MIPS32_R1
214 select SYS_SUPPORTS_32BIT_KERNEL
215 select SYS_SUPPORTS_LITTLE_ENDIAN
f9c9affc 216 select SYS_SUPPORTS_ZBOOT_UART16550
5ebabe59
LPC
217 select DMA_NONCOHERENT
218 select IRQ_CPU
219 select GENERIC_GPIO
220 select ARCH_REQUIRE_GPIOLIB
221 select SYS_HAS_EARLY_PRINTK
222 select HAVE_PWM
ab5330eb 223 select HAVE_CLK
83bc7692 224 select GENERIC_IRQ_CHIP
5ebabe59 225
171bb2f1
JC
226config LANTIQ
227 bool "Lantiq based platforms"
228 select DMA_NONCOHERENT
229 select IRQ_CPU
230 select CEVT_R4K
231 select CSRC_R4K
232 select SYS_HAS_CPU_MIPS32_R1
233 select SYS_HAS_CPU_MIPS32_R2
234 select SYS_SUPPORTS_BIG_ENDIAN
235 select SYS_SUPPORTS_32BIT_KERNEL
236 select SYS_SUPPORTS_MULTITHREADING
237 select SYS_HAS_EARLY_PRINTK
238 select ARCH_REQUIRE_GPIOLIB
239 select SWAP_IO_SPACE
240 select BOOT_RAW
287e3f3f
JC
241 select HAVE_MACH_CLKDEV
242 select CLKDEV_LOOKUP
a0392222 243 select USE_OF
171bb2f1 244
1f21d2bd
BM
245config LASAT
246 bool "LASAT Networks platforms"
42f77542 247 select CEVT_R4K
940f6b48 248 select CSRC_R4K
1f21d2bd
BM
249 select DMA_NONCOHERENT
250 select SYS_HAS_EARLY_PRINTK
251 select HW_HAS_PCI
a5ccfe5c 252 select IRQ_CPU
1f21d2bd
BM
253 select PCI_GT64XXX_PCI0
254 select MIPS_NILE4
255 select R5000_CPU_SCACHE
256 select SYS_HAS_CPU_R5000
257 select SYS_SUPPORTS_32BIT_KERNEL
258 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
259 select SYS_SUPPORTS_LITTLE_ENDIAN
1f21d2bd 260
85749d24
WZ
261config MACH_LOONGSON
262 bool "Loongson family of machines"
c7e8c668 263 select SYS_SUPPORTS_ZBOOT
ade299d8 264 help
85749d24
WZ
265 This enables the support of Loongson family of machines.
266
267 Loongson is a family of general-purpose MIPS-compatible CPUs.
268 developed at Institute of Computing Technology (ICT),
269 Chinese Academy of Sciences (CAS) in the People's Republic
270 of China. The chief architect is Professor Weiwu Hu.
ade299d8 271
ca585cf9
KC
272config MACH_LOONGSON1
273 bool "Loongson 1 family of machines"
274 select SYS_SUPPORTS_ZBOOT
275 help
276 This enables support for the Loongson 1 based machines.
277
278 Loongson 1 is a family of 32-bit MIPS-compatible SoCs developed by
279 the ICT (Institute of Computing Technology) and the Chinese Academy
280 of Sciences.
281
1da177e4 282config MIPS_MALTA
3fa986fa 283 bool "MIPS Malta board"
61ed242d 284 select ARCH_MAY_HAVE_PC_FDC
1da177e4 285 select BOOT_ELF32
fa71c960 286 select BOOT_RAW
42f77542 287 select CEVT_R4K
940f6b48 288 select CSRC_R4K
1da177e4
LT
289 select DMA_NONCOHERENT
290 select GENERIC_ISA_DMA
8a118c38 291 select HAVE_PCSPKR_PLATFORM
aa414dff 292 select IRQ_CPU
39b8d525 293 select IRQ_GIC
1da177e4 294 select HW_HAS_PCI
d865bea4 295 select I8253
1da177e4 296 select I8259
5e83d430
RB
297 select MIPS_BOARDS_GEN
298 select MIPS_BONITO64
9318c51a 299 select MIPS_CPU_SCACHE
252161ec 300 select PCI_GT64XXX_PCI0
5e83d430 301 select MIPS_MSC
1da177e4 302 select SWAP_IO_SPACE
7cf8053b
RB
303 select SYS_HAS_CPU_MIPS32_R1
304 select SYS_HAS_CPU_MIPS32_R2
305 select SYS_HAS_CPU_MIPS64_R1
5d9fbed1 306 select SYS_HAS_CPU_MIPS64_R2
7cf8053b
RB
307 select SYS_HAS_CPU_NEVADA
308 select SYS_HAS_CPU_RM7000
36a88530 309 select SYS_HAS_EARLY_PRINTK
ed5ba2fb
YY
310 select SYS_SUPPORTS_32BIT_KERNEL
311 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430
RB
312 select SYS_SUPPORTS_BIG_ENDIAN
313 select SYS_SUPPORTS_LITTLE_ENDIAN
0365070f 314 select SYS_SUPPORTS_MIPS_CMP
f41ae0b2 315 select SYS_SUPPORTS_MULTITHREADING
9693a853 316 select SYS_SUPPORTS_SMARTMIPS
1b93b3c3 317 select SYS_SUPPORTS_ZBOOT
1da177e4 318 help
f638d197 319 This enables support for the MIPS Technologies Malta evaluation
1da177e4
LT
320 board.
321
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
3165c846
FF
1883config CPU_GENERIC_DUMP_TLB
1884 bool
1885 default y if !(CPU_R3000 || CPU_R6000 || CPU_R8000 || CPU_TX39XX)
1886
340ee4b9
RB
1887choice
1888 prompt "MIPS MT options"
f41ae0b2
RB
1889
1890config MIPS_MT_DISABLED
1891 bool "Disable multithreading support."
1892 help
1893 Use this option if your workload can't take advantage of
1894 MIPS hardware multithreading support. On systems that don't have
1895 the option of an MT-enabled processor this option will be the only
1896 option in this menu.
340ee4b9 1897
59d6ab86
RB
1898config MIPS_MT_SMP
1899 bool "Use 1 TC on each available VPE for SMP"
f41ae0b2 1900 depends on SYS_SUPPORTS_MULTITHREADING
f7062ddb 1901 select CPU_MIPSR2_IRQ_VI
d725cf38 1902 select CPU_MIPSR2_IRQ_EI
f41ae0b2 1903 select MIPS_MT
f510aa3b 1904 select NR_CPUS_DEFAULT_2
41c594ab 1905 select SMP
0ab7aefc 1906 select SYS_SUPPORTS_SCHED_SMT if SMP
73b76c78 1907 select SYS_SUPPORTS_SMP
87353d8a 1908 select SMP_UP
f41ae0b2 1909 help
25f12b33
RB
1910 This is a kernel model which is known a VSMP but lately has been
1911 marketesed into SMVP.
1912 Virtual SMP uses the processor's VPEs to implement virtual
1913 processors. In currently available configuration of the 34K processor
1914 this allows for a dual processor. Both processors will share the same
1915 primary caches; each will obtain the half of the TLB for it's own
1916 exclusive use. For a layman this model can be described as similar to
1917 what Intel calls Hyperthreading.
1918
1919 For further information see http://www.linux-mips.org/wiki/34K#VSMP
41c594ab 1920
59d6ab86
RB
1921config MIPS_MT_SMTC
1922 bool "SMTC: Use all TCs on all VPEs for SMP"
1923 depends on CPU_MIPS32_R2
1924 #depends on CPU_MIPS64_R2 # once there is hardware ...
f41ae0b2
RB
1925 depends on SYS_SUPPORTS_MULTITHREADING
1926 select CPU_MIPSR2_IRQ_VI
d725cf38 1927 select CPU_MIPSR2_IRQ_EI
f41ae0b2 1928 select MIPS_MT
130e2fb7 1929 select NR_CPUS_DEFAULT_8
340ee4b9 1930 select SMP
73b76c78 1931 select SYS_SUPPORTS_SMP
87353d8a 1932 select SMP_UP
f41ae0b2 1933 help
59d6ab86
RB
1934 This is a kernel model which is known a SMTC or lately has been
1935 marketesed into SMVP.
25f12b33
RB
1936 is presenting the available TC's of the core as processors to Linux.
1937 On currently available 34K processors this means a Linux system will
1938 see up to 5 processors. The implementation of the SMTC kernel differs
1939 significantly from VSMP and cannot efficiently coexist in the same
1940 kernel binary so the choice between VSMP and SMTC is a compile time
1941 decision.
1942
1943 For further information see http://www.linux-mips.org/wiki/34K#SMTC
340ee4b9 1944
340ee4b9
RB
1945endchoice
1946
f41ae0b2
RB
1947config MIPS_MT
1948 bool
1949
0ab7aefc
RB
1950config SCHED_SMT
1951 bool "SMT (multithreading) scheduler support"
1952 depends on SYS_SUPPORTS_SCHED_SMT
1953 default n
1954 help
1955 SMT scheduler support improves the CPU scheduler's decision making
1956 when dealing with MIPS MT enabled cores at a cost of slightly
1957 increased overhead in some places. If unsure say N here.
1958
1959config SYS_SUPPORTS_SCHED_SMT
1960 bool
1961
1962
f41ae0b2
RB
1963config SYS_SUPPORTS_MULTITHREADING
1964 bool
1965
f088fc84
RB
1966config MIPS_MT_FPAFF
1967 bool "Dynamic FPU affinity for FP-intensive threads"
f088fc84 1968 default y
07cc0c9e
RB
1969 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1970
1971config MIPS_VPE_LOADER
1972 bool "VPE loader support."
1973 depends on SYS_SUPPORTS_MULTITHREADING
1974 select CPU_MIPSR2_IRQ_VI
1975 select CPU_MIPSR2_IRQ_EI
07cc0c9e
RB
1976 select MIPS_MT
1977 help
1978 Includes a loader for loading an elf relocatable object
1979 onto another VPE and running it.
f088fc84 1980
0db34215
KK
1981config MIPS_MT_SMTC_IM_BACKSTOP
1982 bool "Use per-TC register bits as backstop for inhibited IM bits"
1983 depends on MIPS_MT_SMTC
8531a35e 1984 default n
0db34215
KK
1985 help
1986 To support multiple TC microthreads acting as "CPUs" within
1987 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1988 during interrupt handling. To support legacy drivers and interrupt
1989 controller management code, SMTC has a "backstop" to track and
1990 if necessary restore the interrupt mask. This has some performance
8531a35e 1991 impact on interrupt service overhead.
0db34215 1992
f571eff0
KK
1993config MIPS_MT_SMTC_IRQAFF
1994 bool "Support IRQ affinity API"
1995 depends on MIPS_MT_SMTC
1996 default n
1997 help
1998 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1999 for SMTC Linux kernel. Requires platform support, of which
2000 an example can be found in the MIPS kernel i8259 and Malta
8531a35e
KK
2001 platform code. Adds some overhead to interrupt dispatch, and
2002 should be used only if you know what you are doing.
f571eff0 2003
e01402b1
RB
2004config MIPS_VPE_LOADER_TOM
2005 bool "Load VPE program into memory hidden from linux"
2006 depends on MIPS_VPE_LOADER
2007 default y
2008 help
2009 The loader can use memory that is present but has been hidden from
2010 Linux using the kernel command line option "mem=xxMB". It's up to
2011 you to ensure the amount you put in the option and the space your
2012 program requires is less or equal to the amount physically present.
2013
2014# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
2015config MIPS_VPE_APSP_API
5e83d430
RB
2016 bool "Enable support for AP/SP API (RTLX)"
2017 depends on MIPS_VPE_LOADER
2018 help
e01402b1 2019
2600990e
RB
2020config MIPS_APSP_KSPD
2021 bool "Enable KSPD"
2022 depends on MIPS_VPE_APSP_API
2023 default y
2024 help
2025 KSPD is a kernel daemon that accepts syscall requests from the SP
2026 side, actions them and returns the results. It also handles the
2027 "exit" syscall notifying other kernel modules the SP program is
2028 exiting. You probably want to say yes here.
2029
4a16ff4c
RB
2030config MIPS_CMP
2031 bool "MIPS CMP framework support"
2032 depends on SYS_SUPPORTS_MIPS_CMP
eb9b5141 2033 select SYNC_R4K
4a16ff4c
RB
2034 select SYS_SUPPORTS_SMP
2035 select SYS_SUPPORTS_SCHED_SMT if SMP
2036 select WEAK_ORDERING
2037 default n
2038 help
2039 This is a placeholder option for the GCMP work. It will need to
2040 be handled differently...
2041
1da177e4
LT
2042config SB1_PASS_1_WORKAROUNDS
2043 bool
2044 depends on CPU_SB1_PASS_1
2045 default y
2046
2047config SB1_PASS_2_WORKAROUNDS
2048 bool
2049 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
2050 default y
2051
2052config SB1_PASS_2_1_WORKAROUNDS
2053 bool
2054 depends on CPU_SB1 && CPU_SB1_PASS_2
2055 default y
2056
2057config 64BIT_PHYS_ADDR
d806cb2b 2058 bool
1da177e4 2059
60ec6571 2060config ARCH_PHYS_ADDR_T_64BIT
2061 def_bool 64BIT_PHYS_ADDR
2062
9693a853
FBH
2063config CPU_HAS_SMARTMIPS
2064 depends on SYS_SUPPORTS_SMARTMIPS
2065 bool "Support for the SmartMIPS ASE"
2066 help
2067 SmartMIPS is a extension of the MIPS32 architecture aimed at
2068 increased security at both hardware and software level for
2069 smartcards. Enabling this option will allow proper use of the
2070 SmartMIPS instructions by Linux applications. However a kernel with
2071 this option will not work on a MIPS core without SmartMIPS core. If
2072 you don't know you probably don't have SmartMIPS and should say N
2073 here.
2074
1da177e4 2075config CPU_HAS_WB
f7062ddb 2076 bool
e01402b1 2077
df0ac8a4
KC
2078config XKS01
2079 bool
2080
f41ae0b2
RB
2081#
2082# Vectored interrupt mode is an R2 feature
2083#
e01402b1 2084config CPU_MIPSR2_IRQ_VI
f41ae0b2 2085 bool
e01402b1 2086
f41ae0b2
RB
2087#
2088# Extended interrupt mode is an R2 feature
2089#
e01402b1 2090config CPU_MIPSR2_IRQ_EI
f41ae0b2 2091 bool
e01402b1 2092
1da177e4
LT
2093config CPU_HAS_SYNC
2094 bool
2095 depends on !CPU_R3000
2096 default y
2097
20d60d99
MR
2098#
2099# CPU non-features
2100#
2101config CPU_DADDI_WORKAROUNDS
2102 bool
2103
2104config CPU_R4000_WORKAROUNDS
2105 bool
2106 select CPU_R4400_WORKAROUNDS
2107
2108config CPU_R4400_WORKAROUNDS
2109 bool
2110
1da177e4
LT
2111#
2112# - Highmem only makes sense for the 32-bit kernel.
2113# - The current highmem code will only work properly on physically indexed
2114# caches such as R3000, SB1, R7000 or those that look like they're virtually
2115# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
2116# moment we protect the user and offer the highmem option only on machines
2117# where it's known to be safe. This will not offer highmem on a few systems
2118# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
2119# indexed CPUs but we're playing safe.
797798c1
RB
2120# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
2121# know they might have memory configurations that could make use of highmem
2122# support.
1da177e4
LT
2123#
2124config HIGHMEM
2125 bool "High Memory Support"
797798c1
RB
2126 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
2127
2128config CPU_SUPPORTS_HIGHMEM
2129 bool
2130
2131config SYS_SUPPORTS_HIGHMEM
2132 bool
1da177e4 2133
9693a853
FBH
2134config SYS_SUPPORTS_SMARTMIPS
2135 bool
2136
b4819b59
YY
2137config ARCH_FLATMEM_ENABLE
2138 def_bool y
f133f22d 2139 depends on !NUMA && !CPU_LOONGSON2
b4819b59 2140
d8cb4e11
RB
2141config ARCH_DISCONTIGMEM_ENABLE
2142 bool
2143 default y if SGI_IP27
2144 help
3dde6ad8 2145 Say Y to support efficient handling of discontiguous physical memory,
d8cb4e11
RB
2146 for architectures which are either NUMA (Non-Uniform Memory Access)
2147 or have huge holes in the physical address space for other reasons.
2148 See <file:Documentation/vm/numa> for more.
2149
31473747
AN
2150config ARCH_SPARSEMEM_ENABLE
2151 bool
7de58fab 2152 select SPARSEMEM_STATIC
31473747 2153
d8cb4e11
RB
2154config NUMA
2155 bool "NUMA Support"
2156 depends on SYS_SUPPORTS_NUMA
2157 help
2158 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
2159 Access). This option improves performance on systems with more
2160 than two nodes; on two node systems it is generally better to
2161 leave it disabled; on single node systems disable this option
2162 disabled.
2163
2164config SYS_SUPPORTS_NUMA
2165 bool
2166
c80d79d7
YG
2167config NODES_SHIFT
2168 int
2169 default "6"
2170 depends on NEED_MULTIPLE_NODES
2171
14f70012
DCZ
2172config HW_PERF_EVENTS
2173 bool "Enable hardware performance counter support for perf events"
939991cf 2174 depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON)
14f70012
DCZ
2175 default y
2176 help
2177 Enable hardware performance counter support for perf events. If
2178 disabled, perf events will use software events only.
2179
b4819b59
YY
2180source "mm/Kconfig"
2181
1da177e4
LT
2182config SMP
2183 bool "Multi-Processing support"
e73ea273 2184 depends on SYS_SUPPORTS_SMP
b4b30a5a 2185 select IRQ_PER_CPU
2f304c0a 2186 select USE_GENERIC_SMP_HELPERS
e73ea273 2187 help
1da177e4
LT
2188 This enables support for systems with more than one CPU. If you have
2189 a system with only one CPU, like most personal computers, say N. If
2190 you have a system with more than one CPU, say Y.
2191
2192 If you say N here, the kernel will run on single and multiprocessor
2193 machines, but will use only one CPU of a multiprocessor machine. If
2194 you say Y here, the kernel will run on many, but not all,
2195 singleprocessor machines. On a singleprocessor machine, the kernel
2196 will run faster if you say N here.
2197
2198 People using multiprocessor machines who say Y here should also say
2199 Y to "Enhanced Real Time Clock Support", below.
2200
03502faa
AB
2201 See also the SMP-HOWTO available at
2202 <http://www.tldp.org/docs.html#howto>.
1da177e4
LT
2203
2204 If you don't know what to do here, say N.
2205
87353d8a
RB
2206config SMP_UP
2207 bool
2208
4a16ff4c
RB
2209config SYS_SUPPORTS_MIPS_CMP
2210 bool
2211
e73ea273
RB
2212config SYS_SUPPORTS_SMP
2213 bool
2214
72ede9b1
AN
2215config NR_CPUS_DEFAULT_1
2216 bool
2217
130e2fb7
RB
2218config NR_CPUS_DEFAULT_2
2219 bool
2220
2221config NR_CPUS_DEFAULT_4
2222 bool
2223
2224config NR_CPUS_DEFAULT_8
2225 bool
2226
2227config NR_CPUS_DEFAULT_16
2228 bool
2229
2230config NR_CPUS_DEFAULT_32
2231 bool
2232
2233config NR_CPUS_DEFAULT_64
2234 bool
2235
1da177e4
LT
2236config NR_CPUS
2237 int "Maximum number of CPUs (2-64)"
72ede9b1 2238 range 1 64 if NR_CPUS_DEFAULT_1
1da177e4 2239 depends on SMP
72ede9b1 2240 default "1" if NR_CPUS_DEFAULT_1
130e2fb7
RB
2241 default "2" if NR_CPUS_DEFAULT_2
2242 default "4" if NR_CPUS_DEFAULT_4
2243 default "8" if NR_CPUS_DEFAULT_8
2244 default "16" if NR_CPUS_DEFAULT_16
2245 default "32" if NR_CPUS_DEFAULT_32
2246 default "64" if NR_CPUS_DEFAULT_64
1da177e4
LT
2247 help
2248 This allows you to specify the maximum number of CPUs which this
2249 kernel will support. The maximum supported value is 32 for 32-bit
2250 kernel and 64 for 64-bit kernels; the minimum value which makes
72ede9b1
AN
2251 sense is 1 for Qemu (useful only for kernel debugging purposes)
2252 and 2 for all others.
1da177e4
LT
2253
2254 This is purely to save memory - each supported CPU adds
72ede9b1
AN
2255 approximately eight kilobytes to the kernel image. For best
2256 performance should round up your number of processors to the next
2257 power of two.
1da177e4 2258
1723b4a3
AN
2259#
2260# Timer Interrupt Frequency Configuration
2261#
2262
2263choice
2264 prompt "Timer frequency"
2265 default HZ_250
2266 help
2267 Allows the configuration of the timer frequency.
2268
2269 config HZ_48
0f873585 2270 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
1723b4a3
AN
2271
2272 config HZ_100
2273 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
2274
2275 config HZ_128
2276 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
2277
2278 config HZ_250
2279 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
2280
2281 config HZ_256
2282 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
2283
2284 config HZ_1000
2285 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
2286
2287 config HZ_1024
2288 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2289
2290endchoice
2291
2292config SYS_SUPPORTS_48HZ
2293 bool
2294
2295config SYS_SUPPORTS_100HZ
2296 bool
2297
2298config SYS_SUPPORTS_128HZ
2299 bool
2300
2301config SYS_SUPPORTS_250HZ
2302 bool
2303
2304config SYS_SUPPORTS_256HZ
2305 bool
2306
2307config SYS_SUPPORTS_1000HZ
2308 bool
2309
2310config SYS_SUPPORTS_1024HZ
2311 bool
2312
2313config SYS_SUPPORTS_ARBIT_HZ
2314 bool
2315 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2316 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2317 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2318 !SYS_SUPPORTS_1024HZ
2319
2320config HZ
2321 int
2322 default 48 if HZ_48
2323 default 100 if HZ_100
2324 default 128 if HZ_128
2325 default 250 if HZ_250
2326 default 256 if HZ_256
2327 default 1000 if HZ_1000
2328 default 1024 if HZ_1024
2329
e80de850 2330source "kernel/Kconfig.preempt"
1da177e4 2331
ea6e942b
AN
2332config KEXEC
2333 bool "Kexec system call (EXPERIMENTAL)"
2334 depends on EXPERIMENTAL
2335 help
2336 kexec is a system call that implements the ability to shutdown your
2337 current kernel, and to start another kernel. It is like a reboot
3dde6ad8 2338 but it is independent of the system firmware. And like a reboot
ea6e942b
AN
2339 you can start any kernel with it, not just Linux.
2340
01dd2fbf 2341 The name comes from the similarity to the exec system call.
ea6e942b
AN
2342
2343 It is an ongoing process to be certain the hardware in a machine
2344 is properly shutdown, so do not be surprised if this code does not
2345 initially work for you. It may help to enable device hotplugging
2346 support. As of this writing the exact hardware interface is
2347 strongly in flux, so no good recommendation can be made.
2348
2349config SECCOMP
2350 bool "Enable seccomp to safely compute untrusted bytecode"
293c5bd1 2351 depends on PROC_FS
ea6e942b
AN
2352 default y
2353 help
2354 This kernel feature is useful for number crunching applications
2355 that may need to compute untrusted bytecode during their
2356 execution. By using pipes or other transports made available to
2357 the process as file descriptors supporting the read/write
2358 syscalls, it's possible to isolate those applications in
2359 their own address space using seccomp. Once seccomp is
2360 enabled via /proc/<pid>/seccomp, it cannot be disabled
2361 and the task is only allowed to execute a few safe syscalls
2362 defined by each seccomp mode.
2363
2364 If unsure, say Y. Only embedded should say N here.
2365
f2ffa5ab
DD
2366config USE_OF
2367 bool "Flattened Device Tree support"
2368 select OF
e6ce1324 2369 select OF_EARLY_FLATTREE
abd2363f 2370 select IRQ_DOMAIN
f2ffa5ab
DD
2371 help
2372 Include support for flattened device tree machine descriptions.
2373
5e83d430
RB
2374endmenu
2375
1df0f0ff
AN
2376config LOCKDEP_SUPPORT
2377 bool
2378 default y
2379
2380config STACKTRACE_SUPPORT
2381 bool
2382 default y
2383
b6c3539b
RB
2384source "init/Kconfig"
2385
dc52ddc0
MH
2386source "kernel/Kconfig.freezer"
2387
1da177e4
LT
2388menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2389
5e83d430
RB
2390config HW_HAS_EISA
2391 bool
1da177e4
LT
2392config HW_HAS_PCI
2393 bool
2394
2395config PCI
2396 bool "Support for PCI controller"
2397 depends on HW_HAS_PCI
abb4ae46 2398 select PCI_DOMAINS
eab90291 2399 select GENERIC_PCI_IOMAP
0f3b3956 2400 select NO_GENERIC_PCI_IOPORT_MAP
1da177e4
LT
2401 help
2402 Find out whether you have a PCI motherboard. PCI is the name of a
2403 bus system, i.e. the way the CPU talks to the other stuff inside
2404 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2405 say Y, otherwise N.
2406
1da177e4
LT
2407config PCI_DOMAINS
2408 bool
1da177e4
LT
2409
2410source "drivers/pci/Kconfig"
2411
3f787ca4
JG
2412source "drivers/pci/pcie/Kconfig"
2413
1da177e4
LT
2414#
2415# ISA support is now enabled via select. Too many systems still have the one
2416# or other ISA chip on the board that users don't know about so don't expect
2417# users to choose the right thing ...
2418#
2419config ISA
2420 bool
2421
2422config EISA
2423 bool "EISA support"
5e83d430 2424 depends on HW_HAS_EISA
1da177e4 2425 select ISA
aa414dff 2426 select GENERIC_ISA_DMA
1da177e4
LT
2427 ---help---
2428 The Extended Industry Standard Architecture (EISA) bus was
2429 developed as an open alternative to the IBM MicroChannel bus.
2430
2431 The EISA bus provided some of the features of the IBM MicroChannel
2432 bus while maintaining backward compatibility with cards made for
2433 the older ISA bus. The EISA bus saw limited use between 1988 and
2434 1995 when it was made obsolete by the PCI bus.
2435
2436 Say Y here if you are building a kernel for an EISA-based machine.
2437
2438 Otherwise, say N.
2439
2440source "drivers/eisa/Kconfig"
2441
2442config TC
2443 bool "TURBOchannel support"
2444 depends on MACH_DECSTATION
2445 help
50a23e6e
JM
2446 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2447 processors. TURBOchannel programming specifications are available
2448 at:
2449 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
2450 and:
2451 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
2452 Linux driver support status is documented at:
2453 <http://www.linux-mips.org/wiki/DECstation>
1da177e4 2454
1da177e4
LT
2455config MMU
2456 bool
2457 default y
2458
d865bea4
RB
2459config I8253
2460 bool
798778b8 2461 select CLKSRC_I8253
2d02612f 2462 select CLKEVT_I8253
9726b43a 2463 select MIPS_EXTERNAL_TIMER
d865bea4 2464
cce335ae
RB
2465config ZONE_DMA32
2466 bool
2467
1da177e4
LT
2468source "drivers/pcmcia/Kconfig"
2469
2470source "drivers/pci/hotplug/Kconfig"
2471
388b78ad
AB
2472config RAPIDIO
2473 bool "RapidIO support"
2474 depends on PCI
2475 default n
2476 help
2477 If you say Y here, the kernel will include drivers and
2478 infrastructure code to support RapidIO interconnect devices.
2479
2480source "drivers/rapidio/Kconfig"
2481
1da177e4
LT
2482endmenu
2483
2484menu "Executable file formats"
2485
2486source "fs/Kconfig.binfmt"
2487
2488config TRAD_SIGNALS
2489 bool
1da177e4 2490
1da177e4
LT
2491config MIPS32_COMPAT
2492 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
875d43e7 2493 depends on 64BIT
1da177e4
LT
2494 help
2495 Select this option if you want Linux/MIPS 32-bit binary
2496 compatibility. Since all software available for Linux/MIPS is
2497 currently 32-bit you should say Y here.
2498
2499config COMPAT
2500 bool
2501 depends on MIPS32_COMPAT
48b25c43 2502 select ARCH_WANT_OLD_COMPAT_IPC
1da177e4
LT
2503 default y
2504
05e43966
AN
2505config SYSVIPC_COMPAT
2506 bool
2507 depends on COMPAT && SYSVIPC
2508 default y
2509
1da177e4
LT
2510config MIPS32_O32
2511 bool "Kernel support for o32 binaries"
2512 depends on MIPS32_COMPAT
2513 help
2514 Select this option if you want to run o32 binaries. These are pure
2515 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2516 existing binaries are in this format.
2517
2518 If unsure, say Y.
2519
2520config MIPS32_N32
2521 bool "Kernel support for n32 binaries"
2522 depends on MIPS32_COMPAT
2523 help
2524 Select this option if you want to run n32 binaries. These are
2525 64-bit binaries using 32-bit quantities for addressing and certain
2526 data that would normally be 64-bit. They are used in special
2527 cases.
2528
2529 If unsure, say N.
2530
2531config BINFMT_ELF32
2532 bool
2533 default y if MIPS32_O32 || MIPS32_N32
2534
2116245e
RB
2535endmenu
2536
2537menu "Power management options"
2538
363c55ca
WZ
2539config ARCH_HIBERNATION_POSSIBLE
2540 def_bool y
3f5b3e17 2541 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
363c55ca 2542
f4cb5700
JB
2543config ARCH_SUSPEND_POSSIBLE
2544 def_bool y
3f5b3e17 2545 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
f4cb5700 2546
2116245e 2547source "kernel/power/Kconfig"
952fa954 2548
1da177e4
LT
2549endmenu
2550
9726b43a
WZ
2551source "arch/mips/kernel/cpufreq/Kconfig"
2552
d5950b43
SR
2553source "net/Kconfig"
2554
1da177e4
LT
2555source "drivers/Kconfig"
2556
2557source "fs/Kconfig"
2558
2559source "arch/mips/Kconfig.debug"
2560
2561source "security/Kconfig"
2562
2563source "crypto/Kconfig"
2564
2565source "lib/Kconfig"
This page took 0.811519 seconds and 5 git commands to generate.