xref: /linux/arch/mips/Kconfig (revision c145211d1f9e2ef19e7b4c2b943f68366daa97af)
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	help
1079	  The Loongson 2F processor implements the MIPS III instruction set
1080	  with many extensions.
1081
1082	  Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1083	  have a similar programming interface with FPGA northbridge used in
1084	  Loongson2E.
1085
1086config CPU_MIPS32_R1
1087	bool "MIPS32 Release 1"
1088	depends on SYS_HAS_CPU_MIPS32_R1
1089	select CPU_HAS_PREFETCH
1090	select CPU_SUPPORTS_32BIT_KERNEL
1091	select CPU_SUPPORTS_HIGHMEM
1092	help
1093	  Choose this option to build a kernel for release 1 or later of the
1094	  MIPS32 architecture.  Most modern embedded systems with a 32-bit
1095	  MIPS processor are based on a MIPS32 processor.  If you know the
1096	  specific type of processor in your system, choose those that one
1097	  otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1098	  Release 2 of the MIPS32 architecture is available since several
1099	  years so chances are you even have a MIPS32 Release 2 processor
1100	  in which case you should choose CPU_MIPS32_R2 instead for better
1101	  performance.
1102
1103config CPU_MIPS32_R2
1104	bool "MIPS32 Release 2"
1105	depends on SYS_HAS_CPU_MIPS32_R2
1106	select CPU_HAS_PREFETCH
1107	select CPU_SUPPORTS_32BIT_KERNEL
1108	select CPU_SUPPORTS_HIGHMEM
1109	help
1110	  Choose this option to build a kernel for release 2 or later of the
1111	  MIPS32 architecture.  Most modern embedded systems with a 32-bit
1112	  MIPS processor are based on a MIPS32 processor.  If you know the
1113	  specific type of processor in your system, choose those that one
1114	  otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1115
1116config CPU_MIPS64_R1
1117	bool "MIPS64 Release 1"
1118	depends on SYS_HAS_CPU_MIPS64_R1
1119	select CPU_HAS_PREFETCH
1120	select CPU_SUPPORTS_32BIT_KERNEL
1121	select CPU_SUPPORTS_64BIT_KERNEL
1122	select CPU_SUPPORTS_HIGHMEM
1123	select CPU_SUPPORTS_HUGEPAGES
1124	help
1125	  Choose this option to build a kernel for release 1 or later of the
1126	  MIPS64 architecture.  Many modern embedded systems with a 64-bit
1127	  MIPS processor are based on a MIPS64 processor.  If you know the
1128	  specific type of processor in your system, choose those that one
1129	  otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1130	  Release 2 of the MIPS64 architecture is available since several
1131	  years so chances are you even have a MIPS64 Release 2 processor
1132	  in which case you should choose CPU_MIPS64_R2 instead for better
1133	  performance.
1134
1135config CPU_MIPS64_R2
1136	bool "MIPS64 Release 2"
1137	depends on SYS_HAS_CPU_MIPS64_R2
1138	select CPU_HAS_PREFETCH
1139	select CPU_SUPPORTS_32BIT_KERNEL
1140	select CPU_SUPPORTS_64BIT_KERNEL
1141	select CPU_SUPPORTS_HIGHMEM
1142	select CPU_SUPPORTS_HUGEPAGES
1143	help
1144	  Choose this option to build a kernel for release 2 or later of the
1145	  MIPS64 architecture.  Many modern embedded systems with a 64-bit
1146	  MIPS processor are based on a MIPS64 processor.  If you know the
1147	  specific type of processor in your system, choose those that one
1148	  otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1149
1150config CPU_R3000
1151	bool "R3000"
1152	depends on SYS_HAS_CPU_R3000
1153	select CPU_HAS_WB
1154	select CPU_SUPPORTS_32BIT_KERNEL
1155	select CPU_SUPPORTS_HIGHMEM
1156	help
1157	  Please make sure to pick the right CPU type. Linux/MIPS is not
1158	  designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1159	  *not* work on R4000 machines and vice versa.  However, since most
1160	  of the supported machines have an R4000 (or similar) CPU, R4x00
1161	  might be a safe bet.  If the resulting kernel does not work,
1162	  try to recompile with R3000.
1163
1164config CPU_TX39XX
1165	bool "R39XX"
1166	depends on SYS_HAS_CPU_TX39XX
1167	select CPU_SUPPORTS_32BIT_KERNEL
1168
1169config CPU_VR41XX
1170	bool "R41xx"
1171	depends on SYS_HAS_CPU_VR41XX
1172	select CPU_SUPPORTS_32BIT_KERNEL
1173	select CPU_SUPPORTS_64BIT_KERNEL
1174	help
1175	  The options selects support for the NEC VR4100 series of processors.
1176	  Only choose this option if you have one of these processors as a
1177	  kernel built with this option will not run on any other type of
1178	  processor or vice versa.
1179
1180config CPU_R4300
1181	bool "R4300"
1182	depends on SYS_HAS_CPU_R4300
1183	select CPU_SUPPORTS_32BIT_KERNEL
1184	select CPU_SUPPORTS_64BIT_KERNEL
1185	help
1186	  MIPS Technologies R4300-series processors.
1187
1188config CPU_R4X00
1189	bool "R4x00"
1190	depends on SYS_HAS_CPU_R4X00
1191	select CPU_SUPPORTS_32BIT_KERNEL
1192	select CPU_SUPPORTS_64BIT_KERNEL
1193	help
1194	  MIPS Technologies R4000-series processors other than 4300, including
1195	  the R4000, R4400, R4600, and 4700.
1196
1197config CPU_TX49XX
1198	bool "R49XX"
1199	depends on SYS_HAS_CPU_TX49XX
1200	select CPU_HAS_PREFETCH
1201	select CPU_SUPPORTS_32BIT_KERNEL
1202	select CPU_SUPPORTS_64BIT_KERNEL
1203
1204config CPU_R5000
1205	bool "R5000"
1206	depends on SYS_HAS_CPU_R5000
1207	select CPU_SUPPORTS_32BIT_KERNEL
1208	select CPU_SUPPORTS_64BIT_KERNEL
1209	help
1210	  MIPS Technologies R5000-series processors other than the Nevada.
1211
1212config CPU_R5432
1213	bool "R5432"
1214	depends on SYS_HAS_CPU_R5432
1215	select CPU_SUPPORTS_32BIT_KERNEL
1216	select CPU_SUPPORTS_64BIT_KERNEL
1217
1218config CPU_R5500
1219	bool "R5500"
1220	depends on SYS_HAS_CPU_R5500
1221	select CPU_SUPPORTS_32BIT_KERNEL
1222	select CPU_SUPPORTS_64BIT_KERNEL
1223	select CPU_SUPPORTS_HUGEPAGES
1224	help
1225	  NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1226	  instruction set.
1227
1228config CPU_R6000
1229	bool "R6000"
1230	depends on EXPERIMENTAL
1231	depends on SYS_HAS_CPU_R6000
1232	select CPU_SUPPORTS_32BIT_KERNEL
1233	help
1234	  MIPS Technologies R6000 and R6000A series processors.  Note these
1235	  processors are extremely rare and the support for them is incomplete.
1236
1237config CPU_NEVADA
1238	bool "RM52xx"
1239	depends on SYS_HAS_CPU_NEVADA
1240	select CPU_SUPPORTS_32BIT_KERNEL
1241	select CPU_SUPPORTS_64BIT_KERNEL
1242	help
1243	  QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1244
1245config CPU_R8000
1246	bool "R8000"
1247	depends on EXPERIMENTAL
1248	depends on SYS_HAS_CPU_R8000
1249	select CPU_HAS_PREFETCH
1250	select CPU_SUPPORTS_64BIT_KERNEL
1251	help
1252	  MIPS Technologies R8000 processors.  Note these processors are
1253	  uncommon and the support for them is incomplete.
1254
1255config CPU_R10000
1256	bool "R10000"
1257	depends on SYS_HAS_CPU_R10000
1258	select CPU_HAS_PREFETCH
1259	select CPU_SUPPORTS_32BIT_KERNEL
1260	select CPU_SUPPORTS_64BIT_KERNEL
1261	select CPU_SUPPORTS_HIGHMEM
1262	help
1263	  MIPS Technologies R10000-series processors.
1264
1265config CPU_RM7000
1266	bool "RM7000"
1267	depends on SYS_HAS_CPU_RM7000
1268	select CPU_HAS_PREFETCH
1269	select CPU_SUPPORTS_32BIT_KERNEL
1270	select CPU_SUPPORTS_64BIT_KERNEL
1271	select CPU_SUPPORTS_HIGHMEM
1272
1273config CPU_RM9000
1274	bool "RM9000"
1275	depends on SYS_HAS_CPU_RM9000
1276	select CPU_HAS_PREFETCH
1277	select CPU_SUPPORTS_32BIT_KERNEL
1278	select CPU_SUPPORTS_64BIT_KERNEL
1279	select CPU_SUPPORTS_HIGHMEM
1280	select WEAK_ORDERING
1281
1282config CPU_SB1
1283	bool "SB1"
1284	depends on SYS_HAS_CPU_SB1
1285	select CPU_SUPPORTS_32BIT_KERNEL
1286	select CPU_SUPPORTS_64BIT_KERNEL
1287	select CPU_SUPPORTS_HIGHMEM
1288	select WEAK_ORDERING
1289
1290config CPU_CAVIUM_OCTEON
1291	bool "Cavium Octeon processor"
1292	depends on SYS_HAS_CPU_CAVIUM_OCTEON
1293	select IRQ_CPU
1294	select IRQ_CPU_OCTEON
1295	select CPU_HAS_PREFETCH
1296	select CPU_SUPPORTS_64BIT_KERNEL
1297	select SYS_SUPPORTS_SMP
1298	select NR_CPUS_DEFAULT_16
1299	select WEAK_ORDERING
1300	select CPU_SUPPORTS_HIGHMEM
1301	select CPU_SUPPORTS_HUGEPAGES
1302	help
1303	  The Cavium Octeon processor is a highly integrated chip containing
1304	  many ethernet hardware widgets for networking tasks. The processor
1305	  can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1306	  Full details can be found at http://www.caviumnetworks.com.
1307
1308endchoice
1309
1310if CPU_LOONGSON2F
1311config CPU_NOP_WORKAROUNDS
1312	bool
1313
1314config CPU_JUMP_WORKAROUNDS
1315	bool
1316
1317config CPU_LOONGSON2F_WORKAROUNDS
1318	bool "Loongson 2F Workarounds"
1319	default y
1320	select CPU_NOP_WORKAROUNDS
1321	select CPU_JUMP_WORKAROUNDS
1322	help
1323	  Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1324	  require workarounds.  Without workarounds the system may hang
1325	  unexpectedly.  For more information please refer to the gas
1326	  -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1327
1328	  Loongson 2F03 and later have fixed these issues and no workarounds
1329	  are needed.  The workarounds have no significant side effect on them
1330	  but may decrease the performance of the system so this option should
1331	  be disabled unless the kernel is intended to be run on 2F01 or 2F02
1332	  systems.
1333
1334	  If unsure, please say Y.
1335endif # CPU_LOONGSON2F
1336
1337config SYS_SUPPORTS_ZBOOT
1338	bool
1339	select HAVE_KERNEL_GZIP
1340	select HAVE_KERNEL_BZIP2
1341	select HAVE_KERNEL_LZMA
1342	select HAVE_KERNEL_LZO
1343
1344config SYS_SUPPORTS_ZBOOT_UART16550
1345	bool
1346	select SYS_SUPPORTS_ZBOOT
1347
1348config CPU_LOONGSON2
1349	bool
1350	select CPU_SUPPORTS_32BIT_KERNEL
1351	select CPU_SUPPORTS_64BIT_KERNEL
1352	select CPU_SUPPORTS_HIGHMEM
1353
1354config SYS_HAS_CPU_LOONGSON2E
1355	bool
1356
1357config SYS_HAS_CPU_LOONGSON2F
1358	bool
1359	select CPU_SUPPORTS_CPUFREQ
1360	select CPU_SUPPORTS_ADDRWINCFG if 64BIT
1361	select CPU_SUPPORTS_UNCACHED_ACCELERATED
1362
1363config SYS_HAS_CPU_MIPS32_R1
1364	bool
1365
1366config SYS_HAS_CPU_MIPS32_R2
1367	bool
1368
1369config SYS_HAS_CPU_MIPS64_R1
1370	bool
1371
1372config SYS_HAS_CPU_MIPS64_R2
1373	bool
1374
1375config SYS_HAS_CPU_R3000
1376	bool
1377
1378config SYS_HAS_CPU_TX39XX
1379	bool
1380
1381config SYS_HAS_CPU_VR41XX
1382	bool
1383
1384config SYS_HAS_CPU_R4300
1385	bool
1386
1387config SYS_HAS_CPU_R4X00
1388	bool
1389
1390config SYS_HAS_CPU_TX49XX
1391	bool
1392
1393config SYS_HAS_CPU_R5000
1394	bool
1395
1396config SYS_HAS_CPU_R5432
1397	bool
1398
1399config SYS_HAS_CPU_R5500
1400	bool
1401
1402config SYS_HAS_CPU_R6000
1403	bool
1404
1405config SYS_HAS_CPU_NEVADA
1406	bool
1407
1408config SYS_HAS_CPU_R8000
1409	bool
1410
1411config SYS_HAS_CPU_R10000
1412	bool
1413
1414config SYS_HAS_CPU_RM7000
1415	bool
1416
1417config SYS_HAS_CPU_RM9000
1418	bool
1419
1420config SYS_HAS_CPU_SB1
1421	bool
1422
1423config SYS_HAS_CPU_CAVIUM_OCTEON
1424	bool
1425
1426#
1427# CPU may reorder R->R, R->W, W->R, W->W
1428# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1429#
1430config WEAK_ORDERING
1431	bool
1432
1433#
1434# CPU may reorder reads and writes beyond LL/SC
1435# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1436#
1437config WEAK_REORDERING_BEYOND_LLSC
1438	bool
1439endmenu
1440
1441#
1442# These two indicate any level of the MIPS32 and MIPS64 architecture
1443#
1444config CPU_MIPS32
1445	bool
1446	default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1447
1448config CPU_MIPS64
1449	bool
1450	default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1451
1452#
1453# These two indicate the revision of the architecture, either Release 1 or Release 2
1454#
1455config CPU_MIPSR1
1456	bool
1457	default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1458
1459config CPU_MIPSR2
1460	bool
1461	default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1462
1463config SYS_SUPPORTS_32BIT_KERNEL
1464	bool
1465config SYS_SUPPORTS_64BIT_KERNEL
1466	bool
1467config CPU_SUPPORTS_32BIT_KERNEL
1468	bool
1469config CPU_SUPPORTS_64BIT_KERNEL
1470	bool
1471config CPU_SUPPORTS_CPUFREQ
1472	bool
1473config CPU_SUPPORTS_ADDRWINCFG
1474	bool
1475config CPU_SUPPORTS_HUGEPAGES
1476	bool
1477config CPU_SUPPORTS_UNCACHED_ACCELERATED
1478	bool
1479config MIPS_PGD_C0_CONTEXT
1480	bool
1481	default y if 64BIT && CPU_MIPSR2
1482
1483#
1484# Set to y for ptrace access to watch registers.
1485#
1486config HARDWARE_WATCHPOINTS
1487       bool
1488       default y if CPU_MIPSR1 || CPU_MIPSR2
1489
1490menu "Kernel type"
1491
1492choice
1493
1494	prompt "Kernel code model"
1495	help
1496	  You should only select this option if you have a workload that
1497	  actually benefits from 64-bit processing or if your machine has
1498	  large memory.  You will only be presented a single option in this
1499	  menu if your system does not support both 32-bit and 64-bit kernels.
1500
1501config 32BIT
1502	bool "32-bit kernel"
1503	depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1504	select TRAD_SIGNALS
1505	help
1506	  Select this option if you want to build a 32-bit kernel.
1507config 64BIT
1508	bool "64-bit kernel"
1509	depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1510	select HAVE_SYSCALL_WRAPPERS
1511	help
1512	  Select this option if you want to build a 64-bit kernel.
1513
1514endchoice
1515
1516choice
1517	prompt "Kernel page size"
1518	default PAGE_SIZE_4KB
1519
1520config PAGE_SIZE_4KB
1521	bool "4kB"
1522	depends on !CPU_LOONGSON2
1523	help
1524	 This option select the standard 4kB Linux page size.  On some
1525	 R3000-family processors this is the only available page size.  Using
1526	 4kB page size will minimize memory consumption and is therefore
1527	 recommended for low memory systems.
1528
1529config PAGE_SIZE_8KB
1530	bool "8kB"
1531	depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
1532	help
1533	  Using 8kB page size will result in higher performance kernel at
1534	  the price of higher memory consumption.  This option is available
1535	  only on R8000 and cnMIPS processors.  Note that you will need a
1536	  suitable Linux distribution to support this.
1537
1538config PAGE_SIZE_16KB
1539	bool "16kB"
1540	depends on !CPU_R3000 && !CPU_TX39XX
1541	help
1542	  Using 16kB page size will result in higher performance kernel at
1543	  the price of higher memory consumption.  This option is available on
1544	  all non-R3000 family processors.  Note that you will need a suitable
1545	  Linux distribution to support this.
1546
1547config PAGE_SIZE_32KB
1548	bool "32kB"
1549	depends on CPU_CAVIUM_OCTEON
1550	help
1551	  Using 32kB page size will result in higher performance kernel at
1552	  the price of higher memory consumption.  This option is available
1553	  only on cnMIPS cores.  Note that you will need a suitable Linux
1554	  distribution to support this.
1555
1556config PAGE_SIZE_64KB
1557	bool "64kB"
1558	depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1559	help
1560	  Using 64kB page size will result in higher performance kernel at
1561	  the price of higher memory consumption.  This option is available on
1562	  all non-R3000 family processor.  Not that at the time of this
1563	  writing this option is still high experimental.
1564
1565endchoice
1566
1567config BOARD_SCACHE
1568	bool
1569
1570config IP22_CPU_SCACHE
1571	bool
1572	select BOARD_SCACHE
1573
1574#
1575# Support for a MIPS32 / MIPS64 style S-caches
1576#
1577config MIPS_CPU_SCACHE
1578	bool
1579	select BOARD_SCACHE
1580
1581config R5000_CPU_SCACHE
1582	bool
1583	select BOARD_SCACHE
1584
1585config RM7000_CPU_SCACHE
1586	bool
1587	select BOARD_SCACHE
1588
1589config SIBYTE_DMA_PAGEOPS
1590	bool "Use DMA to clear/copy pages"
1591	depends on CPU_SB1
1592	help
1593	  Instead of using the CPU to zero and copy pages, use a Data Mover
1594	  channel.  These DMA channels are otherwise unused by the standard
1595	  SiByte Linux port.  Seems to give a small performance benefit.
1596
1597config CPU_HAS_PREFETCH
1598	bool
1599
1600choice
1601	prompt "MIPS MT options"
1602
1603config MIPS_MT_DISABLED
1604	bool "Disable multithreading support."
1605	help
1606	  Use this option if your workload can't take advantage of
1607	  MIPS hardware multithreading support.  On systems that don't have
1608	  the option of an MT-enabled processor this option will be the only
1609	  option in this menu.
1610
1611config MIPS_MT_SMP
1612	bool "Use 1 TC on each available VPE for SMP"
1613	depends on SYS_SUPPORTS_MULTITHREADING
1614	select CPU_MIPSR2_IRQ_VI
1615	select CPU_MIPSR2_IRQ_EI
1616	select MIPS_MT
1617	select NR_CPUS_DEFAULT_2
1618	select SMP
1619	select SYS_SUPPORTS_SCHED_SMT if SMP
1620	select SYS_SUPPORTS_SMP
1621	select SMP_UP
1622	help
1623	  This is a kernel model which is also known a VSMP or lately
1624	  has been marketesed into SMVP.
1625
1626config MIPS_MT_SMTC
1627	bool "SMTC: Use all TCs on all VPEs for SMP"
1628	depends on CPU_MIPS32_R2
1629	#depends on CPU_MIPS64_R2		# once there is hardware ...
1630	depends on SYS_SUPPORTS_MULTITHREADING
1631	select CPU_MIPSR2_IRQ_VI
1632	select CPU_MIPSR2_IRQ_EI
1633	select MIPS_MT
1634	select NR_CPUS_DEFAULT_8
1635	select SMP
1636	select SYS_SUPPORTS_SMP
1637	select SMP_UP
1638	help
1639	  This is a kernel model which is known a SMTC or lately has been
1640	  marketesed into SMVP.
1641
1642endchoice
1643
1644config MIPS_MT
1645	bool
1646
1647config SCHED_SMT
1648	bool "SMT (multithreading) scheduler support"
1649	depends on SYS_SUPPORTS_SCHED_SMT
1650	default n
1651	help
1652	  SMT scheduler support improves the CPU scheduler's decision making
1653	  when dealing with MIPS MT enabled cores at a cost of slightly
1654	  increased overhead in some places. If unsure say N here.
1655
1656config SYS_SUPPORTS_SCHED_SMT
1657	bool
1658
1659
1660config SYS_SUPPORTS_MULTITHREADING
1661	bool
1662
1663config MIPS_MT_FPAFF
1664	bool "Dynamic FPU affinity for FP-intensive threads"
1665	default y
1666	depends on MIPS_MT_SMP || MIPS_MT_SMTC
1667
1668config MIPS_VPE_LOADER
1669	bool "VPE loader support."
1670	depends on SYS_SUPPORTS_MULTITHREADING
1671	select CPU_MIPSR2_IRQ_VI
1672	select CPU_MIPSR2_IRQ_EI
1673	select MIPS_MT
1674	help
1675	  Includes a loader for loading an elf relocatable object
1676	  onto another VPE and running it.
1677
1678config MIPS_MT_SMTC_IM_BACKSTOP
1679	bool "Use per-TC register bits as backstop for inhibited IM bits"
1680	depends on MIPS_MT_SMTC
1681	default n
1682	help
1683	  To support multiple TC microthreads acting as "CPUs" within
1684	  a VPE, VPE-wide interrupt mask bits must be specially manipulated
1685	  during interrupt handling. To support legacy drivers and interrupt
1686	  controller management code, SMTC has a "backstop" to track and
1687	  if necessary restore the interrupt mask. This has some performance
1688	  impact on interrupt service overhead.
1689
1690config MIPS_MT_SMTC_IRQAFF
1691	bool "Support IRQ affinity API"
1692	depends on MIPS_MT_SMTC
1693	default n
1694	help
1695	  Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1696	  for SMTC Linux kernel. Requires platform support, of which
1697	  an example can be found in the MIPS kernel i8259 and Malta
1698	  platform code.  Adds some overhead to interrupt dispatch, and
1699	  should be used only if you know what you are doing.
1700
1701config MIPS_VPE_LOADER_TOM
1702	bool "Load VPE program into memory hidden from linux"
1703	depends on MIPS_VPE_LOADER
1704	default y
1705	help
1706	  The loader can use memory that is present but has been hidden from
1707	  Linux using the kernel command line option "mem=xxMB". It's up to
1708	  you to ensure the amount you put in the option and the space your
1709	  program requires is less or equal to the amount physically present.
1710
1711# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1712config MIPS_VPE_APSP_API
1713	bool "Enable support for AP/SP API (RTLX)"
1714	depends on MIPS_VPE_LOADER
1715	help
1716
1717config MIPS_APSP_KSPD
1718	bool "Enable KSPD"
1719	depends on MIPS_VPE_APSP_API
1720	default y
1721	help
1722	  KSPD is a kernel daemon that accepts syscall requests from the SP
1723	  side, actions them and returns the results. It also handles the
1724	  "exit" syscall notifying other kernel modules the SP program is
1725	  exiting.  You probably want to say yes here.
1726
1727config MIPS_CMP
1728	bool "MIPS CMP framework support"
1729	depends on SYS_SUPPORTS_MIPS_CMP
1730	select SYNC_R4K
1731	select SYS_SUPPORTS_SMP
1732	select SYS_SUPPORTS_SCHED_SMT if SMP
1733	select WEAK_ORDERING
1734	default n
1735	help
1736	  This is a placeholder option for the GCMP work. It will need to
1737	  be handled differently...
1738
1739config SB1_PASS_1_WORKAROUNDS
1740	bool
1741	depends on CPU_SB1_PASS_1
1742	default y
1743
1744config SB1_PASS_2_WORKAROUNDS
1745	bool
1746	depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1747	default y
1748
1749config SB1_PASS_2_1_WORKAROUNDS
1750	bool
1751	depends on CPU_SB1 && CPU_SB1_PASS_2
1752	default y
1753
1754config 64BIT_PHYS_ADDR
1755	bool
1756
1757config ARCH_PHYS_ADDR_T_64BIT
1758       def_bool 64BIT_PHYS_ADDR
1759
1760config CPU_HAS_SMARTMIPS
1761	depends on SYS_SUPPORTS_SMARTMIPS
1762	bool "Support for the SmartMIPS ASE"
1763	help
1764	  SmartMIPS is a extension of the MIPS32 architecture aimed at
1765	  increased security at both hardware and software level for
1766	  smartcards.  Enabling this option will allow proper use of the
1767	  SmartMIPS instructions by Linux applications.  However a kernel with
1768	  this option will not work on a MIPS core without SmartMIPS core.  If
1769	  you don't know you probably don't have SmartMIPS and should say N
1770	  here.
1771
1772config CPU_HAS_WB
1773	bool
1774
1775#
1776# Vectored interrupt mode is an R2 feature
1777#
1778config CPU_MIPSR2_IRQ_VI
1779	bool
1780
1781#
1782# Extended interrupt mode is an R2 feature
1783#
1784config CPU_MIPSR2_IRQ_EI
1785	bool
1786
1787config CPU_HAS_SYNC
1788	bool
1789	depends on !CPU_R3000
1790	default y
1791
1792config GENERIC_CLOCKEVENTS_BROADCAST
1793	bool
1794
1795#
1796# CPU non-features
1797#
1798config CPU_DADDI_WORKAROUNDS
1799	bool
1800
1801config CPU_R4000_WORKAROUNDS
1802	bool
1803	select CPU_R4400_WORKAROUNDS
1804
1805config CPU_R4400_WORKAROUNDS
1806	bool
1807
1808#
1809# Use the generic interrupt handling code in kernel/irq/:
1810#
1811config GENERIC_HARDIRQS
1812	bool
1813	default y
1814
1815config GENERIC_IRQ_PROBE
1816	bool
1817	default y
1818
1819config IRQ_PER_CPU
1820	bool
1821
1822#
1823# - Highmem only makes sense for the 32-bit kernel.
1824# - The current highmem code will only work properly on physically indexed
1825#   caches such as R3000, SB1, R7000 or those that look like they're virtually
1826#   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
1827#   moment we protect the user and offer the highmem option only on machines
1828#   where it's known to be safe.  This will not offer highmem on a few systems
1829#   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1830#   indexed CPUs but we're playing safe.
1831# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1832#   know they might have memory configurations that could make use of highmem
1833#   support.
1834#
1835config HIGHMEM
1836	bool "High Memory Support"
1837	depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1838
1839config CPU_SUPPORTS_HIGHMEM
1840	bool
1841
1842config SYS_SUPPORTS_HIGHMEM
1843	bool
1844
1845config SYS_SUPPORTS_SMARTMIPS
1846	bool
1847
1848config ARCH_FLATMEM_ENABLE
1849	def_bool y
1850	depends on !NUMA && !CPU_LOONGSON2
1851
1852config ARCH_DISCONTIGMEM_ENABLE
1853	bool
1854	default y if SGI_IP27
1855	help
1856	  Say Y to support efficient handling of discontiguous physical memory,
1857	  for architectures which are either NUMA (Non-Uniform Memory Access)
1858	  or have huge holes in the physical address space for other reasons.
1859	  See <file:Documentation/vm/numa> for more.
1860
1861config ARCH_POPULATES_NODE_MAP
1862	def_bool y
1863
1864config ARCH_SPARSEMEM_ENABLE
1865	bool
1866	select SPARSEMEM_STATIC
1867
1868config NUMA
1869	bool "NUMA Support"
1870	depends on SYS_SUPPORTS_NUMA
1871	help
1872	  Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1873	  Access).  This option improves performance on systems with more
1874	  than two nodes; on two node systems it is generally better to
1875	  leave it disabled; on single node systems disable this option
1876	  disabled.
1877
1878config SYS_SUPPORTS_NUMA
1879	bool
1880
1881config NODES_SHIFT
1882	int
1883	default "6"
1884	depends on NEED_MULTIPLE_NODES
1885
1886source "mm/Kconfig"
1887
1888config SMP
1889	bool "Multi-Processing support"
1890	depends on SYS_SUPPORTS_SMP
1891	select IRQ_PER_CPU
1892	select USE_GENERIC_SMP_HELPERS
1893	help
1894	  This enables support for systems with more than one CPU. If you have
1895	  a system with only one CPU, like most personal computers, say N. If
1896	  you have a system with more than one CPU, say Y.
1897
1898	  If you say N here, the kernel will run on single and multiprocessor
1899	  machines, but will use only one CPU of a multiprocessor machine. If
1900	  you say Y here, the kernel will run on many, but not all,
1901	  singleprocessor machines. On a singleprocessor machine, the kernel
1902	  will run faster if you say N here.
1903
1904	  People using multiprocessor machines who say Y here should also say
1905	  Y to "Enhanced Real Time Clock Support", below.
1906
1907	  See also the SMP-HOWTO available at
1908	  <http://www.tldp.org/docs.html#howto>.
1909
1910	  If you don't know what to do here, say N.
1911
1912config SMP_UP
1913	bool
1914
1915config SYS_SUPPORTS_MIPS_CMP
1916	bool
1917
1918config SYS_SUPPORTS_SMP
1919	bool
1920
1921config NR_CPUS_DEFAULT_1
1922	bool
1923
1924config NR_CPUS_DEFAULT_2
1925	bool
1926
1927config NR_CPUS_DEFAULT_4
1928	bool
1929
1930config NR_CPUS_DEFAULT_8
1931	bool
1932
1933config NR_CPUS_DEFAULT_16
1934	bool
1935
1936config NR_CPUS_DEFAULT_32
1937	bool
1938
1939config NR_CPUS_DEFAULT_64
1940	bool
1941
1942config NR_CPUS
1943	int "Maximum number of CPUs (2-64)"
1944	range 1 64 if NR_CPUS_DEFAULT_1
1945	depends on SMP
1946	default "1" if NR_CPUS_DEFAULT_1
1947	default "2" if NR_CPUS_DEFAULT_2
1948	default "4" if NR_CPUS_DEFAULT_4
1949	default "8" if NR_CPUS_DEFAULT_8
1950	default "16" if NR_CPUS_DEFAULT_16
1951	default "32" if NR_CPUS_DEFAULT_32
1952	default "64" if NR_CPUS_DEFAULT_64
1953	help
1954	  This allows you to specify the maximum number of CPUs which this
1955	  kernel will support.  The maximum supported value is 32 for 32-bit
1956	  kernel and 64 for 64-bit kernels; the minimum value which makes
1957	  sense is 1 for Qemu (useful only for kernel debugging purposes)
1958	  and 2 for all others.
1959
1960	  This is purely to save memory - each supported CPU adds
1961	  approximately eight kilobytes to the kernel image.  For best
1962	  performance should round up your number of processors to the next
1963	  power of two.
1964
1965source "kernel/time/Kconfig"
1966
1967#
1968# Timer Interrupt Frequency Configuration
1969#
1970
1971choice
1972	prompt "Timer frequency"
1973	default HZ_250
1974	help
1975	 Allows the configuration of the timer frequency.
1976
1977	config HZ_48
1978		bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
1979
1980	config HZ_100
1981		bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1982
1983	config HZ_128
1984		bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1985
1986	config HZ_250
1987		bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1988
1989	config HZ_256
1990		bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1991
1992	config HZ_1000
1993		bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1994
1995	config HZ_1024
1996		bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1997
1998endchoice
1999
2000config SYS_SUPPORTS_48HZ
2001	bool
2002
2003config SYS_SUPPORTS_100HZ
2004	bool
2005
2006config SYS_SUPPORTS_128HZ
2007	bool
2008
2009config SYS_SUPPORTS_250HZ
2010	bool
2011
2012config SYS_SUPPORTS_256HZ
2013	bool
2014
2015config SYS_SUPPORTS_1000HZ
2016	bool
2017
2018config SYS_SUPPORTS_1024HZ
2019	bool
2020
2021config SYS_SUPPORTS_ARBIT_HZ
2022	bool
2023	default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2024		     !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2025		     !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2026		     !SYS_SUPPORTS_1024HZ
2027
2028config HZ
2029	int
2030	default 48 if HZ_48
2031	default 100 if HZ_100
2032	default 128 if HZ_128
2033	default 250 if HZ_250
2034	default 256 if HZ_256
2035	default 1000 if HZ_1000
2036	default 1024 if HZ_1024
2037
2038source "kernel/Kconfig.preempt"
2039
2040config MIPS_INSANE_LARGE
2041	bool "Support for large 64-bit configurations"
2042	depends on CPU_R10000 && 64BIT
2043	help
2044	  MIPS R10000 does support a 44 bit / 16TB address space as opposed to
2045	  previous 64-bit processors which only supported 40 bit / 1TB. If you
2046	  need processes of more than 1TB virtual address space, say Y here.
2047	  This will result in additional memory usage, so it is not
2048	  recommended for normal users.
2049
2050config KEXEC
2051	bool "Kexec system call (EXPERIMENTAL)"
2052	depends on EXPERIMENTAL
2053	help
2054	  kexec is a system call that implements the ability to shutdown your
2055	  current kernel, and to start another kernel.  It is like a reboot
2056	  but it is independent of the system firmware.   And like a reboot
2057	  you can start any kernel with it, not just Linux.
2058
2059	  The name comes from the similarity to the exec system call.
2060
2061	  It is an ongoing process to be certain the hardware in a machine
2062	  is properly shutdown, so do not be surprised if this code does not
2063	  initially work for you.  It may help to enable device hotplugging
2064	  support.  As of this writing the exact hardware interface is
2065	  strongly in flux, so no good recommendation can be made.
2066
2067config SECCOMP
2068	bool "Enable seccomp to safely compute untrusted bytecode"
2069	depends on PROC_FS
2070	default y
2071	help
2072	  This kernel feature is useful for number crunching applications
2073	  that may need to compute untrusted bytecode during their
2074	  execution. By using pipes or other transports made available to
2075	  the process as file descriptors supporting the read/write
2076	  syscalls, it's possible to isolate those applications in
2077	  their own address space using seccomp. Once seccomp is
2078	  enabled via /proc/<pid>/seccomp, it cannot be disabled
2079	  and the task is only allowed to execute a few safe syscalls
2080	  defined by each seccomp mode.
2081
2082	  If unsure, say Y. Only embedded should say N here.
2083
2084endmenu
2085
2086config LOCKDEP_SUPPORT
2087	bool
2088	default y
2089
2090config STACKTRACE_SUPPORT
2091	bool
2092	default y
2093
2094source "init/Kconfig"
2095
2096source "kernel/Kconfig.freezer"
2097
2098menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2099
2100config HW_HAS_EISA
2101	bool
2102config HW_HAS_PCI
2103	bool
2104
2105config PCI
2106	bool "Support for PCI controller"
2107	depends on HW_HAS_PCI
2108	select PCI_DOMAINS
2109	help
2110	  Find out whether you have a PCI motherboard. PCI is the name of a
2111	  bus system, i.e. the way the CPU talks to the other stuff inside
2112	  your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2113	  say Y, otherwise N.
2114
2115config PCI_DOMAINS
2116	bool
2117
2118source "drivers/pci/Kconfig"
2119
2120#
2121# ISA support is now enabled via select.  Too many systems still have the one
2122# or other ISA chip on the board that users don't know about so don't expect
2123# users to choose the right thing ...
2124#
2125config ISA
2126	bool
2127
2128config EISA
2129	bool "EISA support"
2130	depends on HW_HAS_EISA
2131	select ISA
2132	select GENERIC_ISA_DMA
2133	---help---
2134	  The Extended Industry Standard Architecture (EISA) bus was
2135	  developed as an open alternative to the IBM MicroChannel bus.
2136
2137	  The EISA bus provided some of the features of the IBM MicroChannel
2138	  bus while maintaining backward compatibility with cards made for
2139	  the older ISA bus.  The EISA bus saw limited use between 1988 and
2140	  1995 when it was made obsolete by the PCI bus.
2141
2142	  Say Y here if you are building a kernel for an EISA-based machine.
2143
2144	  Otherwise, say N.
2145
2146source "drivers/eisa/Kconfig"
2147
2148config TC
2149	bool "TURBOchannel support"
2150	depends on MACH_DECSTATION
2151	help
2152	  TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2153	  processors.  Documentation on writing device drivers for TurboChannel
2154	  is available at:
2155	  <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
2156
2157#config ACCESSBUS
2158#	bool "Access.Bus support"
2159#	depends on TC
2160
2161config MMU
2162	bool
2163	default y
2164
2165config I8253
2166	bool
2167	select MIPS_EXTERNAL_TIMER
2168
2169config ZONE_DMA32
2170	bool
2171
2172source "drivers/pcmcia/Kconfig"
2173
2174source "drivers/pci/hotplug/Kconfig"
2175
2176endmenu
2177
2178menu "Executable file formats"
2179
2180source "fs/Kconfig.binfmt"
2181
2182config TRAD_SIGNALS
2183	bool
2184
2185config MIPS32_COMPAT
2186	bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2187	depends on 64BIT
2188	help
2189	  Select this option if you want Linux/MIPS 32-bit binary
2190	  compatibility. Since all software available for Linux/MIPS is
2191	  currently 32-bit you should say Y here.
2192
2193config COMPAT
2194	bool
2195	depends on MIPS32_COMPAT
2196	default y
2197
2198config SYSVIPC_COMPAT
2199	bool
2200	depends on COMPAT && SYSVIPC
2201	default y
2202
2203config MIPS32_O32
2204	bool "Kernel support for o32 binaries"
2205	depends on MIPS32_COMPAT
2206	help
2207	  Select this option if you want to run o32 binaries.  These are pure
2208	  32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
2209	  existing binaries are in this format.
2210
2211	  If unsure, say Y.
2212
2213config MIPS32_N32
2214	bool "Kernel support for n32 binaries"
2215	depends on MIPS32_COMPAT
2216	help
2217	  Select this option if you want to run n32 binaries.  These are
2218	  64-bit binaries using 32-bit quantities for addressing and certain
2219	  data that would normally be 64-bit.  They are used in special
2220	  cases.
2221
2222	  If unsure, say N.
2223
2224config BINFMT_ELF32
2225	bool
2226	default y if MIPS32_O32 || MIPS32_N32
2227
2228endmenu
2229
2230menu "Power management options"
2231
2232config ARCH_HIBERNATION_POSSIBLE
2233	def_bool y
2234	depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2235
2236config ARCH_SUSPEND_POSSIBLE
2237	def_bool y
2238	depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2239
2240source "kernel/power/Kconfig"
2241
2242endmenu
2243
2244source "arch/mips/kernel/cpufreq/Kconfig"
2245
2246source "net/Kconfig"
2247
2248source "drivers/Kconfig"
2249
2250source "fs/Kconfig"
2251
2252source "arch/mips/Kconfig.debug"
2253
2254source "security/Kconfig"
2255
2256source "crypto/Kconfig"
2257
2258source "lib/Kconfig"
2259