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