Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
[deliverable/linux.git] / arch / mips / Kconfig
1 config MIPS
2 bool
3 default y
4 select ARCH_MIGHT_HAVE_PC_PARPORT
5 select ARCH_MIGHT_HAVE_PC_SERIO
6 select HAVE_CONTEXT_TRACKING
7 select HAVE_GENERIC_DMA_COHERENT
8 select HAVE_IDE
9 select HAVE_OPROFILE
10 select HAVE_PERF_EVENTS
11 select PERF_USE_VMALLOC
12 select HAVE_ARCH_KGDB
13 select HAVE_ARCH_SECCOMP_FILTER
14 select HAVE_ARCH_TRACEHOOK
15 select HAVE_BPF_JIT if !CPU_MICROMIPS
16 select ARCH_HAVE_CUSTOM_GPIO_H
17 select HAVE_FUNCTION_TRACER
18 select HAVE_DYNAMIC_FTRACE
19 select HAVE_FTRACE_MCOUNT_RECORD
20 select HAVE_C_RECORDMCOUNT
21 select HAVE_FUNCTION_GRAPH_TRACER
22 select HAVE_KPROBES
23 select HAVE_KRETPROBES
24 select HAVE_DEBUG_KMEMLEAK
25 select HAVE_SYSCALL_TRACEPOINTS
26 select ARCH_HAS_ELF_RANDOMIZE
27 select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT
28 select RTC_LIB if !MACH_LOONGSON
29 select GENERIC_ATOMIC64 if !64BIT
30 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
31 select HAVE_DMA_ATTRS
32 select HAVE_DMA_CONTIGUOUS
33 select HAVE_DMA_API_DEBUG
34 select GENERIC_IRQ_PROBE
35 select GENERIC_IRQ_SHOW
36 select GENERIC_PCI_IOMAP
37 select HAVE_ARCH_JUMP_LABEL
38 select ARCH_WANT_IPC_PARSE_VERSION
39 select IRQ_FORCED_THREADING
40 select HAVE_MEMBLOCK
41 select HAVE_MEMBLOCK_NODE_MAP
42 select ARCH_DISCARD_MEMBLOCK
43 select GENERIC_SMP_IDLE_THREAD
44 select BUILDTIME_EXTABLE_SORT
45 select GENERIC_CLOCKEVENTS
46 select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC
47 select GENERIC_CMOS_UPDATE
48 select HAVE_MOD_ARCH_SPECIFIC
49 select VIRT_TO_BUS
50 select MODULES_USE_ELF_REL if MODULES
51 select MODULES_USE_ELF_RELA if MODULES && 64BIT
52 select CLONE_BACKWARDS
53 select HAVE_DEBUG_STACKOVERFLOW
54 select HAVE_CC_STACKPROTECTOR
55 select CPU_PM if CPU_IDLE
56 select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
57 select ARCH_BINFMT_ELF_STATE
58 select SYSCTL_EXCEPTION_TRACE
59 select HAVE_VIRT_CPU_ACCOUNTING_GEN
60 select HAVE_IRQ_TIME_ACCOUNTING
61
62 menu "Machine selection"
63
64 choice
65 prompt "System type"
66 default SGI_IP22
67
68 config MIPS_ALCHEMY
69 bool "Alchemy processor based machines"
70 select ARCH_PHYS_ADDR_T_64BIT
71 select CEVT_R4K
72 select CSRC_R4K
73 select IRQ_CPU
74 select DMA_MAYBE_COHERENT # Au1000,1500,1100 aren't, rest is
75 select SYS_HAS_CPU_MIPS32_R1
76 select SYS_SUPPORTS_32BIT_KERNEL
77 select SYS_SUPPORTS_APM_EMULATION
78 select ARCH_REQUIRE_GPIOLIB
79 select SYS_SUPPORTS_ZBOOT
80 select COMMON_CLK
81
82 config AR7
83 bool "Texas Instruments AR7"
84 select BOOT_ELF32
85 select DMA_NONCOHERENT
86 select CEVT_R4K
87 select CSRC_R4K
88 select IRQ_CPU
89 select NO_EXCEPT_FILL
90 select SWAP_IO_SPACE
91 select SYS_HAS_CPU_MIPS32_R1
92 select SYS_HAS_EARLY_PRINTK
93 select SYS_SUPPORTS_32BIT_KERNEL
94 select SYS_SUPPORTS_LITTLE_ENDIAN
95 select SYS_SUPPORTS_MIPS16
96 select SYS_SUPPORTS_ZBOOT_UART16550
97 select ARCH_REQUIRE_GPIOLIB
98 select VLYNQ
99 select HAVE_CLK
100 help
101 Support for the Texas Instruments AR7 System-on-a-Chip
102 family: TNETD7100, 7200 and 7300.
103
104 config ATH25
105 bool "Atheros AR231x/AR531x SoC support"
106 select CEVT_R4K
107 select CSRC_R4K
108 select DMA_NONCOHERENT
109 select IRQ_CPU
110 select IRQ_DOMAIN
111 select SYS_HAS_CPU_MIPS32_R1
112 select SYS_SUPPORTS_BIG_ENDIAN
113 select SYS_SUPPORTS_32BIT_KERNEL
114 select SYS_HAS_EARLY_PRINTK
115 help
116 Support for Atheros AR231x and Atheros AR531x based boards
117
118 config ATH79
119 bool "Atheros AR71XX/AR724X/AR913X based boards"
120 select ARCH_REQUIRE_GPIOLIB
121 select BOOT_RAW
122 select CEVT_R4K
123 select CSRC_R4K
124 select DMA_NONCOHERENT
125 select HAVE_CLK
126 select CLKDEV_LOOKUP
127 select IRQ_CPU
128 select MIPS_MACHINE
129 select SYS_HAS_CPU_MIPS32_R2
130 select SYS_HAS_EARLY_PRINTK
131 select SYS_SUPPORTS_32BIT_KERNEL
132 select SYS_SUPPORTS_BIG_ENDIAN
133 select SYS_SUPPORTS_MIPS16
134 help
135 Support for the Atheros AR71XX/AR724X/AR913X SoCs.
136
137 config BMIPS_GENERIC
138 bool "Broadcom Generic BMIPS kernel"
139 select BOOT_RAW
140 select NO_EXCEPT_FILL
141 select USE_OF
142 select CEVT_R4K
143 select CSRC_R4K
144 select SYNC_R4K
145 select COMMON_CLK
146 select BCM7038_L1_IRQ
147 select BCM7120_L2_IRQ
148 select BRCMSTB_L2_IRQ
149 select IRQ_CPU
150 select RAW_IRQ_ACCESSORS
151 select DMA_NONCOHERENT
152 select SYS_SUPPORTS_32BIT_KERNEL
153 select SYS_SUPPORTS_LITTLE_ENDIAN
154 select SYS_SUPPORTS_BIG_ENDIAN
155 select SYS_SUPPORTS_HIGHMEM
156 select SYS_HAS_CPU_BMIPS32_3300
157 select SYS_HAS_CPU_BMIPS4350
158 select SYS_HAS_CPU_BMIPS4380
159 select SYS_HAS_CPU_BMIPS5000
160 select SWAP_IO_SPACE
161 select USB_EHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
162 select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
163 select USB_OHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
164 select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
165 help
166 Build a generic DT-based kernel image that boots on select
167 BCM33xx cable modem chips, BCM63xx DSL chips, and BCM7xxx set-top
168 box chips. Note that CONFIG_CPU_BIG_ENDIAN/CONFIG_CPU_LITTLE_ENDIAN
169 must be set appropriately for your board.
170
171 config BCM47XX
172 bool "Broadcom BCM47XX based boards"
173 select ARCH_WANT_OPTIONAL_GPIOLIB
174 select BOOT_RAW
175 select CEVT_R4K
176 select CSRC_R4K
177 select DMA_NONCOHERENT
178 select HW_HAS_PCI
179 select IRQ_CPU
180 select SYS_HAS_CPU_MIPS32_R1
181 select NO_EXCEPT_FILL
182 select SYS_SUPPORTS_32BIT_KERNEL
183 select SYS_SUPPORTS_LITTLE_ENDIAN
184 select SYS_SUPPORTS_MIPS16
185 select SYS_HAS_EARLY_PRINTK
186 select USE_GENERIC_EARLY_PRINTK_8250
187 select GPIOLIB
188 select LEDS_GPIO_REGISTER
189 help
190 Support for BCM47XX based boards
191
192 config BCM63XX
193 bool "Broadcom BCM63XX based boards"
194 select BOOT_RAW
195 select CEVT_R4K
196 select CSRC_R4K
197 select SYNC_R4K
198 select DMA_NONCOHERENT
199 select IRQ_CPU
200 select SYS_SUPPORTS_32BIT_KERNEL
201 select SYS_SUPPORTS_BIG_ENDIAN
202 select SYS_HAS_EARLY_PRINTK
203 select SWAP_IO_SPACE
204 select ARCH_REQUIRE_GPIOLIB
205 select HAVE_CLK
206 select MIPS_L1_CACHE_SHIFT_4
207 help
208 Support for BCM63XX based boards
209
210 config MIPS_COBALT
211 bool "Cobalt Server"
212 select CEVT_R4K
213 select CSRC_R4K
214 select CEVT_GT641XX
215 select DMA_NONCOHERENT
216 select HW_HAS_PCI
217 select I8253
218 select I8259
219 select IRQ_CPU
220 select IRQ_GT641XX
221 select PCI_GT64XXX_PCI0
222 select PCI
223 select SYS_HAS_CPU_NEVADA
224 select SYS_HAS_EARLY_PRINTK
225 select SYS_SUPPORTS_32BIT_KERNEL
226 select SYS_SUPPORTS_64BIT_KERNEL
227 select SYS_SUPPORTS_LITTLE_ENDIAN
228 select USE_GENERIC_EARLY_PRINTK_8250
229
230 config MACH_DECSTATION
231 bool "DECstations"
232 select BOOT_ELF32
233 select CEVT_DS1287
234 select CEVT_R4K if CPU_R4X00
235 select CSRC_IOASIC
236 select CSRC_R4K if CPU_R4X00
237 select CPU_DADDI_WORKAROUNDS if 64BIT
238 select CPU_R4000_WORKAROUNDS if 64BIT
239 select CPU_R4400_WORKAROUNDS if 64BIT
240 select DMA_NONCOHERENT
241 select NO_IOPORT_MAP
242 select IRQ_CPU
243 select SYS_HAS_CPU_R3000
244 select SYS_HAS_CPU_R4X00
245 select SYS_SUPPORTS_32BIT_KERNEL
246 select SYS_SUPPORTS_64BIT_KERNEL
247 select SYS_SUPPORTS_LITTLE_ENDIAN
248 select SYS_SUPPORTS_128HZ
249 select SYS_SUPPORTS_256HZ
250 select SYS_SUPPORTS_1024HZ
251 select MIPS_L1_CACHE_SHIFT_4
252 help
253 This enables support for DEC's MIPS based workstations. For details
254 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
255 DECstation porting pages on <http://decstation.unix-ag.org/>.
256
257 If you have one of the following DECstation Models you definitely
258 want to choose R4xx0 for the CPU Type:
259
260 DECstation 5000/50
261 DECstation 5000/150
262 DECstation 5000/260
263 DECsystem 5900/260
264
265 otherwise choose R3000.
266
267 config MACH_JAZZ
268 bool "Jazz family of machines"
269 select FW_ARC
270 select FW_ARC32
271 select ARCH_MAY_HAVE_PC_FDC
272 select CEVT_R4K
273 select CSRC_R4K
274 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
275 select GENERIC_ISA_DMA
276 select HAVE_PCSPKR_PLATFORM
277 select IRQ_CPU
278 select I8253
279 select I8259
280 select ISA
281 select SYS_HAS_CPU_R4X00
282 select SYS_SUPPORTS_32BIT_KERNEL
283 select SYS_SUPPORTS_64BIT_KERNEL
284 select SYS_SUPPORTS_100HZ
285 help
286 This a family of machines based on the MIPS R4030 chipset which was
287 used by several vendors to build RISC/os and Windows NT workstations.
288 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
289 Olivetti M700-10 workstations.
290
291 config MACH_JZ4740
292 bool "Ingenic JZ4740 based machines"
293 select SYS_HAS_CPU_MIPS32_R1
294 select SYS_SUPPORTS_32BIT_KERNEL
295 select SYS_SUPPORTS_LITTLE_ENDIAN
296 select SYS_SUPPORTS_ZBOOT_UART16550
297 select DMA_NONCOHERENT
298 select IRQ_CPU
299 select ARCH_REQUIRE_GPIOLIB
300 select SYS_HAS_EARLY_PRINTK
301 select HAVE_CLK
302 select GENERIC_IRQ_CHIP
303
304 config LANTIQ
305 bool "Lantiq based platforms"
306 select DMA_NONCOHERENT
307 select IRQ_CPU
308 select CEVT_R4K
309 select CSRC_R4K
310 select SYS_HAS_CPU_MIPS32_R1
311 select SYS_HAS_CPU_MIPS32_R2
312 select SYS_SUPPORTS_BIG_ENDIAN
313 select SYS_SUPPORTS_32BIT_KERNEL
314 select SYS_SUPPORTS_MIPS16
315 select SYS_SUPPORTS_MULTITHREADING
316 select SYS_HAS_EARLY_PRINTK
317 select ARCH_REQUIRE_GPIOLIB
318 select SWAP_IO_SPACE
319 select BOOT_RAW
320 select HAVE_MACH_CLKDEV
321 select CLKDEV_LOOKUP
322 select USE_OF
323 select PINCTRL
324 select PINCTRL_LANTIQ
325 select ARCH_HAS_RESET_CONTROLLER
326 select RESET_CONTROLLER
327
328 config LASAT
329 bool "LASAT Networks platforms"
330 select CEVT_R4K
331 select CRC32
332 select CSRC_R4K
333 select DMA_NONCOHERENT
334 select SYS_HAS_EARLY_PRINTK
335 select HW_HAS_PCI
336 select IRQ_CPU
337 select PCI_GT64XXX_PCI0
338 select MIPS_NILE4
339 select R5000_CPU_SCACHE
340 select SYS_HAS_CPU_R5000
341 select SYS_SUPPORTS_32BIT_KERNEL
342 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
343 select SYS_SUPPORTS_LITTLE_ENDIAN
344
345 config MACH_LOONGSON
346 bool "Loongson family of machines"
347 select SYS_SUPPORTS_ZBOOT
348 help
349 This enables the support of Loongson family of machines.
350
351 Loongson is a family of general-purpose MIPS-compatible CPUs.
352 developed at Institute of Computing Technology (ICT),
353 Chinese Academy of Sciences (CAS) in the People's Republic
354 of China. The chief architect is Professor Weiwu Hu.
355
356 config MACH_LOONGSON1
357 bool "Loongson 1 family of machines"
358 select SYS_SUPPORTS_ZBOOT
359 help
360 This enables support for the Loongson 1 based machines.
361
362 Loongson 1 is a family of 32-bit MIPS-compatible SoCs developed by
363 the ICT (Institute of Computing Technology) and the Chinese Academy
364 of Sciences.
365
366 config MACH_PISTACHIO
367 bool "IMG Pistachio SoC based boards"
368 select ARCH_REQUIRE_GPIOLIB
369 select BOOT_ELF32
370 select BOOT_RAW
371 select CEVT_R4K
372 select CLKSRC_MIPS_GIC
373 select COMMON_CLK
374 select CSRC_R4K
375 select DMA_MAYBE_COHERENT
376 select IRQ_CPU
377 select LIBFDT
378 select MFD_SYSCON
379 select MIPS_CPU_SCACHE
380 select MIPS_GIC
381 select PINCTRL
382 select REGULATOR
383 select SYS_HAS_CPU_MIPS32_R2
384 select SYS_SUPPORTS_32BIT_KERNEL
385 select SYS_SUPPORTS_LITTLE_ENDIAN
386 select SYS_SUPPORTS_MIPS_CPS
387 select SYS_SUPPORTS_MULTITHREADING
388 select SYS_SUPPORTS_ZBOOT
389 select USE_OF
390 help
391 This enables support for the IMG Pistachio SoC platform.
392
393 config MIPS_MALTA
394 bool "MIPS Malta board"
395 select ARCH_MAY_HAVE_PC_FDC
396 select BOOT_ELF32
397 select BOOT_RAW
398 select CEVT_R4K
399 select CSRC_R4K
400 select CLKSRC_MIPS_GIC
401 select DMA_MAYBE_COHERENT
402 select GENERIC_ISA_DMA
403 select HAVE_PCSPKR_PLATFORM
404 select IRQ_CPU
405 select MIPS_GIC
406 select HW_HAS_PCI
407 select I8253
408 select I8259
409 select MIPS_BONITO64
410 select MIPS_CPU_SCACHE
411 select MIPS_L1_CACHE_SHIFT_6
412 select PCI_GT64XXX_PCI0
413 select MIPS_MSC
414 select SWAP_IO_SPACE
415 select SYS_HAS_CPU_MIPS32_R1
416 select SYS_HAS_CPU_MIPS32_R2
417 select SYS_HAS_CPU_MIPS32_R3_5
418 select SYS_HAS_CPU_MIPS32_R5
419 select SYS_HAS_CPU_MIPS32_R6
420 select SYS_HAS_CPU_MIPS64_R1
421 select SYS_HAS_CPU_MIPS64_R2
422 select SYS_HAS_CPU_MIPS64_R6
423 select SYS_HAS_CPU_NEVADA
424 select SYS_HAS_CPU_RM7000
425 select SYS_SUPPORTS_32BIT_KERNEL
426 select SYS_SUPPORTS_64BIT_KERNEL
427 select SYS_SUPPORTS_BIG_ENDIAN
428 select SYS_SUPPORTS_HIGHMEM
429 select SYS_SUPPORTS_LITTLE_ENDIAN
430 select SYS_SUPPORTS_MICROMIPS
431 select SYS_SUPPORTS_MIPS_CMP
432 select SYS_SUPPORTS_MIPS_CPS
433 select SYS_SUPPORTS_MIPS16
434 select SYS_SUPPORTS_MULTITHREADING
435 select SYS_SUPPORTS_SMARTMIPS
436 select SYS_SUPPORTS_ZBOOT
437 help
438 This enables support for the MIPS Technologies Malta evaluation
439 board.
440
441 config MIPS_SEAD3
442 bool "MIPS SEAD3 board"
443 select BOOT_ELF32
444 select BOOT_RAW
445 select BUILTIN_DTB
446 select CEVT_R4K
447 select CSRC_R4K
448 select CLKSRC_MIPS_GIC
449 select CPU_MIPSR2_IRQ_VI
450 select CPU_MIPSR2_IRQ_EI
451 select DMA_NONCOHERENT
452 select IRQ_CPU
453 select MIPS_GIC
454 select LIBFDT
455 select MIPS_MSC
456 select SYS_HAS_CPU_MIPS32_R1
457 select SYS_HAS_CPU_MIPS32_R2
458 select SYS_HAS_CPU_MIPS64_R1
459 select SYS_HAS_EARLY_PRINTK
460 select SYS_SUPPORTS_32BIT_KERNEL
461 select SYS_SUPPORTS_64BIT_KERNEL
462 select SYS_SUPPORTS_BIG_ENDIAN
463 select SYS_SUPPORTS_LITTLE_ENDIAN
464 select SYS_SUPPORTS_SMARTMIPS
465 select SYS_SUPPORTS_MICROMIPS
466 select SYS_SUPPORTS_MIPS16
467 select USB_EHCI_BIG_ENDIAN_DESC
468 select USB_EHCI_BIG_ENDIAN_MMIO
469 select USE_OF
470 help
471 This enables support for the MIPS Technologies SEAD3 evaluation
472 board.
473
474 config NEC_MARKEINS
475 bool "NEC EMMA2RH Mark-eins board"
476 select SOC_EMMA2RH
477 select HW_HAS_PCI
478 help
479 This enables support for the NEC Electronics Mark-eins boards.
480
481 config MACH_VR41XX
482 bool "NEC VR4100 series based machines"
483 select CEVT_R4K
484 select CSRC_R4K
485 select SYS_HAS_CPU_VR41XX
486 select SYS_SUPPORTS_MIPS16
487 select ARCH_REQUIRE_GPIOLIB
488
489 config NXP_STB220
490 bool "NXP STB220 board"
491 select SOC_PNX833X
492 help
493 Support for NXP Semiconductors STB220 Development Board.
494
495 config NXP_STB225
496 bool "NXP 225 board"
497 select SOC_PNX833X
498 select SOC_PNX8335
499 help
500 Support for NXP Semiconductors STB225 Development Board.
501
502 config PMC_MSP
503 bool "PMC-Sierra MSP chipsets"
504 select CEVT_R4K
505 select CSRC_R4K
506 select DMA_NONCOHERENT
507 select SWAP_IO_SPACE
508 select NO_EXCEPT_FILL
509 select BOOT_RAW
510 select SYS_HAS_CPU_MIPS32_R1
511 select SYS_HAS_CPU_MIPS32_R2
512 select SYS_SUPPORTS_32BIT_KERNEL
513 select SYS_SUPPORTS_BIG_ENDIAN
514 select SYS_SUPPORTS_MIPS16
515 select IRQ_CPU
516 select SERIAL_8250
517 select SERIAL_8250_CONSOLE
518 select USB_EHCI_BIG_ENDIAN_MMIO
519 select USB_EHCI_BIG_ENDIAN_DESC
520 help
521 This adds support for the PMC-Sierra family of Multi-Service
522 Processor System-On-A-Chips. These parts include a number
523 of integrated peripherals, interfaces and DSPs in addition to
524 a variety of MIPS cores.
525
526 config RALINK
527 bool "Ralink based machines"
528 select CEVT_R4K
529 select CSRC_R4K
530 select BOOT_RAW
531 select DMA_NONCOHERENT
532 select IRQ_CPU
533 select USE_OF
534 select SYS_HAS_CPU_MIPS32_R1
535 select SYS_HAS_CPU_MIPS32_R2
536 select SYS_SUPPORTS_32BIT_KERNEL
537 select SYS_SUPPORTS_LITTLE_ENDIAN
538 select SYS_SUPPORTS_MIPS16
539 select SYS_HAS_EARLY_PRINTK
540 select HAVE_MACH_CLKDEV
541 select CLKDEV_LOOKUP
542 select ARCH_HAS_RESET_CONTROLLER
543 select RESET_CONTROLLER
544
545 config SGI_IP22
546 bool "SGI IP22 (Indy/Indigo2)"
547 select FW_ARC
548 select FW_ARC32
549 select BOOT_ELF32
550 select CEVT_R4K
551 select CSRC_R4K
552 select DEFAULT_SGI_PARTITION
553 select DMA_NONCOHERENT
554 select HW_HAS_EISA
555 select I8253
556 select I8259
557 select IP22_CPU_SCACHE
558 select IRQ_CPU
559 select GENERIC_ISA_DMA_SUPPORT_BROKEN
560 select SGI_HAS_I8042
561 select SGI_HAS_INDYDOG
562 select SGI_HAS_HAL2
563 select SGI_HAS_SEEQ
564 select SGI_HAS_WD93
565 select SGI_HAS_ZILOG
566 select SWAP_IO_SPACE
567 select SYS_HAS_CPU_R4X00
568 select SYS_HAS_CPU_R5000
569 #
570 # Disable EARLY_PRINTK for now since it leads to overwritten prom
571 # memory during early boot on some machines.
572 #
573 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
574 # for a more details discussion
575 #
576 # select SYS_HAS_EARLY_PRINTK
577 select SYS_SUPPORTS_32BIT_KERNEL
578 select SYS_SUPPORTS_64BIT_KERNEL
579 select SYS_SUPPORTS_BIG_ENDIAN
580 select MIPS_L1_CACHE_SHIFT_7
581 help
582 This are the SGI Indy, Challenge S and Indigo2, as well as certain
583 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
584 that runs on these, say Y here.
585
586 config SGI_IP27
587 bool "SGI IP27 (Origin200/2000)"
588 select FW_ARC
589 select FW_ARC64
590 select BOOT_ELF64
591 select DEFAULT_SGI_PARTITION
592 select DMA_COHERENT
593 select SYS_HAS_EARLY_PRINTK
594 select HW_HAS_PCI
595 select NR_CPUS_DEFAULT_64
596 select SYS_HAS_CPU_R10000
597 select SYS_SUPPORTS_64BIT_KERNEL
598 select SYS_SUPPORTS_BIG_ENDIAN
599 select SYS_SUPPORTS_NUMA
600 select SYS_SUPPORTS_SMP
601 select MIPS_L1_CACHE_SHIFT_7
602 help
603 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
604 workstations. To compile a Linux kernel that runs on these, say Y
605 here.
606
607 config SGI_IP28
608 bool "SGI IP28 (Indigo2 R10k)"
609 select FW_ARC
610 select FW_ARC64
611 select BOOT_ELF64
612 select CEVT_R4K
613 select CSRC_R4K
614 select DEFAULT_SGI_PARTITION
615 select DMA_NONCOHERENT
616 select GENERIC_ISA_DMA_SUPPORT_BROKEN
617 select IRQ_CPU
618 select HW_HAS_EISA
619 select I8253
620 select I8259
621 select SGI_HAS_I8042
622 select SGI_HAS_INDYDOG
623 select SGI_HAS_HAL2
624 select SGI_HAS_SEEQ
625 select SGI_HAS_WD93
626 select SGI_HAS_ZILOG
627 select SWAP_IO_SPACE
628 select SYS_HAS_CPU_R10000
629 #
630 # Disable EARLY_PRINTK for now since it leads to overwritten prom
631 # memory during early boot on some machines.
632 #
633 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
634 # for a more details discussion
635 #
636 # select SYS_HAS_EARLY_PRINTK
637 select SYS_SUPPORTS_64BIT_KERNEL
638 select SYS_SUPPORTS_BIG_ENDIAN
639 select MIPS_L1_CACHE_SHIFT_7
640 help
641 This is the SGI Indigo2 with R10000 processor. To compile a Linux
642 kernel that runs on these, say Y here.
643
644 config SGI_IP32
645 bool "SGI IP32 (O2)"
646 select FW_ARC
647 select FW_ARC32
648 select BOOT_ELF32
649 select CEVT_R4K
650 select CSRC_R4K
651 select DMA_NONCOHERENT
652 select HW_HAS_PCI
653 select IRQ_CPU
654 select R5000_CPU_SCACHE
655 select RM7000_CPU_SCACHE
656 select SYS_HAS_CPU_R5000
657 select SYS_HAS_CPU_R10000 if BROKEN
658 select SYS_HAS_CPU_RM7000
659 select SYS_HAS_CPU_NEVADA
660 select SYS_SUPPORTS_64BIT_KERNEL
661 select SYS_SUPPORTS_BIG_ENDIAN
662 help
663 If you want this kernel to run on SGI O2 workstation, say Y here.
664
665 config SIBYTE_CRHINE
666 bool "Sibyte BCM91120C-CRhine"
667 select BOOT_ELF32
668 select DMA_COHERENT
669 select SIBYTE_BCM1120
670 select SWAP_IO_SPACE
671 select SYS_HAS_CPU_SB1
672 select SYS_SUPPORTS_BIG_ENDIAN
673 select SYS_SUPPORTS_LITTLE_ENDIAN
674
675 config SIBYTE_CARMEL
676 bool "Sibyte BCM91120x-Carmel"
677 select BOOT_ELF32
678 select DMA_COHERENT
679 select SIBYTE_BCM1120
680 select SWAP_IO_SPACE
681 select SYS_HAS_CPU_SB1
682 select SYS_SUPPORTS_BIG_ENDIAN
683 select SYS_SUPPORTS_LITTLE_ENDIAN
684
685 config SIBYTE_CRHONE
686 bool "Sibyte BCM91125C-CRhone"
687 select BOOT_ELF32
688 select DMA_COHERENT
689 select SIBYTE_BCM1125
690 select SWAP_IO_SPACE
691 select SYS_HAS_CPU_SB1
692 select SYS_SUPPORTS_BIG_ENDIAN
693 select SYS_SUPPORTS_HIGHMEM
694 select SYS_SUPPORTS_LITTLE_ENDIAN
695
696 config SIBYTE_RHONE
697 bool "Sibyte BCM91125E-Rhone"
698 select BOOT_ELF32
699 select DMA_COHERENT
700 select SIBYTE_BCM1125H
701 select SWAP_IO_SPACE
702 select SYS_HAS_CPU_SB1
703 select SYS_SUPPORTS_BIG_ENDIAN
704 select SYS_SUPPORTS_LITTLE_ENDIAN
705
706 config SIBYTE_SWARM
707 bool "Sibyte BCM91250A-SWARM"
708 select BOOT_ELF32
709 select DMA_COHERENT
710 select HAVE_PATA_PLATFORM
711 select SIBYTE_SB1250
712 select SWAP_IO_SPACE
713 select SYS_HAS_CPU_SB1
714 select SYS_SUPPORTS_BIG_ENDIAN
715 select SYS_SUPPORTS_HIGHMEM
716 select SYS_SUPPORTS_LITTLE_ENDIAN
717 select ZONE_DMA32 if 64BIT
718
719 config SIBYTE_LITTLESUR
720 bool "Sibyte BCM91250C2-LittleSur"
721 select BOOT_ELF32
722 select DMA_COHERENT
723 select HAVE_PATA_PLATFORM
724 select SIBYTE_SB1250
725 select SWAP_IO_SPACE
726 select SYS_HAS_CPU_SB1
727 select SYS_SUPPORTS_BIG_ENDIAN
728 select SYS_SUPPORTS_HIGHMEM
729 select SYS_SUPPORTS_LITTLE_ENDIAN
730
731 config SIBYTE_SENTOSA
732 bool "Sibyte BCM91250E-Sentosa"
733 select BOOT_ELF32
734 select DMA_COHERENT
735 select SIBYTE_SB1250
736 select SWAP_IO_SPACE
737 select SYS_HAS_CPU_SB1
738 select SYS_SUPPORTS_BIG_ENDIAN
739 select SYS_SUPPORTS_LITTLE_ENDIAN
740
741 config SIBYTE_BIGSUR
742 bool "Sibyte BCM91480B-BigSur"
743 select BOOT_ELF32
744 select DMA_COHERENT
745 select NR_CPUS_DEFAULT_4
746 select SIBYTE_BCM1x80
747 select SWAP_IO_SPACE
748 select SYS_HAS_CPU_SB1
749 select SYS_SUPPORTS_BIG_ENDIAN
750 select SYS_SUPPORTS_HIGHMEM
751 select SYS_SUPPORTS_LITTLE_ENDIAN
752 select ZONE_DMA32 if 64BIT
753
754 config SNI_RM
755 bool "SNI RM200/300/400"
756 select FW_ARC if CPU_LITTLE_ENDIAN
757 select FW_ARC32 if CPU_LITTLE_ENDIAN
758 select FW_SNIPROM if CPU_BIG_ENDIAN
759 select ARCH_MAY_HAVE_PC_FDC
760 select BOOT_ELF32
761 select CEVT_R4K
762 select CSRC_R4K
763 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
764 select DMA_NONCOHERENT
765 select GENERIC_ISA_DMA
766 select HAVE_PCSPKR_PLATFORM
767 select HW_HAS_EISA
768 select HW_HAS_PCI
769 select IRQ_CPU
770 select I8253
771 select I8259
772 select ISA
773 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
774 select SYS_HAS_CPU_R4X00
775 select SYS_HAS_CPU_R5000
776 select SYS_HAS_CPU_R10000
777 select R5000_CPU_SCACHE
778 select SYS_HAS_EARLY_PRINTK
779 select SYS_SUPPORTS_32BIT_KERNEL
780 select SYS_SUPPORTS_64BIT_KERNEL
781 select SYS_SUPPORTS_BIG_ENDIAN
782 select SYS_SUPPORTS_HIGHMEM
783 select SYS_SUPPORTS_LITTLE_ENDIAN
784 help
785 The SNI RM200/300/400 are MIPS-based machines manufactured by
786 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
787 Technology and now in turn merged with Fujitsu. Say Y here to
788 support this machine type.
789
790 config MACH_TX39XX
791 bool "Toshiba TX39 series based machines"
792
793 config MACH_TX49XX
794 bool "Toshiba TX49 series based machines"
795
796 config MIKROTIK_RB532
797 bool "Mikrotik RB532 boards"
798 select CEVT_R4K
799 select CSRC_R4K
800 select DMA_NONCOHERENT
801 select HW_HAS_PCI
802 select IRQ_CPU
803 select SYS_HAS_CPU_MIPS32_R1
804 select SYS_SUPPORTS_32BIT_KERNEL
805 select SYS_SUPPORTS_LITTLE_ENDIAN
806 select SWAP_IO_SPACE
807 select BOOT_RAW
808 select ARCH_REQUIRE_GPIOLIB
809 select MIPS_L1_CACHE_SHIFT_4
810 help
811 Support the Mikrotik(tm) RouterBoard 532 series,
812 based on the IDT RC32434 SoC.
813
814 config CAVIUM_OCTEON_SOC
815 bool "Cavium Networks Octeon SoC based boards"
816 select CEVT_R4K
817 select ARCH_PHYS_ADDR_T_64BIT
818 select DMA_COHERENT
819 select SYS_SUPPORTS_64BIT_KERNEL
820 select SYS_SUPPORTS_BIG_ENDIAN
821 select EDAC_SUPPORT
822 select SYS_SUPPORTS_LITTLE_ENDIAN
823 select SYS_SUPPORTS_HOTPLUG_CPU if CPU_BIG_ENDIAN
824 select SYS_HAS_EARLY_PRINTK
825 select SYS_HAS_CPU_CAVIUM_OCTEON
826 select SWAP_IO_SPACE
827 select HW_HAS_PCI
828 select ZONE_DMA32
829 select HOLES_IN_ZONE
830 select ARCH_REQUIRE_GPIOLIB
831 select LIBFDT
832 select USE_OF
833 select ARCH_SPARSEMEM_ENABLE
834 select SYS_SUPPORTS_SMP
835 select NR_CPUS_DEFAULT_16
836 select BUILTIN_DTB
837 select MTD_COMPLEX_MAPPINGS
838 help
839 This option supports all of the Octeon reference boards from Cavium
840 Networks. It builds a kernel that dynamically determines the Octeon
841 CPU type and supports all known board reference implementations.
842 Some of the supported boards are:
843 EBT3000
844 EBH3000
845 EBH3100
846 Thunder
847 Kodama
848 Hikari
849 Say Y here for most Octeon reference boards.
850
851 config NLM_XLR_BOARD
852 bool "Netlogic XLR/XLS based systems"
853 select BOOT_ELF32
854 select NLM_COMMON
855 select SYS_HAS_CPU_XLR
856 select SYS_SUPPORTS_SMP
857 select HW_HAS_PCI
858 select SWAP_IO_SPACE
859 select SYS_SUPPORTS_32BIT_KERNEL
860 select SYS_SUPPORTS_64BIT_KERNEL
861 select ARCH_PHYS_ADDR_T_64BIT
862 select SYS_SUPPORTS_BIG_ENDIAN
863 select SYS_SUPPORTS_HIGHMEM
864 select DMA_COHERENT
865 select NR_CPUS_DEFAULT_32
866 select CEVT_R4K
867 select CSRC_R4K
868 select IRQ_CPU
869 select ZONE_DMA32 if 64BIT
870 select SYNC_R4K
871 select SYS_HAS_EARLY_PRINTK
872 select SYS_SUPPORTS_ZBOOT
873 select SYS_SUPPORTS_ZBOOT_UART16550
874 help
875 Support for systems based on Netlogic XLR and XLS processors.
876 Say Y here if you have a XLR or XLS based board.
877
878 config NLM_XLP_BOARD
879 bool "Netlogic XLP based systems"
880 select BOOT_ELF32
881 select NLM_COMMON
882 select SYS_HAS_CPU_XLP
883 select SYS_SUPPORTS_SMP
884 select HW_HAS_PCI
885 select SYS_SUPPORTS_32BIT_KERNEL
886 select SYS_SUPPORTS_64BIT_KERNEL
887 select ARCH_PHYS_ADDR_T_64BIT
888 select SYS_SUPPORTS_BIG_ENDIAN
889 select SYS_SUPPORTS_LITTLE_ENDIAN
890 select SYS_SUPPORTS_HIGHMEM
891 select DMA_COHERENT
892 select NR_CPUS_DEFAULT_32
893 select CEVT_R4K
894 select CSRC_R4K
895 select IRQ_CPU
896 select ZONE_DMA32 if 64BIT
897 select SYNC_R4K
898 select SYS_HAS_EARLY_PRINTK
899 select USE_OF
900 select SYS_SUPPORTS_ZBOOT
901 select SYS_SUPPORTS_ZBOOT_UART16550
902 help
903 This board is based on Netlogic XLP Processor.
904 Say Y here if you have a XLP based board.
905
906 config MIPS_PARAVIRT
907 bool "Para-Virtualized guest system"
908 select CEVT_R4K
909 select CSRC_R4K
910 select DMA_COHERENT
911 select SYS_SUPPORTS_64BIT_KERNEL
912 select SYS_SUPPORTS_32BIT_KERNEL
913 select SYS_SUPPORTS_BIG_ENDIAN
914 select SYS_SUPPORTS_SMP
915 select NR_CPUS_DEFAULT_4
916 select SYS_HAS_EARLY_PRINTK
917 select SYS_HAS_CPU_MIPS32_R2
918 select SYS_HAS_CPU_MIPS64_R2
919 select SYS_HAS_CPU_CAVIUM_OCTEON
920 select HW_HAS_PCI
921 select SWAP_IO_SPACE
922 help
923 This option supports guest running under ????
924
925 endchoice
926
927 source "arch/mips/alchemy/Kconfig"
928 source "arch/mips/ath25/Kconfig"
929 source "arch/mips/ath79/Kconfig"
930 source "arch/mips/bcm47xx/Kconfig"
931 source "arch/mips/bcm63xx/Kconfig"
932 source "arch/mips/bmips/Kconfig"
933 source "arch/mips/jazz/Kconfig"
934 source "arch/mips/jz4740/Kconfig"
935 source "arch/mips/lantiq/Kconfig"
936 source "arch/mips/lasat/Kconfig"
937 source "arch/mips/pmcs-msp71xx/Kconfig"
938 source "arch/mips/ralink/Kconfig"
939 source "arch/mips/sgi-ip27/Kconfig"
940 source "arch/mips/sibyte/Kconfig"
941 source "arch/mips/txx9/Kconfig"
942 source "arch/mips/vr41xx/Kconfig"
943 source "arch/mips/cavium-octeon/Kconfig"
944 source "arch/mips/loongson/Kconfig"
945 source "arch/mips/loongson1/Kconfig"
946 source "arch/mips/netlogic/Kconfig"
947 source "arch/mips/paravirt/Kconfig"
948
949 endmenu
950
951 config RWSEM_GENERIC_SPINLOCK
952 bool
953 default y
954
955 config RWSEM_XCHGADD_ALGORITHM
956 bool
957
958 config ARCH_HAS_ILOG2_U32
959 bool
960 default n
961
962 config ARCH_HAS_ILOG2_U64
963 bool
964 default n
965
966 config GENERIC_HWEIGHT
967 bool
968 default y
969
970 config GENERIC_CALIBRATE_DELAY
971 bool
972 default y
973
974 config SCHED_OMIT_FRAME_POINTER
975 bool
976 default y
977
978 #
979 # Select some configuration options automatically based on user selections.
980 #
981 config FW_ARC
982 bool
983
984 config ARCH_MAY_HAVE_PC_FDC
985 bool
986
987 config BOOT_RAW
988 bool
989
990 config CEVT_BCM1480
991 bool
992
993 config CEVT_DS1287
994 bool
995
996 config CEVT_GT641XX
997 bool
998
999 config CEVT_R4K
1000 bool
1001
1002 config CEVT_SB1250
1003 bool
1004
1005 config CEVT_TXX9
1006 bool
1007
1008 config CSRC_BCM1480
1009 bool
1010
1011 config CSRC_IOASIC
1012 bool
1013
1014 config CSRC_R4K
1015 bool
1016
1017 config CSRC_SB1250
1018 bool
1019
1020 config GPIO_TXX9
1021 select ARCH_REQUIRE_GPIOLIB
1022 bool
1023
1024 config FW_CFE
1025 bool
1026
1027 config ARCH_DMA_ADDR_T_64BIT
1028 def_bool (HIGHMEM && ARCH_PHYS_ADDR_T_64BIT) || 64BIT
1029
1030 config DMA_MAYBE_COHERENT
1031 select DMA_NONCOHERENT
1032 bool
1033
1034 config DMA_COHERENT
1035 bool
1036
1037 config DMA_NONCOHERENT
1038 bool
1039 select NEED_DMA_MAP_STATE
1040
1041 config NEED_DMA_MAP_STATE
1042 bool
1043
1044 config SYS_HAS_EARLY_PRINTK
1045 bool
1046
1047 config HOTPLUG_CPU
1048 bool "Support for hot-pluggable CPUs"
1049 depends on SMP && SYS_SUPPORTS_HOTPLUG_CPU
1050 help
1051 Say Y here to allow turning CPUs off and on. CPUs can be
1052 controlled through /sys/devices/system/cpu.
1053 (Note: power management support will enable this option
1054 automatically on SMP systems. )
1055 Say N if you want to disable CPU hotplug.
1056
1057 config SYS_SUPPORTS_HOTPLUG_CPU
1058 bool
1059
1060 config I8259
1061 bool
1062 select IRQ_DOMAIN
1063
1064 config MIPS_BONITO64
1065 bool
1066
1067 config MIPS_MSC
1068 bool
1069
1070 config MIPS_NILE4
1071 bool
1072
1073 config SYNC_R4K
1074 bool
1075
1076 config MIPS_MACHINE
1077 def_bool n
1078
1079 config NO_IOPORT_MAP
1080 def_bool n
1081
1082 config GENERIC_CSUM
1083 bool
1084
1085 config GENERIC_ISA_DMA
1086 bool
1087 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
1088 select ISA_DMA_API
1089
1090 config GENERIC_ISA_DMA_SUPPORT_BROKEN
1091 bool
1092 select GENERIC_ISA_DMA
1093
1094 config ISA_DMA_API
1095 bool
1096
1097 config HOLES_IN_ZONE
1098 bool
1099
1100 #
1101 # Endianness selection. Sufficiently obscure so many users don't know what to
1102 # answer,so we try hard to limit the available choices. Also the use of a
1103 # choice statement should be more obvious to the user.
1104 #
1105 choice
1106 prompt "Endianness selection"
1107 help
1108 Some MIPS machines can be configured for either little or big endian
1109 byte order. These modes require different kernels and a different
1110 Linux distribution. In general there is one preferred byteorder for a
1111 particular system but some systems are just as commonly used in the
1112 one or the other endianness.
1113
1114 config CPU_BIG_ENDIAN
1115 bool "Big endian"
1116 depends on SYS_SUPPORTS_BIG_ENDIAN
1117
1118 config CPU_LITTLE_ENDIAN
1119 bool "Little endian"
1120 depends on SYS_SUPPORTS_LITTLE_ENDIAN
1121
1122 endchoice
1123
1124 config EXPORT_UASM
1125 bool
1126
1127 config SYS_SUPPORTS_APM_EMULATION
1128 bool
1129
1130 config SYS_SUPPORTS_BIG_ENDIAN
1131 bool
1132
1133 config SYS_SUPPORTS_LITTLE_ENDIAN
1134 bool
1135
1136 config SYS_SUPPORTS_HUGETLBFS
1137 bool
1138 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
1139 default y
1140
1141 config MIPS_HUGE_TLB_SUPPORT
1142 def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE
1143
1144 config IRQ_CPU
1145 bool
1146 select IRQ_DOMAIN
1147
1148 config IRQ_CPU_RM7K
1149 bool
1150
1151 config IRQ_MSP_SLP
1152 bool
1153
1154 config IRQ_MSP_CIC
1155 bool
1156
1157 config IRQ_TXX9
1158 bool
1159
1160 config IRQ_GT641XX
1161 bool
1162
1163 config PCI_GT64XXX_PCI0
1164 bool
1165
1166 config NO_EXCEPT_FILL
1167 bool
1168
1169 config SOC_EMMA2RH
1170 bool
1171 select CEVT_R4K
1172 select CSRC_R4K
1173 select DMA_NONCOHERENT
1174 select IRQ_CPU
1175 select SWAP_IO_SPACE
1176 select SYS_HAS_CPU_R5500
1177 select SYS_SUPPORTS_32BIT_KERNEL
1178 select SYS_SUPPORTS_64BIT_KERNEL
1179 select SYS_SUPPORTS_BIG_ENDIAN
1180
1181 config SOC_PNX833X
1182 bool
1183 select CEVT_R4K
1184 select CSRC_R4K
1185 select IRQ_CPU
1186 select DMA_NONCOHERENT
1187 select SYS_HAS_CPU_MIPS32_R2
1188 select SYS_SUPPORTS_32BIT_KERNEL
1189 select SYS_SUPPORTS_LITTLE_ENDIAN
1190 select SYS_SUPPORTS_BIG_ENDIAN
1191 select SYS_SUPPORTS_MIPS16
1192 select CPU_MIPSR2_IRQ_VI
1193
1194 config SOC_PNX8335
1195 bool
1196 select SOC_PNX833X
1197
1198 config MIPS_SPRAM
1199 bool
1200
1201 config SWAP_IO_SPACE
1202 bool
1203
1204 config SGI_HAS_INDYDOG
1205 bool
1206
1207 config SGI_HAS_HAL2
1208 bool
1209
1210 config SGI_HAS_SEEQ
1211 bool
1212
1213 config SGI_HAS_WD93
1214 bool
1215
1216 config SGI_HAS_ZILOG
1217 bool
1218
1219 config SGI_HAS_I8042
1220 bool
1221
1222 config DEFAULT_SGI_PARTITION
1223 bool
1224
1225 config FW_ARC32
1226 bool
1227
1228 config FW_SNIPROM
1229 bool
1230
1231 config BOOT_ELF32
1232 bool
1233
1234 config MIPS_L1_CACHE_SHIFT_4
1235 bool
1236
1237 config MIPS_L1_CACHE_SHIFT_5
1238 bool
1239
1240 config MIPS_L1_CACHE_SHIFT_6
1241 bool
1242
1243 config MIPS_L1_CACHE_SHIFT_7
1244 bool
1245
1246 config MIPS_L1_CACHE_SHIFT
1247 int
1248 default "7" if MIPS_L1_CACHE_SHIFT_7
1249 default "6" if MIPS_L1_CACHE_SHIFT_6
1250 default "5" if MIPS_L1_CACHE_SHIFT_5
1251 default "4" if MIPS_L1_CACHE_SHIFT_4
1252 default "5"
1253
1254 config HAVE_STD_PC_SERIAL_PORT
1255 bool
1256
1257 config ARC_CONSOLE
1258 bool "ARC console support"
1259 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
1260
1261 config ARC_MEMORY
1262 bool
1263 depends on MACH_JAZZ || SNI_RM || SGI_IP32
1264 default y
1265
1266 config ARC_PROMLIB
1267 bool
1268 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
1269 default y
1270
1271 config FW_ARC64
1272 bool
1273
1274 config BOOT_ELF64
1275 bool
1276
1277 menu "CPU selection"
1278
1279 choice
1280 prompt "CPU type"
1281 default CPU_R4X00
1282
1283 config CPU_LOONGSON3
1284 bool "Loongson 3 CPU"
1285 depends on SYS_HAS_CPU_LOONGSON3
1286 select CPU_SUPPORTS_64BIT_KERNEL
1287 select CPU_SUPPORTS_HIGHMEM
1288 select CPU_SUPPORTS_HUGEPAGES
1289 select WEAK_ORDERING
1290 select WEAK_REORDERING_BEYOND_LLSC
1291 help
1292 The Loongson 3 processor implements the MIPS64R2 instruction
1293 set with many extensions.
1294
1295 config CPU_LOONGSON2E
1296 bool "Loongson 2E"
1297 depends on SYS_HAS_CPU_LOONGSON2E
1298 select CPU_LOONGSON2
1299 help
1300 The Loongson 2E processor implements the MIPS III instruction set
1301 with many extensions.
1302
1303 It has an internal FPGA northbridge, which is compatible to
1304 bonito64.
1305
1306 config CPU_LOONGSON2F
1307 bool "Loongson 2F"
1308 depends on SYS_HAS_CPU_LOONGSON2F
1309 select CPU_LOONGSON2
1310 select ARCH_REQUIRE_GPIOLIB
1311 help
1312 The Loongson 2F processor implements the MIPS III instruction set
1313 with many extensions.
1314
1315 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1316 have a similar programming interface with FPGA northbridge used in
1317 Loongson2E.
1318
1319 config CPU_LOONGSON1B
1320 bool "Loongson 1B"
1321 depends on SYS_HAS_CPU_LOONGSON1B
1322 select CPU_LOONGSON1
1323 help
1324 The Loongson 1B is a 32-bit SoC, which implements the MIPS32
1325 release 2 instruction set.
1326
1327 config CPU_MIPS32_R1
1328 bool "MIPS32 Release 1"
1329 depends on SYS_HAS_CPU_MIPS32_R1
1330 select CPU_HAS_PREFETCH
1331 select CPU_SUPPORTS_32BIT_KERNEL
1332 select CPU_SUPPORTS_HIGHMEM
1333 help
1334 Choose this option to build a kernel for release 1 or later of the
1335 MIPS32 architecture. Most modern embedded systems with a 32-bit
1336 MIPS processor are based on a MIPS32 processor. If you know the
1337 specific type of processor in your system, choose those that one
1338 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1339 Release 2 of the MIPS32 architecture is available since several
1340 years so chances are you even have a MIPS32 Release 2 processor
1341 in which case you should choose CPU_MIPS32_R2 instead for better
1342 performance.
1343
1344 config CPU_MIPS32_R2
1345 bool "MIPS32 Release 2"
1346 depends on SYS_HAS_CPU_MIPS32_R2
1347 select CPU_HAS_PREFETCH
1348 select CPU_SUPPORTS_32BIT_KERNEL
1349 select CPU_SUPPORTS_HIGHMEM
1350 select CPU_SUPPORTS_MSA
1351 select HAVE_KVM
1352 help
1353 Choose this option to build a kernel for release 2 or later of the
1354 MIPS32 architecture. Most modern embedded systems with a 32-bit
1355 MIPS processor are based on a MIPS32 processor. If you know the
1356 specific type of processor in your system, choose those that one
1357 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1358
1359 config CPU_MIPS32_R6
1360 bool "MIPS32 Release 6 (EXPERIMENTAL)"
1361 depends on SYS_HAS_CPU_MIPS32_R6
1362 select CPU_HAS_PREFETCH
1363 select CPU_SUPPORTS_32BIT_KERNEL
1364 select CPU_SUPPORTS_HIGHMEM
1365 select CPU_SUPPORTS_MSA
1366 select GENERIC_CSUM
1367 select HAVE_KVM
1368 select MIPS_O32_FP64_SUPPORT
1369 help
1370 Choose this option to build a kernel for release 6 or later of the
1371 MIPS32 architecture. New MIPS processors, starting with the Warrior
1372 family, are based on a MIPS32r6 processor. If you own an older
1373 processor, you probably need to select MIPS32r1 or MIPS32r2 instead.
1374
1375 config CPU_MIPS64_R1
1376 bool "MIPS64 Release 1"
1377 depends on SYS_HAS_CPU_MIPS64_R1
1378 select CPU_HAS_PREFETCH
1379 select CPU_SUPPORTS_32BIT_KERNEL
1380 select CPU_SUPPORTS_64BIT_KERNEL
1381 select CPU_SUPPORTS_HIGHMEM
1382 select CPU_SUPPORTS_HUGEPAGES
1383 help
1384 Choose this option to build a kernel for release 1 or later of the
1385 MIPS64 architecture. Many modern embedded systems with a 64-bit
1386 MIPS processor are based on a MIPS64 processor. If you know the
1387 specific type of processor in your system, choose those that one
1388 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1389 Release 2 of the MIPS64 architecture is available since several
1390 years so chances are you even have a MIPS64 Release 2 processor
1391 in which case you should choose CPU_MIPS64_R2 instead for better
1392 performance.
1393
1394 config CPU_MIPS64_R2
1395 bool "MIPS64 Release 2"
1396 depends on SYS_HAS_CPU_MIPS64_R2
1397 select CPU_HAS_PREFETCH
1398 select CPU_SUPPORTS_32BIT_KERNEL
1399 select CPU_SUPPORTS_64BIT_KERNEL
1400 select CPU_SUPPORTS_HIGHMEM
1401 select CPU_SUPPORTS_HUGEPAGES
1402 select CPU_SUPPORTS_MSA
1403 help
1404 Choose this option to build a kernel for release 2 or later of the
1405 MIPS64 architecture. Many modern embedded systems with a 64-bit
1406 MIPS processor are based on a MIPS64 processor. If you know the
1407 specific type of processor in your system, choose those that one
1408 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1409
1410 config CPU_MIPS64_R6
1411 bool "MIPS64 Release 6 (EXPERIMENTAL)"
1412 depends on SYS_HAS_CPU_MIPS64_R6
1413 select CPU_HAS_PREFETCH
1414 select CPU_SUPPORTS_32BIT_KERNEL
1415 select CPU_SUPPORTS_64BIT_KERNEL
1416 select CPU_SUPPORTS_HIGHMEM
1417 select CPU_SUPPORTS_MSA
1418 select GENERIC_CSUM
1419 help
1420 Choose this option to build a kernel for release 6 or later of the
1421 MIPS64 architecture. New MIPS processors, starting with the Warrior
1422 family, are based on a MIPS64r6 processor. If you own an older
1423 processor, you probably need to select MIPS64r1 or MIPS64r2 instead.
1424
1425 config CPU_R3000
1426 bool "R3000"
1427 depends on SYS_HAS_CPU_R3000
1428 select CPU_HAS_WB
1429 select CPU_SUPPORTS_32BIT_KERNEL
1430 select CPU_SUPPORTS_HIGHMEM
1431 help
1432 Please make sure to pick the right CPU type. Linux/MIPS is not
1433 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1434 *not* work on R4000 machines and vice versa. However, since most
1435 of the supported machines have an R4000 (or similar) CPU, R4x00
1436 might be a safe bet. If the resulting kernel does not work,
1437 try to recompile with R3000.
1438
1439 config CPU_TX39XX
1440 bool "R39XX"
1441 depends on SYS_HAS_CPU_TX39XX
1442 select CPU_SUPPORTS_32BIT_KERNEL
1443
1444 config CPU_VR41XX
1445 bool "R41xx"
1446 depends on SYS_HAS_CPU_VR41XX
1447 select CPU_SUPPORTS_32BIT_KERNEL
1448 select CPU_SUPPORTS_64BIT_KERNEL
1449 help
1450 The options selects support for the NEC VR4100 series of processors.
1451 Only choose this option if you have one of these processors as a
1452 kernel built with this option will not run on any other type of
1453 processor or vice versa.
1454
1455 config CPU_R4300
1456 bool "R4300"
1457 depends on SYS_HAS_CPU_R4300
1458 select CPU_SUPPORTS_32BIT_KERNEL
1459 select CPU_SUPPORTS_64BIT_KERNEL
1460 help
1461 MIPS Technologies R4300-series processors.
1462
1463 config CPU_R4X00
1464 bool "R4x00"
1465 depends on SYS_HAS_CPU_R4X00
1466 select CPU_SUPPORTS_32BIT_KERNEL
1467 select CPU_SUPPORTS_64BIT_KERNEL
1468 select CPU_SUPPORTS_HUGEPAGES
1469 help
1470 MIPS Technologies R4000-series processors other than 4300, including
1471 the R4000, R4400, R4600, and 4700.
1472
1473 config CPU_TX49XX
1474 bool "R49XX"
1475 depends on SYS_HAS_CPU_TX49XX
1476 select CPU_HAS_PREFETCH
1477 select CPU_SUPPORTS_32BIT_KERNEL
1478 select CPU_SUPPORTS_64BIT_KERNEL
1479 select CPU_SUPPORTS_HUGEPAGES
1480
1481 config CPU_R5000
1482 bool "R5000"
1483 depends on SYS_HAS_CPU_R5000
1484 select CPU_SUPPORTS_32BIT_KERNEL
1485 select CPU_SUPPORTS_64BIT_KERNEL
1486 select CPU_SUPPORTS_HUGEPAGES
1487 help
1488 MIPS Technologies R5000-series processors other than the Nevada.
1489
1490 config CPU_R5432
1491 bool "R5432"
1492 depends on SYS_HAS_CPU_R5432
1493 select CPU_SUPPORTS_32BIT_KERNEL
1494 select CPU_SUPPORTS_64BIT_KERNEL
1495 select CPU_SUPPORTS_HUGEPAGES
1496
1497 config CPU_R5500
1498 bool "R5500"
1499 depends on SYS_HAS_CPU_R5500
1500 select CPU_SUPPORTS_32BIT_KERNEL
1501 select CPU_SUPPORTS_64BIT_KERNEL
1502 select CPU_SUPPORTS_HUGEPAGES
1503 help
1504 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1505 instruction set.
1506
1507 config CPU_R6000
1508 bool "R6000"
1509 depends on SYS_HAS_CPU_R6000
1510 select CPU_SUPPORTS_32BIT_KERNEL
1511 help
1512 MIPS Technologies R6000 and R6000A series processors. Note these
1513 processors are extremely rare and the support for them is incomplete.
1514
1515 config CPU_NEVADA
1516 bool "RM52xx"
1517 depends on SYS_HAS_CPU_NEVADA
1518 select CPU_SUPPORTS_32BIT_KERNEL
1519 select CPU_SUPPORTS_64BIT_KERNEL
1520 select CPU_SUPPORTS_HUGEPAGES
1521 help
1522 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1523
1524 config CPU_R8000
1525 bool "R8000"
1526 depends on SYS_HAS_CPU_R8000
1527 select CPU_HAS_PREFETCH
1528 select CPU_SUPPORTS_64BIT_KERNEL
1529 help
1530 MIPS Technologies R8000 processors. Note these processors are
1531 uncommon and the support for them is incomplete.
1532
1533 config CPU_R10000
1534 bool "R10000"
1535 depends on SYS_HAS_CPU_R10000
1536 select CPU_HAS_PREFETCH
1537 select CPU_SUPPORTS_32BIT_KERNEL
1538 select CPU_SUPPORTS_64BIT_KERNEL
1539 select CPU_SUPPORTS_HIGHMEM
1540 select CPU_SUPPORTS_HUGEPAGES
1541 help
1542 MIPS Technologies R10000-series processors.
1543
1544 config CPU_RM7000
1545 bool "RM7000"
1546 depends on SYS_HAS_CPU_RM7000
1547 select CPU_HAS_PREFETCH
1548 select CPU_SUPPORTS_32BIT_KERNEL
1549 select CPU_SUPPORTS_64BIT_KERNEL
1550 select CPU_SUPPORTS_HIGHMEM
1551 select CPU_SUPPORTS_HUGEPAGES
1552
1553 config CPU_SB1
1554 bool "SB1"
1555 depends on SYS_HAS_CPU_SB1
1556 select CPU_SUPPORTS_32BIT_KERNEL
1557 select CPU_SUPPORTS_64BIT_KERNEL
1558 select CPU_SUPPORTS_HIGHMEM
1559 select CPU_SUPPORTS_HUGEPAGES
1560 select WEAK_ORDERING
1561
1562 config CPU_CAVIUM_OCTEON
1563 bool "Cavium Octeon processor"
1564 depends on SYS_HAS_CPU_CAVIUM_OCTEON
1565 select CPU_HAS_PREFETCH
1566 select CPU_SUPPORTS_64BIT_KERNEL
1567 select WEAK_ORDERING
1568 select CPU_SUPPORTS_HIGHMEM
1569 select CPU_SUPPORTS_HUGEPAGES
1570 select USB_EHCI_BIG_ENDIAN_MMIO
1571 select MIPS_L1_CACHE_SHIFT_7
1572 help
1573 The Cavium Octeon processor is a highly integrated chip containing
1574 many ethernet hardware widgets for networking tasks. The processor
1575 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1576 Full details can be found at http://www.caviumnetworks.com.
1577
1578 config CPU_BMIPS
1579 bool "Broadcom BMIPS"
1580 depends on SYS_HAS_CPU_BMIPS
1581 select CPU_MIPS32
1582 select CPU_BMIPS32_3300 if SYS_HAS_CPU_BMIPS32_3300
1583 select CPU_BMIPS4350 if SYS_HAS_CPU_BMIPS4350
1584 select CPU_BMIPS4380 if SYS_HAS_CPU_BMIPS4380
1585 select CPU_BMIPS5000 if SYS_HAS_CPU_BMIPS5000
1586 select CPU_SUPPORTS_32BIT_KERNEL
1587 select DMA_NONCOHERENT
1588 select IRQ_CPU
1589 select SWAP_IO_SPACE
1590 select WEAK_ORDERING
1591 select CPU_SUPPORTS_HIGHMEM
1592 select CPU_HAS_PREFETCH
1593 help
1594 Support for BMIPS32/3300/4350/4380 and BMIPS5000 processors.
1595
1596 config CPU_XLR
1597 bool "Netlogic XLR SoC"
1598 depends on SYS_HAS_CPU_XLR
1599 select CPU_SUPPORTS_32BIT_KERNEL
1600 select CPU_SUPPORTS_64BIT_KERNEL
1601 select CPU_SUPPORTS_HIGHMEM
1602 select CPU_SUPPORTS_HUGEPAGES
1603 select WEAK_ORDERING
1604 select WEAK_REORDERING_BEYOND_LLSC
1605 help
1606 Netlogic Microsystems XLR/XLS processors.
1607
1608 config CPU_XLP
1609 bool "Netlogic XLP SoC"
1610 depends on SYS_HAS_CPU_XLP
1611 select CPU_SUPPORTS_32BIT_KERNEL
1612 select CPU_SUPPORTS_64BIT_KERNEL
1613 select CPU_SUPPORTS_HIGHMEM
1614 select WEAK_ORDERING
1615 select WEAK_REORDERING_BEYOND_LLSC
1616 select CPU_HAS_PREFETCH
1617 select CPU_MIPSR2
1618 select CPU_SUPPORTS_HUGEPAGES
1619 help
1620 Netlogic Microsystems XLP processors.
1621 endchoice
1622
1623 config CPU_MIPS32_3_5_FEATURES
1624 bool "MIPS32 Release 3.5 Features"
1625 depends on SYS_HAS_CPU_MIPS32_R3_5
1626 depends on CPU_MIPS32_R2 || CPU_MIPS32_R6
1627 help
1628 Choose this option to build a kernel for release 2 or later of the
1629 MIPS32 architecture including features from the 3.5 release such as
1630 support for Enhanced Virtual Addressing (EVA).
1631
1632 config CPU_MIPS32_3_5_EVA
1633 bool "Enhanced Virtual Addressing (EVA)"
1634 depends on CPU_MIPS32_3_5_FEATURES
1635 select EVA
1636 default y
1637 help
1638 Choose this option if you want to enable the Enhanced Virtual
1639 Addressing (EVA) on your MIPS32 core (such as proAptiv).
1640 One of its primary benefits is an increase in the maximum size
1641 of lowmem (up to 3GB). If unsure, say 'N' here.
1642
1643 config CPU_MIPS32_R5_FEATURES
1644 bool "MIPS32 Release 5 Features"
1645 depends on SYS_HAS_CPU_MIPS32_R5
1646 depends on CPU_MIPS32_R2
1647 help
1648 Choose this option to build a kernel for release 2 or later of the
1649 MIPS32 architecture including features from release 5 such as
1650 support for Extended Physical Addressing (XPA).
1651
1652 config CPU_MIPS32_R5_XPA
1653 bool "Extended Physical Addressing (XPA)"
1654 depends on CPU_MIPS32_R5_FEATURES
1655 depends on !EVA
1656 depends on !PAGE_SIZE_4KB
1657 depends on SYS_SUPPORTS_HIGHMEM
1658 select XPA
1659 select HIGHMEM
1660 select ARCH_PHYS_ADDR_T_64BIT
1661 default n
1662 help
1663 Choose this option if you want to enable the Extended Physical
1664 Addressing (XPA) on your MIPS32 core (such as P5600 series). The
1665 benefit is to increase physical addressing equal to or greater
1666 than 40 bits. Note that this has the side effect of turning on
1667 64-bit addressing which in turn makes the PTEs 64-bit in size.
1668 If unsure, say 'N' here.
1669
1670 if CPU_LOONGSON2F
1671 config CPU_NOP_WORKAROUNDS
1672 bool
1673
1674 config CPU_JUMP_WORKAROUNDS
1675 bool
1676
1677 config CPU_LOONGSON2F_WORKAROUNDS
1678 bool "Loongson 2F Workarounds"
1679 default y
1680 select CPU_NOP_WORKAROUNDS
1681 select CPU_JUMP_WORKAROUNDS
1682 help
1683 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1684 require workarounds. Without workarounds the system may hang
1685 unexpectedly. For more information please refer to the gas
1686 -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1687
1688 Loongson 2F03 and later have fixed these issues and no workarounds
1689 are needed. The workarounds have no significant side effect on them
1690 but may decrease the performance of the system so this option should
1691 be disabled unless the kernel is intended to be run on 2F01 or 2F02
1692 systems.
1693
1694 If unsure, please say Y.
1695 endif # CPU_LOONGSON2F
1696
1697 config SYS_SUPPORTS_ZBOOT
1698 bool
1699 select HAVE_KERNEL_GZIP
1700 select HAVE_KERNEL_BZIP2
1701 select HAVE_KERNEL_LZ4
1702 select HAVE_KERNEL_LZMA
1703 select HAVE_KERNEL_LZO
1704 select HAVE_KERNEL_XZ
1705
1706 config SYS_SUPPORTS_ZBOOT_UART16550
1707 bool
1708 select SYS_SUPPORTS_ZBOOT
1709
1710 config CPU_LOONGSON2
1711 bool
1712 select CPU_SUPPORTS_32BIT_KERNEL
1713 select CPU_SUPPORTS_64BIT_KERNEL
1714 select CPU_SUPPORTS_HIGHMEM
1715 select CPU_SUPPORTS_HUGEPAGES
1716
1717 config CPU_LOONGSON1
1718 bool
1719 select CPU_MIPS32
1720 select CPU_MIPSR2
1721 select CPU_HAS_PREFETCH
1722 select CPU_SUPPORTS_32BIT_KERNEL
1723 select CPU_SUPPORTS_HIGHMEM
1724 select CPU_SUPPORTS_CPUFREQ
1725
1726 config CPU_BMIPS32_3300
1727 select SMP_UP if SMP
1728 bool
1729
1730 config CPU_BMIPS4350
1731 bool
1732 select SYS_SUPPORTS_SMP
1733 select SYS_SUPPORTS_HOTPLUG_CPU
1734
1735 config CPU_BMIPS4380
1736 bool
1737 select MIPS_L1_CACHE_SHIFT_6
1738 select SYS_SUPPORTS_SMP
1739 select SYS_SUPPORTS_HOTPLUG_CPU
1740
1741 config CPU_BMIPS5000
1742 bool
1743 select MIPS_CPU_SCACHE
1744 select MIPS_L1_CACHE_SHIFT_7
1745 select SYS_SUPPORTS_SMP
1746 select SYS_SUPPORTS_HOTPLUG_CPU
1747
1748 config SYS_HAS_CPU_LOONGSON3
1749 bool
1750 select CPU_SUPPORTS_CPUFREQ
1751
1752 config SYS_HAS_CPU_LOONGSON2E
1753 bool
1754
1755 config SYS_HAS_CPU_LOONGSON2F
1756 bool
1757 select CPU_SUPPORTS_CPUFREQ
1758 select CPU_SUPPORTS_ADDRWINCFG if 64BIT
1759 select CPU_SUPPORTS_UNCACHED_ACCELERATED
1760
1761 config SYS_HAS_CPU_LOONGSON1B
1762 bool
1763
1764 config SYS_HAS_CPU_MIPS32_R1
1765 bool
1766
1767 config SYS_HAS_CPU_MIPS32_R2
1768 bool
1769
1770 config SYS_HAS_CPU_MIPS32_R3_5
1771 bool
1772
1773 config SYS_HAS_CPU_MIPS32_R5
1774 bool
1775
1776 config SYS_HAS_CPU_MIPS32_R6
1777 bool
1778
1779 config SYS_HAS_CPU_MIPS64_R1
1780 bool
1781
1782 config SYS_HAS_CPU_MIPS64_R2
1783 bool
1784
1785 config SYS_HAS_CPU_MIPS64_R6
1786 bool
1787
1788 config SYS_HAS_CPU_R3000
1789 bool
1790
1791 config SYS_HAS_CPU_TX39XX
1792 bool
1793
1794 config SYS_HAS_CPU_VR41XX
1795 bool
1796
1797 config SYS_HAS_CPU_R4300
1798 bool
1799
1800 config SYS_HAS_CPU_R4X00
1801 bool
1802
1803 config SYS_HAS_CPU_TX49XX
1804 bool
1805
1806 config SYS_HAS_CPU_R5000
1807 bool
1808
1809 config SYS_HAS_CPU_R5432
1810 bool
1811
1812 config SYS_HAS_CPU_R5500
1813 bool
1814
1815 config SYS_HAS_CPU_R6000
1816 bool
1817
1818 config SYS_HAS_CPU_NEVADA
1819 bool
1820
1821 config SYS_HAS_CPU_R8000
1822 bool
1823
1824 config SYS_HAS_CPU_R10000
1825 bool
1826
1827 config SYS_HAS_CPU_RM7000
1828 bool
1829
1830 config SYS_HAS_CPU_SB1
1831 bool
1832
1833 config SYS_HAS_CPU_CAVIUM_OCTEON
1834 bool
1835
1836 config SYS_HAS_CPU_BMIPS
1837 bool
1838
1839 config SYS_HAS_CPU_BMIPS32_3300
1840 bool
1841 select SYS_HAS_CPU_BMIPS
1842
1843 config SYS_HAS_CPU_BMIPS4350
1844 bool
1845 select SYS_HAS_CPU_BMIPS
1846
1847 config SYS_HAS_CPU_BMIPS4380
1848 bool
1849 select SYS_HAS_CPU_BMIPS
1850
1851 config SYS_HAS_CPU_BMIPS5000
1852 bool
1853 select SYS_HAS_CPU_BMIPS
1854
1855 config SYS_HAS_CPU_XLR
1856 bool
1857
1858 config SYS_HAS_CPU_XLP
1859 bool
1860
1861 config MIPS_MALTA_PM
1862 depends on MIPS_MALTA
1863 depends on PCI
1864 bool
1865 default y
1866
1867 #
1868 # CPU may reorder R->R, R->W, W->R, W->W
1869 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1870 #
1871 config WEAK_ORDERING
1872 bool
1873
1874 #
1875 # CPU may reorder reads and writes beyond LL/SC
1876 # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1877 #
1878 config WEAK_REORDERING_BEYOND_LLSC
1879 bool
1880 endmenu
1881
1882 #
1883 # These two indicate any level of the MIPS32 and MIPS64 architecture
1884 #
1885 config CPU_MIPS32
1886 bool
1887 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
1888
1889 config CPU_MIPS64
1890 bool
1891 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
1892
1893 #
1894 # These two indicate the revision of the architecture, either Release 1 or Release 2
1895 #
1896 config CPU_MIPSR1
1897 bool
1898 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1899
1900 config CPU_MIPSR2
1901 bool
1902 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1903 select MIPS_SPRAM
1904
1905 config CPU_MIPSR6
1906 bool
1907 default y if CPU_MIPS32_R6 || CPU_MIPS64_R6
1908 select MIPS_SPRAM
1909
1910 config EVA
1911 bool
1912
1913 config XPA
1914 bool
1915
1916 config SYS_SUPPORTS_32BIT_KERNEL
1917 bool
1918 config SYS_SUPPORTS_64BIT_KERNEL
1919 bool
1920 config CPU_SUPPORTS_32BIT_KERNEL
1921 bool
1922 config CPU_SUPPORTS_64BIT_KERNEL
1923 bool
1924 config CPU_SUPPORTS_CPUFREQ
1925 bool
1926 config CPU_SUPPORTS_ADDRWINCFG
1927 bool
1928 config CPU_SUPPORTS_HUGEPAGES
1929 bool
1930 config CPU_SUPPORTS_UNCACHED_ACCELERATED
1931 bool
1932 config MIPS_PGD_C0_CONTEXT
1933 bool
1934 default y if 64BIT && CPU_MIPSR2 && !CPU_XLP
1935
1936 #
1937 # Set to y for ptrace access to watch registers.
1938 #
1939 config HARDWARE_WATCHPOINTS
1940 bool
1941 default y if CPU_MIPSR1 || CPU_MIPSR2
1942
1943 menu "Kernel type"
1944
1945 choice
1946 prompt "Kernel code model"
1947 help
1948 You should only select this option if you have a workload that
1949 actually benefits from 64-bit processing or if your machine has
1950 large memory. You will only be presented a single option in this
1951 menu if your system does not support both 32-bit and 64-bit kernels.
1952
1953 config 32BIT
1954 bool "32-bit kernel"
1955 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1956 select TRAD_SIGNALS
1957 help
1958 Select this option if you want to build a 32-bit kernel.
1959 config 64BIT
1960 bool "64-bit kernel"
1961 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1962 help
1963 Select this option if you want to build a 64-bit kernel.
1964
1965 endchoice
1966
1967 config KVM_GUEST
1968 bool "KVM Guest Kernel"
1969 depends on BROKEN_ON_SMP
1970 help
1971 Select this option if building a guest kernel for KVM (Trap & Emulate) mode
1972
1973 config KVM_GUEST_TIMER_FREQ
1974 int "Count/Compare Timer Frequency (MHz)"
1975 depends on KVM_GUEST
1976 default 100
1977 help
1978 Set this to non-zero if building a guest kernel for KVM to skip RTC
1979 emulation when determining guest CPU Frequency. Instead, the guest's
1980 timer frequency is specified directly.
1981
1982 choice
1983 prompt "Kernel page size"
1984 default PAGE_SIZE_4KB
1985
1986 config PAGE_SIZE_4KB
1987 bool "4kB"
1988 depends on !CPU_LOONGSON2 && !CPU_LOONGSON3
1989 help
1990 This option select the standard 4kB Linux page size. On some
1991 R3000-family processors this is the only available page size. Using
1992 4kB page size will minimize memory consumption and is therefore
1993 recommended for low memory systems.
1994
1995 config PAGE_SIZE_8KB
1996 bool "8kB"
1997 depends on CPU_R8000 || CPU_CAVIUM_OCTEON
1998 help
1999 Using 8kB page size will result in higher performance kernel at
2000 the price of higher memory consumption. This option is available
2001 only on R8000 and cnMIPS processors. Note that you will need a
2002 suitable Linux distribution to support this.
2003
2004 config PAGE_SIZE_16KB
2005 bool "16kB"
2006 depends on !CPU_R3000 && !CPU_TX39XX
2007 help
2008 Using 16kB page size will result in higher performance kernel at
2009 the price of higher memory consumption. This option is available on
2010 all non-R3000 family processors. Note that you will need a suitable
2011 Linux distribution to support this.
2012
2013 config PAGE_SIZE_32KB
2014 bool "32kB"
2015 depends on CPU_CAVIUM_OCTEON
2016 help
2017 Using 32kB page size will result in higher performance kernel at
2018 the price of higher memory consumption. This option is available
2019 only on cnMIPS cores. Note that you will need a suitable Linux
2020 distribution to support this.
2021
2022 config PAGE_SIZE_64KB
2023 bool "64kB"
2024 depends on !CPU_R3000 && !CPU_TX39XX
2025 help
2026 Using 64kB page size will result in higher performance kernel at
2027 the price of higher memory consumption. This option is available on
2028 all non-R3000 family processor. Not that at the time of this
2029 writing this option is still high experimental.
2030
2031 endchoice
2032
2033 config FORCE_MAX_ZONEORDER
2034 int "Maximum zone order"
2035 range 14 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB
2036 default "14" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB
2037 range 13 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB
2038 default "13" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB
2039 range 12 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB
2040 default "12" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB
2041 range 11 64
2042 default "11"
2043 help
2044 The kernel memory allocator divides physically contiguous memory
2045 blocks into "zones", where each zone is a power of two number of
2046 pages. This option selects the largest power of two that the kernel
2047 keeps in the memory allocator. If you need to allocate very large
2048 blocks of physically contiguous memory, then you may need to
2049 increase this value.
2050
2051 This config option is actually maximum order plus one. For example,
2052 a value of 11 means that the largest free memory block is 2^10 pages.
2053
2054 The page size is not necessarily 4KB. Keep this in mind
2055 when choosing a value for this option.
2056
2057 config BOARD_SCACHE
2058 bool
2059
2060 config IP22_CPU_SCACHE
2061 bool
2062 select BOARD_SCACHE
2063
2064 #
2065 # Support for a MIPS32 / MIPS64 style S-caches
2066 #
2067 config MIPS_CPU_SCACHE
2068 bool
2069 select BOARD_SCACHE
2070
2071 config R5000_CPU_SCACHE
2072 bool
2073 select BOARD_SCACHE
2074
2075 config RM7000_CPU_SCACHE
2076 bool
2077 select BOARD_SCACHE
2078
2079 config SIBYTE_DMA_PAGEOPS
2080 bool "Use DMA to clear/copy pages"
2081 depends on CPU_SB1
2082 help
2083 Instead of using the CPU to zero and copy pages, use a Data Mover
2084 channel. These DMA channels are otherwise unused by the standard
2085 SiByte Linux port. Seems to give a small performance benefit.
2086
2087 config CPU_HAS_PREFETCH
2088 bool
2089
2090 config CPU_GENERIC_DUMP_TLB
2091 bool
2092 default y if !(CPU_R3000 || CPU_R6000 || CPU_R8000 || CPU_TX39XX)
2093
2094 config CPU_R4K_FPU
2095 bool
2096 default y if !(CPU_R3000 || CPU_R6000 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
2097
2098 config CPU_R4K_CACHE_TLB
2099 bool
2100 default y if !(CPU_R3000 || CPU_R8000 || CPU_SB1 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
2101
2102 config MIPS_MT_SMP
2103 bool "MIPS MT SMP support (1 TC on each available VPE)"
2104 depends on SYS_SUPPORTS_MULTITHREADING
2105 select CPU_MIPSR2_IRQ_VI
2106 select CPU_MIPSR2_IRQ_EI
2107 select SYNC_R4K
2108 select MIPS_GIC_IPI
2109 select MIPS_MT
2110 select SMP
2111 select SMP_UP
2112 select SYS_SUPPORTS_SMP
2113 select SYS_SUPPORTS_SCHED_SMT
2114 select MIPS_PERF_SHARED_TC_COUNTERS
2115 help
2116 This is a kernel model which is known as SMVP. This is supported
2117 on cores with the MT ASE and uses the available VPEs to implement
2118 virtual processors which supports SMP. This is equivalent to the
2119 Intel Hyperthreading feature. For further information go to
2120 <http://www.imgtec.com/mips/mips-multithreading.asp>.
2121
2122 config MIPS_MT
2123 bool
2124
2125 config SCHED_SMT
2126 bool "SMT (multithreading) scheduler support"
2127 depends on SYS_SUPPORTS_SCHED_SMT
2128 default n
2129 help
2130 SMT scheduler support improves the CPU scheduler's decision making
2131 when dealing with MIPS MT enabled cores at a cost of slightly
2132 increased overhead in some places. If unsure say N here.
2133
2134 config SYS_SUPPORTS_SCHED_SMT
2135 bool
2136
2137 config SYS_SUPPORTS_MULTITHREADING
2138 bool
2139
2140 config MIPS_MT_FPAFF
2141 bool "Dynamic FPU affinity for FP-intensive threads"
2142 default y
2143 depends on MIPS_MT_SMP
2144
2145 config MIPSR2_TO_R6_EMULATOR
2146 bool "MIPS R2-to-R6 emulator"
2147 depends on CPU_MIPSR6 && !SMP
2148 default y
2149 help
2150 Choose this option if you want to run non-R6 MIPS userland code.
2151 Even if you say 'Y' here, the emulator will still be disabled by
2152 default. You can enable it using the 'mipsr2emu' kernel option.
2153 The only reason this is a build-time option is to save ~14K from the
2154 final kernel image.
2155 comment "MIPS R2-to-R6 emulator is only available for UP kernels"
2156 depends on SMP && CPU_MIPSR6
2157
2158 config MIPS_VPE_LOADER
2159 bool "VPE loader support."
2160 depends on SYS_SUPPORTS_MULTITHREADING && MODULES
2161 select CPU_MIPSR2_IRQ_VI
2162 select CPU_MIPSR2_IRQ_EI
2163 select MIPS_MT
2164 help
2165 Includes a loader for loading an elf relocatable object
2166 onto another VPE and running it.
2167
2168 config MIPS_VPE_LOADER_CMP
2169 bool
2170 default "y"
2171 depends on MIPS_VPE_LOADER && MIPS_CMP
2172
2173 config MIPS_VPE_LOADER_MT
2174 bool
2175 default "y"
2176 depends on MIPS_VPE_LOADER && !MIPS_CMP
2177
2178 config MIPS_VPE_LOADER_TOM
2179 bool "Load VPE program into memory hidden from linux"
2180 depends on MIPS_VPE_LOADER
2181 default y
2182 help
2183 The loader can use memory that is present but has been hidden from
2184 Linux using the kernel command line option "mem=xxMB". It's up to
2185 you to ensure the amount you put in the option and the space your
2186 program requires is less or equal to the amount physically present.
2187
2188 config MIPS_VPE_APSP_API
2189 bool "Enable support for AP/SP API (RTLX)"
2190 depends on MIPS_VPE_LOADER
2191 help
2192
2193 config MIPS_VPE_APSP_API_CMP
2194 bool
2195 default "y"
2196 depends on MIPS_VPE_APSP_API && MIPS_CMP
2197
2198 config MIPS_VPE_APSP_API_MT
2199 bool
2200 default "y"
2201 depends on MIPS_VPE_APSP_API && !MIPS_CMP
2202
2203 config MIPS_CMP
2204 bool "MIPS CMP framework support (DEPRECATED)"
2205 depends on SYS_SUPPORTS_MIPS_CMP
2206 select MIPS_GIC_IPI
2207 select SMP
2208 select SYNC_R4K
2209 select SYS_SUPPORTS_SMP
2210 select WEAK_ORDERING
2211 default n
2212 help
2213 Select this if you are using a bootloader which implements the "CMP
2214 framework" protocol (ie. YAMON) and want your kernel to make use of
2215 its ability to start secondary CPUs.
2216
2217 Unless you have a specific need, you should use CONFIG_MIPS_CPS
2218 instead of this.
2219
2220 config MIPS_CPS
2221 bool "MIPS Coherent Processing System support"
2222 depends on SYS_SUPPORTS_MIPS_CPS && !64BIT
2223 select MIPS_CM
2224 select MIPS_CPC
2225 select MIPS_CPS_PM if HOTPLUG_CPU
2226 select MIPS_GIC_IPI
2227 select SMP
2228 select SYNC_R4K if (CEVT_R4K || CSRC_R4K)
2229 select SYS_SUPPORTS_HOTPLUG_CPU
2230 select SYS_SUPPORTS_SMP
2231 select WEAK_ORDERING
2232 help
2233 Select this if you wish to run an SMP kernel across multiple cores
2234 within a MIPS Coherent Processing System. When this option is
2235 enabled the kernel will probe for other cores and boot them with
2236 no external assistance. It is safe to enable this when hardware
2237 support is unavailable.
2238
2239 config MIPS_CPS_PM
2240 depends on MIPS_CPS
2241 select MIPS_CPC
2242 bool
2243
2244 config MIPS_GIC_IPI
2245 bool
2246
2247 config MIPS_CM
2248 bool
2249
2250 config MIPS_CPC
2251 bool
2252
2253 config SB1_PASS_1_WORKAROUNDS
2254 bool
2255 depends on CPU_SB1_PASS_1
2256 default y
2257
2258 config SB1_PASS_2_WORKAROUNDS
2259 bool
2260 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
2261 default y
2262
2263 config SB1_PASS_2_1_WORKAROUNDS
2264 bool
2265 depends on CPU_SB1 && CPU_SB1_PASS_2
2266 default y
2267
2268
2269 config ARCH_PHYS_ADDR_T_64BIT
2270 bool
2271
2272 choice
2273 prompt "SmartMIPS or microMIPS ASE support"
2274
2275 config CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS
2276 bool "None"
2277 help
2278 Select this if you want neither microMIPS nor SmartMIPS support
2279
2280 config CPU_HAS_SMARTMIPS
2281 depends on SYS_SUPPORTS_SMARTMIPS
2282 bool "SmartMIPS"
2283 help
2284 SmartMIPS is a extension of the MIPS32 architecture aimed at
2285 increased security at both hardware and software level for
2286 smartcards. Enabling this option will allow proper use of the
2287 SmartMIPS instructions by Linux applications. However a kernel with
2288 this option will not work on a MIPS core without SmartMIPS core. If
2289 you don't know you probably don't have SmartMIPS and should say N
2290 here.
2291
2292 config CPU_MICROMIPS
2293 depends on 32BIT && SYS_SUPPORTS_MICROMIPS && !CPU_MIPSR6
2294 bool "microMIPS"
2295 help
2296 When this option is enabled the kernel will be built using the
2297 microMIPS ISA
2298
2299 endchoice
2300
2301 config CPU_HAS_MSA
2302 bool "Support for the MIPS SIMD Architecture (EXPERIMENTAL)"
2303 depends on CPU_SUPPORTS_MSA
2304 depends on 64BIT || MIPS_O32_FP64_SUPPORT
2305 help
2306 MIPS SIMD Architecture (MSA) introduces 128 bit wide vector registers
2307 and a set of SIMD instructions to operate on them. When this option
2308 is enabled the kernel will support allocating & switching MSA
2309 vector register contexts. If you know that your kernel will only be
2310 running on CPUs which do not support MSA or that your userland will
2311 not be making use of it then you may wish to say N here to reduce
2312 the size & complexity of your kernel.
2313
2314 If unsure, say Y.
2315
2316 config CPU_HAS_WB
2317 bool
2318
2319 config XKS01
2320 bool
2321
2322 #
2323 # Vectored interrupt mode is an R2 feature
2324 #
2325 config CPU_MIPSR2_IRQ_VI
2326 bool
2327
2328 #
2329 # Extended interrupt mode is an R2 feature
2330 #
2331 config CPU_MIPSR2_IRQ_EI
2332 bool
2333
2334 config CPU_HAS_SYNC
2335 bool
2336 depends on !CPU_R3000
2337 default y
2338
2339 #
2340 # CPU non-features
2341 #
2342 config CPU_DADDI_WORKAROUNDS
2343 bool
2344
2345 config CPU_R4000_WORKAROUNDS
2346 bool
2347 select CPU_R4400_WORKAROUNDS
2348
2349 config CPU_R4400_WORKAROUNDS
2350 bool
2351
2352 #
2353 # - Highmem only makes sense for the 32-bit kernel.
2354 # - The current highmem code will only work properly on physically indexed
2355 # caches such as R3000, SB1, R7000 or those that look like they're virtually
2356 # indexed such as R4000/R4400 SC and MC versions or R10000. So for the
2357 # moment we protect the user and offer the highmem option only on machines
2358 # where it's known to be safe. This will not offer highmem on a few systems
2359 # such as MIPS32 and MIPS64 CPUs which may have virtual and physically
2360 # indexed CPUs but we're playing safe.
2361 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
2362 # know they might have memory configurations that could make use of highmem
2363 # support.
2364 #
2365 config HIGHMEM
2366 bool "High Memory Support"
2367 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM && !CPU_MIPS32_3_5_EVA
2368
2369 config CPU_SUPPORTS_HIGHMEM
2370 bool
2371
2372 config SYS_SUPPORTS_HIGHMEM
2373 bool
2374
2375 config SYS_SUPPORTS_SMARTMIPS
2376 bool
2377
2378 config SYS_SUPPORTS_MICROMIPS
2379 bool
2380
2381 config SYS_SUPPORTS_MIPS16
2382 bool
2383 help
2384 This option must be set if a kernel might be executed on a MIPS16-
2385 enabled CPU even if MIPS16 is not actually being used. In other
2386 words, it makes the kernel MIPS16-tolerant.
2387
2388 config CPU_SUPPORTS_MSA
2389 bool
2390
2391 config ARCH_FLATMEM_ENABLE
2392 def_bool y
2393 depends on !NUMA && !CPU_LOONGSON2
2394
2395 config ARCH_DISCONTIGMEM_ENABLE
2396 bool
2397 default y if SGI_IP27
2398 help
2399 Say Y to support efficient handling of discontiguous physical memory,
2400 for architectures which are either NUMA (Non-Uniform Memory Access)
2401 or have huge holes in the physical address space for other reasons.
2402 See <file:Documentation/vm/numa> for more.
2403
2404 config ARCH_SPARSEMEM_ENABLE
2405 bool
2406 select SPARSEMEM_STATIC
2407
2408 config NUMA
2409 bool "NUMA Support"
2410 depends on SYS_SUPPORTS_NUMA
2411 help
2412 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
2413 Access). This option improves performance on systems with more
2414 than two nodes; on two node systems it is generally better to
2415 leave it disabled; on single node systems disable this option
2416 disabled.
2417
2418 config SYS_SUPPORTS_NUMA
2419 bool
2420
2421 config NODES_SHIFT
2422 int
2423 default "6"
2424 depends on NEED_MULTIPLE_NODES
2425
2426 config HW_PERF_EVENTS
2427 bool "Enable hardware performance counter support for perf events"
2428 depends on PERF_EVENTS && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP || CPU_LOONGSON3)
2429 default y
2430 help
2431 Enable hardware performance counter support for perf events. If
2432 disabled, perf events will use software events only.
2433
2434 source "mm/Kconfig"
2435
2436 config SMP
2437 bool "Multi-Processing support"
2438 depends on SYS_SUPPORTS_SMP
2439 help
2440 This enables support for systems with more than one CPU. If you have
2441 a system with only one CPU, say N. If you have a system with more
2442 than one CPU, say Y.
2443
2444 If you say N here, the kernel will run on uni- and multiprocessor
2445 machines, but will use only one CPU of a multiprocessor machine. If
2446 you say Y here, the kernel will run on many, but not all,
2447 uniprocessor machines. On a uniprocessor machine, the kernel
2448 will run faster if you say N here.
2449
2450 People using multiprocessor machines who say Y here should also say
2451 Y to "Enhanced Real Time Clock Support", below.
2452
2453 See also the SMP-HOWTO available at
2454 <http://www.tldp.org/docs.html#howto>.
2455
2456 If you don't know what to do here, say N.
2457
2458 config SMP_UP
2459 bool
2460
2461 config SYS_SUPPORTS_MIPS_CMP
2462 bool
2463
2464 config SYS_SUPPORTS_MIPS_CPS
2465 bool
2466
2467 config SYS_SUPPORTS_SMP
2468 bool
2469
2470 config NR_CPUS_DEFAULT_4
2471 bool
2472
2473 config NR_CPUS_DEFAULT_8
2474 bool
2475
2476 config NR_CPUS_DEFAULT_16
2477 bool
2478
2479 config NR_CPUS_DEFAULT_32
2480 bool
2481
2482 config NR_CPUS_DEFAULT_64
2483 bool
2484
2485 config NR_CPUS
2486 int "Maximum number of CPUs (2-256)"
2487 range 2 256
2488 depends on SMP
2489 default "4" if NR_CPUS_DEFAULT_4
2490 default "8" if NR_CPUS_DEFAULT_8
2491 default "16" if NR_CPUS_DEFAULT_16
2492 default "32" if NR_CPUS_DEFAULT_32
2493 default "64" if NR_CPUS_DEFAULT_64
2494 help
2495 This allows you to specify the maximum number of CPUs which this
2496 kernel will support. The maximum supported value is 32 for 32-bit
2497 kernel and 64 for 64-bit kernels; the minimum value which makes
2498 sense is 1 for Qemu (useful only for kernel debugging purposes)
2499 and 2 for all others.
2500
2501 This is purely to save memory - each supported CPU adds
2502 approximately eight kilobytes to the kernel image. For best
2503 performance should round up your number of processors to the next
2504 power of two.
2505
2506 config MIPS_PERF_SHARED_TC_COUNTERS
2507 bool
2508
2509 #
2510 # Timer Interrupt Frequency Configuration
2511 #
2512
2513 choice
2514 prompt "Timer frequency"
2515 default HZ_250
2516 help
2517 Allows the configuration of the timer frequency.
2518
2519 config HZ_48
2520 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
2521
2522 config HZ_100
2523 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
2524
2525 config HZ_128
2526 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
2527
2528 config HZ_250
2529 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
2530
2531 config HZ_256
2532 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
2533
2534 config HZ_1000
2535 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
2536
2537 config HZ_1024
2538 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2539
2540 endchoice
2541
2542 config SYS_SUPPORTS_48HZ
2543 bool
2544
2545 config SYS_SUPPORTS_100HZ
2546 bool
2547
2548 config SYS_SUPPORTS_128HZ
2549 bool
2550
2551 config SYS_SUPPORTS_250HZ
2552 bool
2553
2554 config SYS_SUPPORTS_256HZ
2555 bool
2556
2557 config SYS_SUPPORTS_1000HZ
2558 bool
2559
2560 config SYS_SUPPORTS_1024HZ
2561 bool
2562
2563 config SYS_SUPPORTS_ARBIT_HZ
2564 bool
2565 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2566 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2567 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2568 !SYS_SUPPORTS_1024HZ
2569
2570 config HZ
2571 int
2572 default 48 if HZ_48
2573 default 100 if HZ_100
2574 default 128 if HZ_128
2575 default 250 if HZ_250
2576 default 256 if HZ_256
2577 default 1000 if HZ_1000
2578 default 1024 if HZ_1024
2579
2580 config SCHED_HRTICK
2581 def_bool HIGH_RES_TIMERS
2582
2583 source "kernel/Kconfig.preempt"
2584
2585 config KEXEC
2586 bool "Kexec system call"
2587 help
2588 kexec is a system call that implements the ability to shutdown your
2589 current kernel, and to start another kernel. It is like a reboot
2590 but it is independent of the system firmware. And like a reboot
2591 you can start any kernel with it, not just Linux.
2592
2593 The name comes from the similarity to the exec system call.
2594
2595 It is an ongoing process to be certain the hardware in a machine
2596 is properly shutdown, so do not be surprised if this code does not
2597 initially work for you. As of this writing the exact hardware
2598 interface is strongly in flux, so no good recommendation can be
2599 made.
2600
2601 config CRASH_DUMP
2602 bool "Kernel crash dumps"
2603 help
2604 Generate crash dump after being started by kexec.
2605 This should be normally only set in special crash dump kernels
2606 which are loaded in the main kernel with kexec-tools into
2607 a specially reserved region and then later executed after
2608 a crash by kdump/kexec. The crash dump kernel must be compiled
2609 to a memory address not used by the main kernel or firmware using
2610 PHYSICAL_START.
2611
2612 config PHYSICAL_START
2613 hex "Physical address where the kernel is loaded"
2614 default "0xffffffff84000000" if 64BIT
2615 default "0x84000000" if 32BIT
2616 depends on CRASH_DUMP
2617 help
2618 This gives the CKSEG0 or KSEG0 address where the kernel is loaded.
2619 If you plan to use kernel for capturing the crash dump change
2620 this value to start of the reserved region (the "X" value as
2621 specified in the "crashkernel=YM@XM" command line boot parameter
2622 passed to the panic-ed kernel).
2623
2624 config SECCOMP
2625 bool "Enable seccomp to safely compute untrusted bytecode"
2626 depends on PROC_FS
2627 default y
2628 help
2629 This kernel feature is useful for number crunching applications
2630 that may need to compute untrusted bytecode during their
2631 execution. By using pipes or other transports made available to
2632 the process as file descriptors supporting the read/write
2633 syscalls, it's possible to isolate those applications in
2634 their own address space using seccomp. Once seccomp is
2635 enabled via /proc/<pid>/seccomp, it cannot be disabled
2636 and the task is only allowed to execute a few safe syscalls
2637 defined by each seccomp mode.
2638
2639 If unsure, say Y. Only embedded should say N here.
2640
2641 config MIPS_O32_FP64_SUPPORT
2642 bool "Support for O32 binaries using 64-bit FP (EXPERIMENTAL)"
2643 depends on 32BIT || MIPS32_O32
2644 help
2645 When this is enabled, the kernel will support use of 64-bit floating
2646 point registers with binaries using the O32 ABI along with the
2647 EF_MIPS_FP64 ELF header flag (typically built with -mfp64). On
2648 32-bit MIPS systems this support is at the cost of increasing the
2649 size and complexity of the compiled FPU emulator. Thus if you are
2650 running a MIPS32 system and know that none of your userland binaries
2651 will require 64-bit floating point, you may wish to reduce the size
2652 of your kernel & potentially improve FP emulation performance by
2653 saying N here.
2654
2655 Although binutils currently supports use of this flag the details
2656 concerning its effect upon the O32 ABI in userland are still being
2657 worked on. In order to avoid userland becoming dependant upon current
2658 behaviour before the details have been finalised, this option should
2659 be considered experimental and only enabled by those working upon
2660 said details.
2661
2662 If unsure, say N.
2663
2664 config USE_OF
2665 bool
2666 select OF
2667 select OF_EARLY_FLATTREE
2668 select IRQ_DOMAIN
2669
2670 config BUILTIN_DTB
2671 bool
2672
2673 endmenu
2674
2675 config LOCKDEP_SUPPORT
2676 bool
2677 default y
2678
2679 config STACKTRACE_SUPPORT
2680 bool
2681 default y
2682
2683 config PGTABLE_LEVELS
2684 int
2685 default 3 if 64BIT && !PAGE_SIZE_64KB
2686 default 2
2687
2688 source "init/Kconfig"
2689
2690 source "kernel/Kconfig.freezer"
2691
2692 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2693
2694 config HW_HAS_EISA
2695 bool
2696 config HW_HAS_PCI
2697 bool
2698
2699 config PCI
2700 bool "Support for PCI controller"
2701 depends on HW_HAS_PCI
2702 select PCI_DOMAINS
2703 select NO_GENERIC_PCI_IOPORT_MAP
2704 help
2705 Find out whether you have a PCI motherboard. PCI is the name of a
2706 bus system, i.e. the way the CPU talks to the other stuff inside
2707 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2708 say Y, otherwise N.
2709
2710 config HT_PCI
2711 bool "Support for HT-linked PCI"
2712 default y
2713 depends on CPU_LOONGSON3
2714 select PCI
2715 select PCI_DOMAINS
2716 help
2717 Loongson family machines use Hyper-Transport bus for inter-core
2718 connection and device connection. The PCI bus is a subordinate
2719 linked at HT. Choose Y for Loongson-3 based machines.
2720
2721 config PCI_DOMAINS
2722 bool
2723
2724 source "drivers/pci/Kconfig"
2725
2726 source "drivers/pci/pcie/Kconfig"
2727
2728 #
2729 # ISA support is now enabled via select. Too many systems still have the one
2730 # or other ISA chip on the board that users don't know about so don't expect
2731 # users to choose the right thing ...
2732 #
2733 config ISA
2734 bool
2735
2736 config EISA
2737 bool "EISA support"
2738 depends on HW_HAS_EISA
2739 select ISA
2740 select GENERIC_ISA_DMA
2741 ---help---
2742 The Extended Industry Standard Architecture (EISA) bus was
2743 developed as an open alternative to the IBM MicroChannel bus.
2744
2745 The EISA bus provided some of the features of the IBM MicroChannel
2746 bus while maintaining backward compatibility with cards made for
2747 the older ISA bus. The EISA bus saw limited use between 1988 and
2748 1995 when it was made obsolete by the PCI bus.
2749
2750 Say Y here if you are building a kernel for an EISA-based machine.
2751
2752 Otherwise, say N.
2753
2754 source "drivers/eisa/Kconfig"
2755
2756 config TC
2757 bool "TURBOchannel support"
2758 depends on MACH_DECSTATION
2759 help
2760 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2761 processors. TURBOchannel programming specifications are available
2762 at:
2763 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
2764 and:
2765 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
2766 Linux driver support status is documented at:
2767 <http://www.linux-mips.org/wiki/DECstation>
2768
2769 config MMU
2770 bool
2771 default y
2772
2773 config I8253
2774 bool
2775 select CLKSRC_I8253
2776 select CLKEVT_I8253
2777 select MIPS_EXTERNAL_TIMER
2778
2779 config ZONE_DMA
2780 bool
2781
2782 config ZONE_DMA32
2783 bool
2784
2785 source "drivers/pcmcia/Kconfig"
2786
2787 source "drivers/pci/hotplug/Kconfig"
2788
2789 config RAPIDIO
2790 tristate "RapidIO support"
2791 depends on PCI
2792 default n
2793 help
2794 If you say Y here, the kernel will include drivers and
2795 infrastructure code to support RapidIO interconnect devices.
2796
2797 source "drivers/rapidio/Kconfig"
2798
2799 endmenu
2800
2801 menu "Executable file formats"
2802
2803 source "fs/Kconfig.binfmt"
2804
2805 config TRAD_SIGNALS
2806 bool
2807
2808 config MIPS32_COMPAT
2809 bool
2810
2811 config COMPAT
2812 bool
2813
2814 config SYSVIPC_COMPAT
2815 bool
2816
2817 config MIPS32_O32
2818 bool "Kernel support for o32 binaries"
2819 depends on 64BIT
2820 select ARCH_WANT_OLD_COMPAT_IPC
2821 select COMPAT
2822 select MIPS32_COMPAT
2823 select SYSVIPC_COMPAT if SYSVIPC
2824 help
2825 Select this option if you want to run o32 binaries. These are pure
2826 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2827 existing binaries are in this format.
2828
2829 If unsure, say Y.
2830
2831 config MIPS32_N32
2832 bool "Kernel support for n32 binaries"
2833 depends on 64BIT
2834 select COMPAT
2835 select MIPS32_COMPAT
2836 select SYSVIPC_COMPAT if SYSVIPC
2837 help
2838 Select this option if you want to run n32 binaries. These are
2839 64-bit binaries using 32-bit quantities for addressing and certain
2840 data that would normally be 64-bit. They are used in special
2841 cases.
2842
2843 If unsure, say N.
2844
2845 config BINFMT_ELF32
2846 bool
2847 default y if MIPS32_O32 || MIPS32_N32
2848
2849 endmenu
2850
2851 menu "Power management options"
2852
2853 config ARCH_HIBERNATION_POSSIBLE
2854 def_bool y
2855 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2856
2857 config ARCH_SUSPEND_POSSIBLE
2858 def_bool y
2859 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2860
2861 source "kernel/power/Kconfig"
2862
2863 endmenu
2864
2865 config MIPS_EXTERNAL_TIMER
2866 bool
2867
2868 menu "CPU Power Management"
2869
2870 if CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER
2871 source "drivers/cpufreq/Kconfig"
2872 endif
2873
2874 source "drivers/cpuidle/Kconfig"
2875
2876 endmenu
2877
2878 source "net/Kconfig"
2879
2880 source "drivers/Kconfig"
2881
2882 source "drivers/firmware/Kconfig"
2883
2884 source "fs/Kconfig"
2885
2886 source "arch/mips/Kconfig.debug"
2887
2888 source "security/Kconfig"
2889
2890 source "crypto/Kconfig"
2891
2892 source "lib/Kconfig"
2893
2894 source "arch/mips/kvm/Kconfig"
This page took 0.162796 seconds and 5 git commands to generate.