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