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