source: src/linux/universal/linux-4.4/arch/mips/Kconfig @ 31859

Last change on this file since 31859 was 31859, checked in by brainslayer, 11 days ago

kernel update

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