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