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