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