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