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