3a83f2a1b240212108d48ec07ab3c5945393d6c4
[linux-drm-fsl-dcu.git] / arch / mips / Kconfig
1 config MIPS
2         bool
3         default y
4         select HAVE_IDE
5         select HAVE_OPROFILE
6         select HAVE_ARCH_KGDB
7         # Horrible source of confusion.  Die, die, die ...
8         select EMBEDDED
9         select RTC_LIB
10
11 mainmenu "Linux/MIPS Kernel Configuration"
12
13 menu "Machine selection"
14
15 config ZONE_DMA
16         bool
17
18 choice
19         prompt "System type"
20         default SGI_IP22
21
22 config MACH_ALCHEMY
23         bool "Alchemy processor based machines"
24
25 config BASLER_EXCITE
26         bool "Basler eXcite smart camera"
27         select CEVT_R4K
28         select CSRC_R4K
29         select DMA_COHERENT
30         select HW_HAS_PCI
31         select IRQ_CPU
32         select IRQ_CPU_RM7K
33         select IRQ_CPU_RM9K
34         select MIPS_RM9122
35         select SYS_HAS_CPU_RM9000
36         select SYS_SUPPORTS_32BIT_KERNEL
37         select SYS_SUPPORTS_BIG_ENDIAN
38         help
39           The eXcite is a smart camera platform manufactured by
40           Basler Vision Technologies AG.
41
42 config BCM47XX
43         bool "BCM47XX based boards"
44         select CEVT_R4K
45         select CSRC_R4K
46         select DMA_NONCOHERENT
47         select HW_HAS_PCI
48         select IRQ_CPU
49         select SYS_HAS_CPU_MIPS32_R1
50         select SYS_SUPPORTS_32BIT_KERNEL
51         select SYS_SUPPORTS_LITTLE_ENDIAN
52         select SSB
53         select SSB_DRIVER_MIPS
54         select SSB_DRIVER_EXTIF
55         select SSB_EMBEDDED
56         select SSB_PCICORE_HOSTMODE if PCI
57         select GENERIC_GPIO
58         select SYS_HAS_EARLY_PRINTK
59         select CFE
60         help
61          Support for BCM47XX based boards
62
63 config MIPS_COBALT
64         bool "Cobalt Server"
65         select CEVT_R4K
66         select CSRC_R4K
67         select CEVT_GT641XX
68         select DMA_NONCOHERENT
69         select HW_HAS_PCI
70         select I8253
71         select I8259
72         select IRQ_CPU
73         select IRQ_GT641XX
74         select PCI_GT64XXX_PCI0
75         select SYS_HAS_CPU_NEVADA
76         select SYS_HAS_EARLY_PRINTK
77         select SYS_SUPPORTS_32BIT_KERNEL
78         select SYS_SUPPORTS_64BIT_KERNEL
79         select SYS_SUPPORTS_LITTLE_ENDIAN
80         select GENERIC_HARDIRQS_NO__DO_IRQ
81
82 config MACH_DECSTATION
83         bool "DECstations"
84         select BOOT_ELF32
85         select CEVT_DS1287
86         select CEVT_R4K
87         select CSRC_IOASIC
88         select CSRC_R4K
89         select CPU_DADDI_WORKAROUNDS if 64BIT
90         select CPU_R4000_WORKAROUNDS if 64BIT
91         select CPU_R4400_WORKAROUNDS if 64BIT
92         select DMA_NONCOHERENT
93         select NO_IOPORT
94         select IRQ_CPU
95         select SYS_HAS_CPU_R3000
96         select SYS_HAS_CPU_R4X00
97         select SYS_SUPPORTS_32BIT_KERNEL
98         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
99         select SYS_SUPPORTS_LITTLE_ENDIAN
100         select SYS_SUPPORTS_128HZ
101         select SYS_SUPPORTS_256HZ
102         select SYS_SUPPORTS_1024HZ
103         help
104           This enables support for DEC's MIPS based workstations.  For details
105           see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
106           DECstation porting pages on <http://decstation.unix-ag.org/>.
107
108           If you have one of the following DECstation Models you definitely
109           want to choose R4xx0 for the CPU Type:
110
111                 DECstation 5000/50
112                 DECstation 5000/150
113                 DECstation 5000/260
114                 DECsystem 5900/260
115
116           otherwise choose R3000.
117
118 config MACH_JAZZ
119         bool "Jazz family of machines"
120         select ARC
121         select ARC32
122         select ARCH_MAY_HAVE_PC_FDC
123         select CEVT_R4K
124         select CSRC_R4K
125         select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
126         select GENERIC_ISA_DMA
127         select IRQ_CPU
128         select I8253
129         select I8259
130         select ISA
131         select SYS_HAS_CPU_R4X00
132         select SYS_SUPPORTS_32BIT_KERNEL
133         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
134         select SYS_SUPPORTS_100HZ
135         select GENERIC_HARDIRQS_NO__DO_IRQ
136         help
137          This a family of machines based on the MIPS R4030 chipset which was
138          used by several vendors to build RISC/os and Windows NT workstations.
139          Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
140          Olivetti M700-10 workstations.
141
142 config LASAT
143         bool "LASAT Networks platforms"
144         select CEVT_R4K
145         select CSRC_R4K
146         select DMA_NONCOHERENT
147         select SYS_HAS_EARLY_PRINTK
148         select HW_HAS_PCI
149         select IRQ_CPU
150         select PCI_GT64XXX_PCI0
151         select MIPS_NILE4
152         select R5000_CPU_SCACHE
153         select SYS_HAS_CPU_R5000
154         select SYS_SUPPORTS_32BIT_KERNEL
155         select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
156         select SYS_SUPPORTS_LITTLE_ENDIAN
157         select GENERIC_HARDIRQS_NO__DO_IRQ
158
159 config LEMOTE_FULONG
160         bool "Lemote Fulong mini-PC"
161         select ARCH_SPARSEMEM_ENABLE
162         select CEVT_R4K
163         select CSRC_R4K
164         select SYS_HAS_CPU_LOONGSON2
165         select DMA_NONCOHERENT
166         select BOOT_ELF32
167         select BOARD_SCACHE
168         select HAVE_STD_PC_SERIAL_PORT
169         select HW_HAS_PCI
170         select I8259
171         select ISA
172         select IRQ_CPU
173         select SYS_SUPPORTS_32BIT_KERNEL
174         select SYS_SUPPORTS_64BIT_KERNEL
175         select SYS_SUPPORTS_LITTLE_ENDIAN
176         select SYS_SUPPORTS_HIGHMEM
177         select SYS_HAS_EARLY_PRINTK
178         select GENERIC_HARDIRQS_NO__DO_IRQ
179         select GENERIC_ISA_DMA_SUPPORT_BROKEN
180         select CPU_HAS_WB
181         help
182           Lemote Fulong mini-PC board based on the Chinese Loongson-2E CPU and
183           an FPGA northbridge
184
185 config MIPS_MALTA
186         bool "MIPS Malta board"
187         select ARCH_MAY_HAVE_PC_FDC
188         select BOOT_ELF32
189         select BOOT_RAW
190         select CEVT_R4K
191         select CSRC_R4K
192         select DMA_NONCOHERENT
193         select GENERIC_ISA_DMA
194         select IRQ_CPU
195         select IRQ_GIC
196         select HW_HAS_PCI
197         select I8253
198         select I8259
199         select MIPS_BOARDS_GEN
200         select MIPS_BONITO64
201         select MIPS_CPU_SCACHE
202         select PCI_GT64XXX_PCI0
203         select MIPS_MSC
204         select SWAP_IO_SPACE
205         select SYS_HAS_CPU_MIPS32_R1
206         select SYS_HAS_CPU_MIPS32_R2
207         select SYS_HAS_CPU_MIPS64_R1
208         select SYS_HAS_CPU_NEVADA
209         select SYS_HAS_CPU_RM7000
210         select SYS_HAS_EARLY_PRINTK
211         select SYS_SUPPORTS_32BIT_KERNEL
212         select SYS_SUPPORTS_64BIT_KERNEL
213         select SYS_SUPPORTS_BIG_ENDIAN
214         select SYS_SUPPORTS_LITTLE_ENDIAN
215         select SYS_SUPPORTS_MIPS_CMP if BROKEN  # because SYNC_R4K is broken
216         select SYS_SUPPORTS_MULTITHREADING
217         select SYS_SUPPORTS_SMARTMIPS
218         help
219           This enables support for the MIPS Technologies Malta evaluation
220           board.
221
222 config MIPS_SIM
223         bool 'MIPS simulator (MIPSsim)'
224         select CEVT_R4K
225         select CSRC_R4K
226         select DMA_NONCOHERENT
227         select SYS_HAS_EARLY_PRINTK
228         select IRQ_CPU
229         select BOOT_RAW
230         select SYS_HAS_CPU_MIPS32_R1
231         select SYS_HAS_CPU_MIPS32_R2
232         select SYS_HAS_EARLY_PRINTK
233         select SYS_SUPPORTS_32BIT_KERNEL
234         select SYS_SUPPORTS_BIG_ENDIAN
235         select SYS_SUPPORTS_MULTITHREADING
236         select SYS_SUPPORTS_LITTLE_ENDIAN
237         help
238           This option enables support for MIPS Technologies MIPSsim software
239           emulator.
240
241 config MARKEINS
242         bool "NEC EMMA2RH Mark-eins"
243         select CEVT_R4K
244         select CSRC_R4K
245         select DMA_NONCOHERENT
246         select HW_HAS_PCI
247         select IRQ_CPU
248         select SWAP_IO_SPACE
249         select SYS_SUPPORTS_32BIT_KERNEL
250         select SYS_SUPPORTS_BIG_ENDIAN
251         select SYS_SUPPORTS_LITTLE_ENDIAN
252         select SYS_HAS_CPU_R5000
253         help
254           This enables support for the R5432-based NEC Mark-eins
255           boards with R5500 CPU.
256
257 config MACH_VR41XX
258         bool "NEC VR4100 series based machines"
259         select CEVT_R4K
260         select CSRC_R4K
261         select SYS_HAS_CPU_VR41XX
262         select GENERIC_HARDIRQS_NO__DO_IRQ
263
264 config NXP_STB220
265         bool "NXP STB220 board"
266         select SOC_PNX833X
267         help
268          Support for NXP Semiconductors STB220 Development Board.
269
270 config NXP_STB225
271         bool "NXP 225 board"
272         select SOC_PNX833X
273         select SOC_PNX8335
274         help
275          Support for NXP Semiconductors STB225 Development Board.
276
277 config PNX8550_JBS
278         bool "NXP PNX8550 based JBS board"
279         select PNX8550
280         select SYS_SUPPORTS_LITTLE_ENDIAN
281
282 config PNX8550_STB810
283         bool "NXP PNX8550 based STB810 board"
284         select PNX8550
285         select SYS_SUPPORTS_LITTLE_ENDIAN
286
287 config PMC_MSP
288         bool "PMC-Sierra MSP chipsets"
289         depends on EXPERIMENTAL
290         select DMA_NONCOHERENT
291         select SWAP_IO_SPACE
292         select NO_EXCEPT_FILL
293         select BOOT_RAW
294         select SYS_HAS_CPU_MIPS32_R1
295         select SYS_HAS_CPU_MIPS32_R2
296         select SYS_SUPPORTS_32BIT_KERNEL
297         select SYS_SUPPORTS_BIG_ENDIAN
298         select IRQ_CPU
299         select SERIAL_8250
300         select SERIAL_8250_CONSOLE
301         help
302           This adds support for the PMC-Sierra family of Multi-Service
303           Processor System-On-A-Chips.  These parts include a number
304           of integrated peripherals, interfaces and DSPs in addition to
305           a variety of MIPS cores.
306
307 config PMC_YOSEMITE
308         bool "PMC-Sierra Yosemite eval board"
309         select CEVT_R4K
310         select CSRC_R4K
311         select DMA_COHERENT
312         select HW_HAS_PCI
313         select IRQ_CPU
314         select IRQ_CPU_RM7K
315         select IRQ_CPU_RM9K
316         select SWAP_IO_SPACE
317         select SYS_HAS_CPU_RM9000
318         select SYS_HAS_EARLY_PRINTK
319         select SYS_SUPPORTS_32BIT_KERNEL
320         select SYS_SUPPORTS_64BIT_KERNEL
321         select SYS_SUPPORTS_BIG_ENDIAN
322         select SYS_SUPPORTS_HIGHMEM
323         select SYS_SUPPORTS_SMP
324         help
325           Yosemite is an evaluation board for the RM9000x2 processor
326           manufactured by PMC-Sierra.
327
328 config SGI_IP22
329         bool "SGI IP22 (Indy/Indigo2)"
330         select ARC
331         select ARC32
332         select BOOT_ELF32
333         select CEVT_R4K
334         select CSRC_R4K
335         select DEFAULT_SGI_PARTITION
336         select DMA_NONCOHERENT
337         select HW_HAS_EISA
338         select I8253
339         select I8259
340         select IP22_CPU_SCACHE
341         select IRQ_CPU
342         select GENERIC_ISA_DMA_SUPPORT_BROKEN
343         select SGI_HAS_DS1286
344         select SGI_HAS_I8042
345         select SGI_HAS_INDYDOG
346         select SGI_HAS_HAL2
347         select SGI_HAS_SEEQ
348         select SGI_HAS_WD93
349         select SGI_HAS_ZILOG
350         select SWAP_IO_SPACE
351         select SYS_HAS_CPU_R4X00
352         select SYS_HAS_CPU_R5000
353         select SYS_HAS_EARLY_PRINTK
354         select SYS_SUPPORTS_32BIT_KERNEL
355         select SYS_SUPPORTS_64BIT_KERNEL
356         select SYS_SUPPORTS_BIG_ENDIAN
357         help
358           This are the SGI Indy, Challenge S and Indigo2, as well as certain
359           OEM variants like the Tandem CMN B006S. To compile a Linux kernel
360           that runs on these, say Y here.
361
362 config SGI_IP27
363         bool "SGI IP27 (Origin200/2000)"
364         select ARC
365         select ARC64
366         select BOOT_ELF64
367         select DEFAULT_SGI_PARTITION
368         select DMA_IP27
369         select SYS_HAS_EARLY_PRINTK
370         select HW_HAS_PCI
371         select NR_CPUS_DEFAULT_64
372         select SYS_HAS_CPU_R10000
373         select SYS_SUPPORTS_64BIT_KERNEL
374         select SYS_SUPPORTS_BIG_ENDIAN
375         select SYS_SUPPORTS_NUMA
376         select SYS_SUPPORTS_SMP
377         select GENERIC_HARDIRQS_NO__DO_IRQ
378         help
379           This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
380           workstations.  To compile a Linux kernel that runs on these, say Y
381           here.
382
383 config SGI_IP28
384         bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
385         depends on EXPERIMENTAL
386         select ARC
387         select ARC64
388         select BOOT_ELF64
389         select CEVT_R4K
390         select CSRC_R4K
391         select DEFAULT_SGI_PARTITION
392         select DMA_NONCOHERENT
393         select GENERIC_ISA_DMA_SUPPORT_BROKEN
394         select IRQ_CPU
395         select HW_HAS_EISA
396         select I8253
397         select I8259
398         select SGI_HAS_DS1286
399         select SGI_HAS_I8042
400         select SGI_HAS_INDYDOG
401         select SGI_HAS_HAL2
402         select SGI_HAS_SEEQ
403         select SGI_HAS_WD93
404         select SGI_HAS_ZILOG
405         select SWAP_IO_SPACE
406         select SYS_HAS_CPU_R10000
407         select SYS_HAS_EARLY_PRINTK
408         select SYS_SUPPORTS_64BIT_KERNEL
409         select SYS_SUPPORTS_BIG_ENDIAN
410       help
411         This is the SGI Indigo2 with R10000 processor.  To compile a Linux
412         kernel that runs on these, say Y here.
413
414 config SGI_IP32
415         bool "SGI IP32 (O2)"
416         select ARC
417         select ARC32
418         select BOOT_ELF32
419         select CEVT_R4K
420         select CSRC_R4K
421         select DMA_NONCOHERENT
422         select HW_HAS_PCI
423         select IRQ_CPU
424         select R5000_CPU_SCACHE
425         select RM7000_CPU_SCACHE
426         select SYS_HAS_CPU_R5000
427         select SYS_HAS_CPU_R10000 if BROKEN
428         select SYS_HAS_CPU_RM7000
429         select SYS_HAS_CPU_NEVADA
430         select SYS_SUPPORTS_64BIT_KERNEL
431         select SYS_SUPPORTS_BIG_ENDIAN
432         help
433           If you want this kernel to run on SGI O2 workstation, say Y here.
434
435 config SIBYTE_CRHINE
436         bool "Sibyte BCM91120C-CRhine"
437         depends on EXPERIMENTAL
438         select BOOT_ELF32
439         select DMA_COHERENT
440         select SIBYTE_BCM1120
441         select SWAP_IO_SPACE
442         select SYS_HAS_CPU_SB1
443         select SYS_SUPPORTS_BIG_ENDIAN
444         select SYS_SUPPORTS_LITTLE_ENDIAN
445
446 config SIBYTE_CARMEL
447         bool "Sibyte BCM91120x-Carmel"
448         depends on EXPERIMENTAL
449         select BOOT_ELF32
450         select DMA_COHERENT
451         select SIBYTE_BCM1120
452         select SWAP_IO_SPACE
453         select SYS_HAS_CPU_SB1
454         select SYS_SUPPORTS_BIG_ENDIAN
455         select SYS_SUPPORTS_LITTLE_ENDIAN
456
457 config SIBYTE_CRHONE
458         bool "Sibyte BCM91125C-CRhone"
459         depends on EXPERIMENTAL
460         select BOOT_ELF32
461         select DMA_COHERENT
462         select SIBYTE_BCM1125
463         select SWAP_IO_SPACE
464         select SYS_HAS_CPU_SB1
465         select SYS_SUPPORTS_BIG_ENDIAN
466         select SYS_SUPPORTS_HIGHMEM
467         select SYS_SUPPORTS_LITTLE_ENDIAN
468
469 config SIBYTE_RHONE
470         bool "Sibyte BCM91125E-Rhone"
471         depends on EXPERIMENTAL
472         select BOOT_ELF32
473         select DMA_COHERENT
474         select SIBYTE_BCM1125H
475         select SWAP_IO_SPACE
476         select SYS_HAS_CPU_SB1
477         select SYS_SUPPORTS_BIG_ENDIAN
478         select SYS_SUPPORTS_LITTLE_ENDIAN
479
480 config SIBYTE_SWARM
481         bool "Sibyte BCM91250A-SWARM"
482         select BOOT_ELF32
483         select DMA_COHERENT
484         select NR_CPUS_DEFAULT_2
485         select SIBYTE_SB1250
486         select SWAP_IO_SPACE
487         select SYS_HAS_CPU_SB1
488         select SYS_SUPPORTS_BIG_ENDIAN
489         select SYS_SUPPORTS_HIGHMEM
490         select SYS_SUPPORTS_LITTLE_ENDIAN
491         select ZONE_DMA32 if 64BIT
492
493 config SIBYTE_LITTLESUR
494         bool "Sibyte BCM91250C2-LittleSur"
495         depends on EXPERIMENTAL
496         select BOOT_ELF32
497         select DMA_COHERENT
498         select NR_CPUS_DEFAULT_2
499         select SIBYTE_SB1250
500         select SWAP_IO_SPACE
501         select SYS_HAS_CPU_SB1
502         select SYS_SUPPORTS_BIG_ENDIAN
503         select SYS_SUPPORTS_HIGHMEM
504         select SYS_SUPPORTS_LITTLE_ENDIAN
505
506 config SIBYTE_SENTOSA
507         bool "Sibyte BCM91250E-Sentosa"
508         depends on EXPERIMENTAL
509         select BOOT_ELF32
510         select DMA_COHERENT
511         select NR_CPUS_DEFAULT_2
512         select SIBYTE_SB1250
513         select SWAP_IO_SPACE
514         select SYS_HAS_CPU_SB1
515         select SYS_SUPPORTS_BIG_ENDIAN
516         select SYS_SUPPORTS_LITTLE_ENDIAN
517
518 config SIBYTE_BIGSUR
519         bool "Sibyte BCM91480B-BigSur"
520         select BOOT_ELF32
521         select DMA_COHERENT
522         select NR_CPUS_DEFAULT_4
523         select SIBYTE_BCM1x80
524         select SWAP_IO_SPACE
525         select SYS_HAS_CPU_SB1
526         select SYS_SUPPORTS_BIG_ENDIAN
527         select SYS_SUPPORTS_HIGHMEM
528         select SYS_SUPPORTS_LITTLE_ENDIAN
529         select ZONE_DMA32 if 64BIT
530
531 config SNI_RM
532         bool "SNI RM200/300/400"
533         select ARC if CPU_LITTLE_ENDIAN
534         select ARC32 if CPU_LITTLE_ENDIAN
535         select SNIPROM if CPU_BIG_ENDIAN
536         select ARCH_MAY_HAVE_PC_FDC
537         select BOOT_ELF32
538         select CEVT_R4K
539         select CSRC_R4K
540         select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
541         select DMA_NONCOHERENT
542         select GENERIC_ISA_DMA
543         select HW_HAS_EISA
544         select HW_HAS_PCI
545         select IRQ_CPU
546         select I8253
547         select I8259
548         select ISA
549         select SWAP_IO_SPACE if CPU_BIG_ENDIAN
550         select SYS_HAS_CPU_R4X00
551         select SYS_HAS_CPU_R5000
552         select SYS_HAS_CPU_R10000
553         select R5000_CPU_SCACHE
554         select SYS_HAS_EARLY_PRINTK
555         select SYS_SUPPORTS_32BIT_KERNEL
556         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
557         select SYS_SUPPORTS_BIG_ENDIAN
558         select SYS_SUPPORTS_HIGHMEM
559         select SYS_SUPPORTS_LITTLE_ENDIAN
560         help
561           The SNI RM200/300/400 are MIPS-based machines manufactured by
562           Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
563           Technology and now in turn merged with Fujitsu.  Say Y here to
564           support this machine type.
565
566 config MACH_TX39XX
567         bool "Toshiba TX39 series based machines"
568
569 config MACH_TX49XX
570         bool "Toshiba TX49 series based machines"
571
572 config MIKROTIK_RB532
573         bool "Mikrotik RB532 boards"
574         select CEVT_R4K
575         select CSRC_R4K
576         select DMA_NONCOHERENT
577         select GENERIC_HARDIRQS_NO__DO_IRQ
578         select HW_HAS_PCI
579         select IRQ_CPU
580         select SYS_HAS_CPU_MIPS32_R1
581         select SYS_SUPPORTS_32BIT_KERNEL
582         select SYS_SUPPORTS_LITTLE_ENDIAN
583         select SWAP_IO_SPACE
584         select BOOT_RAW
585         select ARCH_REQUIRE_GPIOLIB
586         help
587           Support the Mikrotik(tm) RouterBoard 532 series,
588           based on the IDT RC32434 SoC.
589
590 config WR_PPMC
591         bool "Wind River PPMC board"
592         select CEVT_R4K
593         select CSRC_R4K
594         select IRQ_CPU
595         select BOOT_ELF32
596         select DMA_NONCOHERENT
597         select HW_HAS_PCI
598         select PCI_GT64XXX_PCI0
599         select SWAP_IO_SPACE
600         select SYS_HAS_CPU_MIPS32_R1
601         select SYS_HAS_CPU_MIPS32_R2
602         select SYS_HAS_CPU_MIPS64_R1
603         select SYS_HAS_CPU_NEVADA
604         select SYS_HAS_CPU_RM7000
605         select SYS_SUPPORTS_32BIT_KERNEL
606         select SYS_SUPPORTS_64BIT_KERNEL
607         select SYS_SUPPORTS_BIG_ENDIAN
608         select SYS_SUPPORTS_LITTLE_ENDIAN
609         help
610           This enables support for the Wind River MIPS32 4KC PPMC evaluation
611           board, which is based on GT64120 bridge chip.
612
613 endchoice
614
615 source "arch/mips/alchemy/Kconfig"
616 source "arch/mips/basler/excite/Kconfig"
617 source "arch/mips/jazz/Kconfig"
618 source "arch/mips/lasat/Kconfig"
619 source "arch/mips/pmc-sierra/Kconfig"
620 source "arch/mips/sgi-ip27/Kconfig"
621 source "arch/mips/sibyte/Kconfig"
622 source "arch/mips/txx9/Kconfig"
623 source "arch/mips/vr41xx/Kconfig"
624
625 endmenu
626
627 config RWSEM_GENERIC_SPINLOCK
628         bool
629         default y
630
631 config RWSEM_XCHGADD_ALGORITHM
632         bool
633
634 config ARCH_HAS_ILOG2_U32
635         bool
636         default n
637
638 config ARCH_HAS_ILOG2_U64
639         bool
640         default n
641
642 config ARCH_SUPPORTS_OPROFILE
643         bool
644         default y if !MIPS_MT_SMTC
645
646 config GENERIC_FIND_NEXT_BIT
647         bool
648         default y
649
650 config GENERIC_HWEIGHT
651         bool
652         default y
653
654 config GENERIC_CALIBRATE_DELAY
655         bool
656         default y
657
658 config GENERIC_CLOCKEVENTS
659         bool
660         default y
661
662 config GENERIC_TIME
663         bool
664         default y
665
666 config GENERIC_CMOS_UPDATE
667         bool
668         default y
669
670 config SCHED_NO_NO_OMIT_FRAME_POINTER
671         bool
672         default y
673
674 config GENERIC_HARDIRQS_NO__DO_IRQ
675         bool
676         default n
677
678 #
679 # Select some configuration options automatically based on user selections.
680 #
681 config ARC
682         bool
683
684 config ARCH_MAY_HAVE_PC_FDC
685         bool
686
687 config BOOT_RAW
688         bool
689
690 config CEVT_BCM1480
691         bool
692
693 config CEVT_DS1287
694         bool
695
696 config CEVT_GT641XX
697         bool
698
699 config CEVT_R4K
700         bool
701
702 config CEVT_SB1250
703         bool
704
705 config CEVT_TXX9
706         bool
707
708 config CSRC_BCM1480
709         bool
710
711 config CSRC_IOASIC
712         bool
713
714 config CSRC_R4K
715         bool
716
717 config CSRC_SB1250
718         bool
719
720 config GPIO_TXX9
721         select GENERIC_GPIO
722         select ARCH_REQUIRE_GPIOLIB
723         bool
724
725 config CFE
726         bool
727
728 config DMA_COHERENT
729         bool
730
731 config DMA_IP27
732         bool
733
734 config DMA_NONCOHERENT
735         bool
736         select DMA_NEED_PCI_MAP_STATE
737
738 config DMA_NEED_PCI_MAP_STATE
739         bool
740
741 config EARLY_PRINTK
742         bool "Early printk" if EMBEDDED && DEBUG_KERNEL
743         depends on SYS_HAS_EARLY_PRINTK
744         default y
745         help
746           This option enables special console drivers which allow the kernel
747           to print messages very early in the bootup process.
748
749           This is useful for kernel debugging when your machine crashes very
750           early before the console code is initialized. For normal operation,
751           it is not recommended because it looks ugly on some machines and
752           doesn't cooperate with an X server. You should normally say N here,
753           unless you want to debug such a crash.
754
755 config SYS_HAS_EARLY_PRINTK
756         bool
757
758 config HOTPLUG_CPU
759         bool
760         default n
761
762 config I8259
763         bool
764
765 config MIPS_BONITO64
766         bool
767
768 config MIPS_MSC
769         bool
770
771 config MIPS_NILE4
772         bool
773
774 config MIPS_DISABLE_OBSOLETE_IDE
775         bool
776
777 config SYNC_R4K
778         bool
779
780 config NO_IOPORT
781         def_bool n
782
783 config GENERIC_ISA_DMA
784         bool
785         select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
786
787 config GENERIC_ISA_DMA_SUPPORT_BROKEN
788         bool
789         select GENERIC_ISA_DMA
790
791 config GENERIC_GPIO
792         bool
793
794 #
795 # Endianess selection.  Sufficiently obscure so many users don't know what to
796 # answer,so we try hard to limit the available choices.  Also the use of a
797 # choice statement should be more obvious to the user.
798 #
799 choice
800         prompt "Endianess selection"
801         help
802           Some MIPS machines can be configured for either little or big endian
803           byte order. These modes require different kernels and a different
804           Linux distribution.  In general there is one preferred byteorder for a
805           particular system but some systems are just as commonly used in the
806           one or the other endianness.
807
808 config CPU_BIG_ENDIAN
809         bool "Big endian"
810         depends on SYS_SUPPORTS_BIG_ENDIAN
811
812 config CPU_LITTLE_ENDIAN
813         bool "Little endian"
814         depends on SYS_SUPPORTS_LITTLE_ENDIAN
815         help
816
817 endchoice
818
819 config SYS_SUPPORTS_APM_EMULATION
820         bool
821
822 config SYS_SUPPORTS_BIG_ENDIAN
823         bool
824
825 config SYS_SUPPORTS_LITTLE_ENDIAN
826         bool
827
828 config IRQ_CPU
829         bool
830
831 config IRQ_CPU_RM7K
832         bool
833
834 config IRQ_CPU_RM9K
835         bool
836
837 config IRQ_MSP_SLP
838         bool
839
840 config IRQ_MSP_CIC
841         bool
842
843 config IRQ_TXX9
844         bool
845
846 config IRQ_GT641XX
847         bool
848
849 config IRQ_GIC
850         bool
851
852 config MIPS_BOARDS_GEN
853         bool
854
855 config PCI_GT64XXX_PCI0
856         bool
857
858 config NO_EXCEPT_FILL
859         bool
860
861 config MIPS_RM9122
862         bool
863         select SERIAL_RM9000
864
865 config SOC_PNX833X
866         bool
867         select CEVT_R4K
868         select CSRC_R4K
869         select IRQ_CPU
870         select DMA_NONCOHERENT
871         select SYS_HAS_CPU_MIPS32_R2
872         select SYS_SUPPORTS_32BIT_KERNEL
873         select SYS_SUPPORTS_LITTLE_ENDIAN
874         select SYS_SUPPORTS_BIG_ENDIAN
875         select GENERIC_HARDIRQS_NO__DO_IRQ
876         select GENERIC_GPIO
877         select CPU_MIPSR2_IRQ_VI
878
879 config SOC_PNX8335
880         bool
881         select SOC_PNX833X
882
883 config PNX8550
884         bool
885         select SOC_PNX8550
886
887 config SOC_PNX8550
888         bool
889         select DMA_NONCOHERENT
890         select HW_HAS_PCI
891         select SYS_HAS_CPU_MIPS32_R1
892         select SYS_HAS_EARLY_PRINTK
893         select SYS_SUPPORTS_32BIT_KERNEL
894         select GENERIC_HARDIRQS_NO__DO_IRQ
895         select GENERIC_GPIO
896
897 config SWAP_IO_SPACE
898         bool
899
900 config EMMA2RH
901         bool
902         depends on MARKEINS
903         default y
904
905 config SERIAL_RM9000
906         bool
907
908 config SGI_HAS_DS1286
909         bool
910
911 config SGI_HAS_INDYDOG
912         bool
913
914 config SGI_HAS_HAL2
915         bool
916
917 config SGI_HAS_SEEQ
918         bool
919
920 config SGI_HAS_WD93
921         bool
922
923 config SGI_HAS_ZILOG
924         bool
925
926 config SGI_HAS_I8042
927         bool
928
929 config DEFAULT_SGI_PARTITION
930         bool
931
932 config ARC32
933         bool
934
935 config SNIPROM
936         bool
937
938 config BOOT_ELF32
939         bool
940
941 config MIPS_L1_CACHE_SHIFT
942         int
943         default "4" if MACH_DECSTATION || MIKROTIK_RB532
944         default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM
945         default "4" if PMC_MSP4200_EVAL
946         default "5"
947
948 config HAVE_STD_PC_SERIAL_PORT
949         bool
950
951 config ARC_CONSOLE
952         bool "ARC console support"
953         depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
954
955 config ARC_MEMORY
956         bool
957         depends on MACH_JAZZ || SNI_RM || SGI_IP32
958         default y
959
960 config ARC_PROMLIB
961         bool
962         depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
963         default y
964
965 config ARC64
966         bool
967
968 config BOOT_ELF64
969         bool
970
971 menu "CPU selection"
972
973 choice
974         prompt "CPU type"
975         default CPU_R4X00
976
977 config CPU_LOONGSON2
978         bool "Loongson 2"
979         depends on SYS_HAS_CPU_LOONGSON2
980         select CPU_SUPPORTS_32BIT_KERNEL
981         select CPU_SUPPORTS_64BIT_KERNEL
982         select CPU_SUPPORTS_HIGHMEM
983         help
984           The Loongson 2E processor implements the MIPS III instruction set
985           with many extensions.
986
987 config CPU_MIPS32_R1
988         bool "MIPS32 Release 1"
989         depends on SYS_HAS_CPU_MIPS32_R1
990         select CPU_HAS_LLSC
991         select CPU_HAS_PREFETCH
992         select CPU_SUPPORTS_32BIT_KERNEL
993         select CPU_SUPPORTS_HIGHMEM
994         help
995           Choose this option to build a kernel for release 1 or later of the
996           MIPS32 architecture.  Most modern embedded systems with a 32-bit
997           MIPS processor are based on a MIPS32 processor.  If you know the
998           specific type of processor in your system, choose those that one
999           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1000           Release 2 of the MIPS32 architecture is available since several
1001           years so chances are you even have a MIPS32 Release 2 processor
1002           in which case you should choose CPU_MIPS32_R2 instead for better
1003           performance.
1004
1005 config CPU_MIPS32_R2
1006         bool "MIPS32 Release 2"
1007         depends on SYS_HAS_CPU_MIPS32_R2
1008         select CPU_HAS_LLSC
1009         select CPU_HAS_PREFETCH
1010         select CPU_SUPPORTS_32BIT_KERNEL
1011         select CPU_SUPPORTS_HIGHMEM
1012         help
1013           Choose this option to build a kernel for release 2 or later of the
1014           MIPS32 architecture.  Most modern embedded systems with a 32-bit
1015           MIPS processor are based on a MIPS32 processor.  If you know the
1016           specific type of processor in your system, choose those that one
1017           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1018
1019 config CPU_MIPS64_R1
1020         bool "MIPS64 Release 1"
1021         depends on SYS_HAS_CPU_MIPS64_R1
1022         select CPU_HAS_LLSC
1023         select CPU_HAS_PREFETCH
1024         select CPU_SUPPORTS_32BIT_KERNEL
1025         select CPU_SUPPORTS_64BIT_KERNEL
1026         select CPU_SUPPORTS_HIGHMEM
1027         help
1028           Choose this option to build a kernel for release 1 or later of the
1029           MIPS64 architecture.  Many modern embedded systems with a 64-bit
1030           MIPS processor are based on a MIPS64 processor.  If you know the
1031           specific type of processor in your system, choose those that one
1032           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1033           Release 2 of the MIPS64 architecture is available since several
1034           years so chances are you even have a MIPS64 Release 2 processor
1035           in which case you should choose CPU_MIPS64_R2 instead for better
1036           performance.
1037
1038 config CPU_MIPS64_R2
1039         bool "MIPS64 Release 2"
1040         depends on SYS_HAS_CPU_MIPS64_R2
1041         select CPU_HAS_LLSC
1042         select CPU_HAS_PREFETCH
1043         select CPU_SUPPORTS_32BIT_KERNEL
1044         select CPU_SUPPORTS_64BIT_KERNEL
1045         select CPU_SUPPORTS_HIGHMEM
1046         help
1047           Choose this option to build a kernel for release 2 or later of the
1048           MIPS64 architecture.  Many modern embedded systems with a 64-bit
1049           MIPS processor are based on a MIPS64 processor.  If you know the
1050           specific type of processor in your system, choose those that one
1051           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1052
1053 config CPU_R3000
1054         bool "R3000"
1055         depends on SYS_HAS_CPU_R3000
1056         select CPU_HAS_WB
1057         select CPU_SUPPORTS_32BIT_KERNEL
1058         select CPU_SUPPORTS_HIGHMEM
1059         help
1060           Please make sure to pick the right CPU type. Linux/MIPS is not
1061           designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1062           *not* work on R4000 machines and vice versa.  However, since most
1063           of the supported machines have an R4000 (or similar) CPU, R4x00
1064           might be a safe bet.  If the resulting kernel does not work,
1065           try to recompile with R3000.
1066
1067 config CPU_TX39XX
1068         bool "R39XX"
1069         depends on SYS_HAS_CPU_TX39XX
1070         select CPU_SUPPORTS_32BIT_KERNEL
1071
1072 config CPU_VR41XX
1073         bool "R41xx"
1074         depends on SYS_HAS_CPU_VR41XX
1075         select CPU_SUPPORTS_32BIT_KERNEL
1076         select CPU_SUPPORTS_64BIT_KERNEL
1077         help
1078           The options selects support for the NEC VR4100 series of processors.
1079           Only choose this option if you have one of these processors as a
1080           kernel built with this option will not run on any other type of
1081           processor or vice versa.
1082
1083 config CPU_R4300
1084         bool "R4300"
1085         depends on SYS_HAS_CPU_R4300
1086         select CPU_HAS_LLSC
1087         select CPU_SUPPORTS_32BIT_KERNEL
1088         select CPU_SUPPORTS_64BIT_KERNEL
1089         help
1090           MIPS Technologies R4300-series processors.
1091
1092 config CPU_R4X00
1093         bool "R4x00"
1094         depends on SYS_HAS_CPU_R4X00
1095         select CPU_HAS_LLSC
1096         select CPU_SUPPORTS_32BIT_KERNEL
1097         select CPU_SUPPORTS_64BIT_KERNEL
1098         help
1099           MIPS Technologies R4000-series processors other than 4300, including
1100           the R4000, R4400, R4600, and 4700.
1101
1102 config CPU_TX49XX
1103         bool "R49XX"
1104         depends on SYS_HAS_CPU_TX49XX
1105         select CPU_HAS_LLSC
1106         select CPU_HAS_PREFETCH
1107         select CPU_SUPPORTS_32BIT_KERNEL
1108         select CPU_SUPPORTS_64BIT_KERNEL
1109
1110 config CPU_R5000
1111         bool "R5000"
1112         depends on SYS_HAS_CPU_R5000
1113         select CPU_HAS_LLSC
1114         select CPU_SUPPORTS_32BIT_KERNEL
1115         select CPU_SUPPORTS_64BIT_KERNEL
1116         help
1117           MIPS Technologies R5000-series processors other than the Nevada.
1118
1119 config CPU_R5432
1120         bool "R5432"
1121         depends on SYS_HAS_CPU_R5432
1122         select CPU_HAS_LLSC
1123         select CPU_SUPPORTS_32BIT_KERNEL
1124         select CPU_SUPPORTS_64BIT_KERNEL
1125
1126 config CPU_R6000
1127         bool "R6000"
1128         depends on EXPERIMENTAL
1129         select CPU_HAS_LLSC
1130         depends on SYS_HAS_CPU_R6000
1131         select CPU_SUPPORTS_32BIT_KERNEL
1132         help
1133           MIPS Technologies R6000 and R6000A series processors.  Note these
1134           processors are extremely rare and the support for them is incomplete.
1135
1136 config CPU_NEVADA
1137         bool "RM52xx"
1138         depends on SYS_HAS_CPU_NEVADA
1139         select CPU_HAS_LLSC
1140         select CPU_SUPPORTS_32BIT_KERNEL
1141         select CPU_SUPPORTS_64BIT_KERNEL
1142         help
1143           QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1144
1145 config CPU_R8000
1146         bool "R8000"
1147         depends on EXPERIMENTAL
1148         depends on SYS_HAS_CPU_R8000
1149         select CPU_HAS_LLSC
1150         select CPU_HAS_PREFETCH
1151         select CPU_SUPPORTS_64BIT_KERNEL
1152         help
1153           MIPS Technologies R8000 processors.  Note these processors are
1154           uncommon and the support for them is incomplete.
1155
1156 config CPU_R10000
1157         bool "R10000"
1158         depends on SYS_HAS_CPU_R10000
1159         select CPU_HAS_LLSC
1160         select CPU_HAS_PREFETCH
1161         select CPU_SUPPORTS_32BIT_KERNEL
1162         select CPU_SUPPORTS_64BIT_KERNEL
1163         select CPU_SUPPORTS_HIGHMEM
1164         help
1165           MIPS Technologies R10000-series processors.
1166
1167 config CPU_RM7000
1168         bool "RM7000"
1169         depends on SYS_HAS_CPU_RM7000
1170         select CPU_HAS_LLSC
1171         select CPU_HAS_PREFETCH
1172         select CPU_SUPPORTS_32BIT_KERNEL
1173         select CPU_SUPPORTS_64BIT_KERNEL
1174         select CPU_SUPPORTS_HIGHMEM
1175
1176 config CPU_RM9000
1177         bool "RM9000"
1178         depends on SYS_HAS_CPU_RM9000
1179         select CPU_HAS_LLSC
1180         select CPU_HAS_PREFETCH
1181         select CPU_SUPPORTS_32BIT_KERNEL
1182         select CPU_SUPPORTS_64BIT_KERNEL
1183         select CPU_SUPPORTS_HIGHMEM
1184         select WEAK_ORDERING
1185
1186 config CPU_SB1
1187         bool "SB1"
1188         depends on SYS_HAS_CPU_SB1
1189         select CPU_HAS_LLSC
1190         select CPU_SUPPORTS_32BIT_KERNEL
1191         select CPU_SUPPORTS_64BIT_KERNEL
1192         select CPU_SUPPORTS_HIGHMEM
1193         select WEAK_ORDERING
1194
1195 endchoice
1196
1197 config SYS_HAS_CPU_LOONGSON2
1198         bool
1199
1200 config SYS_HAS_CPU_MIPS32_R1
1201         bool
1202
1203 config SYS_HAS_CPU_MIPS32_R2
1204         bool
1205
1206 config SYS_HAS_CPU_MIPS64_R1
1207         bool
1208
1209 config SYS_HAS_CPU_MIPS64_R2
1210         bool
1211
1212 config SYS_HAS_CPU_R3000
1213         bool
1214
1215 config SYS_HAS_CPU_TX39XX
1216         bool
1217
1218 config SYS_HAS_CPU_VR41XX
1219         bool
1220
1221 config SYS_HAS_CPU_R4300
1222         bool
1223
1224 config SYS_HAS_CPU_R4X00
1225         bool
1226
1227 config SYS_HAS_CPU_TX49XX
1228         bool
1229
1230 config SYS_HAS_CPU_R5000
1231         bool
1232
1233 config SYS_HAS_CPU_R5432
1234         bool
1235
1236 config SYS_HAS_CPU_R6000
1237         bool
1238
1239 config SYS_HAS_CPU_NEVADA
1240         bool
1241
1242 config SYS_HAS_CPU_R8000
1243         bool
1244
1245 config SYS_HAS_CPU_R10000
1246         bool
1247
1248 config SYS_HAS_CPU_RM7000
1249         bool
1250
1251 config SYS_HAS_CPU_RM9000
1252         bool
1253
1254 config SYS_HAS_CPU_SB1
1255         bool
1256
1257 #
1258 # CPU may reorder R->R, R->W, W->R, W->W
1259 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1260 #
1261 config WEAK_ORDERING
1262         bool
1263
1264 #
1265 # CPU may reorder reads and writes beyond LL/SC
1266 # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1267 #
1268 config WEAK_REORDERING_BEYOND_LLSC
1269         bool
1270 endmenu
1271
1272 #
1273 # These two indicate any level of the MIPS32 and MIPS64 architecture
1274 #
1275 config CPU_MIPS32
1276         bool
1277         default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1278
1279 config CPU_MIPS64
1280         bool
1281         default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1282
1283 #
1284 # These two indicate the revision of the architecture, either Release 1 or Release 2
1285 #
1286 config CPU_MIPSR1
1287         bool
1288         default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1289
1290 config CPU_MIPSR2
1291         bool
1292         default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1293
1294 config SYS_SUPPORTS_32BIT_KERNEL
1295         bool
1296 config SYS_SUPPORTS_64BIT_KERNEL
1297         bool
1298 config CPU_SUPPORTS_32BIT_KERNEL
1299         bool
1300 config CPU_SUPPORTS_64BIT_KERNEL
1301         bool
1302
1303 #
1304 # Set to y for ptrace access to watch registers.
1305 #
1306 config HARDWARE_WATCHPOINTS
1307        bool
1308        default y if CPU_MIPS32 || CPU_MIPS64
1309
1310 menu "Kernel type"
1311
1312 choice
1313
1314         prompt "Kernel code model"
1315         help
1316           You should only select this option if you have a workload that
1317           actually benefits from 64-bit processing or if your machine has
1318           large memory.  You will only be presented a single option in this
1319           menu if your system does not support both 32-bit and 64-bit kernels.
1320
1321 config 32BIT
1322         bool "32-bit kernel"
1323         depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1324         select TRAD_SIGNALS
1325         help
1326           Select this option if you want to build a 32-bit kernel.
1327 config 64BIT
1328         bool "64-bit kernel"
1329         depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1330         help
1331           Select this option if you want to build a 64-bit kernel.
1332
1333 endchoice
1334
1335 choice
1336         prompt "Kernel page size"
1337         default PAGE_SIZE_4KB
1338
1339 config PAGE_SIZE_4KB
1340         bool "4kB"
1341         help
1342          This option select the standard 4kB Linux page size.  On some
1343          R3000-family processors this is the only available page size.  Using
1344          4kB page size will minimize memory consumption and is therefore
1345          recommended for low memory systems.
1346
1347 config PAGE_SIZE_8KB
1348         bool "8kB"
1349         depends on EXPERIMENTAL && CPU_R8000
1350         help
1351           Using 8kB page size will result in higher performance kernel at
1352           the price of higher memory consumption.  This option is available
1353           only on the R8000 processor.  Not that at the time of this writing
1354           this option is still high experimental; there are also issues with
1355           compatibility of user applications.
1356
1357 config PAGE_SIZE_16KB
1358         bool "16kB"
1359         depends on !CPU_R3000 && !CPU_TX39XX
1360         help
1361           Using 16kB page size will result in higher performance kernel at
1362           the price of higher memory consumption.  This option is available on
1363           all non-R3000 family processors.  Note that you will need a suitable
1364           Linux distribution to support this.
1365
1366 config PAGE_SIZE_64KB
1367         bool "64kB"
1368         depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1369         help
1370           Using 64kB page size will result in higher performance kernel at
1371           the price of higher memory consumption.  This option is available on
1372           all non-R3000 family processor.  Not that at the time of this
1373           writing this option is still high experimental.
1374
1375 endchoice
1376
1377 config BOARD_SCACHE
1378         bool
1379
1380 config IP22_CPU_SCACHE
1381         bool
1382         select BOARD_SCACHE
1383
1384 #
1385 # Support for a MIPS32 / MIPS64 style S-caches
1386 #
1387 config MIPS_CPU_SCACHE
1388         bool
1389         select BOARD_SCACHE
1390
1391 config R5000_CPU_SCACHE
1392         bool
1393         select BOARD_SCACHE
1394
1395 config RM7000_CPU_SCACHE
1396         bool
1397         select BOARD_SCACHE
1398
1399 config SIBYTE_DMA_PAGEOPS
1400         bool "Use DMA to clear/copy pages"
1401         depends on CPU_SB1
1402         help
1403           Instead of using the CPU to zero and copy pages, use a Data Mover
1404           channel.  These DMA channels are otherwise unused by the standard
1405           SiByte Linux port.  Seems to give a small performance benefit.
1406
1407 config CPU_HAS_PREFETCH
1408         bool
1409
1410 choice
1411         prompt "MIPS MT options"
1412
1413 config MIPS_MT_DISABLED
1414         bool "Disable multithreading support."
1415         help
1416           Use this option if your workload can't take advantage of
1417           MIPS hardware multithreading support.  On systems that don't have
1418           the option of an MT-enabled processor this option will be the only
1419           option in this menu.
1420
1421 config MIPS_MT_SMP
1422         bool "Use 1 TC on each available VPE for SMP"
1423         depends on SYS_SUPPORTS_MULTITHREADING
1424         select CPU_MIPSR2_IRQ_VI
1425         select CPU_MIPSR2_IRQ_EI
1426         select MIPS_MT
1427         select NR_CPUS_DEFAULT_2
1428         select SMP
1429         select SYS_SUPPORTS_SCHED_SMT if SMP
1430         select SYS_SUPPORTS_SMP
1431         select SMP_UP
1432         help
1433           This is a kernel model which is also known a VSMP or lately
1434           has been marketesed into SMVP.
1435
1436 config MIPS_MT_SMTC
1437         bool "SMTC: Use all TCs on all VPEs for SMP"
1438         depends on CPU_MIPS32_R2
1439         #depends on CPU_MIPS64_R2               # once there is hardware ...
1440         depends on SYS_SUPPORTS_MULTITHREADING
1441         select CPU_MIPSR2_IRQ_VI
1442         select CPU_MIPSR2_IRQ_EI
1443         select MIPS_MT
1444         select NR_CPUS_DEFAULT_8
1445         select SMP
1446         select SYS_SUPPORTS_SMP
1447         select SMP_UP
1448         help
1449           This is a kernel model which is known a SMTC or lately has been
1450           marketesed into SMVP.
1451
1452 endchoice
1453
1454 config MIPS_MT
1455         bool
1456
1457 config SCHED_SMT
1458         bool "SMT (multithreading) scheduler support"
1459         depends on SYS_SUPPORTS_SCHED_SMT
1460         default n
1461         help
1462           SMT scheduler support improves the CPU scheduler's decision making
1463           when dealing with MIPS MT enabled cores at a cost of slightly
1464           increased overhead in some places. If unsure say N here.
1465
1466 config SYS_SUPPORTS_SCHED_SMT
1467         bool
1468
1469
1470 config SYS_SUPPORTS_MULTITHREADING
1471         bool
1472
1473 config MIPS_MT_FPAFF
1474         bool "Dynamic FPU affinity for FP-intensive threads"
1475         default y
1476         depends on MIPS_MT_SMP || MIPS_MT_SMTC
1477
1478 config MIPS_VPE_LOADER
1479         bool "VPE loader support."
1480         depends on SYS_SUPPORTS_MULTITHREADING
1481         select CPU_MIPSR2_IRQ_VI
1482         select CPU_MIPSR2_IRQ_EI
1483         select MIPS_MT
1484         help
1485           Includes a loader for loading an elf relocatable object
1486           onto another VPE and running it.
1487
1488 config MIPS_MT_SMTC_IM_BACKSTOP
1489         bool "Use per-TC register bits as backstop for inhibited IM bits"
1490         depends on MIPS_MT_SMTC
1491         default n
1492         help
1493           To support multiple TC microthreads acting as "CPUs" within
1494           a VPE, VPE-wide interrupt mask bits must be specially manipulated
1495           during interrupt handling. To support legacy drivers and interrupt
1496           controller management code, SMTC has a "backstop" to track and
1497           if necessary restore the interrupt mask. This has some performance
1498           impact on interrupt service overhead.
1499
1500 config MIPS_MT_SMTC_IRQAFF
1501         bool "Support IRQ affinity API"
1502         depends on MIPS_MT_SMTC
1503         default n
1504         help
1505           Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1506           for SMTC Linux kernel. Requires platform support, of which
1507           an example can be found in the MIPS kernel i8259 and Malta
1508           platform code.  Adds some overhead to interrupt dispatch, and
1509           should be used only if you know what you are doing.
1510
1511 config MIPS_VPE_LOADER_TOM
1512         bool "Load VPE program into memory hidden from linux"
1513         depends on MIPS_VPE_LOADER
1514         default y
1515         help
1516           The loader can use memory that is present but has been hidden from
1517           Linux using the kernel command line option "mem=xxMB". It's up to
1518           you to ensure the amount you put in the option and the space your
1519           program requires is less or equal to the amount physically present.
1520
1521 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1522 config MIPS_VPE_APSP_API
1523         bool "Enable support for AP/SP API (RTLX)"
1524         depends on MIPS_VPE_LOADER
1525         help
1526
1527 config MIPS_APSP_KSPD
1528         bool "Enable KSPD"
1529         depends on MIPS_VPE_APSP_API
1530         default y
1531         help
1532           KSPD is a kernel daemon that accepts syscall requests from the SP
1533           side, actions them and returns the results. It also handles the
1534           "exit" syscall notifying other kernel modules the SP program is
1535           exiting.  You probably want to say yes here.
1536
1537 config MIPS_CMP
1538         bool "MIPS CMP framework support"
1539         depends on SYS_SUPPORTS_MIPS_CMP
1540         select SYNC_R4K if BROKEN
1541         select SYS_SUPPORTS_SMP
1542         select SYS_SUPPORTS_SCHED_SMT if SMP
1543         select WEAK_ORDERING
1544         default n
1545         help
1546           This is a placeholder option for the GCMP work. It will need to
1547           be handled differently...
1548
1549 config SB1_PASS_1_WORKAROUNDS
1550         bool
1551         depends on CPU_SB1_PASS_1
1552         default y
1553
1554 config SB1_PASS_2_WORKAROUNDS
1555         bool
1556         depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1557         default y
1558
1559 config SB1_PASS_2_1_WORKAROUNDS
1560         bool
1561         depends on CPU_SB1 && CPU_SB1_PASS_2
1562         default y
1563
1564 config 64BIT_PHYS_ADDR
1565         bool
1566
1567 config CPU_HAS_LLSC
1568         bool
1569
1570 config CPU_HAS_SMARTMIPS
1571         depends on SYS_SUPPORTS_SMARTMIPS
1572         bool "Support for the SmartMIPS ASE"
1573         help
1574           SmartMIPS is a extension of the MIPS32 architecture aimed at
1575           increased security at both hardware and software level for
1576           smartcards.  Enabling this option will allow proper use of the
1577           SmartMIPS instructions by Linux applications.  However a kernel with
1578           this option will not work on a MIPS core without SmartMIPS core.  If
1579           you don't know you probably don't have SmartMIPS and should say N
1580           here.
1581
1582 config CPU_HAS_WB
1583         bool
1584
1585 #
1586 # Vectored interrupt mode is an R2 feature
1587 #
1588 config CPU_MIPSR2_IRQ_VI
1589         bool
1590
1591 #
1592 # Extended interrupt mode is an R2 feature
1593 #
1594 config CPU_MIPSR2_IRQ_EI
1595         bool
1596
1597 config CPU_HAS_SYNC
1598         bool
1599         depends on !CPU_R3000
1600         default y
1601
1602 config GENERIC_CLOCKEVENTS_BROADCAST
1603         bool
1604
1605 #
1606 # CPU non-features
1607 #
1608 config CPU_DADDI_WORKAROUNDS
1609         bool
1610
1611 config CPU_R4000_WORKAROUNDS
1612         bool
1613         select CPU_R4400_WORKAROUNDS
1614
1615 config CPU_R4400_WORKAROUNDS
1616         bool
1617
1618 #
1619 # Use the generic interrupt handling code in kernel/irq/:
1620 #
1621 config GENERIC_HARDIRQS
1622         bool
1623         default y
1624
1625 config GENERIC_IRQ_PROBE
1626         bool
1627         default y
1628
1629 config IRQ_PER_CPU
1630         bool
1631
1632 #
1633 # - Highmem only makes sense for the 32-bit kernel.
1634 # - The current highmem code will only work properly on physically indexed
1635 #   caches such as R3000, SB1, R7000 or those that look like they're virtually
1636 #   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
1637 #   moment we protect the user and offer the highmem option only on machines
1638 #   where it's known to be safe.  This will not offer highmem on a few systems
1639 #   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1640 #   indexed CPUs but we're playing safe.
1641 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1642 #   know they might have memory configurations that could make use of highmem
1643 #   support.
1644 #
1645 config HIGHMEM
1646         bool "High Memory Support"
1647         depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1648
1649 config CPU_SUPPORTS_HIGHMEM
1650         bool
1651
1652 config SYS_SUPPORTS_HIGHMEM
1653         bool
1654
1655 config SYS_SUPPORTS_SMARTMIPS
1656         bool
1657
1658 config ARCH_FLATMEM_ENABLE
1659         def_bool y
1660         depends on !NUMA
1661
1662 config ARCH_DISCONTIGMEM_ENABLE
1663         bool
1664         default y if SGI_IP27
1665         help
1666           Say Y to support efficient handling of discontiguous physical memory,
1667           for architectures which are either NUMA (Non-Uniform Memory Access)
1668           or have huge holes in the physical address space for other reasons.
1669           See <file:Documentation/vm/numa> for more.
1670
1671 config ARCH_POPULATES_NODE_MAP
1672         def_bool y
1673
1674 config ARCH_SPARSEMEM_ENABLE
1675         bool
1676         select SPARSEMEM_STATIC
1677
1678 config NUMA
1679         bool "NUMA Support"
1680         depends on SYS_SUPPORTS_NUMA
1681         help
1682           Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1683           Access).  This option improves performance on systems with more
1684           than two nodes; on two node systems it is generally better to
1685           leave it disabled; on single node systems disable this option
1686           disabled.
1687
1688 config SYS_SUPPORTS_NUMA
1689         bool
1690
1691 config NODES_SHIFT
1692         int
1693         default "6"
1694         depends on NEED_MULTIPLE_NODES
1695
1696 source "mm/Kconfig"
1697
1698 config SMP
1699         bool "Multi-Processing support"
1700         depends on SYS_SUPPORTS_SMP
1701         select IRQ_PER_CPU
1702         select USE_GENERIC_SMP_HELPERS
1703         help
1704           This enables support for systems with more than one CPU. If you have
1705           a system with only one CPU, like most personal computers, say N. If
1706           you have a system with more than one CPU, say Y.
1707
1708           If you say N here, the kernel will run on single and multiprocessor
1709           machines, but will use only one CPU of a multiprocessor machine. If
1710           you say Y here, the kernel will run on many, but not all,
1711           singleprocessor machines. On a singleprocessor machine, the kernel
1712           will run faster if you say N here.
1713
1714           People using multiprocessor machines who say Y here should also say
1715           Y to "Enhanced Real Time Clock Support", below.
1716
1717           See also the SMP-HOWTO available at
1718           <http://www.tldp.org/docs.html#howto>.
1719
1720           If you don't know what to do here, say N.
1721
1722 config SMP_UP
1723         bool
1724
1725 config SYS_SUPPORTS_MIPS_CMP
1726         bool
1727
1728 config SYS_SUPPORTS_SMP
1729         bool
1730
1731 config NR_CPUS_DEFAULT_1
1732         bool
1733
1734 config NR_CPUS_DEFAULT_2
1735         bool
1736
1737 config NR_CPUS_DEFAULT_4
1738         bool
1739
1740 config NR_CPUS_DEFAULT_8
1741         bool
1742
1743 config NR_CPUS_DEFAULT_16
1744         bool
1745
1746 config NR_CPUS_DEFAULT_32
1747         bool
1748
1749 config NR_CPUS_DEFAULT_64
1750         bool
1751
1752 config NR_CPUS
1753         int "Maximum number of CPUs (2-64)"
1754         range 1 64 if NR_CPUS_DEFAULT_1
1755         depends on SMP
1756         default "1" if NR_CPUS_DEFAULT_1
1757         default "2" if NR_CPUS_DEFAULT_2
1758         default "4" if NR_CPUS_DEFAULT_4
1759         default "8" if NR_CPUS_DEFAULT_8
1760         default "16" if NR_CPUS_DEFAULT_16
1761         default "32" if NR_CPUS_DEFAULT_32
1762         default "64" if NR_CPUS_DEFAULT_64
1763         help
1764           This allows you to specify the maximum number of CPUs which this
1765           kernel will support.  The maximum supported value is 32 for 32-bit
1766           kernel and 64 for 64-bit kernels; the minimum value which makes
1767           sense is 1 for Qemu (useful only for kernel debugging purposes)
1768           and 2 for all others.
1769
1770           This is purely to save memory - each supported CPU adds
1771           approximately eight kilobytes to the kernel image.  For best
1772           performance should round up your number of processors to the next
1773           power of two.
1774
1775 source "kernel/time/Kconfig"
1776
1777 #
1778 # Timer Interrupt Frequency Configuration
1779 #
1780
1781 choice
1782         prompt "Timer frequency"
1783         default HZ_250
1784         help
1785          Allows the configuration of the timer frequency.
1786
1787         config HZ_48
1788                 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
1789
1790         config HZ_100
1791                 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1792
1793         config HZ_128
1794                 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1795
1796         config HZ_250
1797                 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1798
1799         config HZ_256
1800                 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1801
1802         config HZ_1000
1803                 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1804
1805         config HZ_1024
1806                 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1807
1808 endchoice
1809
1810 config SYS_SUPPORTS_48HZ
1811         bool
1812
1813 config SYS_SUPPORTS_100HZ
1814         bool
1815
1816 config SYS_SUPPORTS_128HZ
1817         bool
1818
1819 config SYS_SUPPORTS_250HZ
1820         bool
1821
1822 config SYS_SUPPORTS_256HZ
1823         bool
1824
1825 config SYS_SUPPORTS_1000HZ
1826         bool
1827
1828 config SYS_SUPPORTS_1024HZ
1829         bool
1830
1831 config SYS_SUPPORTS_ARBIT_HZ
1832         bool
1833         default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1834                      !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1835                      !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1836                      !SYS_SUPPORTS_1024HZ
1837
1838 config HZ
1839         int
1840         default 48 if HZ_48
1841         default 100 if HZ_100
1842         default 128 if HZ_128
1843         default 250 if HZ_250
1844         default 256 if HZ_256
1845         default 1000 if HZ_1000
1846         default 1024 if HZ_1024
1847
1848 source "kernel/Kconfig.preempt"
1849
1850 config MIPS_INSANE_LARGE
1851         bool "Support for large 64-bit configurations"
1852         depends on CPU_R10000 && 64BIT
1853         help
1854           MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1855           previous 64-bit processors which only supported 40 bit / 1TB. If you
1856           need processes of more than 1TB virtual address space, say Y here.
1857           This will result in additional memory usage, so it is not
1858           recommended for normal users.
1859
1860 config KEXEC
1861         bool "Kexec system call (EXPERIMENTAL)"
1862         depends on EXPERIMENTAL
1863         help
1864           kexec is a system call that implements the ability to shutdown your
1865           current kernel, and to start another kernel.  It is like a reboot
1866           but it is independent of the system firmware.   And like a reboot
1867           you can start any kernel with it, not just Linux.
1868
1869           The name comes from the similarity to the exec system call.
1870
1871           It is an ongoing process to be certain the hardware in a machine
1872           is properly shutdown, so do not be surprised if this code does not
1873           initially work for you.  It may help to enable device hotplugging
1874           support.  As of this writing the exact hardware interface is
1875           strongly in flux, so no good recommendation can be made.
1876
1877 config SECCOMP
1878         bool "Enable seccomp to safely compute untrusted bytecode"
1879         depends on PROC_FS
1880         default y
1881         help
1882           This kernel feature is useful for number crunching applications
1883           that may need to compute untrusted bytecode during their
1884           execution. By using pipes or other transports made available to
1885           the process as file descriptors supporting the read/write
1886           syscalls, it's possible to isolate those applications in
1887           their own address space using seccomp. Once seccomp is
1888           enabled via /proc/<pid>/seccomp, it cannot be disabled
1889           and the task is only allowed to execute a few safe syscalls
1890           defined by each seccomp mode.
1891
1892           If unsure, say Y. Only embedded should say N here.
1893
1894 endmenu
1895
1896 config RWSEM_GENERIC_SPINLOCK
1897         bool
1898         default y
1899
1900 config LOCKDEP_SUPPORT
1901         bool
1902         default y
1903
1904 config STACKTRACE_SUPPORT
1905         bool
1906         default y
1907
1908 source "init/Kconfig"
1909
1910 config PROBE_INITRD_HEADER
1911         bool "Probe initrd header created by addinitrd"
1912         depends on BLK_DEV_INITRD
1913         help
1914           Probe initrd header at the last page of kernel image.
1915           Say Y here if you are using arch/mips/boot/addinitrd.c to
1916           add initrd or initramfs image to the kernel image.
1917           Otherwise, say N.
1918
1919 source "kernel/Kconfig.freezer"
1920
1921 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1922
1923 config HW_HAS_EISA
1924         bool
1925 config HW_HAS_PCI
1926         bool
1927
1928 config PCI
1929         bool "Support for PCI controller"
1930         depends on HW_HAS_PCI
1931         select PCI_DOMAINS
1932         help
1933           Find out whether you have a PCI motherboard. PCI is the name of a
1934           bus system, i.e. the way the CPU talks to the other stuff inside
1935           your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1936           say Y, otherwise N.
1937
1938 config PCI_DOMAINS
1939         bool
1940
1941 source "drivers/pci/Kconfig"
1942
1943 #
1944 # ISA support is now enabled via select.  Too many systems still have the one
1945 # or other ISA chip on the board that users don't know about so don't expect
1946 # users to choose the right thing ...
1947 #
1948 config ISA
1949         bool
1950
1951 config EISA
1952         bool "EISA support"
1953         depends on HW_HAS_EISA
1954         select ISA
1955         select GENERIC_ISA_DMA
1956         ---help---
1957           The Extended Industry Standard Architecture (EISA) bus was
1958           developed as an open alternative to the IBM MicroChannel bus.
1959
1960           The EISA bus provided some of the features of the IBM MicroChannel
1961           bus while maintaining backward compatibility with cards made for
1962           the older ISA bus.  The EISA bus saw limited use between 1988 and
1963           1995 when it was made obsolete by the PCI bus.
1964
1965           Say Y here if you are building a kernel for an EISA-based machine.
1966
1967           Otherwise, say N.
1968
1969 source "drivers/eisa/Kconfig"
1970
1971 config TC
1972         bool "TURBOchannel support"
1973         depends on MACH_DECSTATION
1974         help
1975           TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1976           processors.  Documentation on writing device drivers for TurboChannel
1977           is available at:
1978           <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1979
1980 #config ACCESSBUS
1981 #       bool "Access.Bus support"
1982 #       depends on TC
1983
1984 config MMU
1985         bool
1986         default y
1987
1988 config I8253
1989         bool
1990
1991 config ZONE_DMA32
1992         bool
1993
1994 source "drivers/pcmcia/Kconfig"
1995
1996 source "drivers/pci/hotplug/Kconfig"
1997
1998 endmenu
1999
2000 menu "Executable file formats"
2001
2002 source "fs/Kconfig.binfmt"
2003
2004 config TRAD_SIGNALS
2005         bool
2006
2007 config MIPS32_COMPAT
2008         bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2009         depends on 64BIT
2010         help
2011           Select this option if you want Linux/MIPS 32-bit binary
2012           compatibility. Since all software available for Linux/MIPS is
2013           currently 32-bit you should say Y here.
2014
2015 config COMPAT
2016         bool
2017         depends on MIPS32_COMPAT
2018         default y
2019
2020 config SYSVIPC_COMPAT
2021         bool
2022         depends on COMPAT && SYSVIPC
2023         default y
2024
2025 config MIPS32_O32
2026         bool "Kernel support for o32 binaries"
2027         depends on MIPS32_COMPAT
2028         help
2029           Select this option if you want to run o32 binaries.  These are pure
2030           32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
2031           existing binaries are in this format.
2032
2033           If unsure, say Y.
2034
2035 config MIPS32_N32
2036         bool "Kernel support for n32 binaries"
2037         depends on MIPS32_COMPAT
2038         help
2039           Select this option if you want to run n32 binaries.  These are
2040           64-bit binaries using 32-bit quantities for addressing and certain
2041           data that would normally be 64-bit.  They are used in special
2042           cases.
2043
2044           If unsure, say N.
2045
2046 config BINFMT_ELF32
2047         bool
2048         default y if MIPS32_O32 || MIPS32_N32
2049
2050 endmenu
2051
2052 menu "Power management options"
2053
2054 config ARCH_SUSPEND_POSSIBLE
2055         def_bool y
2056         depends on !SMP
2057
2058 source "kernel/power/Kconfig"
2059
2060 endmenu
2061
2062 source "net/Kconfig"
2063
2064 source "drivers/Kconfig"
2065
2066 source "fs/Kconfig"
2067
2068 source "arch/mips/Kconfig.debug"
2069
2070 source "security/Kconfig"
2071
2072 source "crypto/Kconfig"
2073
2074 source "lib/Kconfig"