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