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