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