blob: c024113ce280b25b7d8de3df74c1075293b88b1e [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001config MIPS
2 bool
3 default y
4 # Horrible source of confusion. Die, die, die ...
5 select EMBEDDED
6
Linus Torvalds1da177e2005-04-16 15:20:36 -07007mainmenu "Linux/MIPS Kernel Configuration"
8
Linus Torvalds1da177e2005-04-16 15:20:36 -07009menu "Machine selection"
10
Christoph Lameter5ac6da62007-02-10 01:43:14 -080011config ZONE_DMA
12 bool
Christoph Lameter5ac6da62007-02-10 01:43:14 -080013
Ralf Baechle5e83d432005-10-29 19:32:41 +010014choice
15 prompt "System type"
16 default SGI_IP22
Linus Torvalds1da177e2005-04-16 15:20:36 -070017
Yoichi Yuasac3543e22007-05-11 20:44:30 +090018config MACH_ALCHEMY
19 bool "Alchemy processor based machines"
Linus Torvalds1da177e2005-04-16 15:20:36 -070020
Ralf Baechle35189fa2006-06-18 16:39:46 +010021config BASLER_EXCITE
Thomas Koellerbe915892007-02-23 01:40:34 +010022 bool "Basler eXcite smart camera"
Ralf Baechle35189fa2006-06-18 16:39:46 +010023 select DMA_COHERENT
24 select HW_HAS_PCI
25 select IRQ_CPU
26 select IRQ_CPU_RM7K
27 select IRQ_CPU_RM9K
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +020028 select MIPS_RM9122
Ralf Baechle35189fa2006-06-18 16:39:46 +010029 select SYS_HAS_CPU_RM9000
30 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle35189fa2006-06-18 16:39:46 +010031 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +000032 select SYS_SUPPORTS_KGDB
Ralf Baechle35189fa2006-06-18 16:39:46 +010033 help
34 The eXcite is a smart camera platform manufactured by
Thomas Koellerbe915892007-02-23 01:40:34 +010035 Basler Vision Technologies AG.
Ralf Baechle35189fa2006-06-18 16:39:46 +010036
37config BASLER_EXCITE_PROTOTYPE
38 bool "Support for pre-release units"
39 depends on BASLER_EXCITE
40 default n
41 help
42 Pre-series (prototype) units are different from later ones in
43 some ways. Select this option if you have one of these. Please
44 note that a kernel built with this option selected will not be
45 able to run on normal units.
46
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020047config BCM47XX
48 bool "BCM47XX based boards"
49 select DMA_NONCOHERENT
50 select HW_HAS_PCI
51 select IRQ_CPU
52 select SYS_HAS_CPU_MIPS32_R1
53 select SYS_SUPPORTS_32BIT_KERNEL
54 select SYS_SUPPORTS_LITTLE_ENDIAN
55 select SSB
56 select SSB_DRIVER_MIPS
57 select GENERIC_GPIO
Aurelien Jarno25e5fb92007-09-25 15:41:24 +020058 select SYS_HAS_EARLY_PRINTK
59 select CFE
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020060 help
61 Support for BCM47XX based boards
62
Linus Torvalds1da177e2005-04-16 15:20:36 -070063config MIPS_COBALT
Martin Michlmayr3fa986f2006-05-09 23:34:53 +020064 bool "Cobalt Server"
Linus Torvalds1da177e2005-04-16 15:20:36 -070065 select DMA_NONCOHERENT
66 select HW_HAS_PCI
67 select I8259
68 select IRQ_CPU
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +090069 select IRQ_GT641XX
Yoichi Yuasa252161e2007-03-14 21:51:26 +090070 select PCI_GT64XXX_PCI0
Ralf Baechle7cf80532005-10-20 22:33:09 +010071 select SYS_HAS_CPU_NEVADA
Yoichi Yuasa0a22e0d2007-03-02 12:42:33 +090072 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -070073 select SYS_SUPPORTS_32BIT_KERNEL
74 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Ralf Baechle5e83d432005-10-29 19:32:41 +010075 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +090076 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -070077
78config MACH_DECSTATION
Martin Michlmayr3fa986f2006-05-09 23:34:53 +020079 bool "DECstations"
Linus Torvalds1da177e2005-04-16 15:20:36 -070080 select BOOT_ELF32
81 select DMA_NONCOHERENT
Maciej W. Rozyckid388d682007-05-29 15:08:07 +010082 select NO_IOPORT
Linus Torvalds1da177e2005-04-16 15:20:36 -070083 select IRQ_CPU
Ralf Baechle7cf80532005-10-20 22:33:09 +010084 select SYS_HAS_CPU_R3000
85 select SYS_HAS_CPU_R4X00
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -070086 select SYS_SUPPORTS_32BIT_KERNEL
87 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Ralf Baechle5e83d432005-10-29 19:32:41 +010088 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +090089 select SYS_SUPPORTS_128HZ
90 select SYS_SUPPORTS_256HZ
91 select SYS_SUPPORTS_1024HZ
Ralf Baechle5e83d432005-10-29 19:32:41 +010092 help
Linus Torvalds1da177e2005-04-16 15:20:36 -070093 This enables support for DEC's MIPS based workstations. For details
94 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
95 DECstation porting pages on <http://decstation.unix-ag.org/>.
96
97 If you have one of the following DECstation Models you definitely
98 want to choose R4xx0 for the CPU Type:
99
Ralf Baechle93088162007-08-29 14:21:45 +0100100 DECstation 5000/50
101 DECstation 5000/150
102 DECstation 5000/260
103 DECsystem 5900/260
Linus Torvalds1da177e2005-04-16 15:20:36 -0700104
105 otherwise choose R3000.
106
Ralf Baechle5e83d432005-10-29 19:32:41 +0100107config MACH_JAZZ
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200108 bool "Jazz family of machines"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100109 select ARC
110 select ARC32
111 select ARCH_MAY_HAVE_PC_FDC
112 select GENERIC_ISA_DMA
Thomas Bogendoerferea202c62007-08-25 11:01:50 +0200113 select IRQ_CPU
Ralf Baechle5e83d432005-10-29 19:32:41 +0100114 select I8259
115 select ISA
Ralf Baechlede61b542007-07-12 17:41:23 +0100116 select PCSPEAKER
Ralf Baechle7cf80532005-10-20 22:33:09 +0100117 select SYS_HAS_CPU_R4X00
Ralf Baechle5e83d432005-10-29 19:32:41 +0100118 select SYS_SUPPORTS_32BIT_KERNEL
119 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +0900120 select SYS_SUPPORTS_100HZ
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900121 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700122 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100123 This a family of machines based on the MIPS R4030 chipset which was
124 used by several vendors to build RISC/os and Windows NT workstations.
125 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
126 Olivetti M700-10 workstations.
127
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200128config LASAT
129 bool "LASAT Networks platforms"
130 select DMA_NONCOHERENT
131 select SYS_HAS_EARLY_PRINTK
132 select HW_HAS_PCI
133 select PCI_GT64XXX_PCI0
134 select MIPS_NILE4
135 select R5000_CPU_SCACHE
136 select SYS_HAS_CPU_R5000
137 select SYS_SUPPORTS_32BIT_KERNEL
138 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
139 select SYS_SUPPORTS_LITTLE_ENDIAN
140 select GENERIC_HARDIRQS_NO__DO_IRQ
141
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900142config LEMOTE_FULONG
143 bool "Lemote Fulong mini-PC"
144 select ARCH_SPARSEMEM_ENABLE
145 select SYS_HAS_CPU_LOONGSON2
146 select DMA_NONCOHERENT
147 select BOOT_ELF32
148 select BOARD_SCACHE
149 select HAVE_STD_PC_SERIAL_PORT
150 select HW_HAS_PCI
151 select I8259
152 select ISA
153 select IRQ_CPU
154 select SYS_SUPPORTS_32BIT_KERNEL
155 select SYS_SUPPORTS_64BIT_KERNEL
156 select SYS_SUPPORTS_LITTLE_ENDIAN
157 select SYS_SUPPORTS_HIGHMEM
158 select SYS_HAS_EARLY_PRINTK
159 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle23dd6d32007-08-24 16:49:23 +0100160 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900161 select CPU_HAS_WB
162 help
163 Lemote Fulong mini-PC board based on the Chinese Loongson-2E CPU and
164 an FPGA northbridge
165
Linus Torvalds1da177e2005-04-16 15:20:36 -0700166config MIPS_ATLAS
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200167 bool "MIPS Atlas board"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700168 select BOOT_ELF32
169 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000170 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100171 select IRQ_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700172 select HW_HAS_PCI
Ralf Baechle5e83d432005-10-29 19:32:41 +0100173 select MIPS_BOARDS_GEN
174 select MIPS_BONITO64
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900175 select PCI_GT64XXX_PCI0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100176 select MIPS_MSC
Maciej W. Rozyckif4b7cdb2005-02-12 04:31:49 +0000177 select RM7000_CPU_SCACHE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700178 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100179 select SYS_HAS_CPU_MIPS32_R1
180 select SYS_HAS_CPU_MIPS32_R2
181 select SYS_HAS_CPU_MIPS64_R1
182 select SYS_HAS_CPU_NEVADA
183 select SYS_HAS_CPU_RM7000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700184 select SYS_SUPPORTS_32BIT_KERNEL
185 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100186 select SYS_SUPPORTS_BIG_ENDIAN
187 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlef41ae0b2006-06-05 17:24:46 +0100188 select SYS_SUPPORTS_MULTITHREADING if EXPERIMENTAL
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100189 select SYS_SUPPORTS_SMARTMIPS
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100190 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700191 help
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000192 This enables support for the MIPS Technologies Atlas evaluation
Linus Torvalds1da177e2005-04-16 15:20:36 -0700193 board.
194
195config MIPS_MALTA
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200196 bool "MIPS Malta board"
Ralf Baechle61ed2422005-09-15 08:52:34 +0000197 select ARCH_MAY_HAVE_PC_FDC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700198 select BOOT_ELF32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700199 select DMA_NONCOHERENT
200 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000201 select IRQ_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700202 select HW_HAS_PCI
203 select I8259
Ralf Baechle5e83d432005-10-29 19:32:41 +0100204 select MIPS_BOARDS_GEN
205 select MIPS_BONITO64
Chris Dearman9318c512006-06-20 17:15:20 +0100206 select MIPS_CPU_SCACHE
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900207 select PCI_GT64XXX_PCI0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100208 select MIPS_MSC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700209 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100210 select SYS_HAS_CPU_MIPS32_R1
211 select SYS_HAS_CPU_MIPS32_R2
212 select SYS_HAS_CPU_MIPS64_R1
213 select SYS_HAS_CPU_NEVADA
214 select SYS_HAS_CPU_RM7000
Ralf Baechle36a88532007-03-01 11:56:43 +0000215 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700216 select SYS_SUPPORTS_32BIT_KERNEL
217 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100218 select SYS_SUPPORTS_BIG_ENDIAN
219 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlef41ae0b2006-06-05 17:24:46 +0100220 select SYS_SUPPORTS_MULTITHREADING
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100221 select SYS_SUPPORTS_SMARTMIPS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700222 help
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000223 This enables support for the MIPS Technologies Malta evaluation
Linus Torvalds1da177e2005-04-16 15:20:36 -0700224 board.
225
226config MIPS_SEAD
Ralf Baechled98cc842007-08-06 10:02:07 +0100227 bool "MIPS SEAD board"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700228 select IRQ_CPU
229 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000230 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100231 select MIPS_BOARDS_GEN
Ralf Baechle7cf80532005-10-20 22:33:09 +0100232 select SYS_HAS_CPU_MIPS32_R1
233 select SYS_HAS_CPU_MIPS32_R2
234 select SYS_HAS_CPU_MIPS64_R1
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700235 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100236 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
237 select SYS_SUPPORTS_BIG_ENDIAN
238 select SYS_SUPPORTS_LITTLE_ENDIAN
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100239 select SYS_SUPPORTS_SMARTMIPS
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000240 help
241 This enables support for the MIPS Technologies SEAD evaluation
242 board.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700243
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100244config MIPS_SIM
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200245 bool 'MIPS simulator (MIPSsim)'
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100246 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000247 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100248 select IRQ_CPU
Marc St-Jean9267a302007-06-14 15:55:31 -0600249 select BOOT_RAW
Ralf Baechle7cf80532005-10-20 22:33:09 +0100250 select SYS_HAS_CPU_MIPS32_R1
251 select SYS_HAS_CPU_MIPS32_R2
Ralf Baechle36a88532007-03-01 11:56:43 +0000252 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100253 select SYS_SUPPORTS_32BIT_KERNEL
254 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlef6e23732007-07-10 17:32:56 +0100255 select SYS_SUPPORTS_MULTITHREADING
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100256 select SYS_SUPPORTS_LITTLE_ENDIAN
257 help
258 This option enables support for MIPS Technologies MIPSsim software
259 emulator.
260
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900261config MARKEINS
262 bool "NEC EMMA2RH Mark-eins"
263 select DMA_NONCOHERENT
264 select HW_HAS_PCI
265 select IRQ_CPU
266 select SWAP_IO_SPACE
267 select SYS_SUPPORTS_32BIT_KERNEL
268 select SYS_SUPPORTS_BIG_ENDIAN
269 select SYS_SUPPORTS_LITTLE_ENDIAN
270 select SYS_HAS_CPU_R5000
271 help
272 This enables support for the R5432-based NEC Mark-eins
273 boards with R5500 CPU.
274
Ralf Baechle5e83d432005-10-29 19:32:41 +0100275config MACH_VR41XX
Yoichi Yuasa74142d62007-04-26 19:45:09 +0900276 bool "NEC VR4100 series based machines"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100277 select SYS_HAS_CPU_VR41XX
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900278 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100279
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900280config PNX8550_JBS
281 bool "Philips PNX8550 based JBS board"
282 select PNX8550
283 select SYS_SUPPORTS_LITTLE_ENDIAN
284
285config PNX8550_STB810
286 bool "Philips PNX8550 based STB810 board"
287 select PNX8550
288 select SYS_SUPPORTS_LITTLE_ENDIAN
289
Marc St-Jean9267a302007-06-14 15:55:31 -0600290config PMC_MSP
291 bool "PMC-Sierra MSP chipsets"
292 depends on EXPERIMENTAL
293 select DMA_NONCOHERENT
294 select SWAP_IO_SPACE
295 select NO_EXCEPT_FILL
296 select BOOT_RAW
297 select SYS_HAS_CPU_MIPS32_R1
298 select SYS_HAS_CPU_MIPS32_R2
299 select SYS_SUPPORTS_32BIT_KERNEL
300 select SYS_SUPPORTS_BIG_ENDIAN
301 select SYS_SUPPORTS_KGDB
302 select IRQ_CPU
303 select SERIAL_8250
304 select SERIAL_8250_CONSOLE
305 help
306 This adds support for the PMC-Sierra family of Multi-Service
307 Processor System-On-A-Chips. These parts include a number
308 of integrated peripherals, interfaces and DSPs in addition to
309 a variety of MIPS cores.
310
Ralf Baechle5e83d432005-10-29 19:32:41 +0100311config PMC_YOSEMITE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200312 bool "PMC-Sierra Yosemite eval board"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100313 select DMA_COHERENT
314 select HW_HAS_PCI
315 select IRQ_CPU
316 select IRQ_CPU_RM7K
317 select IRQ_CPU_RM9K
318 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100319 select SYS_HAS_CPU_RM9000
Ralf Baechle36a88532007-03-01 11:56:43 +0000320 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100321 select SYS_SUPPORTS_32BIT_KERNEL
322 select SYS_SUPPORTS_64BIT_KERNEL
323 select SYS_SUPPORTS_BIG_ENDIAN
324 select SYS_SUPPORTS_HIGHMEM
Ralf Baechlecc801072007-02-17 02:58:39 +0000325 select SYS_SUPPORTS_KGDB
Ralf Baechlee73ea272006-06-04 11:51:46 +0100326 select SYS_SUPPORTS_SMP
Ralf Baechle5e83d432005-10-29 19:32:41 +0100327 help
328 Yosemite is an evaluation board for the RM9000x2 processor
329 manufactured by PMC-Sierra.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700330
Ralf Baechle07119622005-09-03 15:56:11 -0700331config QEMU
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200332 bool "Qemu"
Ralf Baechle07119622005-09-03 15:56:11 -0700333 select DMA_COHERENT
334 select GENERIC_ISA_DMA
335 select HAVE_STD_PC_SERIAL_PORT
336 select I8259
337 select ISA
Ralf Baechlede61b542007-07-12 17:41:23 +0100338 select PCSPEAKER
Ralf Baechle07119622005-09-03 15:56:11 -0700339 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100340 select SYS_HAS_CPU_MIPS32_R1
Ralf Baechle07119622005-09-03 15:56:11 -0700341 select SYS_SUPPORTS_32BIT_KERNEL
342 select SYS_SUPPORTS_BIG_ENDIAN
Aurelien Jarnoc8cc9612006-09-27 23:07:25 +0200343 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemotob1c6cd42006-07-03 00:09:47 +0900344 select ARCH_SPARSEMEM_ENABLE
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900345 select GENERIC_HARDIRQS_NO__DO_IRQ
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +0900346 select NR_CPUS_DEFAULT_1
347 select SYS_SUPPORTS_SMP
Ralf Baechle07119622005-09-03 15:56:11 -0700348 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100349 Qemu is a software emulator which among other architectures also
350 can simulate a MIPS32 4Kc system. This patch adds support for the
351 system architecture that currently is being simulated by Qemu. It
352 will eventually be removed again when Qemu has the capability to
353 simulate actual MIPS hardware platforms. More information on Qemu
354 can be found at http://www.linux-mips.org/wiki/Qemu.
Ralf Baechle07119622005-09-03 15:56:11 -0700355
Linus Torvalds1da177e2005-04-16 15:20:36 -0700356config SGI_IP22
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200357 bool "SGI IP22 (Indy/Indigo2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700358 select ARC
359 select ARC32
360 select BOOT_ELF32
361 select DMA_NONCOHERENT
Ralf Baechle5e83d432005-10-29 19:32:41 +0100362 select HW_HAS_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -0700363 select IP22_CPU_SCACHE
364 select IRQ_CPU
Ralf Baechleaa414df2006-11-30 01:14:51 +0000365 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700366 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100367 select SYS_HAS_CPU_R4X00
368 select SYS_HAS_CPU_R5000
Ralf Baechle36a88532007-03-01 11:56:43 +0000369 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700370 select SYS_SUPPORTS_32BIT_KERNEL
371 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100372 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700373 help
374 This are the SGI Indy, Challenge S and Indigo2, as well as certain
375 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
376 that runs on these, say Y here.
377
378config SGI_IP27
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200379 bool "SGI IP27 (Origin200/2000)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700380 select ARC
381 select ARC64
Ralf Baechle5e83d432005-10-29 19:32:41 +0100382 select BOOT_ELF64
Linus Torvalds1da177e2005-04-16 15:20:36 -0700383 select DMA_IP27
Ralf Baechle36a88532007-03-01 11:56:43 +0000384 select SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700385 select HW_HAS_PCI
Ralf Baechle130e2fb2007-02-06 16:53:15 +0000386 select NR_CPUS_DEFAULT_64
Ralf Baechle7cf80532005-10-20 22:33:09 +0100387 select SYS_HAS_CPU_R10000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700388 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100389 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +0000390 select SYS_SUPPORTS_KGDB
Ralf Baechled8cb4e12006-06-11 23:03:08 +0100391 select SYS_SUPPORTS_NUMA
Ralf Baechle1a5c5de2006-11-02 17:23:33 +0000392 select SYS_SUPPORTS_SMP
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100393 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700394 help
395 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
396 workstations. To compile a Linux kernel that runs on these, say Y
397 here.
398
Linus Torvalds1da177e2005-04-16 15:20:36 -0700399config SGI_IP32
Ralf Baechlecfd2afc2007-07-10 17:33:00 +0100400 bool "SGI IP32 (O2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700401 select ARC
402 select ARC32
403 select BOOT_ELF32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700404 select DMA_NONCOHERENT
405 select HW_HAS_PCI
406 select R5000_CPU_SCACHE
407 select RM7000_CPU_SCACHE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100408 select SYS_HAS_CPU_R5000
409 select SYS_HAS_CPU_R10000 if BROKEN
410 select SYS_HAS_CPU_RM7000
Ralf Baechledd2f18f2006-01-19 14:55:42 +0000411 select SYS_HAS_CPU_NEVADA
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700412 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100413 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700414 help
415 If you want this kernel to run on SGI O2 workstation, say Y here.
416
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900417config SIBYTE_CRHINE
418 bool "Sibyte BCM91120C-CRhine"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100419 depends on EXPERIMENTAL
420 select BOOT_ELF32
421 select DMA_COHERENT
422 select SIBYTE_BCM1120
423 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100424 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100425 select SYS_SUPPORTS_BIG_ENDIAN
426 select SYS_SUPPORTS_LITTLE_ENDIAN
427
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900428config SIBYTE_CARMEL
429 bool "Sibyte BCM91120x-Carmel"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100430 depends on EXPERIMENTAL
431 select BOOT_ELF32
432 select DMA_COHERENT
433 select SIBYTE_BCM1120
434 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100435 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100436 select SYS_SUPPORTS_BIG_ENDIAN
437 select SYS_SUPPORTS_LITTLE_ENDIAN
438
439config SIBYTE_CRHONE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200440 bool "Sibyte BCM91125C-CRhone"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100441 depends on EXPERIMENTAL
442 select BOOT_ELF32
443 select DMA_COHERENT
444 select SIBYTE_BCM1125
445 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100446 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100447 select SYS_SUPPORTS_BIG_ENDIAN
448 select SYS_SUPPORTS_HIGHMEM
449 select SYS_SUPPORTS_LITTLE_ENDIAN
450
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900451config SIBYTE_RHONE
452 bool "Sibyte BCM91125E-Rhone"
453 depends on EXPERIMENTAL
454 select BOOT_ELF32
455 select DMA_COHERENT
456 select SIBYTE_BCM1125H
457 select SWAP_IO_SPACE
458 select SYS_HAS_CPU_SB1
459 select SYS_SUPPORTS_BIG_ENDIAN
460 select SYS_SUPPORTS_LITTLE_ENDIAN
461
462config SIBYTE_SWARM
463 bool "Sibyte BCM91250A-SWARM"
464 select BOOT_ELF32
465 select DMA_COHERENT
466 select NR_CPUS_DEFAULT_2
467 select SIBYTE_SB1250
468 select SWAP_IO_SPACE
469 select SYS_HAS_CPU_SB1
470 select SYS_SUPPORTS_BIG_ENDIAN
471 select SYS_SUPPORTS_HIGHMEM
472 select SYS_SUPPORTS_KGDB
473 select SYS_SUPPORTS_LITTLE_ENDIAN
474
475config SIBYTE_LITTLESUR
476 bool "Sibyte BCM91250C2-LittleSur"
477 depends on EXPERIMENTAL
478 select BOOT_ELF32
479 select DMA_COHERENT
480 select NR_CPUS_DEFAULT_2
481 select SIBYTE_SB1250
482 select SWAP_IO_SPACE
483 select SYS_HAS_CPU_SB1
484 select SYS_SUPPORTS_BIG_ENDIAN
485 select SYS_SUPPORTS_HIGHMEM
486 select SYS_SUPPORTS_LITTLE_ENDIAN
487
488config SIBYTE_SENTOSA
489 bool "Sibyte BCM91250E-Sentosa"
490 depends on EXPERIMENTAL
491 select BOOT_ELF32
492 select DMA_COHERENT
493 select NR_CPUS_DEFAULT_2
494 select SIBYTE_SB1250
495 select SWAP_IO_SPACE
496 select SYS_HAS_CPU_SB1
497 select SYS_SUPPORTS_BIG_ENDIAN
498 select SYS_SUPPORTS_LITTLE_ENDIAN
499
500config SIBYTE_PTSWARM
501 bool "Sibyte BCM91250PT-PTSWARM"
502 depends on EXPERIMENTAL
503 select BOOT_ELF32
504 select DMA_COHERENT
505 select NR_CPUS_DEFAULT_2
506 select SIBYTE_SB1250
507 select SWAP_IO_SPACE
508 select SYS_HAS_CPU_SB1
509 select SYS_SUPPORTS_BIG_ENDIAN
510 select SYS_SUPPORTS_HIGHMEM
511 select SYS_SUPPORTS_LITTLE_ENDIAN
512
513config SIBYTE_BIGSUR
514 bool "Sibyte BCM91480B-BigSur"
515 select BOOT_ELF32
516 select DMA_COHERENT
517 select NR_CPUS_DEFAULT_4
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900518 select SIBYTE_BCM1x80
519 select SWAP_IO_SPACE
520 select SYS_HAS_CPU_SB1
521 select SYS_SUPPORTS_BIG_ENDIAN
522 select SYS_SUPPORTS_LITTLE_ENDIAN
523
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100524config SNI_RM
525 bool "SNI RM200/300/400"
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200526 select ARC if CPU_LITTLE_ENDIAN
527 select ARC32 if CPU_LITTLE_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100528 select ARCH_MAY_HAVE_PC_FDC
529 select BOOT_ELF32
530 select DMA_NONCOHERENT
531 select GENERIC_ISA_DMA
Ralf Baechle5e83d432005-10-29 19:32:41 +0100532 select HW_HAS_EISA
533 select HW_HAS_PCI
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100534 select IRQ_CPU
Ralf Baechle5e83d432005-10-29 19:32:41 +0100535 select I8259
536 select ISA
Ralf Baechlede61b542007-07-12 17:41:23 +0100537 select PCSPEAKER
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200538 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
Ralf Baechle7cf80532005-10-20 22:33:09 +0100539 select SYS_HAS_CPU_R4X00
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200540 select SYS_HAS_CPU_R5000
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100541 select SYS_HAS_CPU_R10000
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200542 select R5000_CPU_SCACHE
Ralf Baechle36a88532007-03-01 11:56:43 +0000543 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700544 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100545 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200546 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100547 select SYS_SUPPORTS_HIGHMEM
548 select SYS_SUPPORTS_LITTLE_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700549 help
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100550 The SNI RM200/300/400 are MIPS-based machines manufactured by
551 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
Ralf Baechle5e83d432005-10-29 19:32:41 +0100552 Technology and now in turn merged with Fujitsu. Say Y here to
553 support this machine type.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700554
Ralf Baechle5e83d432005-10-29 19:32:41 +0100555config TOSHIBA_JMR3927
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200556 bool "Toshiba JMR-TX3927 board"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100557 select DMA_NONCOHERENT
558 select HW_HAS_PCI
559 select MIPS_TX3927
Atsushi Nemotoc87abd72007-08-02 23:36:02 +0900560 select IRQ_TXX9
Ralf Baechle5e83d432005-10-29 19:32:41 +0100561 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100562 select SYS_HAS_CPU_TX39XX
Ralf Baechle5e83d432005-10-29 19:32:41 +0100563 select SYS_SUPPORTS_32BIT_KERNEL
Sergei Shtylyov6a2603a2007-02-07 20:39:05 +0300564 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100565 select SYS_SUPPORTS_BIG_ENDIAN
Atsushi Nemoto21274352007-03-15 00:58:28 +0900566 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100567
568config TOSHIBA_RBTX4927
Yoichi Yuasa08a91282007-07-27 15:20:24 +0900569 bool "Toshiba RBTX49[23]7 board"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100570 select DMA_NONCOHERENT
571 select HAS_TXX9_SERIAL
572 select HW_HAS_PCI
Atsushi Nemotoc87abd72007-08-02 23:36:02 +0900573 select IRQ_CPU
574 select IRQ_TXX9
575 select I8259 if TOSHIBA_FPCIB0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100576 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100577 select SYS_HAS_CPU_TX49XX
Ralf Baechle5e83d432005-10-29 19:32:41 +0100578 select SYS_SUPPORTS_32BIT_KERNEL
579 select SYS_SUPPORTS_64BIT_KERNEL
Sergei Shtylyov6a2603a2007-02-07 20:39:05 +0300580 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100581 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +0000582 select SYS_SUPPORTS_KGDB
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900583 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100584 help
585 This Toshiba board is based on the TX4927 processor. Say Y here to
586 support this machine type
Linus Torvalds1da177e2005-04-16 15:20:36 -0700587
Ralf Baechle23fbee92005-07-25 22:45:45 +0000588config TOSHIBA_RBTX4938
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200589 bool "Toshiba RBTX4938 board"
Ralf Baechle23fbee92005-07-25 22:45:45 +0000590 select DMA_NONCOHERENT
Ralf Baechle23fbee92005-07-25 22:45:45 +0000591 select HAS_TXX9_SERIAL
592 select HW_HAS_PCI
Atsushi Nemotoc87abd72007-08-02 23:36:02 +0900593 select IRQ_CPU
594 select IRQ_TXX9
Ralf Baechle23fbee92005-07-25 22:45:45 +0000595 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100596 select SYS_HAS_CPU_TX49XX
Ralf Baechle23fbee92005-07-25 22:45:45 +0000597 select SYS_SUPPORTS_32BIT_KERNEL
598 select SYS_SUPPORTS_LITTLE_ENDIAN
599 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +0000600 select SYS_SUPPORTS_KGDB
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900601 select GENERIC_HARDIRQS_NO__DO_IRQ
Atsushi Nemoto3896b052007-06-22 23:21:55 +0900602 select GENERIC_GPIO
Ralf Baechle23fbee92005-07-25 22:45:45 +0000603 help
604 This Toshiba board is based on the TX4938 processor. Say Y here to
605 support this machine type
606
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900607config WR_PPMC
608 bool "Wind River PPMC board"
609 select IRQ_CPU
610 select BOOT_ELF32
611 select DMA_NONCOHERENT
612 select HW_HAS_PCI
613 select PCI_GT64XXX_PCI0
614 select SWAP_IO_SPACE
615 select SYS_HAS_CPU_MIPS32_R1
616 select SYS_HAS_CPU_MIPS32_R2
617 select SYS_HAS_CPU_MIPS64_R1
618 select SYS_HAS_CPU_NEVADA
619 select SYS_HAS_CPU_RM7000
620 select SYS_SUPPORTS_32BIT_KERNEL
621 select SYS_SUPPORTS_64BIT_KERNEL
622 select SYS_SUPPORTS_BIG_ENDIAN
623 select SYS_SUPPORTS_LITTLE_ENDIAN
624 help
625 This enables support for the Wind River MIPS32 4KC PPMC evaluation
626 board, which is based on GT64120 bridge chip.
627
Linus Torvalds1da177e2005-04-16 15:20:36 -0700628endchoice
629
Yoichi Yuasac3543e22007-05-11 20:44:30 +0900630source "arch/mips/au1000/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100631source "arch/mips/jazz/Kconfig"
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200632source "arch/mips/lasat/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100633source "arch/mips/pmc-sierra/Kconfig"
Ralf Baechle29c48692005-02-07 01:27:14 +0000634source "arch/mips/sgi-ip27/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000635source "arch/mips/sibyte/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100636source "arch/mips/tx4927/Kconfig"
Ralf Baechle23fbee92005-07-25 22:45:45 +0000637source "arch/mips/tx4938/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100638source "arch/mips/vr41xx/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000639
Ralf Baechle5e83d432005-10-29 19:32:41 +0100640endmenu
641
Linus Torvalds1da177e2005-04-16 15:20:36 -0700642config RWSEM_GENERIC_SPINLOCK
643 bool
644 default y
645
646config RWSEM_XCHGADD_ALGORITHM
647 bool
648
David Howellsf0d1b0b2006-12-08 02:37:49 -0800649config ARCH_HAS_ILOG2_U32
650 bool
651 default n
652
653config ARCH_HAS_ILOG2_U64
654 bool
655 default n
656
Akinobu Mita3c9ee7e2006-03-26 01:39:30 -0800657config GENERIC_FIND_NEXT_BIT
658 bool
659 default y
660
661config GENERIC_HWEIGHT
662 bool
663 default y
664
Linus Torvalds1da177e2005-04-16 15:20:36 -0700665config GENERIC_CALIBRATE_DELAY
666 bool
667 default y
668
Ralf Baechle8db02012006-10-02 16:54:48 +0100669config GENERIC_TIME
670 bool
671 default y
672
Ralf Baechlef5ff0a22007-08-13 15:26:12 +0100673config GENERIC_CMOS_UPDATE
674 bool
675 default y
676
Atsushi Nemoto1cc89032006-04-04 13:11:45 +0900677config SCHED_NO_NO_OMIT_FRAME_POINTER
678 bool
679 default y
680
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100681config GENERIC_HARDIRQS_NO__DO_IRQ
682 bool
683 default n
684
Linus Torvalds1da177e2005-04-16 15:20:36 -0700685#
686# Select some configuration options automatically based on user selections.
687#
688config ARC
689 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700690
Ralf Baechle61ed2422005-09-15 08:52:34 +0000691config ARCH_MAY_HAVE_PC_FDC
692 bool
693
Marc St-Jean9267a302007-06-14 15:55:31 -0600694config BOOT_RAW
695 bool
696
Aurelien Jarnodf78b5c2007-09-05 08:58:26 +0200697config CFE
698 bool
699
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700700config DMA_COHERENT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700701 bool
702
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700703config DMA_IP27
Linus Torvalds1da177e2005-04-16 15:20:36 -0700704 bool
705
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700706config DMA_IP32
707 bool
708 select DMA_NEED_PCI_MAP_STATE
709
710config DMA_NONCOHERENT
711 bool
712 select DMA_NEED_PCI_MAP_STATE
713
714config DMA_NEED_PCI_MAP_STATE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700715 bool
716
717config EARLY_PRINTK
Ralf Baechle36a88532007-03-01 11:56:43 +0000718 bool "Early printk" if EMBEDDED && DEBUG_KERNEL
719 depends on SYS_HAS_EARLY_PRINTK
720 default y
721 help
722 This option enables special console drivers which allow the kernel
723 to print messages very early in the bootup process.
724
725 This is useful for kernel debugging when your machine crashes very
Robert P. J. Day490dcc42007-05-20 12:11:07 -0400726 early before the console code is initialized. For normal operation,
727 it is not recommended because it looks ugly on some machines and
728 doesn't cooperate with an X server. You should normally say N here,
Ralf Baechle36a88532007-03-01 11:56:43 +0000729 unless you want to debug such a crash.
730
731config SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700732 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700733
Ralf Baechledbb74542007-08-07 14:52:17 +0100734config HOTPLUG_CPU
735 bool
736 default n
737
Linus Torvalds1da177e2005-04-16 15:20:36 -0700738config I8259
739 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700740
Linus Torvalds1da177e2005-04-16 15:20:36 -0700741config MIPS_BONITO64
742 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700743
744config MIPS_MSC
745 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700746
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200747config MIPS_NILE4
748 bool
749
Linus Torvalds1da177e2005-04-16 15:20:36 -0700750config MIPS_DISABLE_OBSOLETE_IDE
751 bool
752
Maciej W. Rozyckid388d682007-05-29 15:08:07 +0100753config NO_IOPORT
754 def_bool n
755
Ralf Baechle8313da32007-08-24 16:48:30 +0100756config GENERIC_ISA_DMA
757 bool
758 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
759
Ralf Baechleaa414df2006-11-30 01:14:51 +0000760config GENERIC_ISA_DMA_SUPPORT_BROKEN
761 bool
Ralf Baechle8313da32007-08-24 16:48:30 +0100762 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000763
Yoichi Yuasa09663332007-05-22 00:05:58 +0900764config GENERIC_GPIO
765 bool
766
Ralf Baechle5e83d432005-10-29 19:32:41 +0100767#
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100768# Endianess selection. Sufficiently obscure so many users don't know what to
Ralf Baechle5e83d432005-10-29 19:32:41 +0100769# answer,so we try hard to limit the available choices. Also the use of a
770# choice statement should be more obvious to the user.
771#
772choice
773 prompt "Endianess selection"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700774 help
775 Some MIPS machines can be configured for either little or big endian
Ralf Baechle5e83d432005-10-29 19:32:41 +0100776 byte order. These modes require different kernels and a different
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100777 Linux distribution. In general there is one preferred byteorder for a
Ralf Baechle5e83d432005-10-29 19:32:41 +0100778 particular system but some systems are just as commonly used in the
David Sterba3dde6ad2007-05-09 07:12:20 +0200779 one or the other endianness.
Ralf Baechle5e83d432005-10-29 19:32:41 +0100780
781config CPU_BIG_ENDIAN
782 bool "Big endian"
783 depends on SYS_SUPPORTS_BIG_ENDIAN
784
785config CPU_LITTLE_ENDIAN
786 bool "Little endian"
787 depends on SYS_SUPPORTS_LITTLE_ENDIAN
788 help
789
790endchoice
791
Ralf Baechle21162452007-02-09 17:08:58 +0000792config SYS_SUPPORTS_APM_EMULATION
793 bool
794
Ralf Baechle5e83d432005-10-29 19:32:41 +0100795config SYS_SUPPORTS_BIG_ENDIAN
796 bool
797
798config SYS_SUPPORTS_LITTLE_ENDIAN
799 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700800
801config IRQ_CPU
802 bool
803
804config IRQ_CPU_RM7K
805 bool
806
Ralf Baechle5e83d432005-10-29 19:32:41 +0100807config IRQ_CPU_RM9K
808 bool
809
Marc St-Jean9267a302007-06-14 15:55:31 -0600810config IRQ_MSP_SLP
811 bool
812
813config IRQ_MSP_CIC
814 bool
815
Atsushi Nemoto8420fd02007-08-02 23:35:53 +0900816config IRQ_TXX9
817 bool
818
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +0900819config IRQ_GT641XX
820 bool
821
Linus Torvalds1da177e2005-04-16 15:20:36 -0700822config MIPS_BOARDS_GEN
823 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700824
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900825config PCI_GT64XXX_PCI0
Linus Torvalds1da177e2005-04-16 15:20:36 -0700826 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700827
Marc St-Jean9267a302007-06-14 15:55:31 -0600828config NO_EXCEPT_FILL
829 bool
830
Linus Torvalds1da177e2005-04-16 15:20:36 -0700831config MIPS_TX3927
832 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700833 select HAS_TXX9_SERIAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700834
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200835config MIPS_RM9122
836 bool
837 select SERIAL_RM9000
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200838
Pete Popovbdf21b12005-07-14 17:47:57 +0000839config PNX8550
840 bool
841 select SOC_PNX8550
842
843config SOC_PNX8550
844 bool
Pete Popovbdf21b12005-07-14 17:47:57 +0000845 select DMA_NONCOHERENT
846 select HW_HAS_PCI
Ralf Baechleb8c2a772005-10-31 13:08:37 +0000847 select SYS_HAS_CPU_MIPS32_R1
Ralf Baechle36a88532007-03-01 11:56:43 +0000848 select SYS_HAS_EARLY_PRINTK
Ralf Baechle7cf80532005-10-20 22:33:09 +0100849 select SYS_SUPPORTS_32BIT_KERNEL
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100850 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechlecc801072007-02-17 02:58:39 +0000851 select SYS_SUPPORTS_KGDB
Florian Fainelli4ead1682007-05-22 21:44:42 +0200852 select GENERIC_GPIO
Pete Popovbdf21b12005-07-14 17:47:57 +0000853
Linus Torvalds1da177e2005-04-16 15:20:36 -0700854config SWAP_IO_SPACE
855 bool
856
dmitry pervushin355c4712006-05-21 14:53:06 +0400857config EMMA2RH
858 bool
859 depends on MARKEINS
860 default y
861
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200862config SERIAL_RM9000
863 bool
864
Ralf Baechle5e83d432005-10-29 19:32:41 +0100865config ARC32
866 bool
867
Linus Torvalds1da177e2005-04-16 15:20:36 -0700868config BOOT_ELF32
869 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700870
871config MIPS_L1_CACHE_SHIFT
872 int
Thomas Bogendoerfer06cf5582007-06-20 23:36:47 +0200873 default "4" if MACH_DECSTATION
874 default "7" if SGI_IP27 || SNI_RM
Marc St-Jean9267a302007-06-14 15:55:31 -0600875 default "4" if PMC_MSP4200_EVAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700876 default "5"
877
Linus Torvalds1da177e2005-04-16 15:20:36 -0700878config HAVE_STD_PC_SERIAL_PORT
879 bool
880
Linus Torvalds1da177e2005-04-16 15:20:36 -0700881config ARC_CONSOLE
882 bool "ARC console support"
Ralf Baechle36a88532007-03-01 11:56:43 +0000883 depends on SGI_IP22 || (SNI_RM && CPU_LITTLE_ENDIAN)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700884
885config ARC_MEMORY
886 bool
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100887 depends on MACH_JAZZ || SNI_RM || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700888 default y
889
890config ARC_PROMLIB
891 bool
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100892 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700893 default y
894
895config ARC64
896 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700897
898config BOOT_ELF64
899 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700900
Linus Torvalds1da177e2005-04-16 15:20:36 -0700901menu "CPU selection"
902
903choice
904 prompt "CPU type"
905 default CPU_R4X00
906
Fuxin Zhang2a21c732007-06-06 14:52:43 +0800907config CPU_LOONGSON2
908 bool "Loongson 2"
909 depends on SYS_HAS_CPU_LOONGSON2
910 select CPU_SUPPORTS_32BIT_KERNEL
911 select CPU_SUPPORTS_64BIT_KERNEL
912 select CPU_SUPPORTS_HIGHMEM
913 help
914 The Loongson 2E processor implements the MIPS III instruction set
915 with many extensions.
916
Ralf Baechle6e760c82005-07-06 12:08:11 +0000917config CPU_MIPS32_R1
918 bool "MIPS32 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100919 depends on SYS_HAS_CPU_MIPS32_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100920 select CPU_HAS_LLSC
Ralf Baechle6e760c82005-07-06 12:08:11 +0000921 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +0000922 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000923 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +0000924 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100925 Choose this option to build a kernel for release 1 or later of the
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000926 MIPS32 architecture. Most modern embedded systems with a 32-bit
927 MIPS processor are based on a MIPS32 processor. If you know the
928 specific type of processor in your system, choose those that one
929 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
930 Release 2 of the MIPS32 architecture is available since several
931 years so chances are you even have a MIPS32 Release 2 processor
932 in which case you should choose CPU_MIPS32_R2 instead for better
933 performance.
934
935config CPU_MIPS32_R2
936 bool "MIPS32 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100937 depends on SYS_HAS_CPU_MIPS32_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100938 select CPU_HAS_LLSC
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000939 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +0000940 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000941 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000942 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100943 Choose this option to build a kernel for release 2 or later of the
Ralf Baechle6e760c82005-07-06 12:08:11 +0000944 MIPS32 architecture. Most modern embedded systems with a 32-bit
945 MIPS processor are based on a MIPS32 processor. If you know the
946 specific type of processor in your system, choose those that one
947 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700948
Ralf Baechle6e760c82005-07-06 12:08:11 +0000949config CPU_MIPS64_R1
950 bool "MIPS64 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100951 depends on SYS_HAS_CPU_MIPS64_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100952 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +0000953 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700954 select CPU_SUPPORTS_32BIT_KERNEL
955 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000956 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +0000957 help
958 Choose this option to build a kernel for release 1 or later of the
959 MIPS64 architecture. Many modern embedded systems with a 64-bit
960 MIPS processor are based on a MIPS64 processor. If you know the
961 specific type of processor in your system, choose those that one
962 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000963 Release 2 of the MIPS64 architecture is available since several
964 years so chances are you even have a MIPS64 Release 2 processor
965 in which case you should choose CPU_MIPS64_R2 instead for better
966 performance.
967
968config CPU_MIPS64_R2
969 bool "MIPS64 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100970 depends on SYS_HAS_CPU_MIPS64_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100971 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +0000972 select CPU_HAS_PREFETCH
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000973 select CPU_SUPPORTS_32BIT_KERNEL
974 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000975 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000976 help
977 Choose this option to build a kernel for release 2 or later of the
978 MIPS64 architecture. Many modern embedded systems with a 64-bit
979 MIPS processor are based on a MIPS64 processor. If you know the
980 specific type of processor in your system, choose those that one
981 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700982
983config CPU_R3000
984 bool "R3000"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100985 depends on SYS_HAS_CPU_R3000
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100986 select CPU_HAS_WB
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700987 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +0000988 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -0700989 help
990 Please make sure to pick the right CPU type. Linux/MIPS is not
991 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
992 *not* work on R4000 machines and vice versa. However, since most
993 of the supported machines have an R4000 (or similar) CPU, R4x00
994 might be a safe bet. If the resulting kernel does not work,
995 try to recompile with R3000.
996
997config CPU_TX39XX
998 bool "R39XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100999 depends on SYS_HAS_CPU_TX39XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001000 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001001
1002config CPU_VR41XX
1003 bool "R41xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001004 depends on SYS_HAS_CPU_VR41XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001005 select CPU_SUPPORTS_32BIT_KERNEL
1006 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001007 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001008 The options selects support for the NEC VR4100 series of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001009 Only choose this option if you have one of these processors as a
1010 kernel built with this option will not run on any other type of
1011 processor or vice versa.
1012
1013config CPU_R4300
1014 bool "R4300"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001015 depends on SYS_HAS_CPU_R4300
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001016 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001017 select CPU_SUPPORTS_32BIT_KERNEL
1018 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001019 help
1020 MIPS Technologies R4300-series processors.
1021
1022config CPU_R4X00
1023 bool "R4x00"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001024 depends on SYS_HAS_CPU_R4X00
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001025 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001026 select CPU_SUPPORTS_32BIT_KERNEL
1027 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001028 help
1029 MIPS Technologies R4000-series processors other than 4300, including
1030 the R4000, R4400, R4600, and 4700.
1031
1032config CPU_TX49XX
1033 bool "R49XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001034 depends on SYS_HAS_CPU_TX49XX
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001035 select CPU_HAS_LLSC
Atsushi Nemotode862b42006-03-17 12:59:22 +09001036 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001037 select CPU_SUPPORTS_32BIT_KERNEL
1038 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001039
1040config CPU_R5000
1041 bool "R5000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001042 depends on SYS_HAS_CPU_R5000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001043 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001044 select CPU_SUPPORTS_32BIT_KERNEL
1045 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001046 help
1047 MIPS Technologies R5000-series processors other than the Nevada.
1048
1049config CPU_R5432
1050 bool "R5432"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001051 depends on SYS_HAS_CPU_R5432
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001052 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001053 select CPU_SUPPORTS_32BIT_KERNEL
1054 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001055
1056config CPU_R6000
1057 bool "R6000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001058 depends on EXPERIMENTAL
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001059 select CPU_HAS_LLSC
Ralf Baechle7cf80532005-10-20 22:33:09 +01001060 depends on SYS_HAS_CPU_R6000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001061 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001062 help
1063 MIPS Technologies R6000 and R6000A series processors. Note these
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001064 processors are extremely rare and the support for them is incomplete.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001065
1066config CPU_NEVADA
1067 bool "RM52xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001068 depends on SYS_HAS_CPU_NEVADA
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001069 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001070 select CPU_SUPPORTS_32BIT_KERNEL
1071 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001072 help
1073 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1074
1075config CPU_R8000
1076 bool "R8000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001077 depends on EXPERIMENTAL
Ralf Baechle7cf80532005-10-20 22:33:09 +01001078 depends on SYS_HAS_CPU_R8000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001079 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001080 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001081 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001082 help
1083 MIPS Technologies R8000 processors. Note these processors are
1084 uncommon and the support for them is incomplete.
1085
1086config CPU_R10000
1087 bool "R10000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001088 depends on SYS_HAS_CPU_R10000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001089 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001090 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001091 select CPU_SUPPORTS_32BIT_KERNEL
1092 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001093 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001094 help
1095 MIPS Technologies R10000-series processors.
1096
1097config CPU_RM7000
1098 bool "RM7000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001099 depends on SYS_HAS_CPU_RM7000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001100 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001101 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001102 select CPU_SUPPORTS_32BIT_KERNEL
1103 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001104 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001105
1106config CPU_RM9000
1107 bool "RM9000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001108 depends on SYS_HAS_CPU_RM9000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001109 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001110 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001111 select CPU_SUPPORTS_32BIT_KERNEL
1112 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001113 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001114 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001115
1116config CPU_SB1
1117 bool "SB1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001118 depends on SYS_HAS_CPU_SB1
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001119 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001120 select CPU_SUPPORTS_32BIT_KERNEL
1121 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001122 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001123 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001124
1125endchoice
1126
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001127config SYS_HAS_CPU_LOONGSON2
1128 bool
1129
Ralf Baechle7cf80532005-10-20 22:33:09 +01001130config SYS_HAS_CPU_MIPS32_R1
1131 bool
1132
1133config SYS_HAS_CPU_MIPS32_R2
1134 bool
1135
1136config SYS_HAS_CPU_MIPS64_R1
1137 bool
1138
1139config SYS_HAS_CPU_MIPS64_R2
1140 bool
1141
1142config SYS_HAS_CPU_R3000
1143 bool
1144
1145config SYS_HAS_CPU_TX39XX
1146 bool
1147
1148config SYS_HAS_CPU_VR41XX
1149 bool
1150
1151config SYS_HAS_CPU_R4300
1152 bool
1153
1154config SYS_HAS_CPU_R4X00
1155 bool
1156
1157config SYS_HAS_CPU_TX49XX
1158 bool
1159
1160config SYS_HAS_CPU_R5000
1161 bool
1162
1163config SYS_HAS_CPU_R5432
1164 bool
1165
1166config SYS_HAS_CPU_R6000
1167 bool
1168
1169config SYS_HAS_CPU_NEVADA
1170 bool
1171
1172config SYS_HAS_CPU_R8000
1173 bool
1174
1175config SYS_HAS_CPU_R10000
1176 bool
1177
1178config SYS_HAS_CPU_RM7000
1179 bool
1180
1181config SYS_HAS_CPU_RM9000
1182 bool
1183
1184config SYS_HAS_CPU_SB1
1185 bool
1186
Ralf Baechle17099b12007-07-14 13:24:05 +01001187#
1188# CPU may reorder R->R, R->W, W->R, W->W
1189# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1190#
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001191config WEAK_ORDERING
1192 bool
Ralf Baechle17099b12007-07-14 13:24:05 +01001193
1194#
1195# CPU may reorder reads and writes beyond LL/SC
1196# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1197#
1198config WEAK_REORDERING_BEYOND_LLSC
1199 bool
Ralf Baechle5e83d432005-10-29 19:32:41 +01001200endmenu
1201
1202#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001203# These two indicate any level of the MIPS32 and MIPS64 architecture
Ralf Baechle5e83d432005-10-29 19:32:41 +01001204#
1205config CPU_MIPS32
1206 bool
1207 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1208
1209config CPU_MIPS64
1210 bool
1211 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1212
1213#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001214# These two indicate the revision of the architecture, either Release 1 or Release 2
Ralf Baechle5e83d432005-10-29 19:32:41 +01001215#
1216config CPU_MIPSR1
1217 bool
1218 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1219
1220config CPU_MIPSR2
1221 bool
1222 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1223
1224config SYS_SUPPORTS_32BIT_KERNEL
1225 bool
1226config SYS_SUPPORTS_64BIT_KERNEL
1227 bool
1228config CPU_SUPPORTS_32BIT_KERNEL
1229 bool
1230config CPU_SUPPORTS_64BIT_KERNEL
1231 bool
1232
1233menu "Kernel type"
1234
1235choice
1236
1237 prompt "Kernel code model"
1238 help
1239 You should only select this option if you have a workload that
1240 actually benefits from 64-bit processing or if your machine has
1241 large memory. You will only be presented a single option in this
1242 menu if your system does not support both 32-bit and 64-bit kernels.
1243
1244config 32BIT
1245 bool "32-bit kernel"
1246 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1247 select TRAD_SIGNALS
1248 help
1249 Select this option if you want to build a 32-bit kernel.
1250config 64BIT
1251 bool "64-bit kernel"
1252 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1253 help
1254 Select this option if you want to build a 64-bit kernel.
1255
1256endchoice
1257
Linus Torvalds1da177e2005-04-16 15:20:36 -07001258choice
1259 prompt "Kernel page size"
1260 default PAGE_SIZE_4KB
1261
1262config PAGE_SIZE_4KB
1263 bool "4kB"
1264 help
1265 This option select the standard 4kB Linux page size. On some
1266 R3000-family processors this is the only available page size. Using
1267 4kB page size will minimize memory consumption and is therefore
1268 recommended for low memory systems.
1269
1270config PAGE_SIZE_8KB
1271 bool "8kB"
1272 depends on EXPERIMENTAL && CPU_R8000
1273 help
1274 Using 8kB page size will result in higher performance kernel at
1275 the price of higher memory consumption. This option is available
1276 only on the R8000 processor. Not that at the time of this writing
1277 this option is still high experimental; there are also issues with
1278 compatibility of user applications.
1279
1280config PAGE_SIZE_16KB
1281 bool "16kB"
Ralf Baechle714bfad2006-05-17 14:04:30 +01001282 depends on !CPU_R3000 && !CPU_TX39XX
Linus Torvalds1da177e2005-04-16 15:20:36 -07001283 help
1284 Using 16kB page size will result in higher performance kernel at
1285 the price of higher memory consumption. This option is available on
Ralf Baechle714bfad2006-05-17 14:04:30 +01001286 all non-R3000 family processors. Note that you will need a suitable
1287 Linux distribution to support this.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001288
1289config PAGE_SIZE_64KB
1290 bool "64kB"
1291 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1292 help
1293 Using 64kB page size will result in higher performance kernel at
1294 the price of higher memory consumption. This option is available on
1295 all non-R3000 family processor. Not that at the time of this
Ralf Baechle714bfad2006-05-17 14:04:30 +01001296 writing this option is still high experimental.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001297
1298endchoice
1299
1300config BOARD_SCACHE
1301 bool
1302
1303config IP22_CPU_SCACHE
1304 bool
1305 select BOARD_SCACHE
1306
Chris Dearman9318c512006-06-20 17:15:20 +01001307#
1308# Support for a MIPS32 / MIPS64 style S-caches
1309#
1310config MIPS_CPU_SCACHE
1311 bool
1312 select BOARD_SCACHE
1313
Linus Torvalds1da177e2005-04-16 15:20:36 -07001314config R5000_CPU_SCACHE
1315 bool
1316 select BOARD_SCACHE
1317
1318config RM7000_CPU_SCACHE
1319 bool
1320 select BOARD_SCACHE
1321
1322config SIBYTE_DMA_PAGEOPS
1323 bool "Use DMA to clear/copy pages"
1324 depends on CPU_SB1
1325 help
1326 Instead of using the CPU to zero and copy pages, use a Data Mover
1327 channel. These DMA channels are otherwise unused by the standard
1328 SiByte Linux port. Seems to give a small performance benefit.
1329
1330config CPU_HAS_PREFETCH
Ralf Baechlec8094b52005-08-05 14:28:54 +00001331 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001332
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001333choice
1334 prompt "MIPS MT options"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001335
1336config MIPS_MT_DISABLED
1337 bool "Disable multithreading support."
1338 help
1339 Use this option if your workload can't take advantage of
1340 MIPS hardware multithreading support. On systems that don't have
1341 the option of an MT-enabled processor this option will be the only
1342 option in this menu.
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001343
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001344config MIPS_MT_SMP
1345 bool "Use 1 TC on each available VPE for SMP"
1346 depends on SYS_SUPPORTS_MULTITHREADING
1347 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001348 select CPU_MIPSR2_IRQ_EI
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001349 select CPU_MIPSR2_SRS
1350 select MIPS_MT
Ralf Baechlef510aa32007-03-16 21:58:37 +00001351 select NR_CPUS_DEFAULT_2
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001352 select SMP
1353 select SYS_SUPPORTS_SMP
1354 help
1355 This is a kernel model which is also known a VSMP or lately
1356 has been marketesed into SMVP.
1357
Ralf Baechle41c594a2006-04-05 09:45:45 +01001358config MIPS_MT_SMTC
1359 bool "SMTC: Use all TCs on all VPEs for SMP"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001360 depends on CPU_MIPS32_R2
1361 #depends on CPU_MIPS64_R2 # once there is hardware ...
1362 depends on SYS_SUPPORTS_MULTITHREADING
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001363 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001364 select CPU_MIPSR2_IRQ_EI
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001365 select CPU_MIPSR2_SRS
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001366 select MIPS_MT
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001367 select NR_CPUS_DEFAULT_8
Ralf Baechle41c594a2006-04-05 09:45:45 +01001368 select SMP
Ralf Baechle73b76c72006-08-15 19:36:40 +01001369 select SYS_SUPPORTS_SMP
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001370 help
1371 This is a kernel model which is known a SMTC or lately has been
1372 marketesed into SMVP.
Ralf Baechle41c594a2006-04-05 09:45:45 +01001373
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001374endchoice
1375
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001376config MIPS_MT
1377 bool
1378
1379config SYS_SUPPORTS_MULTITHREADING
1380 bool
1381
Ralf Baechlef088fc82006-04-05 09:45:47 +01001382config MIPS_MT_FPAFF
1383 bool "Dynamic FPU affinity for FP-intensive threads"
Ralf Baechlef088fc82006-04-05 09:45:47 +01001384 default y
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001385 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1386
1387config MIPS_VPE_LOADER
1388 bool "VPE loader support."
1389 depends on SYS_SUPPORTS_MULTITHREADING
1390 select CPU_MIPSR2_IRQ_VI
1391 select CPU_MIPSR2_IRQ_EI
1392 select CPU_MIPSR2_SRS
1393 select MIPS_MT
1394 help
1395 Includes a loader for loading an elf relocatable object
1396 onto another VPE and running it.
Ralf Baechlef088fc82006-04-05 09:45:47 +01001397
Ralf Baechleac8be952007-01-20 00:18:01 +00001398config MIPS_MT_SMTC_INSTANT_REPLAY
1399 bool "Low-latency Dispatch of Deferred SMTC IPIs"
Ralf Baechle619af722007-03-26 15:13:57 +01001400 depends on MIPS_MT_SMTC && !PREEMPT
Ralf Baechleac8be952007-01-20 00:18:01 +00001401 default y
1402 help
1403 SMTC pseudo-interrupts between TCs are deferred and queued
1404 if the target TC is interrupt-inhibited (IXMT). In the first
1405 SMTC prototypes, these queued IPIs were serviced on return
1406 to user mode, or on entry into the kernel idle loop. The
1407 INSTANT_REPLAY option dispatches them as part of local_irq_restore()
1408 processing, which adds runtime overhead (hence the option to turn
1409 it off), but ensures that IPIs are handled promptly even under
1410 heavy I/O interrupt load.
1411
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001412config MIPS_MT_SMTC_IM_BACKSTOP
1413 bool "Use per-TC register bits as backstop for inhibited IM bits"
1414 depends on MIPS_MT_SMTC
1415 default y
1416 help
1417 To support multiple TC microthreads acting as "CPUs" within
1418 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1419 during interrupt handling. To support legacy drivers and interrupt
1420 controller management code, SMTC has a "backstop" to track and
1421 if necessary restore the interrupt mask. This has some performance
1422 impact on interrupt service overhead. Disable it only if you know
1423 what you are doing.
1424
Kevin D. Kissellf571eff2007-08-03 19:38:03 +02001425config MIPS_MT_SMTC_IRQAFF
1426 bool "Support IRQ affinity API"
1427 depends on MIPS_MT_SMTC
1428 default n
1429 help
1430 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1431 for SMTC Linux kernel. Requires platform support, of which
1432 an example can be found in the MIPS kernel i8259 and Malta
1433 platform code. It is recommended that MIPS_MT_SMTC_INSTANT_REPLAY
1434 be enabled if MIPS_MT_SMTC_IRQAFF is used. Adds overhead to
1435 interrupt dispatch, and should be used only if you know what
1436 you are doing.
1437
Ralf Baechlee01402b2005-07-14 15:57:16 +00001438config MIPS_VPE_LOADER_TOM
1439 bool "Load VPE program into memory hidden from linux"
1440 depends on MIPS_VPE_LOADER
1441 default y
1442 help
1443 The loader can use memory that is present but has been hidden from
1444 Linux using the kernel command line option "mem=xxMB". It's up to
1445 you to ensure the amount you put in the option and the space your
1446 program requires is less or equal to the amount physically present.
1447
1448# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1449config MIPS_VPE_APSP_API
Ralf Baechle5e83d432005-10-29 19:32:41 +01001450 bool "Enable support for AP/SP API (RTLX)"
1451 depends on MIPS_VPE_LOADER
1452 help
Ralf Baechlee01402b2005-07-14 15:57:16 +00001453
Ralf Baechle26009902006-04-05 09:45:45 +01001454config MIPS_APSP_KSPD
1455 bool "Enable KSPD"
1456 depends on MIPS_VPE_APSP_API
1457 default y
1458 help
1459 KSPD is a kernel daemon that accepts syscall requests from the SP
1460 side, actions them and returns the results. It also handles the
1461 "exit" syscall notifying other kernel modules the SP program is
1462 exiting. You probably want to say yes here.
1463
Linus Torvalds1da177e2005-04-16 15:20:36 -07001464config SB1_PASS_1_WORKAROUNDS
1465 bool
1466 depends on CPU_SB1_PASS_1
1467 default y
1468
1469config SB1_PASS_2_WORKAROUNDS
1470 bool
1471 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1472 default y
1473
1474config SB1_PASS_2_1_WORKAROUNDS
1475 bool
1476 depends on CPU_SB1 && CPU_SB1_PASS_2
1477 default y
1478
1479config 64BIT_PHYS_ADDR
Ralf Baechled806cb22007-08-02 00:36:08 +01001480 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001481
Linus Torvalds1da177e2005-04-16 15:20:36 -07001482config CPU_HAS_LLSC
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001483 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001484
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001485config CPU_HAS_SMARTMIPS
1486 depends on SYS_SUPPORTS_SMARTMIPS
1487 bool "Support for the SmartMIPS ASE"
1488 help
1489 SmartMIPS is a extension of the MIPS32 architecture aimed at
1490 increased security at both hardware and software level for
1491 smartcards. Enabling this option will allow proper use of the
1492 SmartMIPS instructions by Linux applications. However a kernel with
1493 this option will not work on a MIPS core without SmartMIPS core. If
1494 you don't know you probably don't have SmartMIPS and should say N
1495 here.
1496
Linus Torvalds1da177e2005-04-16 15:20:36 -07001497config CPU_HAS_WB
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001498 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001499
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001500config 64BIT_CONTEXT
1501 bool "Save 64bit integer registers"
1502 depends on 32BIT && CPU_LOONGSON2
1503 help
1504 Loongson2 CPU is 64bit , when used in 32BIT mode, its integer
1505 registers can still be accessed as 64bit, mainly for multimedia
1506 instructions. We must have all 64bit save/restored to make sure
1507 those instructions to get correct result.
1508
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001509#
1510# Vectored interrupt mode is an R2 feature
1511#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001512config CPU_MIPSR2_IRQ_VI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001513 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001514
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001515#
1516# Extended interrupt mode is an R2 feature
1517#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001518config CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001519 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001520
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001521#
1522# Shadow registers are an R2 feature
1523#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001524config CPU_MIPSR2_SRS
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001525 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001526
Linus Torvalds1da177e2005-04-16 15:20:36 -07001527config CPU_HAS_SYNC
1528 bool
1529 depends on !CPU_R3000
1530 default y
1531
1532#
Ralf Baechle797798c2005-08-10 15:17:11 +00001533# Use the generic interrupt handling code in kernel/irq/:
1534#
1535config GENERIC_HARDIRQS
1536 bool
1537 default y
1538
1539config GENERIC_IRQ_PROBE
1540 bool
1541 default y
1542
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001543config IRQ_PER_CPU
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001544 bool
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001545
Ralf Baechle797798c2005-08-10 15:17:11 +00001546#
Linus Torvalds1da177e2005-04-16 15:20:36 -07001547# - Highmem only makes sense for the 32-bit kernel.
1548# - The current highmem code will only work properly on physically indexed
1549# caches such as R3000, SB1, R7000 or those that look like they're virtually
1550# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1551# moment we protect the user and offer the highmem option only on machines
1552# where it's known to be safe. This will not offer highmem on a few systems
1553# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1554# indexed CPUs but we're playing safe.
Ralf Baechle797798c2005-08-10 15:17:11 +00001555# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1556# know they might have memory configurations that could make use of highmem
1557# support.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001558#
1559config HIGHMEM
1560 bool "High Memory Support"
Ralf Baechle797798c2005-08-10 15:17:11 +00001561 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1562
1563config CPU_SUPPORTS_HIGHMEM
1564 bool
1565
1566config SYS_SUPPORTS_HIGHMEM
1567 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001568
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001569config SYS_SUPPORTS_SMARTMIPS
1570 bool
1571
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001572config ARCH_FLATMEM_ENABLE
1573 def_bool y
1574 depends on !NUMA
1575
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001576config ARCH_DISCONTIGMEM_ENABLE
1577 bool
1578 default y if SGI_IP27
1579 help
David Sterba3dde6ad2007-05-09 07:12:20 +02001580 Say Y to support efficient handling of discontiguous physical memory,
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001581 for architectures which are either NUMA (Non-Uniform Memory Access)
1582 or have huge holes in the physical address space for other reasons.
1583 See <file:Documentation/vm/numa> for more.
1584
Atsushi Nemotob1c6cd42006-07-03 00:09:47 +09001585config ARCH_SPARSEMEM_ENABLE
1586 bool
Atsushi Nemoto7de58fa2006-07-05 01:22:44 +09001587 select SPARSEMEM_STATIC
Atsushi Nemoto31473742006-07-03 00:09:47 +09001588
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001589config NUMA
1590 bool "NUMA Support"
1591 depends on SYS_SUPPORTS_NUMA
1592 help
1593 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1594 Access). This option improves performance on systems with more
1595 than two nodes; on two node systems it is generally better to
1596 leave it disabled; on single node systems disable this option
1597 disabled.
1598
1599config SYS_SUPPORTS_NUMA
1600 bool
1601
Yasunori Gotoc80d79d2006-04-10 22:53:53 -07001602config NODES_SHIFT
1603 int
1604 default "6"
1605 depends on NEED_MULTIPLE_NODES
1606
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001607source "mm/Kconfig"
1608
Linus Torvalds1da177e2005-04-16 15:20:36 -07001609config SMP
1610 bool "Multi-Processing support"
Ralf Baechlee73ea272006-06-04 11:51:46 +01001611 depends on SYS_SUPPORTS_SMP
Ralf Baechleb4b30a52006-08-03 17:34:24 +01001612 select IRQ_PER_CPU
Ralf Baechlee73ea272006-06-04 11:51:46 +01001613 help
Linus Torvalds1da177e2005-04-16 15:20:36 -07001614 This enables support for systems with more than one CPU. If you have
1615 a system with only one CPU, like most personal computers, say N. If
1616 you have a system with more than one CPU, say Y.
1617
1618 If you say N here, the kernel will run on single and multiprocessor
1619 machines, but will use only one CPU of a multiprocessor machine. If
1620 you say Y here, the kernel will run on many, but not all,
1621 singleprocessor machines. On a singleprocessor machine, the kernel
1622 will run faster if you say N here.
1623
1624 People using multiprocessor machines who say Y here should also say
1625 Y to "Enhanced Real Time Clock Support", below.
1626
1627 See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1628 available at <http://www.tldp.org/docs.html#howto>.
1629
1630 If you don't know what to do here, say N.
1631
Ralf Baechlee73ea272006-06-04 11:51:46 +01001632config SYS_SUPPORTS_SMP
1633 bool
1634
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001635config NR_CPUS_DEFAULT_1
1636 bool
1637
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001638config NR_CPUS_DEFAULT_2
1639 bool
1640
1641config NR_CPUS_DEFAULT_4
1642 bool
1643
1644config NR_CPUS_DEFAULT_8
1645 bool
1646
1647config NR_CPUS_DEFAULT_16
1648 bool
1649
1650config NR_CPUS_DEFAULT_32
1651 bool
1652
1653config NR_CPUS_DEFAULT_64
1654 bool
1655
Linus Torvalds1da177e2005-04-16 15:20:36 -07001656config NR_CPUS
1657 int "Maximum number of CPUs (2-64)"
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001658 range 1 64 if NR_CPUS_DEFAULT_1
Linus Torvalds1da177e2005-04-16 15:20:36 -07001659 depends on SMP
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001660 default "1" if NR_CPUS_DEFAULT_1
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001661 default "2" if NR_CPUS_DEFAULT_2
1662 default "4" if NR_CPUS_DEFAULT_4
1663 default "8" if NR_CPUS_DEFAULT_8
1664 default "16" if NR_CPUS_DEFAULT_16
1665 default "32" if NR_CPUS_DEFAULT_32
1666 default "64" if NR_CPUS_DEFAULT_64
Linus Torvalds1da177e2005-04-16 15:20:36 -07001667 help
1668 This allows you to specify the maximum number of CPUs which this
1669 kernel will support. The maximum supported value is 32 for 32-bit
1670 kernel and 64 for 64-bit kernels; the minimum value which makes
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001671 sense is 1 for Qemu (useful only for kernel debugging purposes)
1672 and 2 for all others.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001673
1674 This is purely to save memory - each supported CPU adds
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001675 approximately eight kilobytes to the kernel image. For best
1676 performance should round up your number of processors to the next
1677 power of two.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001678
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09001679#
1680# Timer Interrupt Frequency Configuration
1681#
1682
1683choice
1684 prompt "Timer frequency"
1685 default HZ_250
1686 help
1687 Allows the configuration of the timer frequency.
1688
1689 config HZ_48
1690 bool "48 HZ" if SYS_SUPPORTS_48HZ
1691
1692 config HZ_100
1693 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1694
1695 config HZ_128
1696 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1697
1698 config HZ_250
1699 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1700
1701 config HZ_256
1702 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1703
1704 config HZ_1000
1705 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1706
1707 config HZ_1024
1708 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1709
1710endchoice
1711
1712config SYS_SUPPORTS_48HZ
1713 bool
1714
1715config SYS_SUPPORTS_100HZ
1716 bool
1717
1718config SYS_SUPPORTS_128HZ
1719 bool
1720
1721config SYS_SUPPORTS_250HZ
1722 bool
1723
1724config SYS_SUPPORTS_256HZ
1725 bool
1726
1727config SYS_SUPPORTS_1000HZ
1728 bool
1729
1730config SYS_SUPPORTS_1024HZ
1731 bool
1732
1733config SYS_SUPPORTS_ARBIT_HZ
1734 bool
1735 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1736 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1737 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1738 !SYS_SUPPORTS_1024HZ
1739
1740config HZ
1741 int
1742 default 48 if HZ_48
1743 default 100 if HZ_100
1744 default 128 if HZ_128
1745 default 250 if HZ_250
1746 default 256 if HZ_256
1747 default 1000 if HZ_1000
1748 default 1024 if HZ_1024
1749
Ralf Baechlee80de852005-07-11 20:45:51 +00001750source "kernel/Kconfig.preempt"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001751
Linus Torvalds1da177e2005-04-16 15:20:36 -07001752config MIPS_INSANE_LARGE
1753 bool "Support for large 64-bit configurations"
Ralf Baechle875d43e2005-09-03 15:56:16 -07001754 depends on CPU_R10000 && 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001755 help
1756 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1757 previous 64-bit processors which only supported 40 bit / 1TB. If you
1758 need processes of more than 1TB virtual address space, say Y here.
1759 This will result in additional memory usage, so it is not
1760 recommended for normal users.
1761
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001762config KEXEC
1763 bool "Kexec system call (EXPERIMENTAL)"
1764 depends on EXPERIMENTAL
1765 help
1766 kexec is a system call that implements the ability to shutdown your
1767 current kernel, and to start another kernel. It is like a reboot
David Sterba3dde6ad2007-05-09 07:12:20 +02001768 but it is independent of the system firmware. And like a reboot
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001769 you can start any kernel with it, not just Linux.
1770
1771 The name comes from the similiarity to the exec system call.
1772
1773 It is an ongoing process to be certain the hardware in a machine
1774 is properly shutdown, so do not be surprised if this code does not
1775 initially work for you. It may help to enable device hotplugging
1776 support. As of this writing the exact hardware interface is
1777 strongly in flux, so no good recommendation can be made.
1778
1779config SECCOMP
1780 bool "Enable seccomp to safely compute untrusted bytecode"
Ralf Baechle293c5bd2007-07-25 16:19:33 +01001781 depends on PROC_FS
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001782 default y
1783 help
1784 This kernel feature is useful for number crunching applications
1785 that may need to compute untrusted bytecode during their
1786 execution. By using pipes or other transports made available to
1787 the process as file descriptors supporting the read/write
1788 syscalls, it's possible to isolate those applications in
1789 their own address space using seccomp. Once seccomp is
1790 enabled via /proc/<pid>/seccomp, it cannot be disabled
1791 and the task is only allowed to execute a few safe syscalls
1792 defined by each seccomp mode.
1793
1794 If unsure, say Y. Only embedded should say N here.
1795
Ralf Baechle5e83d432005-10-29 19:32:41 +01001796endmenu
1797
Linus Torvalds1da177e2005-04-16 15:20:36 -07001798config RWSEM_GENERIC_SPINLOCK
1799 bool
1800 default y
1801
Atsushi Nemoto1df0f0f2006-09-26 23:44:01 +09001802config LOCKDEP_SUPPORT
1803 bool
1804 default y
1805
1806config STACKTRACE_SUPPORT
1807 bool
1808 default y
1809
Ralf Baechleb6c35392005-11-25 11:35:40 +00001810source "init/Kconfig"
1811
Linus Torvalds1da177e2005-04-16 15:20:36 -07001812menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1813
Ralf Baechle5e83d432005-10-29 19:32:41 +01001814config HW_HAS_EISA
1815 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001816config HW_HAS_PCI
1817 bool
1818
1819config PCI
1820 bool "Support for PCI controller"
1821 depends on HW_HAS_PCI
Ralf Baechleabb4ae42007-10-11 23:46:03 +01001822 select PCI_DOMAINS
Linus Torvalds1da177e2005-04-16 15:20:36 -07001823 help
1824 Find out whether you have a PCI motherboard. PCI is the name of a
1825 bus system, i.e. the way the CPU talks to the other stuff inside
1826 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1827 say Y, otherwise N.
1828
1829 The PCI-HOWTO, available from
1830 <http://www.tldp.org/docs.html#howto>, contains valuable
1831 information about which PCI hardware does work under Linux and which
1832 doesn't.
1833
1834config PCI_DOMAINS
1835 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001836
1837source "drivers/pci/Kconfig"
1838
1839#
1840# ISA support is now enabled via select. Too many systems still have the one
1841# or other ISA chip on the board that users don't know about so don't expect
1842# users to choose the right thing ...
1843#
1844config ISA
1845 bool
1846
1847config EISA
1848 bool "EISA support"
Ralf Baechle5e83d432005-10-29 19:32:41 +01001849 depends on HW_HAS_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001850 select ISA
Ralf Baechleaa414df2006-11-30 01:14:51 +00001851 select GENERIC_ISA_DMA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001852 ---help---
1853 The Extended Industry Standard Architecture (EISA) bus was
1854 developed as an open alternative to the IBM MicroChannel bus.
1855
1856 The EISA bus provided some of the features of the IBM MicroChannel
1857 bus while maintaining backward compatibility with cards made for
1858 the older ISA bus. The EISA bus saw limited use between 1988 and
1859 1995 when it was made obsolete by the PCI bus.
1860
1861 Say Y here if you are building a kernel for an EISA-based machine.
1862
1863 Otherwise, say N.
1864
1865source "drivers/eisa/Kconfig"
1866
1867config TC
1868 bool "TURBOchannel support"
1869 depends on MACH_DECSTATION
1870 help
1871 TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1872 processors. Documentation on writing device drivers for TurboChannel
1873 is available at:
1874 <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1875
1876#config ACCESSBUS
1877# bool "Access.Bus support"
1878# depends on TC
1879
1880config MMU
1881 bool
1882 default y
1883
Ralf Baechlede61b542007-07-12 17:41:23 +01001884config PCSPEAKER
Michael Neulinge5c6c8e2006-03-14 00:11:50 -05001885 bool
1886
Linus Torvalds1da177e2005-04-16 15:20:36 -07001887source "drivers/pcmcia/Kconfig"
1888
1889source "drivers/pci/hotplug/Kconfig"
1890
1891endmenu
1892
1893menu "Executable file formats"
1894
1895source "fs/Kconfig.binfmt"
1896
1897config TRAD_SIGNALS
1898 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001899
Linus Torvalds1da177e2005-04-16 15:20:36 -07001900config BINFMT_IRIX
1901 bool "Include IRIX binary compatibility"
Ralf Baechle5e83d432005-10-29 19:32:41 +01001902 depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -07001903
1904config MIPS32_COMPAT
1905 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
Ralf Baechle875d43e2005-09-03 15:56:16 -07001906 depends on 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001907 help
1908 Select this option if you want Linux/MIPS 32-bit binary
1909 compatibility. Since all software available for Linux/MIPS is
1910 currently 32-bit you should say Y here.
1911
1912config COMPAT
1913 bool
1914 depends on MIPS32_COMPAT
1915 default y
1916
Atsushi Nemoto05e43962006-11-07 18:02:44 +09001917config SYSVIPC_COMPAT
1918 bool
1919 depends on COMPAT && SYSVIPC
1920 default y
1921
Linus Torvalds1da177e2005-04-16 15:20:36 -07001922config MIPS32_O32
1923 bool "Kernel support for o32 binaries"
1924 depends on MIPS32_COMPAT
1925 help
1926 Select this option if you want to run o32 binaries. These are pure
1927 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
1928 existing binaries are in this format.
1929
1930 If unsure, say Y.
1931
1932config MIPS32_N32
1933 bool "Kernel support for n32 binaries"
1934 depends on MIPS32_COMPAT
1935 help
1936 Select this option if you want to run n32 binaries. These are
1937 64-bit binaries using 32-bit quantities for addressing and certain
1938 data that would normally be 64-bit. They are used in special
1939 cases.
1940
1941 If unsure, say N.
1942
1943config BINFMT_ELF32
1944 bool
1945 default y if MIPS32_O32 || MIPS32_N32
1946
Ralf Baechle21162452007-02-09 17:08:58 +00001947endmenu
Linus Torvalds1da177e2005-04-16 15:20:36 -07001948
Ralf Baechle21162452007-02-09 17:08:58 +00001949menu "Power management options"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02001950
Ralf Baechle21162452007-02-09 17:08:58 +00001951source "kernel/power/Kconfig"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02001952
Linus Torvalds1da177e2005-04-16 15:20:36 -07001953endmenu
1954
Sam Ravnborgd5950b42005-07-11 21:03:49 -07001955source "net/Kconfig"
1956
Linus Torvalds1da177e2005-04-16 15:20:36 -07001957source "drivers/Kconfig"
1958
1959source "fs/Kconfig"
1960
Ralf Baechle5e83d432005-10-29 19:32:41 +01001961source "arch/mips/oprofile/Kconfig"
1962
Linus Torvalds1da177e2005-04-16 15:20:36 -07001963source "arch/mips/Kconfig.debug"
1964
1965source "security/Kconfig"
1966
1967source "crypto/Kconfig"
1968
1969source "lib/Kconfig"