xref: /linux/arch/mips/Kconfig (revision c537b994505099b7197e7d3125b942ecbcc51eb6)
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 EXPERIMENTAL
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	help
546	  Qemu is a software emulator which among other architectures also
547	  can simulate a MIPS32 4Kc system.  This patch adds support for the
548	  system architecture that currently is being simulated by Qemu.  It
549	  will eventually be removed again when Qemu has the capability to
550	  simulate actual MIPS hardware platforms.  More information on Qemu
551	  can be found at http://www.linux-mips.org/wiki/Qemu.
552
553config MARKEINS
554	bool "Support for NEC EMMA2RH Mark-eins"
555	select DMA_NONCOHERENT
556	select HW_HAS_PCI
557	select IRQ_CPU
558	select SWAP_IO_SPACE
559	select SYS_SUPPORTS_32BIT_KERNEL
560	select SYS_SUPPORTS_BIG_ENDIAN
561	select SYS_SUPPORTS_LITTLE_ENDIAN
562	select SYS_HAS_CPU_R5000
563	help
564	  This enables support for the R5432-based NEC Mark-eins
565	  boards with R5500 CPU.
566
567config SGI_IP22
568	bool "SGI IP22 (Indy/Indigo2)"
569	select ARC
570	select ARC32
571	select BOOT_ELF32
572	select DMA_NONCOHERENT
573	select HW_HAS_EISA
574	select IP22_CPU_SCACHE
575	select IRQ_CPU
576	select GENERIC_ISA_DMA_SUPPORT_BROKEN
577	select SWAP_IO_SPACE
578	select SYS_HAS_CPU_R4X00
579	select SYS_HAS_CPU_R5000
580	select SYS_HAS_EARLY_PRINTK
581	select SYS_SUPPORTS_32BIT_KERNEL
582	select SYS_SUPPORTS_64BIT_KERNEL
583	select SYS_SUPPORTS_BIG_ENDIAN
584	help
585	  This are the SGI Indy, Challenge S and Indigo2, as well as certain
586	  OEM variants like the Tandem CMN B006S. To compile a Linux kernel
587	  that runs on these, say Y here.
588
589config SGI_IP27
590	bool "SGI IP27 (Origin200/2000)"
591	select ARC
592	select ARC64
593	select BOOT_ELF64
594	select DMA_IP27
595	select SYS_HAS_EARLY_PRINTK
596	select HW_HAS_PCI
597	select NR_CPUS_DEFAULT_64
598	select PCI_DOMAINS
599	select SYS_HAS_CPU_R10000
600	select SYS_SUPPORTS_64BIT_KERNEL
601	select SYS_SUPPORTS_BIG_ENDIAN
602	select SYS_SUPPORTS_KGDB
603	select SYS_SUPPORTS_NUMA
604	select SYS_SUPPORTS_SMP
605	select GENERIC_HARDIRQS_NO__DO_IRQ
606	help
607	  This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
608	  workstations.  To compile a Linux kernel that runs on these, say Y
609	  here.
610
611config SGI_IP32
612	bool "SGI IP32 (O2) (EXPERIMENTAL)"
613	depends on EXPERIMENTAL
614	select ARC
615	select ARC32
616	select BOOT_ELF32
617	select DMA_NONCOHERENT
618	select HW_HAS_PCI
619	select R5000_CPU_SCACHE
620	select RM7000_CPU_SCACHE
621	select SYS_HAS_CPU_R5000
622	select SYS_HAS_CPU_R10000 if BROKEN
623	select SYS_HAS_CPU_RM7000
624	select SYS_HAS_CPU_NEVADA
625	select SYS_SUPPORTS_64BIT_KERNEL
626	select SYS_SUPPORTS_BIG_ENDIAN
627	help
628	  If you want this kernel to run on SGI O2 workstation, say Y here.
629
630config SIBYTE_BIGSUR
631	bool "Sibyte BCM91480B-BigSur"
632	select BOOT_ELF32
633	select DMA_COHERENT
634	select NR_CPUS_DEFAULT_4
635	select PCI_DOMAINS
636	select SIBYTE_BCM1x80
637	select SWAP_IO_SPACE
638	select SYS_HAS_CPU_SB1
639	select SYS_SUPPORTS_BIG_ENDIAN
640	select SYS_SUPPORTS_LITTLE_ENDIAN
641
642config SIBYTE_SWARM
643	bool "Sibyte BCM91250A-SWARM"
644	select BOOT_ELF32
645	select DMA_COHERENT
646	select NR_CPUS_DEFAULT_2
647	select SIBYTE_SB1250
648	select SWAP_IO_SPACE
649	select SYS_HAS_CPU_SB1
650	select SYS_SUPPORTS_BIG_ENDIAN
651	select SYS_SUPPORTS_HIGHMEM
652	select SYS_SUPPORTS_KGDB
653	select SYS_SUPPORTS_LITTLE_ENDIAN
654
655config SIBYTE_SENTOSA
656	bool "Sibyte BCM91250E-Sentosa"
657	depends on EXPERIMENTAL
658	select BOOT_ELF32
659	select DMA_COHERENT
660	select NR_CPUS_DEFAULT_2
661	select SIBYTE_SB1250
662	select SWAP_IO_SPACE
663	select SYS_HAS_CPU_SB1
664	select SYS_SUPPORTS_BIG_ENDIAN
665	select SYS_SUPPORTS_LITTLE_ENDIAN
666
667config SIBYTE_RHONE
668	bool "Sibyte BCM91125E-Rhone"
669	depends on EXPERIMENTAL
670	select BOOT_ELF32
671	select DMA_COHERENT
672	select SIBYTE_BCM1125H
673	select SWAP_IO_SPACE
674	select SYS_HAS_CPU_SB1
675	select SYS_SUPPORTS_BIG_ENDIAN
676	select SYS_SUPPORTS_LITTLE_ENDIAN
677
678config SIBYTE_CARMEL
679	bool "Sibyte BCM91120x-Carmel"
680	depends on EXPERIMENTAL
681	select BOOT_ELF32
682	select DMA_COHERENT
683	select SIBYTE_BCM1120
684	select SWAP_IO_SPACE
685	select SYS_HAS_CPU_SB1
686	select SYS_SUPPORTS_BIG_ENDIAN
687	select SYS_SUPPORTS_LITTLE_ENDIAN
688
689config SIBYTE_PTSWARM
690	bool "Sibyte BCM91250PT-PTSWARM"
691	depends on EXPERIMENTAL
692	select BOOT_ELF32
693	select DMA_COHERENT
694	select NR_CPUS_DEFAULT_2
695	select SIBYTE_SB1250
696	select SWAP_IO_SPACE
697	select SYS_HAS_CPU_SB1
698	select SYS_SUPPORTS_BIG_ENDIAN
699	select SYS_SUPPORTS_HIGHMEM
700	select SYS_SUPPORTS_LITTLE_ENDIAN
701
702config SIBYTE_LITTLESUR
703	bool "Sibyte BCM91250C2-LittleSur"
704	depends on EXPERIMENTAL
705	select BOOT_ELF32
706	select DMA_COHERENT
707	select NR_CPUS_DEFAULT_2
708	select SIBYTE_SB1250
709	select SWAP_IO_SPACE
710	select SYS_HAS_CPU_SB1
711	select SYS_SUPPORTS_BIG_ENDIAN
712	select SYS_SUPPORTS_HIGHMEM
713	select SYS_SUPPORTS_LITTLE_ENDIAN
714
715config SIBYTE_CRHINE
716	bool "Sibyte BCM91120C-CRhine"
717	depends on EXPERIMENTAL
718	select BOOT_ELF32
719	select DMA_COHERENT
720	select SIBYTE_BCM1120
721	select SWAP_IO_SPACE
722	select SYS_HAS_CPU_SB1
723	select SYS_SUPPORTS_BIG_ENDIAN
724	select SYS_SUPPORTS_LITTLE_ENDIAN
725
726config SIBYTE_CRHONE
727	bool "Sibyte BCM91125C-CRhone"
728	depends on EXPERIMENTAL
729	select BOOT_ELF32
730	select DMA_COHERENT
731	select SIBYTE_BCM1125
732	select SWAP_IO_SPACE
733	select SYS_HAS_CPU_SB1
734	select SYS_SUPPORTS_BIG_ENDIAN
735	select SYS_SUPPORTS_HIGHMEM
736	select SYS_SUPPORTS_LITTLE_ENDIAN
737
738config SNI_RM
739	bool "SNI RM200/300/400"
740	select ARC if CPU_LITTLE_ENDIAN
741	select ARC32 if CPU_LITTLE_ENDIAN
742	select ARCH_MAY_HAVE_PC_FDC
743	select BOOT_ELF32
744	select DMA_NONCOHERENT
745	select GENERIC_ISA_DMA
746	select HW_HAS_EISA
747	select HW_HAS_PCI
748	select IRQ_CPU
749	select I8253
750	select I8259
751	select ISA
752	select SWAP_IO_SPACE if CPU_BIG_ENDIAN
753	select SYS_HAS_CPU_R4X00
754	select SYS_HAS_CPU_R5000
755	select SYS_HAS_CPU_R10000
756	select R5000_CPU_SCACHE
757	select SYS_HAS_EARLY_PRINTK
758	select SYS_SUPPORTS_32BIT_KERNEL
759	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
760	select SYS_SUPPORTS_BIG_ENDIAN
761	select SYS_SUPPORTS_HIGHMEM
762	select SYS_SUPPORTS_LITTLE_ENDIAN
763	help
764	  The SNI RM200/300/400 are MIPS-based machines manufactured by
765	  Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
766	  Technology and now in turn merged with Fujitsu.  Say Y here to
767	  support this machine type.
768
769config TOSHIBA_JMR3927
770	bool "Toshiba JMR-TX3927 board"
771	select DMA_NONCOHERENT
772	select HW_HAS_PCI
773	select MIPS_TX3927
774	select SWAP_IO_SPACE
775	select SYS_HAS_CPU_TX39XX
776	select SYS_SUPPORTS_32BIT_KERNEL
777	select SYS_SUPPORTS_LITTLE_ENDIAN
778	select SYS_SUPPORTS_BIG_ENDIAN
779	select TOSHIBA_BOARDS
780
781config TOSHIBA_RBTX4927
782	bool "Toshiba TBTX49[23]7 board"
783	select DMA_NONCOHERENT
784	select HAS_TXX9_SERIAL
785	select HW_HAS_PCI
786	select I8259
787	select ISA
788	select SWAP_IO_SPACE
789	select SYS_HAS_CPU_TX49XX
790	select SYS_SUPPORTS_32BIT_KERNEL
791	select SYS_SUPPORTS_64BIT_KERNEL
792	select SYS_SUPPORTS_LITTLE_ENDIAN
793	select SYS_SUPPORTS_BIG_ENDIAN
794	select SYS_SUPPORTS_KGDB
795	select TOSHIBA_BOARDS
796	select GENERIC_HARDIRQS_NO__DO_IRQ
797	help
798	  This Toshiba board is based on the TX4927 processor. Say Y here to
799	  support this machine type
800
801config TOSHIBA_RBTX4938
802	bool "Toshiba RBTX4938 board"
803	select HAVE_STD_PC_SERIAL_PORT
804	select DMA_NONCOHERENT
805	select GENERIC_ISA_DMA
806	select HAS_TXX9_SERIAL
807	select HW_HAS_PCI
808	select I8259
809	select ISA
810	select SWAP_IO_SPACE
811	select SYS_HAS_CPU_TX49XX
812	select SYS_SUPPORTS_32BIT_KERNEL
813	select SYS_SUPPORTS_LITTLE_ENDIAN
814	select SYS_SUPPORTS_BIG_ENDIAN
815	select SYS_SUPPORTS_KGDB
816	select TOSHIBA_BOARDS
817	select GENERIC_HARDIRQS_NO__DO_IRQ
818	help
819	  This Toshiba board is based on the TX4938 processor. Say Y here to
820	  support this machine type
821
822endchoice
823
824source "arch/mips/ddb5xxx/Kconfig"
825source "arch/mips/gt64120/ev64120/Kconfig"
826source "arch/mips/jazz/Kconfig"
827source "arch/mips/lasat/Kconfig"
828source "arch/mips/momentum/Kconfig"
829source "arch/mips/pmc-sierra/Kconfig"
830source "arch/mips/sgi-ip27/Kconfig"
831source "arch/mips/sibyte/Kconfig"
832source "arch/mips/tx4927/Kconfig"
833source "arch/mips/tx4938/Kconfig"
834source "arch/mips/vr41xx/Kconfig"
835source "arch/mips/philips/pnx8550/common/Kconfig"
836
837endmenu
838
839config RWSEM_GENERIC_SPINLOCK
840	bool
841	default y
842
843config RWSEM_XCHGADD_ALGORITHM
844	bool
845
846config ARCH_HAS_ILOG2_U32
847	bool
848	default n
849
850config ARCH_HAS_ILOG2_U64
851	bool
852	default n
853
854config GENERIC_FIND_NEXT_BIT
855	bool
856	default y
857
858config GENERIC_HWEIGHT
859	bool
860	default y
861
862config GENERIC_CALIBRATE_DELAY
863	bool
864	default y
865
866config GENERIC_TIME
867	bool
868	default y
869
870config SCHED_NO_NO_OMIT_FRAME_POINTER
871	bool
872	default y
873
874config GENERIC_HARDIRQS_NO__DO_IRQ
875	bool
876	default n
877
878#
879# Select some configuration options automatically based on user selections.
880#
881config ARC
882	bool
883
884config ARCH_MAY_HAVE_PC_FDC
885	bool
886
887config DMA_COHERENT
888	bool
889
890config DMA_IP27
891	bool
892
893config DMA_IP32
894	bool
895	select DMA_NEED_PCI_MAP_STATE
896
897config DMA_NONCOHERENT
898	bool
899	select DMA_NEED_PCI_MAP_STATE
900
901config DMA_NEED_PCI_MAP_STATE
902	bool
903
904config EARLY_PRINTK
905	bool "Early printk" if EMBEDDED && DEBUG_KERNEL
906	depends on SYS_HAS_EARLY_PRINTK
907	default y
908	help
909	  This option enables special console drivers which allow the kernel
910	  to print messages very early in the bootup process.
911
912	  This is useful for kernel debugging when your machine crashes very
913	  early before the console code is initialized. For normal operation
914	  it is not recommended because it looks on some machines ugly and
915	  oesn't cooperate with an X server. You should normally N here,
916	  unless you want to debug such a crash.
917
918config SYS_HAS_EARLY_PRINTK
919	bool
920
921config GENERIC_ISA_DMA
922	bool
923
924config I8259
925	bool
926
927config LIMITED_DMA
928	bool
929	select HIGHMEM
930	select SYS_SUPPORTS_HIGHMEM
931
932config MIPS_BONITO64
933	bool
934
935config MIPS_MSC
936	bool
937
938config MIPS_NILE4
939	bool
940
941config MIPS_DISABLE_OBSOLETE_IDE
942	bool
943
944config GENERIC_ISA_DMA_SUPPORT_BROKEN
945	bool
946
947#
948# Endianess selection.  Sufficiently obscure so many users don't know what to
949# answer,so we try hard to limit the available choices.  Also the use of a
950# choice statement should be more obvious to the user.
951#
952choice
953	prompt "Endianess selection"
954	help
955	  Some MIPS machines can be configured for either little or big endian
956	  byte order. These modes require different kernels and a different
957	  Linux distribution.  In general there is one preferred byteorder for a
958	  particular system but some systems are just as commonly used in the
959	  one or the other endianess.
960
961config CPU_BIG_ENDIAN
962	bool "Big endian"
963	depends on SYS_SUPPORTS_BIG_ENDIAN
964
965config CPU_LITTLE_ENDIAN
966	bool "Little endian"
967	depends on SYS_SUPPORTS_LITTLE_ENDIAN
968	help
969
970endchoice
971
972config SYS_SUPPORTS_APM_EMULATION
973	bool
974
975config SYS_SUPPORTS_BIG_ENDIAN
976	bool
977
978config SYS_SUPPORTS_LITTLE_ENDIAN
979	bool
980
981config IRQ_CPU
982	bool
983
984config IRQ_CPU_RM7K
985	bool
986
987config IRQ_CPU_RM9K
988	bool
989
990config IRQ_MV64340
991	bool
992
993config DDB5XXX_COMMON
994	bool
995	select SYS_SUPPORTS_KGDB
996
997config MIPS_BOARDS_GEN
998	bool
999
1000config MIPS_GT64111
1001	bool
1002
1003config MIPS_GT64120
1004	bool
1005
1006config MIPS_TX3927
1007	bool
1008	select HAS_TXX9_SERIAL
1009
1010config MIPS_RM9122
1011	bool
1012	select SERIAL_RM9000
1013	select GPI_RM9000
1014	select WDT_RM9000
1015
1016config PCI_MARVELL
1017	bool
1018
1019config SOC_AU1000
1020	bool
1021	select SOC_AU1X00
1022
1023config SOC_AU1100
1024	bool
1025	select SOC_AU1X00
1026
1027config SOC_AU1500
1028	bool
1029	select SOC_AU1X00
1030
1031config SOC_AU1550
1032	bool
1033	select SOC_AU1X00
1034
1035config SOC_AU1200
1036	bool
1037	select SOC_AU1X00
1038
1039config SOC_AU1X00
1040	bool
1041	select SYS_HAS_CPU_MIPS32_R1
1042	select SYS_SUPPORTS_32BIT_KERNEL
1043	select SYS_SUPPORTS_APM_EMULATION
1044	select SYS_SUPPORTS_KGDB
1045
1046config PNX8550
1047	bool
1048	select SOC_PNX8550
1049
1050config SOC_PNX8550
1051	bool
1052	select DMA_NONCOHERENT
1053	select HW_HAS_PCI
1054	select SYS_HAS_CPU_MIPS32_R1
1055	select SYS_HAS_EARLY_PRINTK
1056	select SYS_SUPPORTS_32BIT_KERNEL
1057	select GENERIC_HARDIRQS_NO__DO_IRQ
1058	select SYS_SUPPORTS_KGDB
1059
1060config SWAP_IO_SPACE
1061	bool
1062
1063config EMMA2RH
1064	bool
1065	depends on MARKEINS
1066	default y
1067
1068config SERIAL_RM9000
1069	bool
1070
1071config GPI_RM9000
1072	bool
1073
1074config WDT_RM9000
1075	bool
1076
1077#
1078# Unfortunately not all GT64120 systems run the chip at the same clock.
1079# As the user for the clock rate and try to minimize the available options.
1080#
1081choice
1082	prompt "Galileo Chip Clock"
1083	#default SYSCLK_83 if MIPS_EV64120
1084	depends on MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
1085	default SYSCLK_83 if MIPS_EV64120
1086	default SYSCLK_100 if MOMENCO_OCELOT || MOMENCO_OCELOT_G
1087
1088config SYSCLK_75
1089	bool "75" if MIPS_EV64120
1090
1091config SYSCLK_83
1092	bool "83.3" if MIPS_EV64120
1093
1094config SYSCLK_100
1095	bool "100" if MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
1096
1097endchoice
1098
1099config ARC32
1100	bool
1101
1102config BOOT_ELF32
1103	bool
1104
1105config MIPS_L1_CACHE_SHIFT
1106	int
1107	default "4" if MACH_DECSTATION || SNI_RM
1108	default "7" if SGI_IP27
1109	default "5"
1110
1111config HAVE_STD_PC_SERIAL_PORT
1112	bool
1113
1114config ARC_CONSOLE
1115	bool "ARC console support"
1116	depends on SGI_IP22 || (SNI_RM && CPU_LITTLE_ENDIAN)
1117
1118config ARC_MEMORY
1119	bool
1120	depends on MACH_JAZZ || SNI_RM || SGI_IP32
1121	default y
1122
1123config ARC_PROMLIB
1124	bool
1125	depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP32
1126	default y
1127
1128config ARC64
1129	bool
1130
1131config BOOT_ELF64
1132	bool
1133
1134config TOSHIBA_BOARDS
1135	bool
1136
1137menu "CPU selection"
1138
1139choice
1140	prompt "CPU type"
1141	default CPU_R4X00
1142
1143config CPU_MIPS32_R1
1144	bool "MIPS32 Release 1"
1145	depends on SYS_HAS_CPU_MIPS32_R1
1146	select CPU_HAS_LLSC
1147	select CPU_HAS_PREFETCH
1148	select CPU_SUPPORTS_32BIT_KERNEL
1149	select CPU_SUPPORTS_HIGHMEM
1150	help
1151	  Choose this option to build a kernel for release 1 or later of the
1152	  MIPS32 architecture.  Most modern embedded systems with a 32-bit
1153	  MIPS processor are based on a MIPS32 processor.  If you know the
1154	  specific type of processor in your system, choose those that one
1155	  otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1156	  Release 2 of the MIPS32 architecture is available since several
1157	  years so chances are you even have a MIPS32 Release 2 processor
1158	  in which case you should choose CPU_MIPS32_R2 instead for better
1159	  performance.
1160
1161config CPU_MIPS32_R2
1162	bool "MIPS32 Release 2"
1163	depends on SYS_HAS_CPU_MIPS32_R2
1164	select CPU_HAS_LLSC
1165	select CPU_HAS_PREFETCH
1166	select CPU_SUPPORTS_32BIT_KERNEL
1167	select CPU_SUPPORTS_HIGHMEM
1168	help
1169	  Choose this option to build a kernel for release 2 or later of the
1170	  MIPS32 architecture.  Most modern embedded systems with a 32-bit
1171	  MIPS processor are based on a MIPS32 processor.  If you know the
1172	  specific type of processor in your system, choose those that one
1173	  otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1174
1175config CPU_MIPS64_R1
1176	bool "MIPS64 Release 1"
1177	depends on SYS_HAS_CPU_MIPS64_R1
1178	select CPU_HAS_LLSC
1179	select CPU_HAS_PREFETCH
1180	select CPU_SUPPORTS_32BIT_KERNEL
1181	select CPU_SUPPORTS_64BIT_KERNEL
1182	select CPU_SUPPORTS_HIGHMEM
1183	help
1184	  Choose this option to build a kernel for release 1 or later of the
1185	  MIPS64 architecture.  Many modern embedded systems with a 64-bit
1186	  MIPS processor are based on a MIPS64 processor.  If you know the
1187	  specific type of processor in your system, choose those that one
1188	  otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1189	  Release 2 of the MIPS64 architecture is available since several
1190	  years so chances are you even have a MIPS64 Release 2 processor
1191	  in which case you should choose CPU_MIPS64_R2 instead for better
1192	  performance.
1193
1194config CPU_MIPS64_R2
1195	bool "MIPS64 Release 2"
1196	depends on SYS_HAS_CPU_MIPS64_R2
1197	select CPU_HAS_LLSC
1198	select CPU_HAS_PREFETCH
1199	select CPU_SUPPORTS_32BIT_KERNEL
1200	select CPU_SUPPORTS_64BIT_KERNEL
1201	select CPU_SUPPORTS_HIGHMEM
1202	help
1203	  Choose this option to build a kernel for release 2 or later of the
1204	  MIPS64 architecture.  Many modern embedded systems with a 64-bit
1205	  MIPS processor are based on a MIPS64 processor.  If you know the
1206	  specific type of processor in your system, choose those that one
1207	  otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1208
1209config CPU_R3000
1210	bool "R3000"
1211	depends on SYS_HAS_CPU_R3000
1212	select CPU_HAS_WB
1213	select CPU_SUPPORTS_32BIT_KERNEL
1214	select CPU_SUPPORTS_HIGHMEM
1215	help
1216	  Please make sure to pick the right CPU type. Linux/MIPS is not
1217	  designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1218	  *not* work on R4000 machines and vice versa.  However, since most
1219	  of the supported machines have an R4000 (or similar) CPU, R4x00
1220	  might be a safe bet.  If the resulting kernel does not work,
1221	  try to recompile with R3000.
1222
1223config CPU_TX39XX
1224	bool "R39XX"
1225	depends on SYS_HAS_CPU_TX39XX
1226	select CPU_SUPPORTS_32BIT_KERNEL
1227
1228config CPU_VR41XX
1229	bool "R41xx"
1230	depends on SYS_HAS_CPU_VR41XX
1231	select CPU_SUPPORTS_32BIT_KERNEL
1232	select CPU_SUPPORTS_64BIT_KERNEL
1233	help
1234	  The options selects support for the NEC VR4100 series of processors.
1235	  Only choose this option if you have one of these processors as a
1236	  kernel built with this option will not run on any other type of
1237	  processor or vice versa.
1238
1239config CPU_R4300
1240	bool "R4300"
1241	depends on SYS_HAS_CPU_R4300
1242	select CPU_HAS_LLSC
1243	select CPU_SUPPORTS_32BIT_KERNEL
1244	select CPU_SUPPORTS_64BIT_KERNEL
1245	help
1246	  MIPS Technologies R4300-series processors.
1247
1248config CPU_R4X00
1249	bool "R4x00"
1250	depends on SYS_HAS_CPU_R4X00
1251	select CPU_HAS_LLSC
1252	select CPU_SUPPORTS_32BIT_KERNEL
1253	select CPU_SUPPORTS_64BIT_KERNEL
1254	help
1255	  MIPS Technologies R4000-series processors other than 4300, including
1256	  the R4000, R4400, R4600, and 4700.
1257
1258config CPU_TX49XX
1259	bool "R49XX"
1260	depends on SYS_HAS_CPU_TX49XX
1261	select CPU_HAS_LLSC
1262	select CPU_HAS_PREFETCH
1263	select CPU_SUPPORTS_32BIT_KERNEL
1264	select CPU_SUPPORTS_64BIT_KERNEL
1265
1266config CPU_R5000
1267	bool "R5000"
1268	depends on SYS_HAS_CPU_R5000
1269	select CPU_HAS_LLSC
1270	select CPU_SUPPORTS_32BIT_KERNEL
1271	select CPU_SUPPORTS_64BIT_KERNEL
1272	help
1273	  MIPS Technologies R5000-series processors other than the Nevada.
1274
1275config CPU_R5432
1276	bool "R5432"
1277	depends on SYS_HAS_CPU_R5432
1278	select CPU_HAS_LLSC
1279	select CPU_SUPPORTS_32BIT_KERNEL
1280	select CPU_SUPPORTS_64BIT_KERNEL
1281
1282config CPU_R6000
1283	bool "R6000"
1284	depends on EXPERIMENTAL
1285	select CPU_HAS_LLSC
1286	depends on SYS_HAS_CPU_R6000
1287	select CPU_SUPPORTS_32BIT_KERNEL
1288	help
1289	  MIPS Technologies R6000 and R6000A series processors.  Note these
1290	  processors are extremely rare and the support for them is incomplete.
1291
1292config CPU_NEVADA
1293	bool "RM52xx"
1294	depends on SYS_HAS_CPU_NEVADA
1295	select CPU_HAS_LLSC
1296	select CPU_SUPPORTS_32BIT_KERNEL
1297	select CPU_SUPPORTS_64BIT_KERNEL
1298	help
1299	  QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1300
1301config CPU_R8000
1302	bool "R8000"
1303	depends on EXPERIMENTAL
1304	depends on SYS_HAS_CPU_R8000
1305	select CPU_HAS_LLSC
1306	select CPU_HAS_PREFETCH
1307	select CPU_SUPPORTS_64BIT_KERNEL
1308	help
1309	  MIPS Technologies R8000 processors.  Note these processors are
1310	  uncommon and the support for them is incomplete.
1311
1312config CPU_R10000
1313	bool "R10000"
1314	depends on SYS_HAS_CPU_R10000
1315	select CPU_HAS_LLSC
1316	select CPU_HAS_PREFETCH
1317	select CPU_SUPPORTS_32BIT_KERNEL
1318	select CPU_SUPPORTS_64BIT_KERNEL
1319	select CPU_SUPPORTS_HIGHMEM
1320	help
1321	  MIPS Technologies R10000-series processors.
1322
1323config CPU_RM7000
1324	bool "RM7000"
1325	depends on SYS_HAS_CPU_RM7000
1326	select CPU_HAS_LLSC
1327	select CPU_HAS_PREFETCH
1328	select CPU_SUPPORTS_32BIT_KERNEL
1329	select CPU_SUPPORTS_64BIT_KERNEL
1330	select CPU_SUPPORTS_HIGHMEM
1331
1332config CPU_RM9000
1333	bool "RM9000"
1334	depends on SYS_HAS_CPU_RM9000
1335	select CPU_HAS_LLSC
1336	select CPU_HAS_PREFETCH
1337	select CPU_SUPPORTS_32BIT_KERNEL
1338	select CPU_SUPPORTS_64BIT_KERNEL
1339	select CPU_SUPPORTS_HIGHMEM
1340	select WEAK_ORDERING
1341
1342config CPU_SB1
1343	bool "SB1"
1344	depends on SYS_HAS_CPU_SB1
1345	select CPU_HAS_LLSC
1346	select CPU_SUPPORTS_32BIT_KERNEL
1347	select CPU_SUPPORTS_64BIT_KERNEL
1348	select CPU_SUPPORTS_HIGHMEM
1349	select WEAK_ORDERING
1350
1351endchoice
1352
1353config SYS_HAS_CPU_MIPS32_R1
1354	bool
1355
1356config SYS_HAS_CPU_MIPS32_R2
1357	bool
1358
1359config SYS_HAS_CPU_MIPS64_R1
1360	bool
1361
1362config SYS_HAS_CPU_MIPS64_R2
1363	bool
1364
1365config SYS_HAS_CPU_R3000
1366	bool
1367
1368config SYS_HAS_CPU_TX39XX
1369	bool
1370
1371config SYS_HAS_CPU_VR41XX
1372	bool
1373
1374config SYS_HAS_CPU_R4300
1375	bool
1376
1377config SYS_HAS_CPU_R4X00
1378	bool
1379
1380config SYS_HAS_CPU_TX49XX
1381	bool
1382
1383config SYS_HAS_CPU_R5000
1384	bool
1385
1386config SYS_HAS_CPU_R5432
1387	bool
1388
1389config SYS_HAS_CPU_R6000
1390	bool
1391
1392config SYS_HAS_CPU_NEVADA
1393	bool
1394
1395config SYS_HAS_CPU_R8000
1396	bool
1397
1398config SYS_HAS_CPU_R10000
1399	bool
1400
1401config SYS_HAS_CPU_RM7000
1402	bool
1403
1404config SYS_HAS_CPU_RM9000
1405	bool
1406
1407config SYS_HAS_CPU_SB1
1408	bool
1409
1410config WEAK_ORDERING
1411	bool
1412endmenu
1413
1414#
1415# These two indicate any level of the MIPS32 and MIPS64 architecture
1416#
1417config CPU_MIPS32
1418	bool
1419	default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1420
1421config CPU_MIPS64
1422	bool
1423	default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1424
1425#
1426# These two indicate the revision of the architecture, either Release 1 or Release 2
1427#
1428config CPU_MIPSR1
1429	bool
1430	default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1431
1432config CPU_MIPSR2
1433	bool
1434	default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1435
1436config SYS_SUPPORTS_32BIT_KERNEL
1437	bool
1438config SYS_SUPPORTS_64BIT_KERNEL
1439	bool
1440config CPU_SUPPORTS_32BIT_KERNEL
1441	bool
1442config CPU_SUPPORTS_64BIT_KERNEL
1443	bool
1444
1445menu "Kernel type"
1446
1447choice
1448
1449	prompt "Kernel code model"
1450	help
1451	  You should only select this option if you have a workload that
1452	  actually benefits from 64-bit processing or if your machine has
1453	  large memory.  You will only be presented a single option in this
1454	  menu if your system does not support both 32-bit and 64-bit kernels.
1455
1456config 32BIT
1457	bool "32-bit kernel"
1458	depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1459	select TRAD_SIGNALS
1460	help
1461	  Select this option if you want to build a 32-bit kernel.
1462config 64BIT
1463	bool "64-bit kernel"
1464	depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1465	help
1466	  Select this option if you want to build a 64-bit kernel.
1467
1468endchoice
1469
1470choice
1471	prompt "Kernel page size"
1472	default PAGE_SIZE_4KB
1473
1474config PAGE_SIZE_4KB
1475	bool "4kB"
1476	help
1477	 This option select the standard 4kB Linux page size.  On some
1478	 R3000-family processors this is the only available page size.  Using
1479	 4kB page size will minimize memory consumption and is therefore
1480	 recommended for low memory systems.
1481
1482config PAGE_SIZE_8KB
1483	bool "8kB"
1484	depends on EXPERIMENTAL && CPU_R8000
1485	help
1486	  Using 8kB page size will result in higher performance kernel at
1487	  the price of higher memory consumption.  This option is available
1488	  only on the R8000 processor.  Not that at the time of this writing
1489	  this option is still high experimental; there are also issues with
1490	  compatibility of user applications.
1491
1492config PAGE_SIZE_16KB
1493	bool "16kB"
1494	depends on !CPU_R3000 && !CPU_TX39XX
1495	help
1496	  Using 16kB page size will result in higher performance kernel at
1497	  the price of higher memory consumption.  This option is available on
1498	  all non-R3000 family processors.  Note that you will need a suitable
1499	  Linux distribution to support this.
1500
1501config PAGE_SIZE_64KB
1502	bool "64kB"
1503	depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1504	help
1505	  Using 64kB page size will result in higher performance kernel at
1506	  the price of higher memory consumption.  This option is available on
1507	  all non-R3000 family processor.  Not that at the time of this
1508	  writing this option is still high experimental.
1509
1510endchoice
1511
1512config BOARD_SCACHE
1513	bool
1514
1515config IP22_CPU_SCACHE
1516	bool
1517	select BOARD_SCACHE
1518
1519#
1520# Support for a MIPS32 / MIPS64 style S-caches
1521#
1522config MIPS_CPU_SCACHE
1523	bool
1524	select BOARD_SCACHE
1525
1526config R5000_CPU_SCACHE
1527	bool
1528	select BOARD_SCACHE
1529
1530config RM7000_CPU_SCACHE
1531	bool
1532	select BOARD_SCACHE
1533
1534config SIBYTE_DMA_PAGEOPS
1535	bool "Use DMA to clear/copy pages"
1536	depends on CPU_SB1
1537	help
1538	  Instead of using the CPU to zero and copy pages, use a Data Mover
1539	  channel.  These DMA channels are otherwise unused by the standard
1540	  SiByte Linux port.  Seems to give a small performance benefit.
1541
1542config CPU_HAS_PREFETCH
1543	bool
1544
1545choice
1546	prompt "MIPS MT options"
1547
1548config MIPS_MT_DISABLED
1549	bool "Disable multithreading support."
1550	help
1551	  Use this option if your workload can't take advantage of
1552	  MIPS hardware multithreading support.  On systems that don't have
1553	  the option of an MT-enabled processor this option will be the only
1554	  option in this menu.
1555
1556config MIPS_MT_SMP
1557	bool "Use 1 TC on each available VPE for SMP"
1558	depends on SYS_SUPPORTS_MULTITHREADING
1559	select CPU_MIPSR2_IRQ_VI
1560	select CPU_MIPSR2_SRS
1561	select MIPS_MT
1562	select SMP
1563	select SYS_SUPPORTS_SMP
1564	help
1565	  This is a kernel model which is also known a VSMP or lately
1566	  has been marketesed into SMVP.
1567
1568config MIPS_MT_SMTC
1569	bool "SMTC: Use all TCs on all VPEs for SMP"
1570	depends on CPU_MIPS32_R2
1571	#depends on CPU_MIPS64_R2		# once there is hardware ...
1572	depends on SYS_SUPPORTS_MULTITHREADING
1573	select CPU_MIPSR2_IRQ_VI
1574	select CPU_MIPSR2_SRS
1575	select MIPS_MT
1576	select NR_CPUS_DEFAULT_2
1577	select NR_CPUS_DEFAULT_8
1578	select SMP
1579	select SYS_SUPPORTS_SMP
1580	help
1581	  This is a kernel model which is known a SMTC or lately has been
1582	  marketesed into SMVP.
1583
1584config MIPS_VPE_LOADER
1585	bool "VPE loader support."
1586	depends on SYS_SUPPORTS_MULTITHREADING
1587	select MIPS_MT
1588	help
1589	  Includes a loader for loading an elf relocatable object
1590	  onto another VPE and running it.
1591
1592endchoice
1593
1594config MIPS_MT
1595	bool
1596
1597config SYS_SUPPORTS_MULTITHREADING
1598	bool
1599
1600config MIPS_MT_FPAFF
1601	bool "Dynamic FPU affinity for FP-intensive threads"
1602	depends on MIPS_MT
1603	default y
1604
1605config MIPS_MT_SMTC_INSTANT_REPLAY
1606	bool "Low-latency Dispatch of Deferred SMTC IPIs"
1607	depends on MIPS_MT_SMTC
1608	default y
1609	help
1610	  SMTC pseudo-interrupts between TCs are deferred and queued
1611	  if the target TC is interrupt-inhibited (IXMT). In the first
1612	  SMTC prototypes, these queued IPIs were serviced on return
1613	  to user mode, or on entry into the kernel idle loop. The
1614	  INSTANT_REPLAY option dispatches them as part of local_irq_restore()
1615	  processing, which adds runtime overhead (hence the option to turn
1616	  it off), but ensures that IPIs are handled promptly even under
1617	  heavy I/O interrupt load.
1618
1619config MIPS_VPE_LOADER_TOM
1620	bool "Load VPE program into memory hidden from linux"
1621	depends on MIPS_VPE_LOADER
1622	default y
1623	help
1624	  The loader can use memory that is present but has been hidden from
1625	  Linux using the kernel command line option "mem=xxMB". It's up to
1626	  you to ensure the amount you put in the option and the space your
1627	  program requires is less or equal to the amount physically present.
1628
1629# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1630config MIPS_VPE_APSP_API
1631	bool "Enable support for AP/SP API (RTLX)"
1632	depends on MIPS_VPE_LOADER
1633	help
1634
1635config MIPS_APSP_KSPD
1636	bool "Enable KSPD"
1637	depends on MIPS_VPE_APSP_API
1638	default y
1639	help
1640	  KSPD is a kernel daemon that accepts syscall requests from the SP
1641	  side, actions them and returns the results. It also handles the
1642	  "exit" syscall notifying other kernel modules the SP program is
1643	  exiting.  You probably want to say yes here.
1644
1645config SB1_PASS_1_WORKAROUNDS
1646	bool
1647	depends on CPU_SB1_PASS_1
1648	default y
1649
1650config SB1_PASS_2_WORKAROUNDS
1651	bool
1652	depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1653	default y
1654
1655config SB1_PASS_2_1_WORKAROUNDS
1656	bool
1657	depends on CPU_SB1 && CPU_SB1_PASS_2
1658	default y
1659
1660config 64BIT_PHYS_ADDR
1661	bool "Support for 64-bit physical address space"
1662	depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT
1663
1664config CPU_HAS_LLSC
1665	bool
1666
1667config CPU_HAS_SMARTMIPS
1668	depends on SYS_SUPPORTS_SMARTMIPS
1669	bool "Support for the SmartMIPS ASE"
1670	help
1671	  SmartMIPS is a extension of the MIPS32 architecture aimed at
1672	  increased security at both hardware and software level for
1673	  smartcards.  Enabling this option will allow proper use of the
1674	  SmartMIPS instructions by Linux applications.  However a kernel with
1675	  this option will not work on a MIPS core without SmartMIPS core.  If
1676	  you don't know you probably don't have SmartMIPS and should say N
1677	  here.
1678
1679config CPU_HAS_WB
1680	bool
1681
1682#
1683# Vectored interrupt mode is an R2 feature
1684#
1685config CPU_MIPSR2_IRQ_VI
1686	bool
1687
1688#
1689# Extended interrupt mode is an R2 feature
1690#
1691config CPU_MIPSR2_IRQ_EI
1692	bool
1693
1694#
1695# Shadow registers are an R2 feature
1696#
1697config CPU_MIPSR2_SRS
1698	bool
1699
1700config CPU_HAS_SYNC
1701	bool
1702	depends on !CPU_R3000
1703	default y
1704
1705#
1706# Use the generic interrupt handling code in kernel/irq/:
1707#
1708config GENERIC_HARDIRQS
1709	bool
1710	default y
1711
1712config GENERIC_IRQ_PROBE
1713	bool
1714	default y
1715
1716config IRQ_PER_CPU
1717	bool
1718
1719#
1720# - Highmem only makes sense for the 32-bit kernel.
1721# - The current highmem code will only work properly on physically indexed
1722#   caches such as R3000, SB1, R7000 or those that look like they're virtually
1723#   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
1724#   moment we protect the user and offer the highmem option only on machines
1725#   where it's known to be safe.  This will not offer highmem on a few systems
1726#   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1727#   indexed CPUs but we're playing safe.
1728# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1729#   know they might have memory configurations that could make use of highmem
1730#   support.
1731#
1732config HIGHMEM
1733	bool "High Memory Support"
1734	depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1735
1736config CPU_SUPPORTS_HIGHMEM
1737	bool
1738
1739config SYS_SUPPORTS_HIGHMEM
1740	bool
1741
1742config SYS_SUPPORTS_SMARTMIPS
1743	bool
1744
1745config ARCH_FLATMEM_ENABLE
1746	def_bool y
1747	depends on !NUMA
1748
1749config ARCH_DISCONTIGMEM_ENABLE
1750	bool
1751	default y if SGI_IP27
1752	help
1753	  Say Y to upport efficient handling of discontiguous physical memory,
1754	  for architectures which are either NUMA (Non-Uniform Memory Access)
1755	  or have huge holes in the physical address space for other reasons.
1756	  See <file:Documentation/vm/numa> for more.
1757
1758config ARCH_SPARSEMEM_ENABLE
1759	bool
1760	select SPARSEMEM_STATIC
1761
1762config NUMA
1763	bool "NUMA Support"
1764	depends on SYS_SUPPORTS_NUMA
1765	help
1766	  Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1767	  Access).  This option improves performance on systems with more
1768	  than two nodes; on two node systems it is generally better to
1769	  leave it disabled; on single node systems disable this option
1770	  disabled.
1771
1772config SYS_SUPPORTS_NUMA
1773	bool
1774
1775config NODES_SHIFT
1776	int
1777	default "6"
1778	depends on NEED_MULTIPLE_NODES
1779
1780source "mm/Kconfig"
1781
1782config SMP
1783	bool "Multi-Processing support"
1784	depends on SYS_SUPPORTS_SMP
1785	select IRQ_PER_CPU
1786	help
1787	  This enables support for systems with more than one CPU. If you have
1788	  a system with only one CPU, like most personal computers, say N. If
1789	  you have a system with more than one CPU, say Y.
1790
1791	  If you say N here, the kernel will run on single and multiprocessor
1792	  machines, but will use only one CPU of a multiprocessor machine. If
1793	  you say Y here, the kernel will run on many, but not all,
1794	  singleprocessor machines. On a singleprocessor machine, the kernel
1795	  will run faster if you say N here.
1796
1797	  People using multiprocessor machines who say Y here should also say
1798	  Y to "Enhanced Real Time Clock Support", below.
1799
1800	  See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1801	  available at <http://www.tldp.org/docs.html#howto>.
1802
1803	  If you don't know what to do here, say N.
1804
1805config SYS_SUPPORTS_SMP
1806	bool
1807
1808config NR_CPUS_DEFAULT_2
1809	bool
1810
1811config NR_CPUS_DEFAULT_4
1812	bool
1813
1814config NR_CPUS_DEFAULT_8
1815	bool
1816
1817config NR_CPUS_DEFAULT_16
1818	bool
1819
1820config NR_CPUS_DEFAULT_32
1821	bool
1822
1823config NR_CPUS_DEFAULT_64
1824	bool
1825
1826config NR_CPUS
1827	int "Maximum number of CPUs (2-64)"
1828	range 2 64
1829	depends on SMP
1830	default "2" if NR_CPUS_DEFAULT_2
1831	default "4" if NR_CPUS_DEFAULT_4
1832	default "8" if NR_CPUS_DEFAULT_8
1833	default "16" if NR_CPUS_DEFAULT_16
1834	default "32" if NR_CPUS_DEFAULT_32
1835	default "64" if NR_CPUS_DEFAULT_64
1836	help
1837	  This allows you to specify the maximum number of CPUs which this
1838	  kernel will support.  The maximum supported value is 32 for 32-bit
1839	  kernel and 64 for 64-bit kernels; the minimum value which makes
1840	  sense is 2.
1841
1842	  This is purely to save memory - each supported CPU adds
1843	  approximately eight kilobytes to the kernel image.
1844
1845#
1846# Timer Interrupt Frequency Configuration
1847#
1848
1849choice
1850	prompt "Timer frequency"
1851	default HZ_250
1852	help
1853	 Allows the configuration of the timer frequency.
1854
1855	config HZ_48
1856		bool "48 HZ" if SYS_SUPPORTS_48HZ
1857
1858	config HZ_100
1859		bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1860
1861	config HZ_128
1862		bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1863
1864	config HZ_250
1865		bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1866
1867	config HZ_256
1868		bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1869
1870	config HZ_1000
1871		bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1872
1873	config HZ_1024
1874		bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1875
1876endchoice
1877
1878config SYS_SUPPORTS_48HZ
1879	bool
1880
1881config SYS_SUPPORTS_100HZ
1882	bool
1883
1884config SYS_SUPPORTS_128HZ
1885	bool
1886
1887config SYS_SUPPORTS_250HZ
1888	bool
1889
1890config SYS_SUPPORTS_256HZ
1891	bool
1892
1893config SYS_SUPPORTS_1000HZ
1894	bool
1895
1896config SYS_SUPPORTS_1024HZ
1897	bool
1898
1899config SYS_SUPPORTS_ARBIT_HZ
1900	bool
1901	default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1902		     !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1903		     !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1904		     !SYS_SUPPORTS_1024HZ
1905
1906config HZ
1907	int
1908	default 48 if HZ_48
1909	default 100 if HZ_100
1910	default 128 if HZ_128
1911	default 250 if HZ_250
1912	default 256 if HZ_256
1913	default 1000 if HZ_1000
1914	default 1024 if HZ_1024
1915
1916source "kernel/Kconfig.preempt"
1917
1918config MIPS_INSANE_LARGE
1919	bool "Support for large 64-bit configurations"
1920	depends on CPU_R10000 && 64BIT
1921	help
1922	  MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1923	  previous 64-bit processors which only supported 40 bit / 1TB. If you
1924	  need processes of more than 1TB virtual address space, say Y here.
1925	  This will result in additional memory usage, so it is not
1926	  recommended for normal users.
1927
1928config KEXEC
1929	bool "Kexec system call (EXPERIMENTAL)"
1930	depends on EXPERIMENTAL
1931	help
1932	  kexec is a system call that implements the ability to shutdown your
1933	  current kernel, and to start another kernel.  It is like a reboot
1934	  but it is indepedent of the system firmware.   And like a reboot
1935	  you can start any kernel with it, not just Linux.
1936
1937	  The name comes from the similiarity to the exec system call.
1938
1939	  It is an ongoing process to be certain the hardware in a machine
1940	  is properly shutdown, so do not be surprised if this code does not
1941	  initially work for you.  It may help to enable device hotplugging
1942	  support.  As of this writing the exact hardware interface is
1943	  strongly in flux, so no good recommendation can be made.
1944
1945config SECCOMP
1946	bool "Enable seccomp to safely compute untrusted bytecode"
1947	depends on PROC_FS && BROKEN
1948	default y
1949	help
1950	  This kernel feature is useful for number crunching applications
1951	  that may need to compute untrusted bytecode during their
1952	  execution. By using pipes or other transports made available to
1953	  the process as file descriptors supporting the read/write
1954	  syscalls, it's possible to isolate those applications in
1955	  their own address space using seccomp. Once seccomp is
1956	  enabled via /proc/<pid>/seccomp, it cannot be disabled
1957	  and the task is only allowed to execute a few safe syscalls
1958	  defined by each seccomp mode.
1959
1960	  If unsure, say Y. Only embedded should say N here.
1961
1962endmenu
1963
1964config RWSEM_GENERIC_SPINLOCK
1965	bool
1966	default y
1967
1968config LOCKDEP_SUPPORT
1969	bool
1970	default y
1971
1972config STACKTRACE_SUPPORT
1973	bool
1974	default y
1975
1976source "init/Kconfig"
1977
1978menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1979
1980config HW_HAS_EISA
1981	bool
1982config HW_HAS_PCI
1983	bool
1984
1985config PCI
1986	bool "Support for PCI controller"
1987	depends on HW_HAS_PCI
1988	help
1989	  Find out whether you have a PCI motherboard. PCI is the name of a
1990	  bus system, i.e. the way the CPU talks to the other stuff inside
1991	  your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1992	  say Y, otherwise N.
1993
1994	  The PCI-HOWTO, available from
1995	  <http://www.tldp.org/docs.html#howto>, contains valuable
1996	  information about which PCI hardware does work under Linux and which
1997	  doesn't.
1998
1999config PCI_DOMAINS
2000	bool
2001	depends on PCI
2002
2003source "drivers/pci/Kconfig"
2004
2005#
2006# ISA support is now enabled via select.  Too many systems still have the one
2007# or other ISA chip on the board that users don't know about so don't expect
2008# users to choose the right thing ...
2009#
2010config ISA
2011	bool
2012
2013config EISA
2014	bool "EISA support"
2015	depends on HW_HAS_EISA
2016	select ISA
2017	select GENERIC_ISA_DMA
2018	---help---
2019	  The Extended Industry Standard Architecture (EISA) bus was
2020	  developed as an open alternative to the IBM MicroChannel bus.
2021
2022	  The EISA bus provided some of the features of the IBM MicroChannel
2023	  bus while maintaining backward compatibility with cards made for
2024	  the older ISA bus.  The EISA bus saw limited use between 1988 and
2025	  1995 when it was made obsolete by the PCI bus.
2026
2027	  Say Y here if you are building a kernel for an EISA-based machine.
2028
2029	  Otherwise, say N.
2030
2031source "drivers/eisa/Kconfig"
2032
2033config TC
2034	bool "TURBOchannel support"
2035	depends on MACH_DECSTATION
2036	help
2037	  TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2038	  processors.  Documentation on writing device drivers for TurboChannel
2039	  is available at:
2040	  <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
2041
2042#config ACCESSBUS
2043#	bool "Access.Bus support"
2044#	depends on TC
2045
2046config MMU
2047	bool
2048	default y
2049
2050config I8253
2051	bool
2052
2053source "drivers/pcmcia/Kconfig"
2054
2055source "drivers/pci/hotplug/Kconfig"
2056
2057endmenu
2058
2059menu "Executable file formats"
2060
2061source "fs/Kconfig.binfmt"
2062
2063config TRAD_SIGNALS
2064	bool
2065
2066config BUILD_ELF64
2067	bool "Use 64-bit ELF format for building"
2068	depends on 64BIT
2069	help
2070	  A 64-bit kernel is usually built using the 64-bit ELF binary object
2071	  format as it's one that allows arbitrary 64-bit constructs.  For
2072	  kernels that are loaded within the KSEG compatibility segments the
2073	  32-bit ELF format can optionally be used resulting in a somewhat
2074	  smaller binary, but this option is not explicitly supported by the
2075	  toolchain and since binutils 2.14 it does not even work at all.
2076
2077	  Say Y to use the 64-bit format or N to use the 32-bit one.
2078
2079	  If unsure say Y.
2080
2081config BINFMT_IRIX
2082	bool "Include IRIX binary compatibility"
2083	depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
2084
2085config MIPS32_COMPAT
2086	bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2087	depends on 64BIT
2088	help
2089	  Select this option if you want Linux/MIPS 32-bit binary
2090	  compatibility. Since all software available for Linux/MIPS is
2091	  currently 32-bit you should say Y here.
2092
2093config COMPAT
2094	bool
2095	depends on MIPS32_COMPAT
2096	default y
2097
2098config SYSVIPC_COMPAT
2099	bool
2100	depends on COMPAT && SYSVIPC
2101	default y
2102
2103config MIPS32_O32
2104	bool "Kernel support for o32 binaries"
2105	depends on MIPS32_COMPAT
2106	help
2107	  Select this option if you want to run o32 binaries.  These are pure
2108	  32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
2109	  existing binaries are in this format.
2110
2111	  If unsure, say Y.
2112
2113config MIPS32_N32
2114	bool "Kernel support for n32 binaries"
2115	depends on MIPS32_COMPAT
2116	help
2117	  Select this option if you want to run n32 binaries.  These are
2118	  64-bit binaries using 32-bit quantities for addressing and certain
2119	  data that would normally be 64-bit.  They are used in special
2120	  cases.
2121
2122	  If unsure, say N.
2123
2124config BINFMT_ELF32
2125	bool
2126	default y if MIPS32_O32 || MIPS32_N32
2127
2128endmenu
2129
2130menu "Power management options"
2131
2132source "kernel/power/Kconfig"
2133
2134endmenu
2135
2136source "net/Kconfig"
2137
2138source "drivers/Kconfig"
2139
2140source "fs/Kconfig"
2141
2142source "arch/mips/oprofile/Kconfig"
2143
2144source "arch/mips/Kconfig.debug"
2145
2146source "security/Kconfig"
2147
2148source "crypto/Kconfig"
2149
2150source "lib/Kconfig"
2151