blob: 4dc142d394a348233c5c764c9105f61f5cee2c64 [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
Ralf Baechle90b02342007-10-11 23:46:09 +01006 select RTC_LIB
Linus Torvalds1da177e2005-04-16 15:20:36 -07007
Linus Torvalds1da177e2005-04-16 15:20:36 -07008mainmenu "Linux/MIPS Kernel Configuration"
9
Linus Torvalds1da177e2005-04-16 15:20:36 -070010menu "Machine selection"
11
Christoph Lameter5ac6da62007-02-10 01:43:14 -080012config ZONE_DMA
13 bool
Christoph Lameter5ac6da62007-02-10 01:43:14 -080014
Ralf Baechle5e83d432005-10-29 19:32:41 +010015choice
16 prompt "System type"
17 default SGI_IP22
Linus Torvalds1da177e2005-04-16 15:20:36 -070018
Yoichi Yuasac3543e22007-05-11 20:44:30 +090019config MACH_ALCHEMY
20 bool "Alchemy processor based machines"
Linus Torvalds1da177e2005-04-16 15:20:36 -070021
Ralf Baechle35189fa2006-06-18 16:39:46 +010022config BASLER_EXCITE
Thomas Koellerbe915892007-02-23 01:40:34 +010023 bool "Basler eXcite smart camera"
Ralf Baechle42f77542007-10-18 17:48:11 +010024 select CEVT_R4K
Ralf Baechle35189fa2006-06-18 16:39:46 +010025 select DMA_COHERENT
26 select HW_HAS_PCI
27 select IRQ_CPU
28 select IRQ_CPU_RM7K
29 select IRQ_CPU_RM9K
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +020030 select MIPS_RM9122
Ralf Baechle35189fa2006-06-18 16:39:46 +010031 select SYS_HAS_CPU_RM9000
32 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle35189fa2006-06-18 16:39:46 +010033 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +000034 select SYS_SUPPORTS_KGDB
Ralf Baechle35189fa2006-06-18 16:39:46 +010035 help
36 The eXcite is a smart camera platform manufactured by
Thomas Koellerbe915892007-02-23 01:40:34 +010037 Basler Vision Technologies AG.
Ralf Baechle35189fa2006-06-18 16:39:46 +010038
39config BASLER_EXCITE_PROTOTYPE
40 bool "Support for pre-release units"
41 depends on BASLER_EXCITE
42 default n
43 help
44 Pre-series (prototype) units are different from later ones in
45 some ways. Select this option if you have one of these. Please
46 note that a kernel built with this option selected will not be
47 able to run on normal units.
48
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020049config BCM47XX
50 bool "BCM47XX based boards"
Ralf Baechle42f77542007-10-18 17:48:11 +010051 select CEVT_R4K
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020052 select DMA_NONCOHERENT
53 select HW_HAS_PCI
54 select IRQ_CPU
55 select SYS_HAS_CPU_MIPS32_R1
56 select SYS_SUPPORTS_32BIT_KERNEL
57 select SYS_SUPPORTS_LITTLE_ENDIAN
58 select SSB
59 select SSB_DRIVER_MIPS
60 select GENERIC_GPIO
Aurelien Jarno25e5fb92007-09-25 15:41:24 +020061 select SYS_HAS_EARLY_PRINTK
62 select CFE
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020063 help
64 Support for BCM47XX based boards
65
Linus Torvalds1da177e2005-04-16 15:20:36 -070066config MIPS_COBALT
Martin Michlmayr3fa986f2006-05-09 23:34:53 +020067 bool "Cobalt Server"
Ralf Baechle42f77542007-10-18 17:48:11 +010068 select CEVT_R4K
Linus Torvalds1da177e2005-04-16 15:20:36 -070069 select DMA_NONCOHERENT
70 select HW_HAS_PCI
Ralf Baechled865bea2007-10-11 23:46:10 +010071 select I8253
Linus Torvalds1da177e2005-04-16 15:20:36 -070072 select I8259
73 select IRQ_CPU
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +090074 select IRQ_GT641XX
Yoichi Yuasa252161e2007-03-14 21:51:26 +090075 select PCI_GT64XXX_PCI0
Ralf Baechle7cf80532005-10-20 22:33:09 +010076 select SYS_HAS_CPU_NEVADA
Yoichi Yuasa0a22e0d2007-03-02 12:42:33 +090077 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -070078 select SYS_SUPPORTS_32BIT_KERNEL
79 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Ralf Baechle5e83d432005-10-29 19:32:41 +010080 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +090081 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -070082
83config MACH_DECSTATION
Martin Michlmayr3fa986f2006-05-09 23:34:53 +020084 bool "DECstations"
Linus Torvalds1da177e2005-04-16 15:20:36 -070085 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +010086 select CEVT_R4K
Linus Torvalds1da177e2005-04-16 15:20:36 -070087 select DMA_NONCOHERENT
Maciej W. Rozyckid388d682007-05-29 15:08:07 +010088 select NO_IOPORT
Linus Torvalds1da177e2005-04-16 15:20:36 -070089 select IRQ_CPU
Ralf Baechle7cf80532005-10-20 22:33:09 +010090 select SYS_HAS_CPU_R3000
91 select SYS_HAS_CPU_R4X00
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -070092 select SYS_SUPPORTS_32BIT_KERNEL
93 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Ralf Baechle5e83d432005-10-29 19:32:41 +010094 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +090095 select SYS_SUPPORTS_128HZ
96 select SYS_SUPPORTS_256HZ
97 select SYS_SUPPORTS_1024HZ
Ralf Baechle5e83d432005-10-29 19:32:41 +010098 help
Linus Torvalds1da177e2005-04-16 15:20:36 -070099 This enables support for DEC's MIPS based workstations. For details
100 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
101 DECstation porting pages on <http://decstation.unix-ag.org/>.
102
103 If you have one of the following DECstation Models you definitely
104 want to choose R4xx0 for the CPU Type:
105
Ralf Baechle93088162007-08-29 14:21:45 +0100106 DECstation 5000/50
107 DECstation 5000/150
108 DECstation 5000/260
109 DECsystem 5900/260
Linus Torvalds1da177e2005-04-16 15:20:36 -0700110
111 otherwise choose R3000.
112
Ralf Baechle5e83d432005-10-29 19:32:41 +0100113config MACH_JAZZ
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200114 bool "Jazz family of machines"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100115 select ARC
116 select ARC32
117 select ARCH_MAY_HAVE_PC_FDC
Ralf Baechle42f77542007-10-18 17:48:11 +0100118 select CEVT_R4K
Ralf Baechle5e83d432005-10-29 19:32:41 +0100119 select GENERIC_ISA_DMA
Thomas Bogendoerferea202c62007-08-25 11:01:50 +0200120 select IRQ_CPU
Ralf Baechled865bea2007-10-11 23:46:10 +0100121 select I8253
Ralf Baechle5e83d432005-10-29 19:32:41 +0100122 select I8259
123 select ISA
Ralf Baechlede61b542007-07-12 17:41:23 +0100124 select PCSPEAKER
Ralf Baechle7cf80532005-10-20 22:33:09 +0100125 select SYS_HAS_CPU_R4X00
Ralf Baechle5e83d432005-10-29 19:32:41 +0100126 select SYS_SUPPORTS_32BIT_KERNEL
127 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +0900128 select SYS_SUPPORTS_100HZ
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900129 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700130 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100131 This a family of machines based on the MIPS R4030 chipset which was
132 used by several vendors to build RISC/os and Windows NT workstations.
133 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
134 Olivetti M700-10 workstations.
135
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200136config LASAT
137 bool "LASAT Networks platforms"
Ralf Baechle42f77542007-10-18 17:48:11 +0100138 select CEVT_R4K
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200139 select DMA_NONCOHERENT
140 select SYS_HAS_EARLY_PRINTK
141 select HW_HAS_PCI
Ralf Baechlea5ccfe5c12007-10-14 23:49:33 +0100142 select IRQ_CPU
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200143 select PCI_GT64XXX_PCI0
144 select MIPS_NILE4
145 select R5000_CPU_SCACHE
146 select SYS_HAS_CPU_R5000
147 select SYS_SUPPORTS_32BIT_KERNEL
148 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
149 select SYS_SUPPORTS_LITTLE_ENDIAN
150 select GENERIC_HARDIRQS_NO__DO_IRQ
151
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900152config LEMOTE_FULONG
153 bool "Lemote Fulong mini-PC"
154 select ARCH_SPARSEMEM_ENABLE
Ralf Baechle42f77542007-10-18 17:48:11 +0100155 select CEVT_R4K
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900156 select SYS_HAS_CPU_LOONGSON2
157 select DMA_NONCOHERENT
158 select BOOT_ELF32
159 select BOARD_SCACHE
160 select HAVE_STD_PC_SERIAL_PORT
161 select HW_HAS_PCI
162 select I8259
163 select ISA
164 select IRQ_CPU
165 select SYS_SUPPORTS_32BIT_KERNEL
166 select SYS_SUPPORTS_64BIT_KERNEL
167 select SYS_SUPPORTS_LITTLE_ENDIAN
168 select SYS_SUPPORTS_HIGHMEM
169 select SYS_HAS_EARLY_PRINTK
170 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle23dd6d32007-08-24 16:49:23 +0100171 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900172 select CPU_HAS_WB
173 help
174 Lemote Fulong mini-PC board based on the Chinese Loongson-2E CPU and
175 an FPGA northbridge
176
Linus Torvalds1da177e2005-04-16 15:20:36 -0700177config MIPS_ATLAS
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200178 bool "MIPS Atlas board"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700179 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100180 select CEVT_R4K
Linus Torvalds1da177e2005-04-16 15:20:36 -0700181 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000182 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100183 select IRQ_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700184 select HW_HAS_PCI
Ralf Baechle5e83d432005-10-29 19:32:41 +0100185 select MIPS_BOARDS_GEN
186 select MIPS_BONITO64
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900187 select PCI_GT64XXX_PCI0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100188 select MIPS_MSC
Maciej W. Rozyckif4b7cdb2005-02-12 04:31:49 +0000189 select RM7000_CPU_SCACHE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700190 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100191 select SYS_HAS_CPU_MIPS32_R1
192 select SYS_HAS_CPU_MIPS32_R2
193 select SYS_HAS_CPU_MIPS64_R1
194 select SYS_HAS_CPU_NEVADA
195 select SYS_HAS_CPU_RM7000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700196 select SYS_SUPPORTS_32BIT_KERNEL
197 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100198 select SYS_SUPPORTS_BIG_ENDIAN
199 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlef41ae0b2006-06-05 17:24:46 +0100200 select SYS_SUPPORTS_MULTITHREADING if EXPERIMENTAL
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100201 select SYS_SUPPORTS_SMARTMIPS
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100202 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700203 help
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000204 This enables support for the MIPS Technologies Atlas evaluation
Linus Torvalds1da177e2005-04-16 15:20:36 -0700205 board.
206
207config MIPS_MALTA
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200208 bool "MIPS Malta board"
Ralf Baechle61ed2422005-09-15 08:52:34 +0000209 select ARCH_MAY_HAVE_PC_FDC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700210 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100211 select CEVT_R4K
Linus Torvalds1da177e2005-04-16 15:20:36 -0700212 select DMA_NONCOHERENT
213 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000214 select IRQ_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700215 select HW_HAS_PCI
Ralf Baechled865bea2007-10-11 23:46:10 +0100216 select I8253
Linus Torvalds1da177e2005-04-16 15:20:36 -0700217 select I8259
Ralf Baechle5e83d432005-10-29 19:32:41 +0100218 select MIPS_BOARDS_GEN
219 select MIPS_BONITO64
Chris Dearman9318c512006-06-20 17:15:20 +0100220 select MIPS_CPU_SCACHE
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900221 select PCI_GT64XXX_PCI0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100222 select MIPS_MSC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700223 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100224 select SYS_HAS_CPU_MIPS32_R1
225 select SYS_HAS_CPU_MIPS32_R2
226 select SYS_HAS_CPU_MIPS64_R1
227 select SYS_HAS_CPU_NEVADA
228 select SYS_HAS_CPU_RM7000
Ralf Baechle36a88532007-03-01 11:56:43 +0000229 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700230 select SYS_SUPPORTS_32BIT_KERNEL
231 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100232 select SYS_SUPPORTS_BIG_ENDIAN
233 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlef41ae0b2006-06-05 17:24:46 +0100234 select SYS_SUPPORTS_MULTITHREADING
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100235 select SYS_SUPPORTS_SMARTMIPS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700236 help
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000237 This enables support for the MIPS Technologies Malta evaluation
Linus Torvalds1da177e2005-04-16 15:20:36 -0700238 board.
239
240config MIPS_SEAD
Ralf Baechled98cc842007-08-06 10:02:07 +0100241 bool "MIPS SEAD board"
Ralf Baechle42f77542007-10-18 17:48:11 +0100242 select CEVT_R4K
Linus Torvalds1da177e2005-04-16 15:20:36 -0700243 select IRQ_CPU
244 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000245 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100246 select MIPS_BOARDS_GEN
Ralf Baechle7cf80532005-10-20 22:33:09 +0100247 select SYS_HAS_CPU_MIPS32_R1
248 select SYS_HAS_CPU_MIPS32_R2
249 select SYS_HAS_CPU_MIPS64_R1
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700250 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100251 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
252 select SYS_SUPPORTS_BIG_ENDIAN
253 select SYS_SUPPORTS_LITTLE_ENDIAN
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100254 select SYS_SUPPORTS_SMARTMIPS
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000255 help
256 This enables support for the MIPS Technologies SEAD evaluation
257 board.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700258
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100259config MIPS_SIM
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200260 bool 'MIPS simulator (MIPSsim)'
Ralf Baechle42f77542007-10-18 17:48:11 +0100261 select CEVT_R4K
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100262 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000263 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100264 select IRQ_CPU
Marc St-Jean9267a302007-06-14 15:55:31 -0600265 select BOOT_RAW
Ralf Baechle7cf80532005-10-20 22:33:09 +0100266 select SYS_HAS_CPU_MIPS32_R1
267 select SYS_HAS_CPU_MIPS32_R2
Ralf Baechle36a88532007-03-01 11:56:43 +0000268 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100269 select SYS_SUPPORTS_32BIT_KERNEL
270 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlef6e23732007-07-10 17:32:56 +0100271 select SYS_SUPPORTS_MULTITHREADING
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100272 select SYS_SUPPORTS_LITTLE_ENDIAN
273 help
274 This option enables support for MIPS Technologies MIPSsim software
275 emulator.
276
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900277config MARKEINS
278 bool "NEC EMMA2RH Mark-eins"
Ralf Baechle42f77542007-10-18 17:48:11 +0100279 select CEVT_R4K
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900280 select DMA_NONCOHERENT
281 select HW_HAS_PCI
282 select IRQ_CPU
283 select SWAP_IO_SPACE
284 select SYS_SUPPORTS_32BIT_KERNEL
285 select SYS_SUPPORTS_BIG_ENDIAN
286 select SYS_SUPPORTS_LITTLE_ENDIAN
287 select SYS_HAS_CPU_R5000
288 help
289 This enables support for the R5432-based NEC Mark-eins
290 boards with R5500 CPU.
291
Ralf Baechle5e83d432005-10-29 19:32:41 +0100292config MACH_VR41XX
Yoichi Yuasa74142d62007-04-26 19:45:09 +0900293 bool "NEC VR4100 series based machines"
Ralf Baechle42f77542007-10-18 17:48:11 +0100294 select CEVT_R4K
Ralf Baechle7cf80532005-10-20 22:33:09 +0100295 select SYS_HAS_CPU_VR41XX
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900296 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100297
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900298config PNX8550_JBS
299 bool "Philips PNX8550 based JBS board"
300 select PNX8550
301 select SYS_SUPPORTS_LITTLE_ENDIAN
302
303config PNX8550_STB810
304 bool "Philips PNX8550 based STB810 board"
305 select PNX8550
306 select SYS_SUPPORTS_LITTLE_ENDIAN
307
Marc St-Jean9267a302007-06-14 15:55:31 -0600308config PMC_MSP
309 bool "PMC-Sierra MSP chipsets"
310 depends on EXPERIMENTAL
311 select DMA_NONCOHERENT
312 select SWAP_IO_SPACE
313 select NO_EXCEPT_FILL
314 select BOOT_RAW
315 select SYS_HAS_CPU_MIPS32_R1
316 select SYS_HAS_CPU_MIPS32_R2
317 select SYS_SUPPORTS_32BIT_KERNEL
318 select SYS_SUPPORTS_BIG_ENDIAN
319 select SYS_SUPPORTS_KGDB
320 select IRQ_CPU
321 select SERIAL_8250
322 select SERIAL_8250_CONSOLE
323 help
324 This adds support for the PMC-Sierra family of Multi-Service
325 Processor System-On-A-Chips. These parts include a number
326 of integrated peripherals, interfaces and DSPs in addition to
327 a variety of MIPS cores.
328
Ralf Baechle5e83d432005-10-29 19:32:41 +0100329config PMC_YOSEMITE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200330 bool "PMC-Sierra Yosemite eval board"
Ralf Baechle42f77542007-10-18 17:48:11 +0100331 select CEVT_R4K
Ralf Baechle5e83d432005-10-29 19:32:41 +0100332 select DMA_COHERENT
333 select HW_HAS_PCI
334 select IRQ_CPU
335 select IRQ_CPU_RM7K
336 select IRQ_CPU_RM9K
337 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100338 select SYS_HAS_CPU_RM9000
Ralf Baechle36a88532007-03-01 11:56:43 +0000339 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100340 select SYS_SUPPORTS_32BIT_KERNEL
341 select SYS_SUPPORTS_64BIT_KERNEL
342 select SYS_SUPPORTS_BIG_ENDIAN
343 select SYS_SUPPORTS_HIGHMEM
Ralf Baechlecc801072007-02-17 02:58:39 +0000344 select SYS_SUPPORTS_KGDB
Ralf Baechlee73ea272006-06-04 11:51:46 +0100345 select SYS_SUPPORTS_SMP
Ralf Baechle5e83d432005-10-29 19:32:41 +0100346 help
347 Yosemite is an evaluation board for the RM9000x2 processor
348 manufactured by PMC-Sierra.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700349
Ralf Baechle07119622005-09-03 15:56:11 -0700350config QEMU
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200351 bool "Qemu"
Ralf Baechle42f77542007-10-18 17:48:11 +0100352 select CEVT_R4K
Ralf Baechle07119622005-09-03 15:56:11 -0700353 select DMA_COHERENT
354 select GENERIC_ISA_DMA
355 select HAVE_STD_PC_SERIAL_PORT
Ralf Baechled865bea2007-10-11 23:46:10 +0100356 select I8253
Ralf Baechle07119622005-09-03 15:56:11 -0700357 select I8259
Ralf Baechle7bcf7712007-10-11 23:46:09 +0100358 select IRQ_CPU
Ralf Baechle07119622005-09-03 15:56:11 -0700359 select ISA
Ralf Baechlede61b542007-07-12 17:41:23 +0100360 select PCSPEAKER
Ralf Baechle07119622005-09-03 15:56:11 -0700361 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100362 select SYS_HAS_CPU_MIPS32_R1
Ralf Baechle07119622005-09-03 15:56:11 -0700363 select SYS_SUPPORTS_32BIT_KERNEL
364 select SYS_SUPPORTS_BIG_ENDIAN
Aurelien Jarnoc8cc9612006-09-27 23:07:25 +0200365 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemotob1c6cd42006-07-03 00:09:47 +0900366 select ARCH_SPARSEMEM_ENABLE
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900367 select GENERIC_HARDIRQS_NO__DO_IRQ
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +0900368 select NR_CPUS_DEFAULT_1
369 select SYS_SUPPORTS_SMP
Ralf Baechle07119622005-09-03 15:56:11 -0700370 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100371 Qemu is a software emulator which among other architectures also
372 can simulate a MIPS32 4Kc system. This patch adds support for the
373 system architecture that currently is being simulated by Qemu. It
374 will eventually be removed again when Qemu has the capability to
375 simulate actual MIPS hardware platforms. More information on Qemu
376 can be found at http://www.linux-mips.org/wiki/Qemu.
Ralf Baechle07119622005-09-03 15:56:11 -0700377
Linus Torvalds1da177e2005-04-16 15:20:36 -0700378config SGI_IP22
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200379 bool "SGI IP22 (Indy/Indigo2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700380 select ARC
381 select ARC32
382 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100383 select CEVT_R4K
Linus Torvalds1da177e2005-04-16 15:20:36 -0700384 select DMA_NONCOHERENT
Ralf Baechle5e83d432005-10-29 19:32:41 +0100385 select HW_HAS_EISA
Ralf Baechled865bea2007-10-11 23:46:10 +0100386 select I8253
Linus Torvalds1da177e2005-04-16 15:20:36 -0700387 select IP22_CPU_SCACHE
388 select IRQ_CPU
Ralf Baechleaa414df2006-11-30 01:14:51 +0000389 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700390 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100391 select SYS_HAS_CPU_R4X00
392 select SYS_HAS_CPU_R5000
Ralf Baechle36a88532007-03-01 11:56:43 +0000393 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700394 select SYS_SUPPORTS_32BIT_KERNEL
395 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100396 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700397 help
398 This are the SGI Indy, Challenge S and Indigo2, as well as certain
399 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
400 that runs on these, say Y here.
401
402config SGI_IP27
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200403 bool "SGI IP27 (Origin200/2000)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700404 select ARC
405 select ARC64
Ralf Baechle5e83d432005-10-29 19:32:41 +0100406 select BOOT_ELF64
Linus Torvalds1da177e2005-04-16 15:20:36 -0700407 select DMA_IP27
Ralf Baechle36a88532007-03-01 11:56:43 +0000408 select SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700409 select HW_HAS_PCI
Ralf Baechle130e2fb2007-02-06 16:53:15 +0000410 select NR_CPUS_DEFAULT_64
Ralf Baechle7cf80532005-10-20 22:33:09 +0100411 select SYS_HAS_CPU_R10000
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
Ralf Baechlecc801072007-02-17 02:58:39 +0000414 select SYS_SUPPORTS_KGDB
Ralf Baechled8cb4e12006-06-11 23:03:08 +0100415 select SYS_SUPPORTS_NUMA
Ralf Baechle1a5c5de2006-11-02 17:23:33 +0000416 select SYS_SUPPORTS_SMP
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100417 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700418 help
419 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
420 workstations. To compile a Linux kernel that runs on these, say Y
421 here.
422
Linus Torvalds1da177e2005-04-16 15:20:36 -0700423config SGI_IP32
Ralf Baechlecfd2afc2007-07-10 17:33:00 +0100424 bool "SGI IP32 (O2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700425 select ARC
426 select ARC32
427 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100428 select CEVT_R4K
Linus Torvalds1da177e2005-04-16 15:20:36 -0700429 select DMA_NONCOHERENT
430 select HW_HAS_PCI
Ralf Baechledd67b152007-10-14 14:02:26 +0100431 select IRQ_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700432 select R5000_CPU_SCACHE
433 select RM7000_CPU_SCACHE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100434 select SYS_HAS_CPU_R5000
435 select SYS_HAS_CPU_R10000 if BROKEN
436 select SYS_HAS_CPU_RM7000
Ralf Baechledd2f18f2006-01-19 14:55:42 +0000437 select SYS_HAS_CPU_NEVADA
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700438 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100439 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700440 help
441 If you want this kernel to run on SGI O2 workstation, say Y here.
442
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900443config SIBYTE_CRHINE
444 bool "Sibyte BCM91120C-CRhine"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100445 depends on EXPERIMENTAL
446 select BOOT_ELF32
447 select DMA_COHERENT
448 select SIBYTE_BCM1120
449 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100450 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100451 select SYS_SUPPORTS_BIG_ENDIAN
452 select SYS_SUPPORTS_LITTLE_ENDIAN
453
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900454config SIBYTE_CARMEL
455 bool "Sibyte BCM91120x-Carmel"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100456 depends on EXPERIMENTAL
457 select BOOT_ELF32
458 select DMA_COHERENT
459 select SIBYTE_BCM1120
460 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100461 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100462 select SYS_SUPPORTS_BIG_ENDIAN
463 select SYS_SUPPORTS_LITTLE_ENDIAN
464
465config SIBYTE_CRHONE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200466 bool "Sibyte BCM91125C-CRhone"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100467 depends on EXPERIMENTAL
468 select BOOT_ELF32
469 select DMA_COHERENT
470 select SIBYTE_BCM1125
471 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100472 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100473 select SYS_SUPPORTS_BIG_ENDIAN
474 select SYS_SUPPORTS_HIGHMEM
475 select SYS_SUPPORTS_LITTLE_ENDIAN
476
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900477config SIBYTE_RHONE
478 bool "Sibyte BCM91125E-Rhone"
479 depends on EXPERIMENTAL
480 select BOOT_ELF32
481 select DMA_COHERENT
482 select SIBYTE_BCM1125H
483 select SWAP_IO_SPACE
484 select SYS_HAS_CPU_SB1
485 select SYS_SUPPORTS_BIG_ENDIAN
486 select SYS_SUPPORTS_LITTLE_ENDIAN
487
488config SIBYTE_SWARM
489 bool "Sibyte BCM91250A-SWARM"
490 select BOOT_ELF32
491 select DMA_COHERENT
492 select NR_CPUS_DEFAULT_2
493 select SIBYTE_SB1250
494 select SWAP_IO_SPACE
495 select SYS_HAS_CPU_SB1
496 select SYS_SUPPORTS_BIG_ENDIAN
497 select SYS_SUPPORTS_HIGHMEM
498 select SYS_SUPPORTS_KGDB
499 select SYS_SUPPORTS_LITTLE_ENDIAN
500
501config SIBYTE_LITTLESUR
502 bool "Sibyte BCM91250C2-LittleSur"
503 depends on EXPERIMENTAL
504 select BOOT_ELF32
505 select DMA_COHERENT
506 select NR_CPUS_DEFAULT_2
507 select SIBYTE_SB1250
508 select SWAP_IO_SPACE
509 select SYS_HAS_CPU_SB1
510 select SYS_SUPPORTS_BIG_ENDIAN
511 select SYS_SUPPORTS_HIGHMEM
512 select SYS_SUPPORTS_LITTLE_ENDIAN
513
514config SIBYTE_SENTOSA
515 bool "Sibyte BCM91250E-Sentosa"
516 depends on EXPERIMENTAL
517 select BOOT_ELF32
518 select DMA_COHERENT
519 select NR_CPUS_DEFAULT_2
520 select SIBYTE_SB1250
521 select SWAP_IO_SPACE
522 select SYS_HAS_CPU_SB1
523 select SYS_SUPPORTS_BIG_ENDIAN
524 select SYS_SUPPORTS_LITTLE_ENDIAN
525
526config SIBYTE_PTSWARM
527 bool "Sibyte BCM91250PT-PTSWARM"
528 depends on EXPERIMENTAL
529 select BOOT_ELF32
530 select DMA_COHERENT
531 select NR_CPUS_DEFAULT_2
532 select SIBYTE_SB1250
533 select SWAP_IO_SPACE
534 select SYS_HAS_CPU_SB1
535 select SYS_SUPPORTS_BIG_ENDIAN
536 select SYS_SUPPORTS_HIGHMEM
537 select SYS_SUPPORTS_LITTLE_ENDIAN
538
539config SIBYTE_BIGSUR
540 bool "Sibyte BCM91480B-BigSur"
541 select BOOT_ELF32
542 select DMA_COHERENT
543 select NR_CPUS_DEFAULT_4
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900544 select SIBYTE_BCM1x80
545 select SWAP_IO_SPACE
546 select SYS_HAS_CPU_SB1
547 select SYS_SUPPORTS_BIG_ENDIAN
548 select SYS_SUPPORTS_LITTLE_ENDIAN
549
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100550config SNI_RM
551 bool "SNI RM200/300/400"
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200552 select ARC if CPU_LITTLE_ENDIAN
553 select ARC32 if CPU_LITTLE_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100554 select ARCH_MAY_HAVE_PC_FDC
555 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100556 select CEVT_R4K
Ralf Baechle5e83d432005-10-29 19:32:41 +0100557 select DMA_NONCOHERENT
558 select GENERIC_ISA_DMA
Ralf Baechle5e83d432005-10-29 19:32:41 +0100559 select HW_HAS_EISA
560 select HW_HAS_PCI
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100561 select IRQ_CPU
Ralf Baechled865bea2007-10-11 23:46:10 +0100562 select I8253
Ralf Baechle5e83d432005-10-29 19:32:41 +0100563 select I8259
564 select ISA
Ralf Baechlede61b542007-07-12 17:41:23 +0100565 select PCSPEAKER
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200566 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
Ralf Baechle7cf80532005-10-20 22:33:09 +0100567 select SYS_HAS_CPU_R4X00
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200568 select SYS_HAS_CPU_R5000
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100569 select SYS_HAS_CPU_R10000
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200570 select R5000_CPU_SCACHE
Ralf Baechle36a88532007-03-01 11:56:43 +0000571 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700572 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100573 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200574 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100575 select SYS_SUPPORTS_HIGHMEM
576 select SYS_SUPPORTS_LITTLE_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700577 help
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100578 The SNI RM200/300/400 are MIPS-based machines manufactured by
579 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
Ralf Baechle5e83d432005-10-29 19:32:41 +0100580 Technology and now in turn merged with Fujitsu. Say Y here to
581 support this machine type.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700582
Ralf Baechle5e83d432005-10-29 19:32:41 +0100583config TOSHIBA_JMR3927
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200584 bool "Toshiba JMR-TX3927 board"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100585 select DMA_NONCOHERENT
586 select HW_HAS_PCI
587 select MIPS_TX3927
Atsushi Nemotoc87abd72007-08-02 23:36:02 +0900588 select IRQ_TXX9
Ralf Baechle5e83d432005-10-29 19:32:41 +0100589 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100590 select SYS_HAS_CPU_TX39XX
Ralf Baechle5e83d432005-10-29 19:32:41 +0100591 select SYS_SUPPORTS_32BIT_KERNEL
Sergei Shtylyov6a2603a2007-02-07 20:39:05 +0300592 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100593 select SYS_SUPPORTS_BIG_ENDIAN
Atsushi Nemoto21274352007-03-15 00:58:28 +0900594 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100595
596config TOSHIBA_RBTX4927
Yoichi Yuasa08a91282007-07-27 15:20:24 +0900597 bool "Toshiba RBTX49[23]7 board"
Ralf Baechle42f77542007-10-18 17:48:11 +0100598 select CEVT_R4K
Ralf Baechle5e83d432005-10-29 19:32:41 +0100599 select DMA_NONCOHERENT
600 select HAS_TXX9_SERIAL
601 select HW_HAS_PCI
Atsushi Nemotoc87abd72007-08-02 23:36:02 +0900602 select IRQ_CPU
603 select IRQ_TXX9
604 select I8259 if TOSHIBA_FPCIB0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100605 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100606 select SYS_HAS_CPU_TX49XX
Ralf Baechle5e83d432005-10-29 19:32:41 +0100607 select SYS_SUPPORTS_32BIT_KERNEL
608 select SYS_SUPPORTS_64BIT_KERNEL
Sergei Shtylyov6a2603a2007-02-07 20:39:05 +0300609 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100610 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +0000611 select SYS_SUPPORTS_KGDB
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900612 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100613 help
614 This Toshiba board is based on the TX4927 processor. Say Y here to
615 support this machine type
Linus Torvalds1da177e2005-04-16 15:20:36 -0700616
Ralf Baechle23fbee92005-07-25 22:45:45 +0000617config TOSHIBA_RBTX4938
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200618 bool "Toshiba RBTX4938 board"
Ralf Baechle42f77542007-10-18 17:48:11 +0100619 select CEVT_R4K
Ralf Baechle23fbee92005-07-25 22:45:45 +0000620 select DMA_NONCOHERENT
Ralf Baechle23fbee92005-07-25 22:45:45 +0000621 select HAS_TXX9_SERIAL
622 select HW_HAS_PCI
Atsushi Nemotoc87abd72007-08-02 23:36:02 +0900623 select IRQ_CPU
624 select IRQ_TXX9
Ralf Baechle23fbee92005-07-25 22:45:45 +0000625 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100626 select SYS_HAS_CPU_TX49XX
Ralf Baechle23fbee92005-07-25 22:45:45 +0000627 select SYS_SUPPORTS_32BIT_KERNEL
628 select SYS_SUPPORTS_LITTLE_ENDIAN
629 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +0000630 select SYS_SUPPORTS_KGDB
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900631 select GENERIC_HARDIRQS_NO__DO_IRQ
Atsushi Nemoto3896b052007-06-22 23:21:55 +0900632 select GENERIC_GPIO
Ralf Baechle23fbee92005-07-25 22:45:45 +0000633 help
634 This Toshiba board is based on the TX4938 processor. Say Y here to
635 support this machine type
636
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900637config WR_PPMC
638 bool "Wind River PPMC board"
Ralf Baechle42f77542007-10-18 17:48:11 +0100639 select CEVT_R4K
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900640 select IRQ_CPU
641 select BOOT_ELF32
642 select DMA_NONCOHERENT
643 select HW_HAS_PCI
644 select PCI_GT64XXX_PCI0
645 select SWAP_IO_SPACE
646 select SYS_HAS_CPU_MIPS32_R1
647 select SYS_HAS_CPU_MIPS32_R2
648 select SYS_HAS_CPU_MIPS64_R1
649 select SYS_HAS_CPU_NEVADA
650 select SYS_HAS_CPU_RM7000
651 select SYS_SUPPORTS_32BIT_KERNEL
652 select SYS_SUPPORTS_64BIT_KERNEL
653 select SYS_SUPPORTS_BIG_ENDIAN
654 select SYS_SUPPORTS_LITTLE_ENDIAN
655 help
656 This enables support for the Wind River MIPS32 4KC PPMC evaluation
657 board, which is based on GT64120 bridge chip.
658
Linus Torvalds1da177e2005-04-16 15:20:36 -0700659endchoice
660
Yoichi Yuasac3543e22007-05-11 20:44:30 +0900661source "arch/mips/au1000/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100662source "arch/mips/jazz/Kconfig"
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200663source "arch/mips/lasat/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100664source "arch/mips/pmc-sierra/Kconfig"
Ralf Baechle29c48692005-02-07 01:27:14 +0000665source "arch/mips/sgi-ip27/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000666source "arch/mips/sibyte/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100667source "arch/mips/tx4927/Kconfig"
Ralf Baechle23fbee92005-07-25 22:45:45 +0000668source "arch/mips/tx4938/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100669source "arch/mips/vr41xx/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000670
Ralf Baechle5e83d432005-10-29 19:32:41 +0100671endmenu
672
Linus Torvalds1da177e2005-04-16 15:20:36 -0700673config RWSEM_GENERIC_SPINLOCK
674 bool
675 default y
676
677config RWSEM_XCHGADD_ALGORITHM
678 bool
679
David Howellsf0d1b0b2006-12-08 02:37:49 -0800680config ARCH_HAS_ILOG2_U32
681 bool
682 default n
683
684config ARCH_HAS_ILOG2_U64
685 bool
686 default n
687
Akinobu Mita3c9ee7e2006-03-26 01:39:30 -0800688config GENERIC_FIND_NEXT_BIT
689 bool
690 default y
691
692config GENERIC_HWEIGHT
693 bool
694 default y
695
Linus Torvalds1da177e2005-04-16 15:20:36 -0700696config GENERIC_CALIBRATE_DELAY
697 bool
698 default y
699
Ralf Baechle7bcf7712007-10-11 23:46:09 +0100700config GENERIC_CLOCKEVENTS
701 bool
702 default y
703
Ralf Baechle8db02012006-10-02 16:54:48 +0100704config GENERIC_TIME
705 bool
706 default y
707
Ralf Baechlef5ff0a22007-08-13 15:26:12 +0100708config GENERIC_CMOS_UPDATE
709 bool
710 default y
711
Atsushi Nemoto1cc89032006-04-04 13:11:45 +0900712config SCHED_NO_NO_OMIT_FRAME_POINTER
713 bool
714 default y
715
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100716config GENERIC_HARDIRQS_NO__DO_IRQ
717 bool
718 default n
719
Linus Torvalds1da177e2005-04-16 15:20:36 -0700720#
721# Select some configuration options automatically based on user selections.
722#
723config ARC
724 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700725
Ralf Baechle61ed2422005-09-15 08:52:34 +0000726config ARCH_MAY_HAVE_PC_FDC
727 bool
728
Marc St-Jean9267a302007-06-14 15:55:31 -0600729config BOOT_RAW
730 bool
731
Ralf Baechle42f77542007-10-18 17:48:11 +0100732config CEVT_R4K
733 bool
734
Aurelien Jarnodf78b5c2007-09-05 08:58:26 +0200735config CFE
736 bool
737
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700738config DMA_COHERENT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700739 bool
740
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700741config DMA_IP27
Linus Torvalds1da177e2005-04-16 15:20:36 -0700742 bool
743
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700744config DMA_IP32
745 bool
746 select DMA_NEED_PCI_MAP_STATE
747
748config DMA_NONCOHERENT
749 bool
750 select DMA_NEED_PCI_MAP_STATE
751
752config DMA_NEED_PCI_MAP_STATE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700753 bool
754
755config EARLY_PRINTK
Ralf Baechle36a88532007-03-01 11:56:43 +0000756 bool "Early printk" if EMBEDDED && DEBUG_KERNEL
757 depends on SYS_HAS_EARLY_PRINTK
758 default y
759 help
760 This option enables special console drivers which allow the kernel
761 to print messages very early in the bootup process.
762
763 This is useful for kernel debugging when your machine crashes very
Robert P. J. Day490dcc42007-05-20 12:11:07 -0400764 early before the console code is initialized. For normal operation,
765 it is not recommended because it looks ugly on some machines and
766 doesn't cooperate with an X server. You should normally say N here,
Ralf Baechle36a88532007-03-01 11:56:43 +0000767 unless you want to debug such a crash.
768
769config SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700770 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700771
Ralf Baechledbb74542007-08-07 14:52:17 +0100772config HOTPLUG_CPU
773 bool
774 default n
775
Linus Torvalds1da177e2005-04-16 15:20:36 -0700776config I8259
777 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700778
Linus Torvalds1da177e2005-04-16 15:20:36 -0700779config MIPS_BONITO64
780 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700781
782config MIPS_MSC
783 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700784
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200785config MIPS_NILE4
786 bool
787
Linus Torvalds1da177e2005-04-16 15:20:36 -0700788config MIPS_DISABLE_OBSOLETE_IDE
789 bool
790
Maciej W. Rozyckid388d682007-05-29 15:08:07 +0100791config NO_IOPORT
792 def_bool n
793
Ralf Baechle8313da32007-08-24 16:48:30 +0100794config GENERIC_ISA_DMA
795 bool
796 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
797
Ralf Baechleaa414df2006-11-30 01:14:51 +0000798config GENERIC_ISA_DMA_SUPPORT_BROKEN
799 bool
Ralf Baechle8313da32007-08-24 16:48:30 +0100800 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000801
Yoichi Yuasa09663332007-05-22 00:05:58 +0900802config GENERIC_GPIO
803 bool
804
Ralf Baechle5e83d432005-10-29 19:32:41 +0100805#
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100806# Endianess selection. Sufficiently obscure so many users don't know what to
Ralf Baechle5e83d432005-10-29 19:32:41 +0100807# answer,so we try hard to limit the available choices. Also the use of a
808# choice statement should be more obvious to the user.
809#
810choice
811 prompt "Endianess selection"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700812 help
813 Some MIPS machines can be configured for either little or big endian
Ralf Baechle5e83d432005-10-29 19:32:41 +0100814 byte order. These modes require different kernels and a different
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100815 Linux distribution. In general there is one preferred byteorder for a
Ralf Baechle5e83d432005-10-29 19:32:41 +0100816 particular system but some systems are just as commonly used in the
David Sterba3dde6ad2007-05-09 07:12:20 +0200817 one or the other endianness.
Ralf Baechle5e83d432005-10-29 19:32:41 +0100818
819config CPU_BIG_ENDIAN
820 bool "Big endian"
821 depends on SYS_SUPPORTS_BIG_ENDIAN
822
823config CPU_LITTLE_ENDIAN
824 bool "Little endian"
825 depends on SYS_SUPPORTS_LITTLE_ENDIAN
826 help
827
828endchoice
829
Ralf Baechle21162452007-02-09 17:08:58 +0000830config SYS_SUPPORTS_APM_EMULATION
831 bool
832
Ralf Baechle5e83d432005-10-29 19:32:41 +0100833config SYS_SUPPORTS_BIG_ENDIAN
834 bool
835
836config SYS_SUPPORTS_LITTLE_ENDIAN
837 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700838
839config IRQ_CPU
840 bool
841
842config IRQ_CPU_RM7K
843 bool
844
Ralf Baechle5e83d432005-10-29 19:32:41 +0100845config IRQ_CPU_RM9K
846 bool
847
Marc St-Jean9267a302007-06-14 15:55:31 -0600848config IRQ_MSP_SLP
849 bool
850
851config IRQ_MSP_CIC
852 bool
853
Atsushi Nemoto8420fd02007-08-02 23:35:53 +0900854config IRQ_TXX9
855 bool
856
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +0900857config IRQ_GT641XX
858 bool
859
Linus Torvalds1da177e2005-04-16 15:20:36 -0700860config MIPS_BOARDS_GEN
861 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700862
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900863config PCI_GT64XXX_PCI0
Linus Torvalds1da177e2005-04-16 15:20:36 -0700864 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700865
Marc St-Jean9267a302007-06-14 15:55:31 -0600866config NO_EXCEPT_FILL
867 bool
868
Linus Torvalds1da177e2005-04-16 15:20:36 -0700869config MIPS_TX3927
870 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700871 select HAS_TXX9_SERIAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700872
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200873config MIPS_RM9122
874 bool
875 select SERIAL_RM9000
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200876
Pete Popovbdf21b12005-07-14 17:47:57 +0000877config PNX8550
878 bool
879 select SOC_PNX8550
880
881config SOC_PNX8550
882 bool
Pete Popovbdf21b12005-07-14 17:47:57 +0000883 select DMA_NONCOHERENT
884 select HW_HAS_PCI
Ralf Baechleb8c2a772005-10-31 13:08:37 +0000885 select SYS_HAS_CPU_MIPS32_R1
Ralf Baechle36a88532007-03-01 11:56:43 +0000886 select SYS_HAS_EARLY_PRINTK
Ralf Baechle7cf80532005-10-20 22:33:09 +0100887 select SYS_SUPPORTS_32BIT_KERNEL
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100888 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechlecc801072007-02-17 02:58:39 +0000889 select SYS_SUPPORTS_KGDB
Florian Fainelli4ead1682007-05-22 21:44:42 +0200890 select GENERIC_GPIO
Pete Popovbdf21b12005-07-14 17:47:57 +0000891
Linus Torvalds1da177e2005-04-16 15:20:36 -0700892config SWAP_IO_SPACE
893 bool
894
dmitry pervushin355c4712006-05-21 14:53:06 +0400895config EMMA2RH
896 bool
897 depends on MARKEINS
898 default y
899
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200900config SERIAL_RM9000
901 bool
902
Ralf Baechle5e83d432005-10-29 19:32:41 +0100903config ARC32
904 bool
905
Linus Torvalds1da177e2005-04-16 15:20:36 -0700906config BOOT_ELF32
907 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700908
909config MIPS_L1_CACHE_SHIFT
910 int
Thomas Bogendoerfer06cf5582007-06-20 23:36:47 +0200911 default "4" if MACH_DECSTATION
912 default "7" if SGI_IP27 || SNI_RM
Marc St-Jean9267a302007-06-14 15:55:31 -0600913 default "4" if PMC_MSP4200_EVAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700914 default "5"
915
Linus Torvalds1da177e2005-04-16 15:20:36 -0700916config HAVE_STD_PC_SERIAL_PORT
917 bool
918
Linus Torvalds1da177e2005-04-16 15:20:36 -0700919config ARC_CONSOLE
920 bool "ARC console support"
Ralf Baechle36a88532007-03-01 11:56:43 +0000921 depends on SGI_IP22 || (SNI_RM && CPU_LITTLE_ENDIAN)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700922
923config ARC_MEMORY
924 bool
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100925 depends on MACH_JAZZ || SNI_RM || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700926 default y
927
928config ARC_PROMLIB
929 bool
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100930 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700931 default y
932
933config ARC64
934 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700935
936config BOOT_ELF64
937 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700938
Linus Torvalds1da177e2005-04-16 15:20:36 -0700939menu "CPU selection"
940
Ralf Baechle7bcf7712007-10-11 23:46:09 +0100941source "kernel/time/Kconfig"
942
Linus Torvalds1da177e2005-04-16 15:20:36 -0700943choice
944 prompt "CPU type"
945 default CPU_R4X00
946
Fuxin Zhang2a21c732007-06-06 14:52:43 +0800947config CPU_LOONGSON2
948 bool "Loongson 2"
949 depends on SYS_HAS_CPU_LOONGSON2
950 select CPU_SUPPORTS_32BIT_KERNEL
951 select CPU_SUPPORTS_64BIT_KERNEL
952 select CPU_SUPPORTS_HIGHMEM
953 help
954 The Loongson 2E processor implements the MIPS III instruction set
955 with many extensions.
956
Ralf Baechle6e760c82005-07-06 12:08:11 +0000957config CPU_MIPS32_R1
958 bool "MIPS32 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100959 depends on SYS_HAS_CPU_MIPS32_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100960 select CPU_HAS_LLSC
Ralf Baechle6e760c82005-07-06 12:08:11 +0000961 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +0000962 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000963 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +0000964 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100965 Choose this option to build a kernel for release 1 or later of the
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000966 MIPS32 architecture. Most modern embedded systems with a 32-bit
967 MIPS processor are based on a MIPS32 processor. If you know the
968 specific type of processor in your system, choose those that one
969 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
970 Release 2 of the MIPS32 architecture is available since several
971 years so chances are you even have a MIPS32 Release 2 processor
972 in which case you should choose CPU_MIPS32_R2 instead for better
973 performance.
974
975config CPU_MIPS32_R2
976 bool "MIPS32 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100977 depends on SYS_HAS_CPU_MIPS32_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100978 select CPU_HAS_LLSC
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000979 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +0000980 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000981 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000982 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100983 Choose this option to build a kernel for release 2 or later of the
Ralf Baechle6e760c82005-07-06 12:08:11 +0000984 MIPS32 architecture. Most modern embedded systems with a 32-bit
985 MIPS processor are based on a MIPS32 processor. If you know the
986 specific type of processor in your system, choose those that one
987 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700988
Ralf Baechle6e760c82005-07-06 12:08:11 +0000989config CPU_MIPS64_R1
990 bool "MIPS64 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100991 depends on SYS_HAS_CPU_MIPS64_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100992 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +0000993 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700994 select CPU_SUPPORTS_32BIT_KERNEL
995 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000996 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +0000997 help
998 Choose this option to build a kernel for release 1 or later of the
999 MIPS64 architecture. Many modern embedded systems with a 64-bit
1000 MIPS processor are based on a MIPS64 processor. If you know the
1001 specific type of processor in your system, choose those that one
1002 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001003 Release 2 of the MIPS64 architecture is available since several
1004 years so chances are you even have a MIPS64 Release 2 processor
1005 in which case you should choose CPU_MIPS64_R2 instead for better
1006 performance.
1007
1008config CPU_MIPS64_R2
1009 bool "MIPS64 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001010 depends on SYS_HAS_CPU_MIPS64_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001011 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +00001012 select CPU_HAS_PREFETCH
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001013 select CPU_SUPPORTS_32BIT_KERNEL
1014 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001015 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001016 help
1017 Choose this option to build a kernel for release 2 or later of the
1018 MIPS64 architecture. Many modern embedded systems with a 64-bit
1019 MIPS processor are based on a MIPS64 processor. If you know the
1020 specific type of processor in your system, choose those that one
1021 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001022
1023config CPU_R3000
1024 bool "R3000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001025 depends on SYS_HAS_CPU_R3000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001026 select CPU_HAS_WB
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001027 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001028 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001029 help
1030 Please make sure to pick the right CPU type. Linux/MIPS is not
1031 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1032 *not* work on R4000 machines and vice versa. However, since most
1033 of the supported machines have an R4000 (or similar) CPU, R4x00
1034 might be a safe bet. If the resulting kernel does not work,
1035 try to recompile with R3000.
1036
1037config CPU_TX39XX
1038 bool "R39XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001039 depends on SYS_HAS_CPU_TX39XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001040 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001041
1042config CPU_VR41XX
1043 bool "R41xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001044 depends on SYS_HAS_CPU_VR41XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001045 select CPU_SUPPORTS_32BIT_KERNEL
1046 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001047 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001048 The options selects support for the NEC VR4100 series of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001049 Only choose this option if you have one of these processors as a
1050 kernel built with this option will not run on any other type of
1051 processor or vice versa.
1052
1053config CPU_R4300
1054 bool "R4300"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001055 depends on SYS_HAS_CPU_R4300
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001056 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001057 select CPU_SUPPORTS_32BIT_KERNEL
1058 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001059 help
1060 MIPS Technologies R4300-series processors.
1061
1062config CPU_R4X00
1063 bool "R4x00"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001064 depends on SYS_HAS_CPU_R4X00
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001065 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001066 select CPU_SUPPORTS_32BIT_KERNEL
1067 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001068 help
1069 MIPS Technologies R4000-series processors other than 4300, including
1070 the R4000, R4400, R4600, and 4700.
1071
1072config CPU_TX49XX
1073 bool "R49XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001074 depends on SYS_HAS_CPU_TX49XX
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001075 select CPU_HAS_LLSC
Atsushi Nemotode862b42006-03-17 12:59:22 +09001076 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001077 select CPU_SUPPORTS_32BIT_KERNEL
1078 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001079
1080config CPU_R5000
1081 bool "R5000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001082 depends on SYS_HAS_CPU_R5000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001083 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001084 select CPU_SUPPORTS_32BIT_KERNEL
1085 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001086 help
1087 MIPS Technologies R5000-series processors other than the Nevada.
1088
1089config CPU_R5432
1090 bool "R5432"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001091 depends on SYS_HAS_CPU_R5432
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001092 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001093 select CPU_SUPPORTS_32BIT_KERNEL
1094 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001095
1096config CPU_R6000
1097 bool "R6000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001098 depends on EXPERIMENTAL
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001099 select CPU_HAS_LLSC
Ralf Baechle7cf80532005-10-20 22:33:09 +01001100 depends on SYS_HAS_CPU_R6000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001101 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001102 help
1103 MIPS Technologies R6000 and R6000A series processors. Note these
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001104 processors are extremely rare and the support for them is incomplete.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001105
1106config CPU_NEVADA
1107 bool "RM52xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001108 depends on SYS_HAS_CPU_NEVADA
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001109 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001110 select CPU_SUPPORTS_32BIT_KERNEL
1111 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001112 help
1113 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1114
1115config CPU_R8000
1116 bool "R8000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001117 depends on EXPERIMENTAL
Ralf Baechle7cf80532005-10-20 22:33:09 +01001118 depends on SYS_HAS_CPU_R8000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001119 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001120 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001121 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001122 help
1123 MIPS Technologies R8000 processors. Note these processors are
1124 uncommon and the support for them is incomplete.
1125
1126config CPU_R10000
1127 bool "R10000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001128 depends on SYS_HAS_CPU_R10000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001129 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001130 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001131 select CPU_SUPPORTS_32BIT_KERNEL
1132 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001133 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001134 help
1135 MIPS Technologies R10000-series processors.
1136
1137config CPU_RM7000
1138 bool "RM7000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001139 depends on SYS_HAS_CPU_RM7000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001140 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001141 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001142 select CPU_SUPPORTS_32BIT_KERNEL
1143 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001144 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001145
1146config CPU_RM9000
1147 bool "RM9000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001148 depends on SYS_HAS_CPU_RM9000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001149 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001150 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001151 select CPU_SUPPORTS_32BIT_KERNEL
1152 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001153 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001154 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001155
1156config CPU_SB1
1157 bool "SB1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001158 depends on SYS_HAS_CPU_SB1
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001159 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001160 select CPU_SUPPORTS_32BIT_KERNEL
1161 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001162 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001163 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001164
1165endchoice
1166
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001167config SYS_HAS_CPU_LOONGSON2
1168 bool
1169
Ralf Baechle7cf80532005-10-20 22:33:09 +01001170config SYS_HAS_CPU_MIPS32_R1
1171 bool
1172
1173config SYS_HAS_CPU_MIPS32_R2
1174 bool
1175
1176config SYS_HAS_CPU_MIPS64_R1
1177 bool
1178
1179config SYS_HAS_CPU_MIPS64_R2
1180 bool
1181
1182config SYS_HAS_CPU_R3000
1183 bool
1184
1185config SYS_HAS_CPU_TX39XX
1186 bool
1187
1188config SYS_HAS_CPU_VR41XX
1189 bool
1190
1191config SYS_HAS_CPU_R4300
1192 bool
1193
1194config SYS_HAS_CPU_R4X00
1195 bool
1196
1197config SYS_HAS_CPU_TX49XX
1198 bool
1199
1200config SYS_HAS_CPU_R5000
1201 bool
1202
1203config SYS_HAS_CPU_R5432
1204 bool
1205
1206config SYS_HAS_CPU_R6000
1207 bool
1208
1209config SYS_HAS_CPU_NEVADA
1210 bool
1211
1212config SYS_HAS_CPU_R8000
1213 bool
1214
1215config SYS_HAS_CPU_R10000
1216 bool
1217
1218config SYS_HAS_CPU_RM7000
1219 bool
1220
1221config SYS_HAS_CPU_RM9000
1222 bool
1223
1224config SYS_HAS_CPU_SB1
1225 bool
1226
Ralf Baechle17099b12007-07-14 13:24:05 +01001227#
1228# CPU may reorder R->R, R->W, W->R, W->W
1229# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1230#
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001231config WEAK_ORDERING
1232 bool
Ralf Baechle17099b12007-07-14 13:24:05 +01001233
1234#
1235# CPU may reorder reads and writes beyond LL/SC
1236# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1237#
1238config WEAK_REORDERING_BEYOND_LLSC
1239 bool
Ralf Baechle5e83d432005-10-29 19:32:41 +01001240endmenu
1241
1242#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001243# These two indicate any level of the MIPS32 and MIPS64 architecture
Ralf Baechle5e83d432005-10-29 19:32:41 +01001244#
1245config CPU_MIPS32
1246 bool
1247 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1248
1249config CPU_MIPS64
1250 bool
1251 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1252
1253#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001254# These two indicate the revision of the architecture, either Release 1 or Release 2
Ralf Baechle5e83d432005-10-29 19:32:41 +01001255#
1256config CPU_MIPSR1
1257 bool
1258 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1259
1260config CPU_MIPSR2
1261 bool
1262 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1263
1264config SYS_SUPPORTS_32BIT_KERNEL
1265 bool
1266config SYS_SUPPORTS_64BIT_KERNEL
1267 bool
1268config CPU_SUPPORTS_32BIT_KERNEL
1269 bool
1270config CPU_SUPPORTS_64BIT_KERNEL
1271 bool
1272
1273menu "Kernel type"
1274
1275choice
1276
1277 prompt "Kernel code model"
1278 help
1279 You should only select this option if you have a workload that
1280 actually benefits from 64-bit processing or if your machine has
1281 large memory. You will only be presented a single option in this
1282 menu if your system does not support both 32-bit and 64-bit kernels.
1283
1284config 32BIT
1285 bool "32-bit kernel"
1286 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1287 select TRAD_SIGNALS
1288 help
1289 Select this option if you want to build a 32-bit kernel.
1290config 64BIT
1291 bool "64-bit kernel"
1292 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1293 help
1294 Select this option if you want to build a 64-bit kernel.
1295
1296endchoice
1297
Linus Torvalds1da177e2005-04-16 15:20:36 -07001298choice
1299 prompt "Kernel page size"
1300 default PAGE_SIZE_4KB
1301
1302config PAGE_SIZE_4KB
1303 bool "4kB"
1304 help
1305 This option select the standard 4kB Linux page size. On some
1306 R3000-family processors this is the only available page size. Using
1307 4kB page size will minimize memory consumption and is therefore
1308 recommended for low memory systems.
1309
1310config PAGE_SIZE_8KB
1311 bool "8kB"
1312 depends on EXPERIMENTAL && CPU_R8000
1313 help
1314 Using 8kB page size will result in higher performance kernel at
1315 the price of higher memory consumption. This option is available
1316 only on the R8000 processor. Not that at the time of this writing
1317 this option is still high experimental; there are also issues with
1318 compatibility of user applications.
1319
1320config PAGE_SIZE_16KB
1321 bool "16kB"
Ralf Baechle714bfad2006-05-17 14:04:30 +01001322 depends on !CPU_R3000 && !CPU_TX39XX
Linus Torvalds1da177e2005-04-16 15:20:36 -07001323 help
1324 Using 16kB page size will result in higher performance kernel at
1325 the price of higher memory consumption. This option is available on
Ralf Baechle714bfad2006-05-17 14:04:30 +01001326 all non-R3000 family processors. Note that you will need a suitable
1327 Linux distribution to support this.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001328
1329config PAGE_SIZE_64KB
1330 bool "64kB"
1331 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1332 help
1333 Using 64kB page size will result in higher performance kernel at
1334 the price of higher memory consumption. This option is available on
1335 all non-R3000 family processor. Not that at the time of this
Ralf Baechle714bfad2006-05-17 14:04:30 +01001336 writing this option is still high experimental.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001337
1338endchoice
1339
1340config BOARD_SCACHE
1341 bool
1342
1343config IP22_CPU_SCACHE
1344 bool
1345 select BOARD_SCACHE
1346
Chris Dearman9318c512006-06-20 17:15:20 +01001347#
1348# Support for a MIPS32 / MIPS64 style S-caches
1349#
1350config MIPS_CPU_SCACHE
1351 bool
1352 select BOARD_SCACHE
1353
Linus Torvalds1da177e2005-04-16 15:20:36 -07001354config R5000_CPU_SCACHE
1355 bool
1356 select BOARD_SCACHE
1357
1358config RM7000_CPU_SCACHE
1359 bool
1360 select BOARD_SCACHE
1361
1362config SIBYTE_DMA_PAGEOPS
1363 bool "Use DMA to clear/copy pages"
1364 depends on CPU_SB1
1365 help
1366 Instead of using the CPU to zero and copy pages, use a Data Mover
1367 channel. These DMA channels are otherwise unused by the standard
1368 SiByte Linux port. Seems to give a small performance benefit.
1369
1370config CPU_HAS_PREFETCH
Ralf Baechlec8094b52005-08-05 14:28:54 +00001371 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001372
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001373choice
1374 prompt "MIPS MT options"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001375
1376config MIPS_MT_DISABLED
1377 bool "Disable multithreading support."
1378 help
1379 Use this option if your workload can't take advantage of
1380 MIPS hardware multithreading support. On systems that don't have
1381 the option of an MT-enabled processor this option will be the only
1382 option in this menu.
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001383
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001384config MIPS_MT_SMP
1385 bool "Use 1 TC on each available VPE for SMP"
1386 depends on SYS_SUPPORTS_MULTITHREADING
1387 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001388 select CPU_MIPSR2_IRQ_EI
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001389 select CPU_MIPSR2_SRS
1390 select MIPS_MT
Ralf Baechlef510aa32007-03-16 21:58:37 +00001391 select NR_CPUS_DEFAULT_2
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001392 select SMP
1393 select SYS_SUPPORTS_SMP
1394 help
1395 This is a kernel model which is also known a VSMP or lately
1396 has been marketesed into SMVP.
1397
Ralf Baechle41c594a2006-04-05 09:45:45 +01001398config MIPS_MT_SMTC
1399 bool "SMTC: Use all TCs on all VPEs for SMP"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001400 depends on CPU_MIPS32_R2
1401 #depends on CPU_MIPS64_R2 # once there is hardware ...
1402 depends on SYS_SUPPORTS_MULTITHREADING
Ralf Baechleea580402007-10-11 23:46:09 +01001403 select GENERIC_CLOCKEVENTS_BROADCAST
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001404 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001405 select CPU_MIPSR2_IRQ_EI
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001406 select CPU_MIPSR2_SRS
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001407 select MIPS_MT
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001408 select NR_CPUS_DEFAULT_8
Ralf Baechle41c594a2006-04-05 09:45:45 +01001409 select SMP
Ralf Baechle73b76c72006-08-15 19:36:40 +01001410 select SYS_SUPPORTS_SMP
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001411 help
1412 This is a kernel model which is known a SMTC or lately has been
1413 marketesed into SMVP.
Ralf Baechle41c594a2006-04-05 09:45:45 +01001414
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001415endchoice
1416
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001417config MIPS_MT
1418 bool
1419
1420config SYS_SUPPORTS_MULTITHREADING
1421 bool
1422
Ralf Baechlef088fc82006-04-05 09:45:47 +01001423config MIPS_MT_FPAFF
1424 bool "Dynamic FPU affinity for FP-intensive threads"
Ralf Baechlef088fc82006-04-05 09:45:47 +01001425 default y
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001426 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1427
1428config MIPS_VPE_LOADER
1429 bool "VPE loader support."
1430 depends on SYS_SUPPORTS_MULTITHREADING
1431 select CPU_MIPSR2_IRQ_VI
1432 select CPU_MIPSR2_IRQ_EI
1433 select CPU_MIPSR2_SRS
1434 select MIPS_MT
1435 help
1436 Includes a loader for loading an elf relocatable object
1437 onto another VPE and running it.
Ralf Baechlef088fc82006-04-05 09:45:47 +01001438
Ralf Baechleac8be952007-01-20 00:18:01 +00001439config MIPS_MT_SMTC_INSTANT_REPLAY
1440 bool "Low-latency Dispatch of Deferred SMTC IPIs"
Ralf Baechle619af722007-03-26 15:13:57 +01001441 depends on MIPS_MT_SMTC && !PREEMPT
Ralf Baechleac8be952007-01-20 00:18:01 +00001442 default y
1443 help
1444 SMTC pseudo-interrupts between TCs are deferred and queued
1445 if the target TC is interrupt-inhibited (IXMT). In the first
1446 SMTC prototypes, these queued IPIs were serviced on return
1447 to user mode, or on entry into the kernel idle loop. The
1448 INSTANT_REPLAY option dispatches them as part of local_irq_restore()
1449 processing, which adds runtime overhead (hence the option to turn
1450 it off), but ensures that IPIs are handled promptly even under
1451 heavy I/O interrupt load.
1452
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001453config MIPS_MT_SMTC_IM_BACKSTOP
1454 bool "Use per-TC register bits as backstop for inhibited IM bits"
1455 depends on MIPS_MT_SMTC
1456 default y
1457 help
1458 To support multiple TC microthreads acting as "CPUs" within
1459 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1460 during interrupt handling. To support legacy drivers and interrupt
1461 controller management code, SMTC has a "backstop" to track and
1462 if necessary restore the interrupt mask. This has some performance
1463 impact on interrupt service overhead. Disable it only if you know
1464 what you are doing.
1465
Kevin D. Kissellf571eff2007-08-03 19:38:03 +02001466config MIPS_MT_SMTC_IRQAFF
1467 bool "Support IRQ affinity API"
1468 depends on MIPS_MT_SMTC
1469 default n
1470 help
1471 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1472 for SMTC Linux kernel. Requires platform support, of which
1473 an example can be found in the MIPS kernel i8259 and Malta
1474 platform code. It is recommended that MIPS_MT_SMTC_INSTANT_REPLAY
1475 be enabled if MIPS_MT_SMTC_IRQAFF is used. Adds overhead to
1476 interrupt dispatch, and should be used only if you know what
1477 you are doing.
1478
Ralf Baechlee01402b2005-07-14 15:57:16 +00001479config MIPS_VPE_LOADER_TOM
1480 bool "Load VPE program into memory hidden from linux"
1481 depends on MIPS_VPE_LOADER
1482 default y
1483 help
1484 The loader can use memory that is present but has been hidden from
1485 Linux using the kernel command line option "mem=xxMB". It's up to
1486 you to ensure the amount you put in the option and the space your
1487 program requires is less or equal to the amount physically present.
1488
1489# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1490config MIPS_VPE_APSP_API
Ralf Baechle5e83d432005-10-29 19:32:41 +01001491 bool "Enable support for AP/SP API (RTLX)"
1492 depends on MIPS_VPE_LOADER
1493 help
Ralf Baechlee01402b2005-07-14 15:57:16 +00001494
Ralf Baechle26009902006-04-05 09:45:45 +01001495config MIPS_APSP_KSPD
1496 bool "Enable KSPD"
1497 depends on MIPS_VPE_APSP_API
1498 default y
1499 help
1500 KSPD is a kernel daemon that accepts syscall requests from the SP
1501 side, actions them and returns the results. It also handles the
1502 "exit" syscall notifying other kernel modules the SP program is
1503 exiting. You probably want to say yes here.
1504
Linus Torvalds1da177e2005-04-16 15:20:36 -07001505config SB1_PASS_1_WORKAROUNDS
1506 bool
1507 depends on CPU_SB1_PASS_1
1508 default y
1509
1510config SB1_PASS_2_WORKAROUNDS
1511 bool
1512 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1513 default y
1514
1515config SB1_PASS_2_1_WORKAROUNDS
1516 bool
1517 depends on CPU_SB1 && CPU_SB1_PASS_2
1518 default y
1519
1520config 64BIT_PHYS_ADDR
Ralf Baechled806cb22007-08-02 00:36:08 +01001521 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001522
Linus Torvalds1da177e2005-04-16 15:20:36 -07001523config CPU_HAS_LLSC
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001524 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001525
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001526config CPU_HAS_SMARTMIPS
1527 depends on SYS_SUPPORTS_SMARTMIPS
1528 bool "Support for the SmartMIPS ASE"
1529 help
1530 SmartMIPS is a extension of the MIPS32 architecture aimed at
1531 increased security at both hardware and software level for
1532 smartcards. Enabling this option will allow proper use of the
1533 SmartMIPS instructions by Linux applications. However a kernel with
1534 this option will not work on a MIPS core without SmartMIPS core. If
1535 you don't know you probably don't have SmartMIPS and should say N
1536 here.
1537
Linus Torvalds1da177e2005-04-16 15:20:36 -07001538config CPU_HAS_WB
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001539 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001540
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001541config 64BIT_CONTEXT
1542 bool "Save 64bit integer registers"
1543 depends on 32BIT && CPU_LOONGSON2
1544 help
1545 Loongson2 CPU is 64bit , when used in 32BIT mode, its integer
1546 registers can still be accessed as 64bit, mainly for multimedia
1547 instructions. We must have all 64bit save/restored to make sure
1548 those instructions to get correct result.
1549
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001550#
1551# Vectored interrupt mode is an R2 feature
1552#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001553config CPU_MIPSR2_IRQ_VI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001554 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001555
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001556#
1557# Extended interrupt mode is an R2 feature
1558#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001559config CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001560 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001561
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001562#
1563# Shadow registers are an R2 feature
1564#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001565config CPU_MIPSR2_SRS
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001566 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001567
Linus Torvalds1da177e2005-04-16 15:20:36 -07001568config CPU_HAS_SYNC
1569 bool
1570 depends on !CPU_R3000
1571 default y
1572
Ralf Baechleea580402007-10-11 23:46:09 +01001573config GENERIC_CLOCKEVENTS_BROADCAST
1574 bool
1575
Linus Torvalds1da177e2005-04-16 15:20:36 -07001576#
Ralf Baechle797798c2005-08-10 15:17:11 +00001577# Use the generic interrupt handling code in kernel/irq/:
1578#
1579config GENERIC_HARDIRQS
1580 bool
1581 default y
1582
1583config GENERIC_IRQ_PROBE
1584 bool
1585 default y
1586
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001587config IRQ_PER_CPU
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001588 bool
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001589
Ralf Baechle797798c2005-08-10 15:17:11 +00001590#
Linus Torvalds1da177e2005-04-16 15:20:36 -07001591# - Highmem only makes sense for the 32-bit kernel.
1592# - The current highmem code will only work properly on physically indexed
1593# caches such as R3000, SB1, R7000 or those that look like they're virtually
1594# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1595# moment we protect the user and offer the highmem option only on machines
1596# where it's known to be safe. This will not offer highmem on a few systems
1597# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1598# indexed CPUs but we're playing safe.
Ralf Baechle797798c2005-08-10 15:17:11 +00001599# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1600# know they might have memory configurations that could make use of highmem
1601# support.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001602#
1603config HIGHMEM
1604 bool "High Memory Support"
Ralf Baechle797798c2005-08-10 15:17:11 +00001605 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1606
1607config CPU_SUPPORTS_HIGHMEM
1608 bool
1609
1610config SYS_SUPPORTS_HIGHMEM
1611 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001612
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001613config SYS_SUPPORTS_SMARTMIPS
1614 bool
1615
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001616config ARCH_FLATMEM_ENABLE
1617 def_bool y
1618 depends on !NUMA
1619
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001620config ARCH_DISCONTIGMEM_ENABLE
1621 bool
1622 default y if SGI_IP27
1623 help
David Sterba3dde6ad2007-05-09 07:12:20 +02001624 Say Y to support efficient handling of discontiguous physical memory,
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001625 for architectures which are either NUMA (Non-Uniform Memory Access)
1626 or have huge holes in the physical address space for other reasons.
1627 See <file:Documentation/vm/numa> for more.
1628
Atsushi Nemotob1c6cd42006-07-03 00:09:47 +09001629config ARCH_SPARSEMEM_ENABLE
1630 bool
Atsushi Nemoto7de58fa2006-07-05 01:22:44 +09001631 select SPARSEMEM_STATIC
Atsushi Nemoto31473742006-07-03 00:09:47 +09001632
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001633config NUMA
1634 bool "NUMA Support"
1635 depends on SYS_SUPPORTS_NUMA
1636 help
1637 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1638 Access). This option improves performance on systems with more
1639 than two nodes; on two node systems it is generally better to
1640 leave it disabled; on single node systems disable this option
1641 disabled.
1642
1643config SYS_SUPPORTS_NUMA
1644 bool
1645
Yasunori Gotoc80d79d2006-04-10 22:53:53 -07001646config NODES_SHIFT
1647 int
1648 default "6"
1649 depends on NEED_MULTIPLE_NODES
1650
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001651source "mm/Kconfig"
1652
Linus Torvalds1da177e2005-04-16 15:20:36 -07001653config SMP
1654 bool "Multi-Processing support"
Ralf Baechlee73ea272006-06-04 11:51:46 +01001655 depends on SYS_SUPPORTS_SMP
Ralf Baechleb4b30a52006-08-03 17:34:24 +01001656 select IRQ_PER_CPU
Ralf Baechlee73ea272006-06-04 11:51:46 +01001657 help
Linus Torvalds1da177e2005-04-16 15:20:36 -07001658 This enables support for systems with more than one CPU. If you have
1659 a system with only one CPU, like most personal computers, say N. If
1660 you have a system with more than one CPU, say Y.
1661
1662 If you say N here, the kernel will run on single and multiprocessor
1663 machines, but will use only one CPU of a multiprocessor machine. If
1664 you say Y here, the kernel will run on many, but not all,
1665 singleprocessor machines. On a singleprocessor machine, the kernel
1666 will run faster if you say N here.
1667
1668 People using multiprocessor machines who say Y here should also say
1669 Y to "Enhanced Real Time Clock Support", below.
1670
1671 See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1672 available at <http://www.tldp.org/docs.html#howto>.
1673
1674 If you don't know what to do here, say N.
1675
Ralf Baechlee73ea272006-06-04 11:51:46 +01001676config SYS_SUPPORTS_SMP
1677 bool
1678
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001679config NR_CPUS_DEFAULT_1
1680 bool
1681
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001682config NR_CPUS_DEFAULT_2
1683 bool
1684
1685config NR_CPUS_DEFAULT_4
1686 bool
1687
1688config NR_CPUS_DEFAULT_8
1689 bool
1690
1691config NR_CPUS_DEFAULT_16
1692 bool
1693
1694config NR_CPUS_DEFAULT_32
1695 bool
1696
1697config NR_CPUS_DEFAULT_64
1698 bool
1699
Linus Torvalds1da177e2005-04-16 15:20:36 -07001700config NR_CPUS
1701 int "Maximum number of CPUs (2-64)"
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001702 range 1 64 if NR_CPUS_DEFAULT_1
Linus Torvalds1da177e2005-04-16 15:20:36 -07001703 depends on SMP
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001704 default "1" if NR_CPUS_DEFAULT_1
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001705 default "2" if NR_CPUS_DEFAULT_2
1706 default "4" if NR_CPUS_DEFAULT_4
1707 default "8" if NR_CPUS_DEFAULT_8
1708 default "16" if NR_CPUS_DEFAULT_16
1709 default "32" if NR_CPUS_DEFAULT_32
1710 default "64" if NR_CPUS_DEFAULT_64
Linus Torvalds1da177e2005-04-16 15:20:36 -07001711 help
1712 This allows you to specify the maximum number of CPUs which this
1713 kernel will support. The maximum supported value is 32 for 32-bit
1714 kernel and 64 for 64-bit kernels; the minimum value which makes
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001715 sense is 1 for Qemu (useful only for kernel debugging purposes)
1716 and 2 for all others.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001717
1718 This is purely to save memory - each supported CPU adds
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001719 approximately eight kilobytes to the kernel image. For best
1720 performance should round up your number of processors to the next
1721 power of two.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001722
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09001723#
1724# Timer Interrupt Frequency Configuration
1725#
1726
1727choice
1728 prompt "Timer frequency"
1729 default HZ_250
1730 help
1731 Allows the configuration of the timer frequency.
1732
1733 config HZ_48
1734 bool "48 HZ" if SYS_SUPPORTS_48HZ
1735
1736 config HZ_100
1737 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1738
1739 config HZ_128
1740 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1741
1742 config HZ_250
1743 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1744
1745 config HZ_256
1746 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1747
1748 config HZ_1000
1749 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1750
1751 config HZ_1024
1752 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1753
1754endchoice
1755
1756config SYS_SUPPORTS_48HZ
1757 bool
1758
1759config SYS_SUPPORTS_100HZ
1760 bool
1761
1762config SYS_SUPPORTS_128HZ
1763 bool
1764
1765config SYS_SUPPORTS_250HZ
1766 bool
1767
1768config SYS_SUPPORTS_256HZ
1769 bool
1770
1771config SYS_SUPPORTS_1000HZ
1772 bool
1773
1774config SYS_SUPPORTS_1024HZ
1775 bool
1776
1777config SYS_SUPPORTS_ARBIT_HZ
1778 bool
1779 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1780 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1781 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1782 !SYS_SUPPORTS_1024HZ
1783
1784config HZ
1785 int
1786 default 48 if HZ_48
1787 default 100 if HZ_100
1788 default 128 if HZ_128
1789 default 250 if HZ_250
1790 default 256 if HZ_256
1791 default 1000 if HZ_1000
1792 default 1024 if HZ_1024
1793
Ralf Baechlee80de852005-07-11 20:45:51 +00001794source "kernel/Kconfig.preempt"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001795
Linus Torvalds1da177e2005-04-16 15:20:36 -07001796config MIPS_INSANE_LARGE
1797 bool "Support for large 64-bit configurations"
Ralf Baechle875d43e2005-09-03 15:56:16 -07001798 depends on CPU_R10000 && 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001799 help
1800 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1801 previous 64-bit processors which only supported 40 bit / 1TB. If you
1802 need processes of more than 1TB virtual address space, say Y here.
1803 This will result in additional memory usage, so it is not
1804 recommended for normal users.
1805
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001806config KEXEC
1807 bool "Kexec system call (EXPERIMENTAL)"
1808 depends on EXPERIMENTAL
1809 help
1810 kexec is a system call that implements the ability to shutdown your
1811 current kernel, and to start another kernel. It is like a reboot
David Sterba3dde6ad2007-05-09 07:12:20 +02001812 but it is independent of the system firmware. And like a reboot
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001813 you can start any kernel with it, not just Linux.
1814
1815 The name comes from the similiarity to the exec system call.
1816
1817 It is an ongoing process to be certain the hardware in a machine
1818 is properly shutdown, so do not be surprised if this code does not
1819 initially work for you. It may help to enable device hotplugging
1820 support. As of this writing the exact hardware interface is
1821 strongly in flux, so no good recommendation can be made.
1822
1823config SECCOMP
1824 bool "Enable seccomp to safely compute untrusted bytecode"
Ralf Baechle293c5bd2007-07-25 16:19:33 +01001825 depends on PROC_FS
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001826 default y
1827 help
1828 This kernel feature is useful for number crunching applications
1829 that may need to compute untrusted bytecode during their
1830 execution. By using pipes or other transports made available to
1831 the process as file descriptors supporting the read/write
1832 syscalls, it's possible to isolate those applications in
1833 their own address space using seccomp. Once seccomp is
1834 enabled via /proc/<pid>/seccomp, it cannot be disabled
1835 and the task is only allowed to execute a few safe syscalls
1836 defined by each seccomp mode.
1837
1838 If unsure, say Y. Only embedded should say N here.
1839
Ralf Baechle5e83d432005-10-29 19:32:41 +01001840endmenu
1841
Linus Torvalds1da177e2005-04-16 15:20:36 -07001842config RWSEM_GENERIC_SPINLOCK
1843 bool
1844 default y
1845
Atsushi Nemoto1df0f0f2006-09-26 23:44:01 +09001846config LOCKDEP_SUPPORT
1847 bool
1848 default y
1849
1850config STACKTRACE_SUPPORT
1851 bool
1852 default y
1853
Ralf Baechleb6c35392005-11-25 11:35:40 +00001854source "init/Kconfig"
1855
Linus Torvalds1da177e2005-04-16 15:20:36 -07001856menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1857
Ralf Baechle5e83d432005-10-29 19:32:41 +01001858config HW_HAS_EISA
1859 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001860config HW_HAS_PCI
1861 bool
1862
1863config PCI
1864 bool "Support for PCI controller"
1865 depends on HW_HAS_PCI
Ralf Baechleabb4ae42007-10-11 23:46:03 +01001866 select PCI_DOMAINS
Linus Torvalds1da177e2005-04-16 15:20:36 -07001867 help
1868 Find out whether you have a PCI motherboard. PCI is the name of a
1869 bus system, i.e. the way the CPU talks to the other stuff inside
1870 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1871 say Y, otherwise N.
1872
1873 The PCI-HOWTO, available from
1874 <http://www.tldp.org/docs.html#howto>, contains valuable
1875 information about which PCI hardware does work under Linux and which
1876 doesn't.
1877
1878config PCI_DOMAINS
1879 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001880
1881source "drivers/pci/Kconfig"
1882
1883#
1884# ISA support is now enabled via select. Too many systems still have the one
1885# or other ISA chip on the board that users don't know about so don't expect
1886# users to choose the right thing ...
1887#
1888config ISA
1889 bool
1890
1891config EISA
1892 bool "EISA support"
Ralf Baechle5e83d432005-10-29 19:32:41 +01001893 depends on HW_HAS_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001894 select ISA
Ralf Baechleaa414df2006-11-30 01:14:51 +00001895 select GENERIC_ISA_DMA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001896 ---help---
1897 The Extended Industry Standard Architecture (EISA) bus was
1898 developed as an open alternative to the IBM MicroChannel bus.
1899
1900 The EISA bus provided some of the features of the IBM MicroChannel
1901 bus while maintaining backward compatibility with cards made for
1902 the older ISA bus. The EISA bus saw limited use between 1988 and
1903 1995 when it was made obsolete by the PCI bus.
1904
1905 Say Y here if you are building a kernel for an EISA-based machine.
1906
1907 Otherwise, say N.
1908
1909source "drivers/eisa/Kconfig"
1910
1911config TC
1912 bool "TURBOchannel support"
1913 depends on MACH_DECSTATION
1914 help
1915 TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1916 processors. Documentation on writing device drivers for TurboChannel
1917 is available at:
1918 <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1919
1920#config ACCESSBUS
1921# bool "Access.Bus support"
1922# depends on TC
1923
1924config MMU
1925 bool
1926 default y
1927
Ralf Baechled865bea2007-10-11 23:46:10 +01001928config I8253
1929 bool
1930
Ralf Baechlede61b542007-07-12 17:41:23 +01001931config PCSPEAKER
Michael Neulinge5c6c8e2006-03-14 00:11:50 -05001932 bool
1933
Linus Torvalds1da177e2005-04-16 15:20:36 -07001934source "drivers/pcmcia/Kconfig"
1935
1936source "drivers/pci/hotplug/Kconfig"
1937
1938endmenu
1939
1940menu "Executable file formats"
1941
1942source "fs/Kconfig.binfmt"
1943
1944config TRAD_SIGNALS
1945 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001946
Linus Torvalds1da177e2005-04-16 15:20:36 -07001947config BINFMT_IRIX
1948 bool "Include IRIX binary compatibility"
Ralf Baechle5e83d432005-10-29 19:32:41 +01001949 depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -07001950
1951config MIPS32_COMPAT
1952 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
Ralf Baechle875d43e2005-09-03 15:56:16 -07001953 depends on 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001954 help
1955 Select this option if you want Linux/MIPS 32-bit binary
1956 compatibility. Since all software available for Linux/MIPS is
1957 currently 32-bit you should say Y here.
1958
1959config COMPAT
1960 bool
1961 depends on MIPS32_COMPAT
1962 default y
1963
Atsushi Nemoto05e43962006-11-07 18:02:44 +09001964config SYSVIPC_COMPAT
1965 bool
1966 depends on COMPAT && SYSVIPC
1967 default y
1968
Linus Torvalds1da177e2005-04-16 15:20:36 -07001969config MIPS32_O32
1970 bool "Kernel support for o32 binaries"
1971 depends on MIPS32_COMPAT
1972 help
1973 Select this option if you want to run o32 binaries. These are pure
1974 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
1975 existing binaries are in this format.
1976
1977 If unsure, say Y.
1978
1979config MIPS32_N32
1980 bool "Kernel support for n32 binaries"
1981 depends on MIPS32_COMPAT
1982 help
1983 Select this option if you want to run n32 binaries. These are
1984 64-bit binaries using 32-bit quantities for addressing and certain
1985 data that would normally be 64-bit. They are used in special
1986 cases.
1987
1988 If unsure, say N.
1989
1990config BINFMT_ELF32
1991 bool
1992 default y if MIPS32_O32 || MIPS32_N32
1993
Ralf Baechle21162452007-02-09 17:08:58 +00001994endmenu
Linus Torvalds1da177e2005-04-16 15:20:36 -07001995
Ralf Baechle21162452007-02-09 17:08:58 +00001996menu "Power management options"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02001997
Ralf Baechle21162452007-02-09 17:08:58 +00001998source "kernel/power/Kconfig"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02001999
Linus Torvalds1da177e2005-04-16 15:20:36 -07002000endmenu
2001
Sam Ravnborgd5950b42005-07-11 21:03:49 -07002002source "net/Kconfig"
2003
Linus Torvalds1da177e2005-04-16 15:20:36 -07002004source "drivers/Kconfig"
2005
2006source "fs/Kconfig"
2007
Mathieu Desnoyers09caded2007-10-18 23:41:05 -07002008source "kernel/Kconfig.instrumentation"
Ralf Baechle5e83d432005-10-29 19:32:41 +01002009
Linus Torvalds1da177e2005-04-16 15:20:36 -07002010source "arch/mips/Kconfig.debug"
2011
2012source "security/Kconfig"
2013
2014source "crypto/Kconfig"
2015
2016source "lib/Kconfig"