blob: 90b409d06153bdef6d07d756d2a77437c887e9af [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
58 help
59 Support for BCM47XX based boards
60
Linus Torvalds1da177e2005-04-16 15:20:36 -070061config MIPS_COBALT
Martin Michlmayr3fa986f2006-05-09 23:34:53 +020062 bool "Cobalt Server"
Linus Torvalds1da177e2005-04-16 15:20:36 -070063 select DMA_NONCOHERENT
64 select HW_HAS_PCI
65 select I8259
66 select IRQ_CPU
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +090067 select IRQ_GT641XX
Yoichi Yuasa252161e2007-03-14 21:51:26 +090068 select PCI_GT64XXX_PCI0
Ralf Baechle7cf80532005-10-20 22:33:09 +010069 select SYS_HAS_CPU_NEVADA
Yoichi Yuasa0a22e0d2007-03-02 12:42:33 +090070 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -070071 select SYS_SUPPORTS_32BIT_KERNEL
72 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Ralf Baechle5e83d432005-10-29 19:32:41 +010073 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +090074 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -070075
76config MACH_DECSTATION
Martin Michlmayr3fa986f2006-05-09 23:34:53 +020077 bool "DECstations"
Linus Torvalds1da177e2005-04-16 15:20:36 -070078 select BOOT_ELF32
79 select DMA_NONCOHERENT
Maciej W. Rozyckid388d682007-05-29 15:08:07 +010080 select NO_IOPORT
Linus Torvalds1da177e2005-04-16 15:20:36 -070081 select IRQ_CPU
Ralf Baechle7cf80532005-10-20 22:33:09 +010082 select SYS_HAS_CPU_R3000
83 select SYS_HAS_CPU_R4X00
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -070084 select SYS_SUPPORTS_32BIT_KERNEL
85 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Ralf Baechle5e83d432005-10-29 19:32:41 +010086 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +090087 select SYS_SUPPORTS_128HZ
88 select SYS_SUPPORTS_256HZ
89 select SYS_SUPPORTS_1024HZ
Ralf Baechle5e83d432005-10-29 19:32:41 +010090 help
Linus Torvalds1da177e2005-04-16 15:20:36 -070091 This enables support for DEC's MIPS based workstations. For details
92 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
93 DECstation porting pages on <http://decstation.unix-ag.org/>.
94
95 If you have one of the following DECstation Models you definitely
96 want to choose R4xx0 for the CPU Type:
97
Ralf Baechle93088162007-08-29 14:21:45 +010098 DECstation 5000/50
99 DECstation 5000/150
100 DECstation 5000/260
101 DECsystem 5900/260
Linus Torvalds1da177e2005-04-16 15:20:36 -0700102
103 otherwise choose R3000.
104
Ralf Baechle5e83d432005-10-29 19:32:41 +0100105config MACH_JAZZ
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200106 bool "Jazz family of machines"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100107 select ARC
108 select ARC32
109 select ARCH_MAY_HAVE_PC_FDC
110 select GENERIC_ISA_DMA
Thomas Bogendoerferea202c62007-08-25 11:01:50 +0200111 select IRQ_CPU
Ralf Baechle5e83d432005-10-29 19:32:41 +0100112 select I8259
113 select ISA
Ralf Baechlede61b542007-07-12 17:41:23 +0100114 select PCSPEAKER
Ralf Baechle7cf80532005-10-20 22:33:09 +0100115 select SYS_HAS_CPU_R4X00
Ralf Baechle5e83d432005-10-29 19:32:41 +0100116 select SYS_SUPPORTS_32BIT_KERNEL
117 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +0900118 select SYS_SUPPORTS_100HZ
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900119 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700120 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100121 This a family of machines based on the MIPS R4030 chipset which was
122 used by several vendors to build RISC/os and Windows NT workstations.
123 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
124 Olivetti M700-10 workstations.
125
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200126config LASAT
127 bool "LASAT Networks platforms"
128 select DMA_NONCOHERENT
129 select SYS_HAS_EARLY_PRINTK
130 select HW_HAS_PCI
131 select PCI_GT64XXX_PCI0
132 select MIPS_NILE4
133 select R5000_CPU_SCACHE
134 select SYS_HAS_CPU_R5000
135 select SYS_SUPPORTS_32BIT_KERNEL
136 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
137 select SYS_SUPPORTS_LITTLE_ENDIAN
138 select GENERIC_HARDIRQS_NO__DO_IRQ
139
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900140config LEMOTE_FULONG
141 bool "Lemote Fulong mini-PC"
142 select ARCH_SPARSEMEM_ENABLE
143 select SYS_HAS_CPU_LOONGSON2
144 select DMA_NONCOHERENT
145 select BOOT_ELF32
146 select BOARD_SCACHE
147 select HAVE_STD_PC_SERIAL_PORT
148 select HW_HAS_PCI
149 select I8259
150 select ISA
151 select IRQ_CPU
152 select SYS_SUPPORTS_32BIT_KERNEL
153 select SYS_SUPPORTS_64BIT_KERNEL
154 select SYS_SUPPORTS_LITTLE_ENDIAN
155 select SYS_SUPPORTS_HIGHMEM
156 select SYS_HAS_EARLY_PRINTK
157 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle23dd6d32007-08-24 16:49:23 +0100158 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900159 select CPU_HAS_WB
160 help
161 Lemote Fulong mini-PC board based on the Chinese Loongson-2E CPU and
162 an FPGA northbridge
163
Linus Torvalds1da177e2005-04-16 15:20:36 -0700164config MIPS_ATLAS
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200165 bool "MIPS Atlas board"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700166 select BOOT_ELF32
167 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000168 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100169 select IRQ_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700170 select HW_HAS_PCI
Ralf Baechle5e83d432005-10-29 19:32:41 +0100171 select MIPS_BOARDS_GEN
172 select MIPS_BONITO64
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900173 select PCI_GT64XXX_PCI0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100174 select MIPS_MSC
Maciej W. Rozyckif4b7cdb2005-02-12 04:31:49 +0000175 select RM7000_CPU_SCACHE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700176 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100177 select SYS_HAS_CPU_MIPS32_R1
178 select SYS_HAS_CPU_MIPS32_R2
179 select SYS_HAS_CPU_MIPS64_R1
180 select SYS_HAS_CPU_NEVADA
181 select SYS_HAS_CPU_RM7000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700182 select SYS_SUPPORTS_32BIT_KERNEL
183 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100184 select SYS_SUPPORTS_BIG_ENDIAN
185 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlef41ae0b2006-06-05 17:24:46 +0100186 select SYS_SUPPORTS_MULTITHREADING if EXPERIMENTAL
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100187 select SYS_SUPPORTS_SMARTMIPS
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100188 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700189 help
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000190 This enables support for the MIPS Technologies Atlas evaluation
Linus Torvalds1da177e2005-04-16 15:20:36 -0700191 board.
192
193config MIPS_MALTA
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200194 bool "MIPS Malta board"
Ralf Baechle61ed2422005-09-15 08:52:34 +0000195 select ARCH_MAY_HAVE_PC_FDC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700196 select BOOT_ELF32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700197 select DMA_NONCOHERENT
198 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000199 select IRQ_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700200 select HW_HAS_PCI
201 select I8259
Ralf Baechle5e83d432005-10-29 19:32:41 +0100202 select MIPS_BOARDS_GEN
203 select MIPS_BONITO64
Chris Dearman9318c512006-06-20 17:15:20 +0100204 select MIPS_CPU_SCACHE
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900205 select PCI_GT64XXX_PCI0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100206 select MIPS_MSC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700207 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100208 select SYS_HAS_CPU_MIPS32_R1
209 select SYS_HAS_CPU_MIPS32_R2
210 select SYS_HAS_CPU_MIPS64_R1
211 select SYS_HAS_CPU_NEVADA
212 select SYS_HAS_CPU_RM7000
Ralf Baechle36a88532007-03-01 11:56:43 +0000213 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700214 select SYS_SUPPORTS_32BIT_KERNEL
215 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100216 select SYS_SUPPORTS_BIG_ENDIAN
217 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlef41ae0b2006-06-05 17:24:46 +0100218 select SYS_SUPPORTS_MULTITHREADING
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100219 select SYS_SUPPORTS_SMARTMIPS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700220 help
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000221 This enables support for the MIPS Technologies Malta evaluation
Linus Torvalds1da177e2005-04-16 15:20:36 -0700222 board.
223
224config MIPS_SEAD
Ralf Baechled98cc842007-08-06 10:02:07 +0100225 bool "MIPS SEAD board"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700226 select IRQ_CPU
227 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000228 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100229 select MIPS_BOARDS_GEN
Ralf Baechle7cf80532005-10-20 22:33:09 +0100230 select SYS_HAS_CPU_MIPS32_R1
231 select SYS_HAS_CPU_MIPS32_R2
232 select SYS_HAS_CPU_MIPS64_R1
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700233 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100234 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
235 select SYS_SUPPORTS_BIG_ENDIAN
236 select SYS_SUPPORTS_LITTLE_ENDIAN
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100237 select SYS_SUPPORTS_SMARTMIPS
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000238 help
239 This enables support for the MIPS Technologies SEAD evaluation
240 board.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700241
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100242config MIPS_SIM
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200243 bool 'MIPS simulator (MIPSsim)'
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100244 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000245 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100246 select IRQ_CPU
Marc St-Jean9267a302007-06-14 15:55:31 -0600247 select BOOT_RAW
Ralf Baechle7cf80532005-10-20 22:33:09 +0100248 select SYS_HAS_CPU_MIPS32_R1
249 select SYS_HAS_CPU_MIPS32_R2
Ralf Baechle36a88532007-03-01 11:56:43 +0000250 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100251 select SYS_SUPPORTS_32BIT_KERNEL
252 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlef6e23732007-07-10 17:32:56 +0100253 select SYS_SUPPORTS_MULTITHREADING
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100254 select SYS_SUPPORTS_LITTLE_ENDIAN
255 help
256 This option enables support for MIPS Technologies MIPSsim software
257 emulator.
258
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900259config MARKEINS
260 bool "NEC EMMA2RH Mark-eins"
261 select DMA_NONCOHERENT
262 select HW_HAS_PCI
263 select IRQ_CPU
264 select SWAP_IO_SPACE
265 select SYS_SUPPORTS_32BIT_KERNEL
266 select SYS_SUPPORTS_BIG_ENDIAN
267 select SYS_SUPPORTS_LITTLE_ENDIAN
268 select SYS_HAS_CPU_R5000
269 help
270 This enables support for the R5432-based NEC Mark-eins
271 boards with R5500 CPU.
272
Ralf Baechle5e83d432005-10-29 19:32:41 +0100273config MACH_VR41XX
Yoichi Yuasa74142d62007-04-26 19:45:09 +0900274 bool "NEC VR4100 series based machines"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100275 select SYS_HAS_CPU_VR41XX
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900276 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100277
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900278config PNX8550_JBS
279 bool "Philips PNX8550 based JBS board"
280 select PNX8550
281 select SYS_SUPPORTS_LITTLE_ENDIAN
282
283config PNX8550_STB810
284 bool "Philips PNX8550 based STB810 board"
285 select PNX8550
286 select SYS_SUPPORTS_LITTLE_ENDIAN
287
Marc St-Jean9267a302007-06-14 15:55:31 -0600288config PMC_MSP
289 bool "PMC-Sierra MSP chipsets"
290 depends on EXPERIMENTAL
291 select DMA_NONCOHERENT
292 select SWAP_IO_SPACE
293 select NO_EXCEPT_FILL
294 select BOOT_RAW
295 select SYS_HAS_CPU_MIPS32_R1
296 select SYS_HAS_CPU_MIPS32_R2
297 select SYS_SUPPORTS_32BIT_KERNEL
298 select SYS_SUPPORTS_BIG_ENDIAN
299 select SYS_SUPPORTS_KGDB
300 select IRQ_CPU
301 select SERIAL_8250
302 select SERIAL_8250_CONSOLE
303 help
304 This adds support for the PMC-Sierra family of Multi-Service
305 Processor System-On-A-Chips. These parts include a number
306 of integrated peripherals, interfaces and DSPs in addition to
307 a variety of MIPS cores.
308
Ralf Baechle5e83d432005-10-29 19:32:41 +0100309config PMC_YOSEMITE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200310 bool "PMC-Sierra Yosemite eval board"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100311 select DMA_COHERENT
312 select HW_HAS_PCI
313 select IRQ_CPU
314 select IRQ_CPU_RM7K
315 select IRQ_CPU_RM9K
316 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100317 select SYS_HAS_CPU_RM9000
Ralf Baechle36a88532007-03-01 11:56:43 +0000318 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100319 select SYS_SUPPORTS_32BIT_KERNEL
320 select SYS_SUPPORTS_64BIT_KERNEL
321 select SYS_SUPPORTS_BIG_ENDIAN
322 select SYS_SUPPORTS_HIGHMEM
Ralf Baechlecc801072007-02-17 02:58:39 +0000323 select SYS_SUPPORTS_KGDB
Ralf Baechlee73ea272006-06-04 11:51:46 +0100324 select SYS_SUPPORTS_SMP
Ralf Baechle5e83d432005-10-29 19:32:41 +0100325 help
326 Yosemite is an evaluation board for the RM9000x2 processor
327 manufactured by PMC-Sierra.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700328
Ralf Baechle07119622005-09-03 15:56:11 -0700329config QEMU
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200330 bool "Qemu"
Ralf Baechle07119622005-09-03 15:56:11 -0700331 select DMA_COHERENT
332 select GENERIC_ISA_DMA
333 select HAVE_STD_PC_SERIAL_PORT
334 select I8259
335 select ISA
Ralf Baechlede61b542007-07-12 17:41:23 +0100336 select PCSPEAKER
Ralf Baechle07119622005-09-03 15:56:11 -0700337 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100338 select SYS_HAS_CPU_MIPS32_R1
Ralf Baechle07119622005-09-03 15:56:11 -0700339 select SYS_SUPPORTS_32BIT_KERNEL
340 select SYS_SUPPORTS_BIG_ENDIAN
Aurelien Jarnoc8cc9612006-09-27 23:07:25 +0200341 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemotob1c6cd42006-07-03 00:09:47 +0900342 select ARCH_SPARSEMEM_ENABLE
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900343 select GENERIC_HARDIRQS_NO__DO_IRQ
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +0900344 select NR_CPUS_DEFAULT_1
345 select SYS_SUPPORTS_SMP
Ralf Baechle07119622005-09-03 15:56:11 -0700346 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100347 Qemu is a software emulator which among other architectures also
348 can simulate a MIPS32 4Kc system. This patch adds support for the
349 system architecture that currently is being simulated by Qemu. It
350 will eventually be removed again when Qemu has the capability to
351 simulate actual MIPS hardware platforms. More information on Qemu
352 can be found at http://www.linux-mips.org/wiki/Qemu.
Ralf Baechle07119622005-09-03 15:56:11 -0700353
Linus Torvalds1da177e2005-04-16 15:20:36 -0700354config SGI_IP22
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200355 bool "SGI IP22 (Indy/Indigo2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700356 select ARC
357 select ARC32
358 select BOOT_ELF32
359 select DMA_NONCOHERENT
Ralf Baechle5e83d432005-10-29 19:32:41 +0100360 select HW_HAS_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -0700361 select IP22_CPU_SCACHE
362 select IRQ_CPU
Ralf Baechleaa414df2006-11-30 01:14:51 +0000363 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700364 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100365 select SYS_HAS_CPU_R4X00
366 select SYS_HAS_CPU_R5000
Ralf Baechle36a88532007-03-01 11:56:43 +0000367 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700368 select SYS_SUPPORTS_32BIT_KERNEL
369 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100370 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700371 help
372 This are the SGI Indy, Challenge S and Indigo2, as well as certain
373 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
374 that runs on these, say Y here.
375
376config SGI_IP27
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200377 bool "SGI IP27 (Origin200/2000)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700378 select ARC
379 select ARC64
Ralf Baechle5e83d432005-10-29 19:32:41 +0100380 select BOOT_ELF64
Linus Torvalds1da177e2005-04-16 15:20:36 -0700381 select DMA_IP27
Ralf Baechle36a88532007-03-01 11:56:43 +0000382 select SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700383 select HW_HAS_PCI
Ralf Baechle130e2fb2007-02-06 16:53:15 +0000384 select NR_CPUS_DEFAULT_64
Ralf Baechle7cf80532005-10-20 22:33:09 +0100385 select SYS_HAS_CPU_R10000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700386 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100387 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +0000388 select SYS_SUPPORTS_KGDB
Ralf Baechled8cb4e12006-06-11 23:03:08 +0100389 select SYS_SUPPORTS_NUMA
Ralf Baechle1a5c5de2006-11-02 17:23:33 +0000390 select SYS_SUPPORTS_SMP
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100391 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700392 help
393 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
394 workstations. To compile a Linux kernel that runs on these, say Y
395 here.
396
Linus Torvalds1da177e2005-04-16 15:20:36 -0700397config SGI_IP32
Ralf Baechlecfd2afc2007-07-10 17:33:00 +0100398 bool "SGI IP32 (O2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700399 select ARC
400 select ARC32
401 select BOOT_ELF32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700402 select DMA_NONCOHERENT
403 select HW_HAS_PCI
404 select R5000_CPU_SCACHE
405 select RM7000_CPU_SCACHE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100406 select SYS_HAS_CPU_R5000
407 select SYS_HAS_CPU_R10000 if BROKEN
408 select SYS_HAS_CPU_RM7000
Ralf Baechledd2f18f2006-01-19 14:55:42 +0000409 select SYS_HAS_CPU_NEVADA
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700410 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100411 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700412 help
413 If you want this kernel to run on SGI O2 workstation, say Y here.
414
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900415config SIBYTE_CRHINE
416 bool "Sibyte BCM91120C-CRhine"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100417 depends on EXPERIMENTAL
418 select BOOT_ELF32
419 select DMA_COHERENT
420 select SIBYTE_BCM1120
421 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100422 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100423 select SYS_SUPPORTS_BIG_ENDIAN
424 select SYS_SUPPORTS_LITTLE_ENDIAN
425
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900426config SIBYTE_CARMEL
427 bool "Sibyte BCM91120x-Carmel"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100428 depends on EXPERIMENTAL
429 select BOOT_ELF32
430 select DMA_COHERENT
431 select SIBYTE_BCM1120
432 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100433 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100434 select SYS_SUPPORTS_BIG_ENDIAN
435 select SYS_SUPPORTS_LITTLE_ENDIAN
436
437config SIBYTE_CRHONE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200438 bool "Sibyte BCM91125C-CRhone"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100439 depends on EXPERIMENTAL
440 select BOOT_ELF32
441 select DMA_COHERENT
442 select SIBYTE_BCM1125
443 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100444 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100445 select SYS_SUPPORTS_BIG_ENDIAN
446 select SYS_SUPPORTS_HIGHMEM
447 select SYS_SUPPORTS_LITTLE_ENDIAN
448
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900449config SIBYTE_RHONE
450 bool "Sibyte BCM91125E-Rhone"
451 depends on EXPERIMENTAL
452 select BOOT_ELF32
453 select DMA_COHERENT
454 select SIBYTE_BCM1125H
455 select SWAP_IO_SPACE
456 select SYS_HAS_CPU_SB1
457 select SYS_SUPPORTS_BIG_ENDIAN
458 select SYS_SUPPORTS_LITTLE_ENDIAN
459
460config SIBYTE_SWARM
461 bool "Sibyte BCM91250A-SWARM"
462 select BOOT_ELF32
463 select DMA_COHERENT
464 select NR_CPUS_DEFAULT_2
465 select SIBYTE_SB1250
466 select SWAP_IO_SPACE
467 select SYS_HAS_CPU_SB1
468 select SYS_SUPPORTS_BIG_ENDIAN
469 select SYS_SUPPORTS_HIGHMEM
470 select SYS_SUPPORTS_KGDB
471 select SYS_SUPPORTS_LITTLE_ENDIAN
472
473config SIBYTE_LITTLESUR
474 bool "Sibyte BCM91250C2-LittleSur"
475 depends on EXPERIMENTAL
476 select BOOT_ELF32
477 select DMA_COHERENT
478 select NR_CPUS_DEFAULT_2
479 select SIBYTE_SB1250
480 select SWAP_IO_SPACE
481 select SYS_HAS_CPU_SB1
482 select SYS_SUPPORTS_BIG_ENDIAN
483 select SYS_SUPPORTS_HIGHMEM
484 select SYS_SUPPORTS_LITTLE_ENDIAN
485
486config SIBYTE_SENTOSA
487 bool "Sibyte BCM91250E-Sentosa"
488 depends on EXPERIMENTAL
489 select BOOT_ELF32
490 select DMA_COHERENT
491 select NR_CPUS_DEFAULT_2
492 select SIBYTE_SB1250
493 select SWAP_IO_SPACE
494 select SYS_HAS_CPU_SB1
495 select SYS_SUPPORTS_BIG_ENDIAN
496 select SYS_SUPPORTS_LITTLE_ENDIAN
497
498config SIBYTE_PTSWARM
499 bool "Sibyte BCM91250PT-PTSWARM"
500 depends on EXPERIMENTAL
501 select BOOT_ELF32
502 select DMA_COHERENT
503 select NR_CPUS_DEFAULT_2
504 select SIBYTE_SB1250
505 select SWAP_IO_SPACE
506 select SYS_HAS_CPU_SB1
507 select SYS_SUPPORTS_BIG_ENDIAN
508 select SYS_SUPPORTS_HIGHMEM
509 select SYS_SUPPORTS_LITTLE_ENDIAN
510
511config SIBYTE_BIGSUR
512 bool "Sibyte BCM91480B-BigSur"
513 select BOOT_ELF32
514 select DMA_COHERENT
515 select NR_CPUS_DEFAULT_4
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900516 select SIBYTE_BCM1x80
517 select SWAP_IO_SPACE
518 select SYS_HAS_CPU_SB1
519 select SYS_SUPPORTS_BIG_ENDIAN
520 select SYS_SUPPORTS_LITTLE_ENDIAN
521
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100522config SNI_RM
523 bool "SNI RM200/300/400"
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200524 select ARC if CPU_LITTLE_ENDIAN
525 select ARC32 if CPU_LITTLE_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100526 select ARCH_MAY_HAVE_PC_FDC
527 select BOOT_ELF32
528 select DMA_NONCOHERENT
529 select GENERIC_ISA_DMA
Ralf Baechle5e83d432005-10-29 19:32:41 +0100530 select HW_HAS_EISA
531 select HW_HAS_PCI
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100532 select IRQ_CPU
Ralf Baechle5e83d432005-10-29 19:32:41 +0100533 select I8259
534 select ISA
Ralf Baechlede61b542007-07-12 17:41:23 +0100535 select PCSPEAKER
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200536 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
Ralf Baechle7cf80532005-10-20 22:33:09 +0100537 select SYS_HAS_CPU_R4X00
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200538 select SYS_HAS_CPU_R5000
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100539 select SYS_HAS_CPU_R10000
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200540 select R5000_CPU_SCACHE
Ralf Baechle36a88532007-03-01 11:56:43 +0000541 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700542 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100543 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200544 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100545 select SYS_SUPPORTS_HIGHMEM
546 select SYS_SUPPORTS_LITTLE_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700547 help
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100548 The SNI RM200/300/400 are MIPS-based machines manufactured by
549 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
Ralf Baechle5e83d432005-10-29 19:32:41 +0100550 Technology and now in turn merged with Fujitsu. Say Y here to
551 support this machine type.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700552
Ralf Baechle5e83d432005-10-29 19:32:41 +0100553config TOSHIBA_JMR3927
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200554 bool "Toshiba JMR-TX3927 board"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100555 select DMA_NONCOHERENT
556 select HW_HAS_PCI
557 select MIPS_TX3927
Atsushi Nemotoc87abd72007-08-02 23:36:02 +0900558 select IRQ_TXX9
Ralf Baechle5e83d432005-10-29 19:32:41 +0100559 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100560 select SYS_HAS_CPU_TX39XX
Ralf Baechle5e83d432005-10-29 19:32:41 +0100561 select SYS_SUPPORTS_32BIT_KERNEL
Sergei Shtylyov6a2603a2007-02-07 20:39:05 +0300562 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100563 select SYS_SUPPORTS_BIG_ENDIAN
Atsushi Nemoto21274352007-03-15 00:58:28 +0900564 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100565
566config TOSHIBA_RBTX4927
Yoichi Yuasa08a91282007-07-27 15:20:24 +0900567 bool "Toshiba RBTX49[23]7 board"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100568 select DMA_NONCOHERENT
569 select HAS_TXX9_SERIAL
570 select HW_HAS_PCI
Atsushi Nemotoc87abd72007-08-02 23:36:02 +0900571 select IRQ_CPU
572 select IRQ_TXX9
573 select I8259 if TOSHIBA_FPCIB0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100574 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100575 select SYS_HAS_CPU_TX49XX
Ralf Baechle5e83d432005-10-29 19:32:41 +0100576 select SYS_SUPPORTS_32BIT_KERNEL
577 select SYS_SUPPORTS_64BIT_KERNEL
Sergei Shtylyov6a2603a2007-02-07 20:39:05 +0300578 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100579 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +0000580 select SYS_SUPPORTS_KGDB
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900581 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100582 help
583 This Toshiba board is based on the TX4927 processor. Say Y here to
584 support this machine type
Linus Torvalds1da177e2005-04-16 15:20:36 -0700585
Ralf Baechle23fbee92005-07-25 22:45:45 +0000586config TOSHIBA_RBTX4938
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200587 bool "Toshiba RBTX4938 board"
Ralf Baechle23fbee92005-07-25 22:45:45 +0000588 select DMA_NONCOHERENT
Ralf Baechle23fbee92005-07-25 22:45:45 +0000589 select HAS_TXX9_SERIAL
590 select HW_HAS_PCI
Atsushi Nemotoc87abd72007-08-02 23:36:02 +0900591 select IRQ_CPU
592 select IRQ_TXX9
Ralf Baechle23fbee92005-07-25 22:45:45 +0000593 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100594 select SYS_HAS_CPU_TX49XX
Ralf Baechle23fbee92005-07-25 22:45:45 +0000595 select SYS_SUPPORTS_32BIT_KERNEL
596 select SYS_SUPPORTS_LITTLE_ENDIAN
597 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +0000598 select SYS_SUPPORTS_KGDB
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900599 select GENERIC_HARDIRQS_NO__DO_IRQ
Atsushi Nemoto3896b052007-06-22 23:21:55 +0900600 select GENERIC_GPIO
Ralf Baechle23fbee92005-07-25 22:45:45 +0000601 help
602 This Toshiba board is based on the TX4938 processor. Say Y here to
603 support this machine type
604
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900605config WR_PPMC
606 bool "Wind River PPMC board"
607 select IRQ_CPU
608 select BOOT_ELF32
609 select DMA_NONCOHERENT
610 select HW_HAS_PCI
611 select PCI_GT64XXX_PCI0
612 select SWAP_IO_SPACE
613 select SYS_HAS_CPU_MIPS32_R1
614 select SYS_HAS_CPU_MIPS32_R2
615 select SYS_HAS_CPU_MIPS64_R1
616 select SYS_HAS_CPU_NEVADA
617 select SYS_HAS_CPU_RM7000
618 select SYS_SUPPORTS_32BIT_KERNEL
619 select SYS_SUPPORTS_64BIT_KERNEL
620 select SYS_SUPPORTS_BIG_ENDIAN
621 select SYS_SUPPORTS_LITTLE_ENDIAN
622 help
623 This enables support for the Wind River MIPS32 4KC PPMC evaluation
624 board, which is based on GT64120 bridge chip.
625
Linus Torvalds1da177e2005-04-16 15:20:36 -0700626endchoice
627
Yoichi Yuasac3543e22007-05-11 20:44:30 +0900628source "arch/mips/au1000/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100629source "arch/mips/jazz/Kconfig"
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200630source "arch/mips/lasat/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100631source "arch/mips/pmc-sierra/Kconfig"
Ralf Baechle29c48692005-02-07 01:27:14 +0000632source "arch/mips/sgi-ip27/Kconfig"
Ralf Baechle38b18f72005-02-03 14:28:23 +0000633source "arch/mips/sibyte/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100634source "arch/mips/tx4927/Kconfig"
Ralf Baechle23fbee92005-07-25 22:45:45 +0000635source "arch/mips/tx4938/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100636source "arch/mips/vr41xx/Kconfig"
Ralf Baechle38b18f72005-02-03 14:28:23 +0000637
Ralf Baechle5e83d432005-10-29 19:32:41 +0100638endmenu
639
Linus Torvalds1da177e2005-04-16 15:20:36 -0700640config RWSEM_GENERIC_SPINLOCK
641 bool
642 default y
643
644config RWSEM_XCHGADD_ALGORITHM
645 bool
646
David Howellsf0d1b0b2006-12-08 02:37:49 -0800647config ARCH_HAS_ILOG2_U32
648 bool
649 default n
650
651config ARCH_HAS_ILOG2_U64
652 bool
653 default n
654
Akinobu Mita3c9ee7e2006-03-26 01:39:30 -0800655config GENERIC_FIND_NEXT_BIT
656 bool
657 default y
658
659config GENERIC_HWEIGHT
660 bool
661 default y
662
Linus Torvalds1da177e2005-04-16 15:20:36 -0700663config GENERIC_CALIBRATE_DELAY
664 bool
665 default y
666
Ralf Baechle8db02012006-10-02 16:54:48 +0100667config GENERIC_TIME
668 bool
669 default y
670
Atsushi Nemoto1cc89032006-04-04 13:11:45 +0900671config SCHED_NO_NO_OMIT_FRAME_POINTER
672 bool
673 default y
674
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100675config GENERIC_HARDIRQS_NO__DO_IRQ
676 bool
677 default n
678
Linus Torvalds1da177e2005-04-16 15:20:36 -0700679#
680# Select some configuration options automatically based on user selections.
681#
682config ARC
683 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700684
Ralf Baechle61ed2422005-09-15 08:52:34 +0000685config ARCH_MAY_HAVE_PC_FDC
686 bool
687
Marc St-Jean9267a302007-06-14 15:55:31 -0600688config BOOT_RAW
689 bool
690
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700691config DMA_COHERENT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700692 bool
693
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700694config DMA_IP27
Linus Torvalds1da177e2005-04-16 15:20:36 -0700695 bool
696
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700697config DMA_IP32
698 bool
699 select DMA_NEED_PCI_MAP_STATE
700
701config DMA_NONCOHERENT
702 bool
703 select DMA_NEED_PCI_MAP_STATE
704
705config DMA_NEED_PCI_MAP_STATE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700706 bool
707
708config EARLY_PRINTK
Ralf Baechle36a88532007-03-01 11:56:43 +0000709 bool "Early printk" if EMBEDDED && DEBUG_KERNEL
710 depends on SYS_HAS_EARLY_PRINTK
711 default y
712 help
713 This option enables special console drivers which allow the kernel
714 to print messages very early in the bootup process.
715
716 This is useful for kernel debugging when your machine crashes very
Robert P. J. Day490dcc42007-05-20 12:11:07 -0400717 early before the console code is initialized. For normal operation,
718 it is not recommended because it looks ugly on some machines and
719 doesn't cooperate with an X server. You should normally say N here,
Ralf Baechle36a88532007-03-01 11:56:43 +0000720 unless you want to debug such a crash.
721
722config SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700723 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700724
Ralf Baechledbb74542007-08-07 14:52:17 +0100725config HOTPLUG_CPU
726 bool
727 default n
728
Linus Torvalds1da177e2005-04-16 15:20:36 -0700729config I8259
730 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700731
Linus Torvalds1da177e2005-04-16 15:20:36 -0700732config MIPS_BONITO64
733 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700734
735config MIPS_MSC
736 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700737
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200738config MIPS_NILE4
739 bool
740
Linus Torvalds1da177e2005-04-16 15:20:36 -0700741config MIPS_DISABLE_OBSOLETE_IDE
742 bool
743
Maciej W. Rozyckid388d682007-05-29 15:08:07 +0100744config NO_IOPORT
745 def_bool n
746
Ralf Baechle8313da32007-08-24 16:48:30 +0100747config GENERIC_ISA_DMA
748 bool
749 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
750
Ralf Baechleaa414df2006-11-30 01:14:51 +0000751config GENERIC_ISA_DMA_SUPPORT_BROKEN
752 bool
Ralf Baechle8313da32007-08-24 16:48:30 +0100753 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000754
Yoichi Yuasa09663332007-05-22 00:05:58 +0900755config GENERIC_GPIO
756 bool
757
Ralf Baechle5e83d432005-10-29 19:32:41 +0100758#
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100759# Endianess selection. Sufficiently obscure so many users don't know what to
Ralf Baechle5e83d432005-10-29 19:32:41 +0100760# answer,so we try hard to limit the available choices. Also the use of a
761# choice statement should be more obvious to the user.
762#
763choice
764 prompt "Endianess selection"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700765 help
766 Some MIPS machines can be configured for either little or big endian
Ralf Baechle5e83d432005-10-29 19:32:41 +0100767 byte order. These modes require different kernels and a different
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100768 Linux distribution. In general there is one preferred byteorder for a
Ralf Baechle5e83d432005-10-29 19:32:41 +0100769 particular system but some systems are just as commonly used in the
David Sterba3dde6ad2007-05-09 07:12:20 +0200770 one or the other endianness.
Ralf Baechle5e83d432005-10-29 19:32:41 +0100771
772config CPU_BIG_ENDIAN
773 bool "Big endian"
774 depends on SYS_SUPPORTS_BIG_ENDIAN
775
776config CPU_LITTLE_ENDIAN
777 bool "Little endian"
778 depends on SYS_SUPPORTS_LITTLE_ENDIAN
779 help
780
781endchoice
782
Ralf Baechle21162452007-02-09 17:08:58 +0000783config SYS_SUPPORTS_APM_EMULATION
784 bool
785
Ralf Baechle5e83d432005-10-29 19:32:41 +0100786config SYS_SUPPORTS_BIG_ENDIAN
787 bool
788
789config SYS_SUPPORTS_LITTLE_ENDIAN
790 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700791
792config IRQ_CPU
793 bool
794
795config IRQ_CPU_RM7K
796 bool
797
Ralf Baechle5e83d432005-10-29 19:32:41 +0100798config IRQ_CPU_RM9K
799 bool
800
Marc St-Jean9267a302007-06-14 15:55:31 -0600801config IRQ_MSP_SLP
802 bool
803
804config IRQ_MSP_CIC
805 bool
806
Atsushi Nemoto8420fd02007-08-02 23:35:53 +0900807config IRQ_TXX9
808 bool
809
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +0900810config IRQ_GT641XX
811 bool
812
Linus Torvalds1da177e2005-04-16 15:20:36 -0700813config MIPS_BOARDS_GEN
814 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700815
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900816config PCI_GT64XXX_PCI0
Linus Torvalds1da177e2005-04-16 15:20:36 -0700817 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700818
Marc St-Jean9267a302007-06-14 15:55:31 -0600819config NO_EXCEPT_FILL
820 bool
821
Linus Torvalds1da177e2005-04-16 15:20:36 -0700822config MIPS_TX3927
823 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700824 select HAS_TXX9_SERIAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700825
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200826config MIPS_RM9122
827 bool
828 select SERIAL_RM9000
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200829
Pete Popovbdf21b12005-07-14 17:47:57 +0000830config PNX8550
831 bool
832 select SOC_PNX8550
833
834config SOC_PNX8550
835 bool
Pete Popovbdf21b12005-07-14 17:47:57 +0000836 select DMA_NONCOHERENT
837 select HW_HAS_PCI
Ralf Baechleb8c2a772005-10-31 13:08:37 +0000838 select SYS_HAS_CPU_MIPS32_R1
Ralf Baechle36a88532007-03-01 11:56:43 +0000839 select SYS_HAS_EARLY_PRINTK
Ralf Baechle7cf80532005-10-20 22:33:09 +0100840 select SYS_SUPPORTS_32BIT_KERNEL
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100841 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechlecc801072007-02-17 02:58:39 +0000842 select SYS_SUPPORTS_KGDB
Florian Fainelli4ead1682007-05-22 21:44:42 +0200843 select GENERIC_GPIO
Pete Popovbdf21b12005-07-14 17:47:57 +0000844
Linus Torvalds1da177e2005-04-16 15:20:36 -0700845config SWAP_IO_SPACE
846 bool
847
dmitry pervushin355c4712006-05-21 14:53:06 +0400848config EMMA2RH
849 bool
850 depends on MARKEINS
851 default y
852
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200853config SERIAL_RM9000
854 bool
855
Ralf Baechle5e83d432005-10-29 19:32:41 +0100856config ARC32
857 bool
858
Linus Torvalds1da177e2005-04-16 15:20:36 -0700859config BOOT_ELF32
860 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700861
862config MIPS_L1_CACHE_SHIFT
863 int
Thomas Bogendoerfer06cf5582007-06-20 23:36:47 +0200864 default "4" if MACH_DECSTATION
865 default "7" if SGI_IP27 || SNI_RM
Marc St-Jean9267a302007-06-14 15:55:31 -0600866 default "4" if PMC_MSP4200_EVAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700867 default "5"
868
Linus Torvalds1da177e2005-04-16 15:20:36 -0700869config HAVE_STD_PC_SERIAL_PORT
870 bool
871
Linus Torvalds1da177e2005-04-16 15:20:36 -0700872config ARC_CONSOLE
873 bool "ARC console support"
Ralf Baechle36a88532007-03-01 11:56:43 +0000874 depends on SGI_IP22 || (SNI_RM && CPU_LITTLE_ENDIAN)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700875
876config ARC_MEMORY
877 bool
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100878 depends on MACH_JAZZ || SNI_RM || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700879 default y
880
881config ARC_PROMLIB
882 bool
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100883 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700884 default y
885
886config ARC64
887 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700888
889config BOOT_ELF64
890 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700891
Linus Torvalds1da177e2005-04-16 15:20:36 -0700892menu "CPU selection"
893
894choice
895 prompt "CPU type"
896 default CPU_R4X00
897
Fuxin Zhang2a21c732007-06-06 14:52:43 +0800898config CPU_LOONGSON2
899 bool "Loongson 2"
900 depends on SYS_HAS_CPU_LOONGSON2
901 select CPU_SUPPORTS_32BIT_KERNEL
902 select CPU_SUPPORTS_64BIT_KERNEL
903 select CPU_SUPPORTS_HIGHMEM
904 help
905 The Loongson 2E processor implements the MIPS III instruction set
906 with many extensions.
907
Ralf Baechle6e760c82005-07-06 12:08:11 +0000908config CPU_MIPS32_R1
909 bool "MIPS32 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100910 depends on SYS_HAS_CPU_MIPS32_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100911 select CPU_HAS_LLSC
Ralf Baechle6e760c82005-07-06 12:08:11 +0000912 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +0000913 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000914 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +0000915 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100916 Choose this option to build a kernel for release 1 or later of the
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000917 MIPS32 architecture. Most modern embedded systems with a 32-bit
918 MIPS processor are based on a MIPS32 processor. If you know the
919 specific type of processor in your system, choose those that one
920 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
921 Release 2 of the MIPS32 architecture is available since several
922 years so chances are you even have a MIPS32 Release 2 processor
923 in which case you should choose CPU_MIPS32_R2 instead for better
924 performance.
925
926config CPU_MIPS32_R2
927 bool "MIPS32 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100928 depends on SYS_HAS_CPU_MIPS32_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100929 select CPU_HAS_LLSC
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000930 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +0000931 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000932 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000933 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100934 Choose this option to build a kernel for release 2 or later of the
Ralf Baechle6e760c82005-07-06 12:08:11 +0000935 MIPS32 architecture. Most modern embedded systems with a 32-bit
936 MIPS processor are based on a MIPS32 processor. If you know the
937 specific type of processor in your system, choose those that one
938 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700939
Ralf Baechle6e760c82005-07-06 12:08:11 +0000940config CPU_MIPS64_R1
941 bool "MIPS64 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100942 depends on SYS_HAS_CPU_MIPS64_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100943 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +0000944 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700945 select CPU_SUPPORTS_32BIT_KERNEL
946 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000947 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +0000948 help
949 Choose this option to build a kernel for release 1 or later of the
950 MIPS64 architecture. Many modern embedded systems with a 64-bit
951 MIPS processor are based on a MIPS64 processor. If you know the
952 specific type of processor in your system, choose those that one
953 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000954 Release 2 of the MIPS64 architecture is available since several
955 years so chances are you even have a MIPS64 Release 2 processor
956 in which case you should choose CPU_MIPS64_R2 instead for better
957 performance.
958
959config CPU_MIPS64_R2
960 bool "MIPS64 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100961 depends on SYS_HAS_CPU_MIPS64_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100962 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +0000963 select CPU_HAS_PREFETCH
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000964 select CPU_SUPPORTS_32BIT_KERNEL
965 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000966 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000967 help
968 Choose this option to build a kernel for release 2 or later of the
969 MIPS64 architecture. Many modern embedded systems with a 64-bit
970 MIPS processor are based on a MIPS64 processor. If you know the
971 specific type of processor in your system, choose those that one
972 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700973
974config CPU_R3000
975 bool "R3000"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100976 depends on SYS_HAS_CPU_R3000
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100977 select CPU_HAS_WB
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700978 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +0000979 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -0700980 help
981 Please make sure to pick the right CPU type. Linux/MIPS is not
982 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
983 *not* work on R4000 machines and vice versa. However, since most
984 of the supported machines have an R4000 (or similar) CPU, R4x00
985 might be a safe bet. If the resulting kernel does not work,
986 try to recompile with R3000.
987
988config CPU_TX39XX
989 bool "R39XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100990 depends on SYS_HAS_CPU_TX39XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700991 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700992
993config CPU_VR41XX
994 bool "R41xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100995 depends on SYS_HAS_CPU_VR41XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700996 select CPU_SUPPORTS_32BIT_KERNEL
997 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700998 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100999 The options selects support for the NEC VR4100 series of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001000 Only choose this option if you have one of these processors as a
1001 kernel built with this option will not run on any other type of
1002 processor or vice versa.
1003
1004config CPU_R4300
1005 bool "R4300"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001006 depends on SYS_HAS_CPU_R4300
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001007 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001008 select CPU_SUPPORTS_32BIT_KERNEL
1009 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001010 help
1011 MIPS Technologies R4300-series processors.
1012
1013config CPU_R4X00
1014 bool "R4x00"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001015 depends on SYS_HAS_CPU_R4X00
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 R4000-series processors other than 4300, including
1021 the R4000, R4400, R4600, and 4700.
1022
1023config CPU_TX49XX
1024 bool "R49XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001025 depends on SYS_HAS_CPU_TX49XX
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001026 select CPU_HAS_LLSC
Atsushi Nemotode862b42006-03-17 12:59:22 +09001027 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001028 select CPU_SUPPORTS_32BIT_KERNEL
1029 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001030
1031config CPU_R5000
1032 bool "R5000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001033 depends on SYS_HAS_CPU_R5000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001034 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001035 select CPU_SUPPORTS_32BIT_KERNEL
1036 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001037 help
1038 MIPS Technologies R5000-series processors other than the Nevada.
1039
1040config CPU_R5432
1041 bool "R5432"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001042 depends on SYS_HAS_CPU_R5432
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001043 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001044 select CPU_SUPPORTS_32BIT_KERNEL
1045 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001046
1047config CPU_R6000
1048 bool "R6000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001049 depends on EXPERIMENTAL
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001050 select CPU_HAS_LLSC
Ralf Baechle7cf80532005-10-20 22:33:09 +01001051 depends on SYS_HAS_CPU_R6000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001052 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001053 help
1054 MIPS Technologies R6000 and R6000A series processors. Note these
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001055 processors are extremely rare and the support for them is incomplete.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001056
1057config CPU_NEVADA
1058 bool "RM52xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001059 depends on SYS_HAS_CPU_NEVADA
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001060 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001061 select CPU_SUPPORTS_32BIT_KERNEL
1062 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001063 help
1064 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1065
1066config CPU_R8000
1067 bool "R8000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001068 depends on EXPERIMENTAL
Ralf Baechle7cf80532005-10-20 22:33:09 +01001069 depends on SYS_HAS_CPU_R8000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001070 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001071 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001072 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001073 help
1074 MIPS Technologies R8000 processors. Note these processors are
1075 uncommon and the support for them is incomplete.
1076
1077config CPU_R10000
1078 bool "R10000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001079 depends on SYS_HAS_CPU_R10000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001080 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001081 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001082 select CPU_SUPPORTS_32BIT_KERNEL
1083 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001084 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001085 help
1086 MIPS Technologies R10000-series processors.
1087
1088config CPU_RM7000
1089 bool "RM7000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001090 depends on SYS_HAS_CPU_RM7000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001091 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001092 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001093 select CPU_SUPPORTS_32BIT_KERNEL
1094 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001095 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001096
1097config CPU_RM9000
1098 bool "RM9000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001099 depends on SYS_HAS_CPU_RM9000
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
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001105 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001106
1107config CPU_SB1
1108 bool "SB1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001109 depends on SYS_HAS_CPU_SB1
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001110 select CPU_HAS_LLSC
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
1116endchoice
1117
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001118config SYS_HAS_CPU_LOONGSON2
1119 bool
1120
Ralf Baechle7cf80532005-10-20 22:33:09 +01001121config SYS_HAS_CPU_MIPS32_R1
1122 bool
1123
1124config SYS_HAS_CPU_MIPS32_R2
1125 bool
1126
1127config SYS_HAS_CPU_MIPS64_R1
1128 bool
1129
1130config SYS_HAS_CPU_MIPS64_R2
1131 bool
1132
1133config SYS_HAS_CPU_R3000
1134 bool
1135
1136config SYS_HAS_CPU_TX39XX
1137 bool
1138
1139config SYS_HAS_CPU_VR41XX
1140 bool
1141
1142config SYS_HAS_CPU_R4300
1143 bool
1144
1145config SYS_HAS_CPU_R4X00
1146 bool
1147
1148config SYS_HAS_CPU_TX49XX
1149 bool
1150
1151config SYS_HAS_CPU_R5000
1152 bool
1153
1154config SYS_HAS_CPU_R5432
1155 bool
1156
1157config SYS_HAS_CPU_R6000
1158 bool
1159
1160config SYS_HAS_CPU_NEVADA
1161 bool
1162
1163config SYS_HAS_CPU_R8000
1164 bool
1165
1166config SYS_HAS_CPU_R10000
1167 bool
1168
1169config SYS_HAS_CPU_RM7000
1170 bool
1171
1172config SYS_HAS_CPU_RM9000
1173 bool
1174
1175config SYS_HAS_CPU_SB1
1176 bool
1177
Ralf Baechle17099b12007-07-14 13:24:05 +01001178#
1179# CPU may reorder R->R, R->W, W->R, W->W
1180# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1181#
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001182config WEAK_ORDERING
1183 bool
Ralf Baechle17099b12007-07-14 13:24:05 +01001184
1185#
1186# CPU may reorder reads and writes beyond LL/SC
1187# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1188#
1189config WEAK_REORDERING_BEYOND_LLSC
1190 bool
Ralf Baechle5e83d432005-10-29 19:32:41 +01001191endmenu
1192
1193#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001194# These two indicate any level of the MIPS32 and MIPS64 architecture
Ralf Baechle5e83d432005-10-29 19:32:41 +01001195#
1196config CPU_MIPS32
1197 bool
1198 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1199
1200config CPU_MIPS64
1201 bool
1202 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1203
1204#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001205# These two indicate the revision of the architecture, either Release 1 or Release 2
Ralf Baechle5e83d432005-10-29 19:32:41 +01001206#
1207config CPU_MIPSR1
1208 bool
1209 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1210
1211config CPU_MIPSR2
1212 bool
1213 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1214
1215config SYS_SUPPORTS_32BIT_KERNEL
1216 bool
1217config SYS_SUPPORTS_64BIT_KERNEL
1218 bool
1219config CPU_SUPPORTS_32BIT_KERNEL
1220 bool
1221config CPU_SUPPORTS_64BIT_KERNEL
1222 bool
1223
1224menu "Kernel type"
1225
1226choice
1227
1228 prompt "Kernel code model"
1229 help
1230 You should only select this option if you have a workload that
1231 actually benefits from 64-bit processing or if your machine has
1232 large memory. You will only be presented a single option in this
1233 menu if your system does not support both 32-bit and 64-bit kernels.
1234
1235config 32BIT
1236 bool "32-bit kernel"
1237 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1238 select TRAD_SIGNALS
1239 help
1240 Select this option if you want to build a 32-bit kernel.
1241config 64BIT
1242 bool "64-bit kernel"
1243 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1244 help
1245 Select this option if you want to build a 64-bit kernel.
1246
1247endchoice
1248
Linus Torvalds1da177e2005-04-16 15:20:36 -07001249choice
1250 prompt "Kernel page size"
1251 default PAGE_SIZE_4KB
1252
1253config PAGE_SIZE_4KB
1254 bool "4kB"
1255 help
1256 This option select the standard 4kB Linux page size. On some
1257 R3000-family processors this is the only available page size. Using
1258 4kB page size will minimize memory consumption and is therefore
1259 recommended for low memory systems.
1260
1261config PAGE_SIZE_8KB
1262 bool "8kB"
1263 depends on EXPERIMENTAL && CPU_R8000
1264 help
1265 Using 8kB page size will result in higher performance kernel at
1266 the price of higher memory consumption. This option is available
1267 only on the R8000 processor. Not that at the time of this writing
1268 this option is still high experimental; there are also issues with
1269 compatibility of user applications.
1270
1271config PAGE_SIZE_16KB
1272 bool "16kB"
Ralf Baechle714bfad2006-05-17 14:04:30 +01001273 depends on !CPU_R3000 && !CPU_TX39XX
Linus Torvalds1da177e2005-04-16 15:20:36 -07001274 help
1275 Using 16kB page size will result in higher performance kernel at
1276 the price of higher memory consumption. This option is available on
Ralf Baechle714bfad2006-05-17 14:04:30 +01001277 all non-R3000 family processors. Note that you will need a suitable
1278 Linux distribution to support this.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001279
1280config PAGE_SIZE_64KB
1281 bool "64kB"
1282 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1283 help
1284 Using 64kB page size will result in higher performance kernel at
1285 the price of higher memory consumption. This option is available on
1286 all non-R3000 family processor. Not that at the time of this
Ralf Baechle714bfad2006-05-17 14:04:30 +01001287 writing this option is still high experimental.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001288
1289endchoice
1290
1291config BOARD_SCACHE
1292 bool
1293
1294config IP22_CPU_SCACHE
1295 bool
1296 select BOARD_SCACHE
1297
Chris Dearman9318c512006-06-20 17:15:20 +01001298#
1299# Support for a MIPS32 / MIPS64 style S-caches
1300#
1301config MIPS_CPU_SCACHE
1302 bool
1303 select BOARD_SCACHE
1304
Linus Torvalds1da177e2005-04-16 15:20:36 -07001305config R5000_CPU_SCACHE
1306 bool
1307 select BOARD_SCACHE
1308
1309config RM7000_CPU_SCACHE
1310 bool
1311 select BOARD_SCACHE
1312
1313config SIBYTE_DMA_PAGEOPS
1314 bool "Use DMA to clear/copy pages"
1315 depends on CPU_SB1
1316 help
1317 Instead of using the CPU to zero and copy pages, use a Data Mover
1318 channel. These DMA channels are otherwise unused by the standard
1319 SiByte Linux port. Seems to give a small performance benefit.
1320
1321config CPU_HAS_PREFETCH
Ralf Baechlec8094b52005-08-05 14:28:54 +00001322 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001323
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001324choice
1325 prompt "MIPS MT options"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001326
1327config MIPS_MT_DISABLED
1328 bool "Disable multithreading support."
1329 help
1330 Use this option if your workload can't take advantage of
1331 MIPS hardware multithreading support. On systems that don't have
1332 the option of an MT-enabled processor this option will be the only
1333 option in this menu.
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001334
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001335config MIPS_MT_SMP
1336 bool "Use 1 TC on each available VPE for SMP"
1337 depends on SYS_SUPPORTS_MULTITHREADING
1338 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001339 select CPU_MIPSR2_IRQ_EI
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001340 select CPU_MIPSR2_SRS
1341 select MIPS_MT
Ralf Baechlef510aa32007-03-16 21:58:37 +00001342 select NR_CPUS_DEFAULT_2
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001343 select SMP
1344 select SYS_SUPPORTS_SMP
1345 help
1346 This is a kernel model which is also known a VSMP or lately
1347 has been marketesed into SMVP.
1348
Ralf Baechle41c594a2006-04-05 09:45:45 +01001349config MIPS_MT_SMTC
1350 bool "SMTC: Use all TCs on all VPEs for SMP"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001351 depends on CPU_MIPS32_R2
1352 #depends on CPU_MIPS64_R2 # once there is hardware ...
1353 depends on SYS_SUPPORTS_MULTITHREADING
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001354 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001355 select CPU_MIPSR2_IRQ_EI
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001356 select CPU_MIPSR2_SRS
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001357 select MIPS_MT
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001358 select NR_CPUS_DEFAULT_8
Ralf Baechle41c594a2006-04-05 09:45:45 +01001359 select SMP
Ralf Baechle73b76c72006-08-15 19:36:40 +01001360 select SYS_SUPPORTS_SMP
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001361 help
1362 This is a kernel model which is known a SMTC or lately has been
1363 marketesed into SMVP.
Ralf Baechle41c594a2006-04-05 09:45:45 +01001364
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001365endchoice
1366
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001367config MIPS_MT
1368 bool
1369
1370config SYS_SUPPORTS_MULTITHREADING
1371 bool
1372
Ralf Baechlef088fc82006-04-05 09:45:47 +01001373config MIPS_MT_FPAFF
1374 bool "Dynamic FPU affinity for FP-intensive threads"
Ralf Baechlef088fc82006-04-05 09:45:47 +01001375 default y
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001376 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1377
1378config MIPS_VPE_LOADER
1379 bool "VPE loader support."
1380 depends on SYS_SUPPORTS_MULTITHREADING
1381 select CPU_MIPSR2_IRQ_VI
1382 select CPU_MIPSR2_IRQ_EI
1383 select CPU_MIPSR2_SRS
1384 select MIPS_MT
1385 help
1386 Includes a loader for loading an elf relocatable object
1387 onto another VPE and running it.
Ralf Baechlef088fc82006-04-05 09:45:47 +01001388
Ralf Baechleac8be952007-01-20 00:18:01 +00001389config MIPS_MT_SMTC_INSTANT_REPLAY
1390 bool "Low-latency Dispatch of Deferred SMTC IPIs"
Ralf Baechle619af722007-03-26 15:13:57 +01001391 depends on MIPS_MT_SMTC && !PREEMPT
Ralf Baechleac8be952007-01-20 00:18:01 +00001392 default y
1393 help
1394 SMTC pseudo-interrupts between TCs are deferred and queued
1395 if the target TC is interrupt-inhibited (IXMT). In the first
1396 SMTC prototypes, these queued IPIs were serviced on return
1397 to user mode, or on entry into the kernel idle loop. The
1398 INSTANT_REPLAY option dispatches them as part of local_irq_restore()
1399 processing, which adds runtime overhead (hence the option to turn
1400 it off), but ensures that IPIs are handled promptly even under
1401 heavy I/O interrupt load.
1402
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001403config MIPS_MT_SMTC_IM_BACKSTOP
1404 bool "Use per-TC register bits as backstop for inhibited IM bits"
1405 depends on MIPS_MT_SMTC
1406 default y
1407 help
1408 To support multiple TC microthreads acting as "CPUs" within
1409 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1410 during interrupt handling. To support legacy drivers and interrupt
1411 controller management code, SMTC has a "backstop" to track and
1412 if necessary restore the interrupt mask. This has some performance
1413 impact on interrupt service overhead. Disable it only if you know
1414 what you are doing.
1415
Kevin D. Kissellf571eff2007-08-03 19:38:03 +02001416config MIPS_MT_SMTC_IRQAFF
1417 bool "Support IRQ affinity API"
1418 depends on MIPS_MT_SMTC
1419 default n
1420 help
1421 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1422 for SMTC Linux kernel. Requires platform support, of which
1423 an example can be found in the MIPS kernel i8259 and Malta
1424 platform code. It is recommended that MIPS_MT_SMTC_INSTANT_REPLAY
1425 be enabled if MIPS_MT_SMTC_IRQAFF is used. Adds overhead to
1426 interrupt dispatch, and should be used only if you know what
1427 you are doing.
1428
Ralf Baechlee01402b2005-07-14 15:57:16 +00001429config MIPS_VPE_LOADER_TOM
1430 bool "Load VPE program into memory hidden from linux"
1431 depends on MIPS_VPE_LOADER
1432 default y
1433 help
1434 The loader can use memory that is present but has been hidden from
1435 Linux using the kernel command line option "mem=xxMB". It's up to
1436 you to ensure the amount you put in the option and the space your
1437 program requires is less or equal to the amount physically present.
1438
1439# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1440config MIPS_VPE_APSP_API
Ralf Baechle5e83d432005-10-29 19:32:41 +01001441 bool "Enable support for AP/SP API (RTLX)"
1442 depends on MIPS_VPE_LOADER
1443 help
Ralf Baechlee01402b2005-07-14 15:57:16 +00001444
Ralf Baechle26009902006-04-05 09:45:45 +01001445config MIPS_APSP_KSPD
1446 bool "Enable KSPD"
1447 depends on MIPS_VPE_APSP_API
1448 default y
1449 help
1450 KSPD is a kernel daemon that accepts syscall requests from the SP
1451 side, actions them and returns the results. It also handles the
1452 "exit" syscall notifying other kernel modules the SP program is
1453 exiting. You probably want to say yes here.
1454
Linus Torvalds1da177e2005-04-16 15:20:36 -07001455config SB1_PASS_1_WORKAROUNDS
1456 bool
1457 depends on CPU_SB1_PASS_1
1458 default y
1459
1460config SB1_PASS_2_WORKAROUNDS
1461 bool
1462 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1463 default y
1464
1465config SB1_PASS_2_1_WORKAROUNDS
1466 bool
1467 depends on CPU_SB1 && CPU_SB1_PASS_2
1468 default y
1469
1470config 64BIT_PHYS_ADDR
Ralf Baechled806cb22007-08-02 00:36:08 +01001471 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001472
Linus Torvalds1da177e2005-04-16 15:20:36 -07001473config CPU_HAS_LLSC
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001474 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001475
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001476config CPU_HAS_SMARTMIPS
1477 depends on SYS_SUPPORTS_SMARTMIPS
1478 bool "Support for the SmartMIPS ASE"
1479 help
1480 SmartMIPS is a extension of the MIPS32 architecture aimed at
1481 increased security at both hardware and software level for
1482 smartcards. Enabling this option will allow proper use of the
1483 SmartMIPS instructions by Linux applications. However a kernel with
1484 this option will not work on a MIPS core without SmartMIPS core. If
1485 you don't know you probably don't have SmartMIPS and should say N
1486 here.
1487
Linus Torvalds1da177e2005-04-16 15:20:36 -07001488config CPU_HAS_WB
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001489 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001490
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001491config 64BIT_CONTEXT
1492 bool "Save 64bit integer registers"
1493 depends on 32BIT && CPU_LOONGSON2
1494 help
1495 Loongson2 CPU is 64bit , when used in 32BIT mode, its integer
1496 registers can still be accessed as 64bit, mainly for multimedia
1497 instructions. We must have all 64bit save/restored to make sure
1498 those instructions to get correct result.
1499
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001500#
1501# Vectored interrupt mode is an R2 feature
1502#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001503config CPU_MIPSR2_IRQ_VI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001504 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001505
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001506#
1507# Extended interrupt mode is an R2 feature
1508#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001509config CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001510 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001511
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001512#
1513# Shadow registers are an R2 feature
1514#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001515config CPU_MIPSR2_SRS
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001516 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001517
Linus Torvalds1da177e2005-04-16 15:20:36 -07001518config CPU_HAS_SYNC
1519 bool
1520 depends on !CPU_R3000
1521 default y
1522
1523#
Ralf Baechle797798c2005-08-10 15:17:11 +00001524# Use the generic interrupt handling code in kernel/irq/:
1525#
1526config GENERIC_HARDIRQS
1527 bool
1528 default y
1529
1530config GENERIC_IRQ_PROBE
1531 bool
1532 default y
1533
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001534config IRQ_PER_CPU
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001535 bool
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001536
Ralf Baechle797798c2005-08-10 15:17:11 +00001537#
Linus Torvalds1da177e2005-04-16 15:20:36 -07001538# - Highmem only makes sense for the 32-bit kernel.
1539# - The current highmem code will only work properly on physically indexed
1540# caches such as R3000, SB1, R7000 or those that look like they're virtually
1541# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1542# moment we protect the user and offer the highmem option only on machines
1543# where it's known to be safe. This will not offer highmem on a few systems
1544# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1545# indexed CPUs but we're playing safe.
Ralf Baechle797798c2005-08-10 15:17:11 +00001546# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1547# know they might have memory configurations that could make use of highmem
1548# support.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001549#
1550config HIGHMEM
1551 bool "High Memory Support"
Ralf Baechle797798c2005-08-10 15:17:11 +00001552 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1553
1554config CPU_SUPPORTS_HIGHMEM
1555 bool
1556
1557config SYS_SUPPORTS_HIGHMEM
1558 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001559
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001560config SYS_SUPPORTS_SMARTMIPS
1561 bool
1562
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001563config ARCH_FLATMEM_ENABLE
1564 def_bool y
1565 depends on !NUMA
1566
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001567config ARCH_DISCONTIGMEM_ENABLE
1568 bool
1569 default y if SGI_IP27
1570 help
David Sterba3dde6ad2007-05-09 07:12:20 +02001571 Say Y to support efficient handling of discontiguous physical memory,
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001572 for architectures which are either NUMA (Non-Uniform Memory Access)
1573 or have huge holes in the physical address space for other reasons.
1574 See <file:Documentation/vm/numa> for more.
1575
Atsushi Nemotob1c6cd42006-07-03 00:09:47 +09001576config ARCH_SPARSEMEM_ENABLE
1577 bool
Atsushi Nemoto7de58fa2006-07-05 01:22:44 +09001578 select SPARSEMEM_STATIC
Atsushi Nemoto31473742006-07-03 00:09:47 +09001579
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001580config NUMA
1581 bool "NUMA Support"
1582 depends on SYS_SUPPORTS_NUMA
1583 help
1584 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1585 Access). This option improves performance on systems with more
1586 than two nodes; on two node systems it is generally better to
1587 leave it disabled; on single node systems disable this option
1588 disabled.
1589
1590config SYS_SUPPORTS_NUMA
1591 bool
1592
Yasunori Gotoc80d79d2006-04-10 22:53:53 -07001593config NODES_SHIFT
1594 int
1595 default "6"
1596 depends on NEED_MULTIPLE_NODES
1597
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001598source "mm/Kconfig"
1599
Linus Torvalds1da177e2005-04-16 15:20:36 -07001600config SMP
1601 bool "Multi-Processing support"
Ralf Baechlee73ea272006-06-04 11:51:46 +01001602 depends on SYS_SUPPORTS_SMP
Ralf Baechleb4b30a52006-08-03 17:34:24 +01001603 select IRQ_PER_CPU
Ralf Baechlee73ea272006-06-04 11:51:46 +01001604 help
Linus Torvalds1da177e2005-04-16 15:20:36 -07001605 This enables support for systems with more than one CPU. If you have
1606 a system with only one CPU, like most personal computers, say N. If
1607 you have a system with more than one CPU, say Y.
1608
1609 If you say N here, the kernel will run on single and multiprocessor
1610 machines, but will use only one CPU of a multiprocessor machine. If
1611 you say Y here, the kernel will run on many, but not all,
1612 singleprocessor machines. On a singleprocessor machine, the kernel
1613 will run faster if you say N here.
1614
1615 People using multiprocessor machines who say Y here should also say
1616 Y to "Enhanced Real Time Clock Support", below.
1617
1618 See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1619 available at <http://www.tldp.org/docs.html#howto>.
1620
1621 If you don't know what to do here, say N.
1622
Ralf Baechlee73ea272006-06-04 11:51:46 +01001623config SYS_SUPPORTS_SMP
1624 bool
1625
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001626config NR_CPUS_DEFAULT_1
1627 bool
1628
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001629config NR_CPUS_DEFAULT_2
1630 bool
1631
1632config NR_CPUS_DEFAULT_4
1633 bool
1634
1635config NR_CPUS_DEFAULT_8
1636 bool
1637
1638config NR_CPUS_DEFAULT_16
1639 bool
1640
1641config NR_CPUS_DEFAULT_32
1642 bool
1643
1644config NR_CPUS_DEFAULT_64
1645 bool
1646
Linus Torvalds1da177e2005-04-16 15:20:36 -07001647config NR_CPUS
1648 int "Maximum number of CPUs (2-64)"
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001649 range 1 64 if NR_CPUS_DEFAULT_1
Linus Torvalds1da177e2005-04-16 15:20:36 -07001650 depends on SMP
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001651 default "1" if NR_CPUS_DEFAULT_1
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001652 default "2" if NR_CPUS_DEFAULT_2
1653 default "4" if NR_CPUS_DEFAULT_4
1654 default "8" if NR_CPUS_DEFAULT_8
1655 default "16" if NR_CPUS_DEFAULT_16
1656 default "32" if NR_CPUS_DEFAULT_32
1657 default "64" if NR_CPUS_DEFAULT_64
Linus Torvalds1da177e2005-04-16 15:20:36 -07001658 help
1659 This allows you to specify the maximum number of CPUs which this
1660 kernel will support. The maximum supported value is 32 for 32-bit
1661 kernel and 64 for 64-bit kernels; the minimum value which makes
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001662 sense is 1 for Qemu (useful only for kernel debugging purposes)
1663 and 2 for all others.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001664
1665 This is purely to save memory - each supported CPU adds
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001666 approximately eight kilobytes to the kernel image. For best
1667 performance should round up your number of processors to the next
1668 power of two.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001669
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09001670#
1671# Timer Interrupt Frequency Configuration
1672#
1673
1674choice
1675 prompt "Timer frequency"
1676 default HZ_250
1677 help
1678 Allows the configuration of the timer frequency.
1679
1680 config HZ_48
1681 bool "48 HZ" if SYS_SUPPORTS_48HZ
1682
1683 config HZ_100
1684 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1685
1686 config HZ_128
1687 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1688
1689 config HZ_250
1690 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1691
1692 config HZ_256
1693 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1694
1695 config HZ_1000
1696 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1697
1698 config HZ_1024
1699 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1700
1701endchoice
1702
1703config SYS_SUPPORTS_48HZ
1704 bool
1705
1706config SYS_SUPPORTS_100HZ
1707 bool
1708
1709config SYS_SUPPORTS_128HZ
1710 bool
1711
1712config SYS_SUPPORTS_250HZ
1713 bool
1714
1715config SYS_SUPPORTS_256HZ
1716 bool
1717
1718config SYS_SUPPORTS_1000HZ
1719 bool
1720
1721config SYS_SUPPORTS_1024HZ
1722 bool
1723
1724config SYS_SUPPORTS_ARBIT_HZ
1725 bool
1726 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1727 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1728 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1729 !SYS_SUPPORTS_1024HZ
1730
1731config HZ
1732 int
1733 default 48 if HZ_48
1734 default 100 if HZ_100
1735 default 128 if HZ_128
1736 default 250 if HZ_250
1737 default 256 if HZ_256
1738 default 1000 if HZ_1000
1739 default 1024 if HZ_1024
1740
Ralf Baechlee80de852005-07-11 20:45:51 +00001741source "kernel/Kconfig.preempt"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001742
Linus Torvalds1da177e2005-04-16 15:20:36 -07001743config MIPS_INSANE_LARGE
1744 bool "Support for large 64-bit configurations"
Ralf Baechle875d43e2005-09-03 15:56:16 -07001745 depends on CPU_R10000 && 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001746 help
1747 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1748 previous 64-bit processors which only supported 40 bit / 1TB. If you
1749 need processes of more than 1TB virtual address space, say Y here.
1750 This will result in additional memory usage, so it is not
1751 recommended for normal users.
1752
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001753config KEXEC
1754 bool "Kexec system call (EXPERIMENTAL)"
1755 depends on EXPERIMENTAL
1756 help
1757 kexec is a system call that implements the ability to shutdown your
1758 current kernel, and to start another kernel. It is like a reboot
David Sterba3dde6ad2007-05-09 07:12:20 +02001759 but it is independent of the system firmware. And like a reboot
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001760 you can start any kernel with it, not just Linux.
1761
1762 The name comes from the similiarity to the exec system call.
1763
1764 It is an ongoing process to be certain the hardware in a machine
1765 is properly shutdown, so do not be surprised if this code does not
1766 initially work for you. It may help to enable device hotplugging
1767 support. As of this writing the exact hardware interface is
1768 strongly in flux, so no good recommendation can be made.
1769
1770config SECCOMP
1771 bool "Enable seccomp to safely compute untrusted bytecode"
Ralf Baechle293c5bd2007-07-25 16:19:33 +01001772 depends on PROC_FS
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001773 default y
1774 help
1775 This kernel feature is useful for number crunching applications
1776 that may need to compute untrusted bytecode during their
1777 execution. By using pipes or other transports made available to
1778 the process as file descriptors supporting the read/write
1779 syscalls, it's possible to isolate those applications in
1780 their own address space using seccomp. Once seccomp is
1781 enabled via /proc/<pid>/seccomp, it cannot be disabled
1782 and the task is only allowed to execute a few safe syscalls
1783 defined by each seccomp mode.
1784
1785 If unsure, say Y. Only embedded should say N here.
1786
Ralf Baechle5e83d432005-10-29 19:32:41 +01001787endmenu
1788
Linus Torvalds1da177e2005-04-16 15:20:36 -07001789config RWSEM_GENERIC_SPINLOCK
1790 bool
1791 default y
1792
Atsushi Nemoto1df0f0f2006-09-26 23:44:01 +09001793config LOCKDEP_SUPPORT
1794 bool
1795 default y
1796
1797config STACKTRACE_SUPPORT
1798 bool
1799 default y
1800
Ralf Baechleb6c35392005-11-25 11:35:40 +00001801source "init/Kconfig"
1802
Linus Torvalds1da177e2005-04-16 15:20:36 -07001803menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1804
Ralf Baechle5e83d432005-10-29 19:32:41 +01001805config HW_HAS_EISA
1806 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001807config HW_HAS_PCI
1808 bool
1809
1810config PCI
1811 bool "Support for PCI controller"
1812 depends on HW_HAS_PCI
Ralf Baechleabb4ae42007-10-11 23:46:03 +01001813 select PCI_DOMAINS
Linus Torvalds1da177e2005-04-16 15:20:36 -07001814 help
1815 Find out whether you have a PCI motherboard. PCI is the name of a
1816 bus system, i.e. the way the CPU talks to the other stuff inside
1817 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1818 say Y, otherwise N.
1819
1820 The PCI-HOWTO, available from
1821 <http://www.tldp.org/docs.html#howto>, contains valuable
1822 information about which PCI hardware does work under Linux and which
1823 doesn't.
1824
1825config PCI_DOMAINS
1826 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001827
1828source "drivers/pci/Kconfig"
1829
1830#
1831# ISA support is now enabled via select. Too many systems still have the one
1832# or other ISA chip on the board that users don't know about so don't expect
1833# users to choose the right thing ...
1834#
1835config ISA
1836 bool
1837
1838config EISA
1839 bool "EISA support"
Ralf Baechle5e83d432005-10-29 19:32:41 +01001840 depends on HW_HAS_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001841 select ISA
Ralf Baechleaa414df2006-11-30 01:14:51 +00001842 select GENERIC_ISA_DMA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001843 ---help---
1844 The Extended Industry Standard Architecture (EISA) bus was
1845 developed as an open alternative to the IBM MicroChannel bus.
1846
1847 The EISA bus provided some of the features of the IBM MicroChannel
1848 bus while maintaining backward compatibility with cards made for
1849 the older ISA bus. The EISA bus saw limited use between 1988 and
1850 1995 when it was made obsolete by the PCI bus.
1851
1852 Say Y here if you are building a kernel for an EISA-based machine.
1853
1854 Otherwise, say N.
1855
1856source "drivers/eisa/Kconfig"
1857
1858config TC
1859 bool "TURBOchannel support"
1860 depends on MACH_DECSTATION
1861 help
1862 TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1863 processors. Documentation on writing device drivers for TurboChannel
1864 is available at:
1865 <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1866
1867#config ACCESSBUS
1868# bool "Access.Bus support"
1869# depends on TC
1870
1871config MMU
1872 bool
1873 default y
1874
Ralf Baechlede61b542007-07-12 17:41:23 +01001875config PCSPEAKER
Michael Neulinge5c6c8e2006-03-14 00:11:50 -05001876 bool
1877
Linus Torvalds1da177e2005-04-16 15:20:36 -07001878source "drivers/pcmcia/Kconfig"
1879
1880source "drivers/pci/hotplug/Kconfig"
1881
1882endmenu
1883
1884menu "Executable file formats"
1885
1886source "fs/Kconfig.binfmt"
1887
1888config TRAD_SIGNALS
1889 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001890
Linus Torvalds1da177e2005-04-16 15:20:36 -07001891config BINFMT_IRIX
1892 bool "Include IRIX binary compatibility"
Ralf Baechle5e83d432005-10-29 19:32:41 +01001893 depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -07001894
1895config MIPS32_COMPAT
1896 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
Ralf Baechle875d43e2005-09-03 15:56:16 -07001897 depends on 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001898 help
1899 Select this option if you want Linux/MIPS 32-bit binary
1900 compatibility. Since all software available for Linux/MIPS is
1901 currently 32-bit you should say Y here.
1902
1903config COMPAT
1904 bool
1905 depends on MIPS32_COMPAT
1906 default y
1907
Atsushi Nemoto05e43962006-11-07 18:02:44 +09001908config SYSVIPC_COMPAT
1909 bool
1910 depends on COMPAT && SYSVIPC
1911 default y
1912
Linus Torvalds1da177e2005-04-16 15:20:36 -07001913config MIPS32_O32
1914 bool "Kernel support for o32 binaries"
1915 depends on MIPS32_COMPAT
1916 help
1917 Select this option if you want to run o32 binaries. These are pure
1918 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
1919 existing binaries are in this format.
1920
1921 If unsure, say Y.
1922
1923config MIPS32_N32
1924 bool "Kernel support for n32 binaries"
1925 depends on MIPS32_COMPAT
1926 help
1927 Select this option if you want to run n32 binaries. These are
1928 64-bit binaries using 32-bit quantities for addressing and certain
1929 data that would normally be 64-bit. They are used in special
1930 cases.
1931
1932 If unsure, say N.
1933
1934config BINFMT_ELF32
1935 bool
1936 default y if MIPS32_O32 || MIPS32_N32
1937
Ralf Baechle21162452007-02-09 17:08:58 +00001938endmenu
Linus Torvalds1da177e2005-04-16 15:20:36 -07001939
Ralf Baechle21162452007-02-09 17:08:58 +00001940menu "Power management options"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02001941
Ralf Baechle21162452007-02-09 17:08:58 +00001942source "kernel/power/Kconfig"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02001943
Linus Torvalds1da177e2005-04-16 15:20:36 -07001944endmenu
1945
Sam Ravnborgd5950b42005-07-11 21:03:49 -07001946source "net/Kconfig"
1947
Linus Torvalds1da177e2005-04-16 15:20:36 -07001948source "drivers/Kconfig"
1949
1950source "fs/Kconfig"
1951
Ralf Baechle5e83d432005-10-29 19:32:41 +01001952source "arch/mips/oprofile/Kconfig"
1953
Linus Torvalds1da177e2005-04-16 15:20:36 -07001954source "arch/mips/Kconfig.debug"
1955
1956source "security/Kconfig"
1957
1958source "crypto/Kconfig"
1959
1960source "lib/Kconfig"