blob: 0893e084150ea023b7fefecfaf8266c585c40642 [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
31 select SYS_SUPPORTS_64BIT_KERNEL
32 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +000033 select SYS_SUPPORTS_KGDB
Ralf Baechle35189fa2006-06-18 16:39:46 +010034 help
35 The eXcite is a smart camera platform manufactured by
Thomas Koellerbe915892007-02-23 01:40:34 +010036 Basler Vision Technologies AG.
Ralf Baechle35189fa2006-06-18 16:39:46 +010037
38config BASLER_EXCITE_PROTOTYPE
39 bool "Support for pre-release units"
40 depends on BASLER_EXCITE
41 default n
42 help
43 Pre-series (prototype) units are different from later ones in
44 some ways. Select this option if you have one of these. Please
45 note that a kernel built with this option selected will not be
46 able to run on normal units.
47
Linus Torvalds1da177e2005-04-16 15:20:36 -070048config MIPS_COBALT
Martin Michlmayr3fa986f2006-05-09 23:34:53 +020049 bool "Cobalt Server"
Linus Torvalds1da177e2005-04-16 15:20:36 -070050 select DMA_NONCOHERENT
51 select HW_HAS_PCI
52 select I8259
53 select IRQ_CPU
Yoichi Yuasa252161e2007-03-14 21:51:26 +090054 select PCI_GT64XXX_PCI0
Ralf Baechle7cf80532005-10-20 22:33:09 +010055 select SYS_HAS_CPU_NEVADA
Yoichi Yuasa0a22e0d2007-03-02 12:42:33 +090056 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -070057 select SYS_SUPPORTS_32BIT_KERNEL
58 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Ralf Baechle5e83d432005-10-29 19:32:41 +010059 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +090060 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -070061
62config MACH_DECSTATION
Martin Michlmayr3fa986f2006-05-09 23:34:53 +020063 bool "DECstations"
Linus Torvalds1da177e2005-04-16 15:20:36 -070064 select BOOT_ELF32
65 select DMA_NONCOHERENT
Maciej W. Rozyckid388d682007-05-29 15:08:07 +010066 select NO_IOPORT
Linus Torvalds1da177e2005-04-16 15:20:36 -070067 select IRQ_CPU
Ralf Baechle7cf80532005-10-20 22:33:09 +010068 select SYS_HAS_CPU_R3000
69 select SYS_HAS_CPU_R4X00
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -070070 select SYS_SUPPORTS_32BIT_KERNEL
71 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Ralf Baechle5e83d432005-10-29 19:32:41 +010072 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +090073 select SYS_SUPPORTS_128HZ
74 select SYS_SUPPORTS_256HZ
75 select SYS_SUPPORTS_1024HZ
Ralf Baechle5e83d432005-10-29 19:32:41 +010076 help
Linus Torvalds1da177e2005-04-16 15:20:36 -070077 This enables support for DEC's MIPS based workstations. For details
78 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
79 DECstation porting pages on <http://decstation.unix-ag.org/>.
80
81 If you have one of the following DECstation Models you definitely
82 want to choose R4xx0 for the CPU Type:
83
84 DECstation 5000/50
85 DECstation 5000/150
86 DECstation 5000/260
87 DECsystem 5900/260
88
89 otherwise choose R3000.
90
Ralf Baechle5e83d432005-10-29 19:32:41 +010091config MACH_JAZZ
Martin Michlmayr3fa986f2006-05-09 23:34:53 +020092 bool "Jazz family of machines"
Ralf Baechle5e83d432005-10-29 19:32:41 +010093 select ARC
94 select ARC32
95 select ARCH_MAY_HAVE_PC_FDC
96 select GENERIC_ISA_DMA
97 select I8259
98 select ISA
Ralf Baechlede61b542007-07-12 17:41:23 +010099 select PCSPEAKER
Ralf Baechle7cf80532005-10-20 22:33:09 +0100100 select SYS_HAS_CPU_R4X00
Ralf Baechle5e83d432005-10-29 19:32:41 +0100101 select SYS_SUPPORTS_32BIT_KERNEL
102 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +0900103 select SYS_SUPPORTS_100HZ
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900104 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700105 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100106 This a family of machines based on the MIPS R4030 chipset which was
107 used by several vendors to build RISC/os and Windows NT workstations.
108 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
109 Olivetti M700-10 workstations.
110
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900111config LEMOTE_FULONG
112 bool "Lemote Fulong mini-PC"
113 select ARCH_SPARSEMEM_ENABLE
114 select SYS_HAS_CPU_LOONGSON2
115 select DMA_NONCOHERENT
116 select BOOT_ELF32
117 select BOARD_SCACHE
118 select HAVE_STD_PC_SERIAL_PORT
119 select HW_HAS_PCI
120 select I8259
121 select ISA
122 select IRQ_CPU
123 select SYS_SUPPORTS_32BIT_KERNEL
124 select SYS_SUPPORTS_64BIT_KERNEL
125 select SYS_SUPPORTS_LITTLE_ENDIAN
126 select SYS_SUPPORTS_HIGHMEM
127 select SYS_HAS_EARLY_PRINTK
128 select GENERIC_HARDIRQS_NO__DO_IRQ
129 select CPU_HAS_WB
130 help
131 Lemote Fulong mini-PC board based on the Chinese Loongson-2E CPU and
132 an FPGA northbridge
133
Linus Torvalds1da177e2005-04-16 15:20:36 -0700134config MIPS_ATLAS
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200135 bool "MIPS Atlas board"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700136 select BOOT_ELF32
137 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000138 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100139 select IRQ_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700140 select HW_HAS_PCI
Ralf Baechle5e83d432005-10-29 19:32:41 +0100141 select MIPS_BOARDS_GEN
142 select MIPS_BONITO64
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900143 select PCI_GT64XXX_PCI0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100144 select MIPS_MSC
Maciej W. Rozyckif4b7cdb2005-02-12 04:31:49 +0000145 select RM7000_CPU_SCACHE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700146 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100147 select SYS_HAS_CPU_MIPS32_R1
148 select SYS_HAS_CPU_MIPS32_R2
149 select SYS_HAS_CPU_MIPS64_R1
150 select SYS_HAS_CPU_NEVADA
151 select SYS_HAS_CPU_RM7000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700152 select SYS_SUPPORTS_32BIT_KERNEL
153 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100154 select SYS_SUPPORTS_BIG_ENDIAN
155 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlef41ae0b2006-06-05 17:24:46 +0100156 select SYS_SUPPORTS_MULTITHREADING if EXPERIMENTAL
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100157 select SYS_SUPPORTS_SMARTMIPS
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100158 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700159 help
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000160 This enables support for the MIPS Technologies Atlas evaluation
Linus Torvalds1da177e2005-04-16 15:20:36 -0700161 board.
162
163config MIPS_MALTA
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200164 bool "MIPS Malta board"
Ralf Baechle61ed242d2005-09-15 08:52:34 +0000165 select ARCH_MAY_HAVE_PC_FDC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700166 select BOOT_ELF32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700167 select DMA_NONCOHERENT
168 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000169 select IRQ_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700170 select HW_HAS_PCI
171 select I8259
Ralf Baechle5e83d432005-10-29 19:32:41 +0100172 select MIPS_BOARDS_GEN
173 select MIPS_BONITO64
Chris Dearman9318c512006-06-20 17:15:20 +0100174 select MIPS_CPU_SCACHE
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900175 select PCI_GT64XXX_PCI0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100176 select MIPS_MSC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700177 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100178 select SYS_HAS_CPU_MIPS32_R1
179 select SYS_HAS_CPU_MIPS32_R2
180 select SYS_HAS_CPU_MIPS64_R1
181 select SYS_HAS_CPU_NEVADA
182 select SYS_HAS_CPU_RM7000
Ralf Baechle36a88532007-03-01 11:56:43 +0000183 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700184 select SYS_SUPPORTS_32BIT_KERNEL
185 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100186 select SYS_SUPPORTS_BIG_ENDIAN
187 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlef41ae0b2006-06-05 17:24:46 +0100188 select SYS_SUPPORTS_MULTITHREADING
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100189 select SYS_SUPPORTS_SMARTMIPS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700190 help
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000191 This enables support for the MIPS Technologies Malta evaluation
Linus Torvalds1da177e2005-04-16 15:20:36 -0700192 board.
193
194config MIPS_SEAD
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200195 bool "MIPS SEAD board (EXPERIMENTAL)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700196 depends on EXPERIMENTAL
197 select IRQ_CPU
198 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000199 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100200 select MIPS_BOARDS_GEN
Ralf Baechle7cf80532005-10-20 22:33:09 +0100201 select SYS_HAS_CPU_MIPS32_R1
202 select SYS_HAS_CPU_MIPS32_R2
203 select SYS_HAS_CPU_MIPS64_R1
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700204 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100205 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
206 select SYS_SUPPORTS_BIG_ENDIAN
207 select SYS_SUPPORTS_LITTLE_ENDIAN
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100208 select SYS_SUPPORTS_SMARTMIPS
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000209 help
210 This enables support for the MIPS Technologies SEAD evaluation
211 board.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700212
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100213config MIPS_SIM
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200214 bool 'MIPS simulator (MIPSsim)'
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100215 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000216 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100217 select IRQ_CPU
Marc St-Jean9267a302007-06-14 15:55:31 -0600218 select BOOT_RAW
Ralf Baechle7cf80532005-10-20 22:33:09 +0100219 select SYS_HAS_CPU_MIPS32_R1
220 select SYS_HAS_CPU_MIPS32_R2
Ralf Baechle36a88532007-03-01 11:56:43 +0000221 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100222 select SYS_SUPPORTS_32BIT_KERNEL
223 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlef6e23732007-07-10 17:32:56 +0100224 select SYS_SUPPORTS_MULTITHREADING
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100225 select SYS_SUPPORTS_LITTLE_ENDIAN
226 help
227 This option enables support for MIPS Technologies MIPSsim software
228 emulator.
229
Ralf Baechle5e83d432005-10-29 19:32:41 +0100230config MOMENCO_OCELOT
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200231 bool "Momentum Ocelot board"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100232 select DMA_NONCOHERENT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700233 select HW_HAS_PCI
234 select IRQ_CPU
235 select IRQ_CPU_RM7K
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900236 select PCI_GT64XXX_PCI0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100237 select RM7000_CPU_SCACHE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700238 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100239 select SYS_HAS_CPU_RM7000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700240 select SYS_SUPPORTS_32BIT_KERNEL
241 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100242 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +0000243 select SYS_SUPPORTS_KGDB
Linus Torvalds1da177e2005-04-16 15:20:36 -0700244 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100245 The Ocelot is a MIPS-based Single Board Computer (SBC) made by
246 Momentum Computer <http://www.momenco.com/>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700247
Linus Torvalds1da177e2005-04-16 15:20:36 -0700248config DDB5477
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200249 bool "NEC DDB Vrc-5477"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100250 select DDB5XXX_COMMON
Linus Torvalds1da177e2005-04-16 15:20:36 -0700251 select DMA_NONCOHERENT
252 select HW_HAS_PCI
253 select I8259
254 select IRQ_CPU
Ralf Baechle7cf80532005-10-20 22:33:09 +0100255 select SYS_HAS_CPU_R5432
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700256 select SYS_SUPPORTS_32BIT_KERNEL
257 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Ralf Baechlecc801072007-02-17 02:58:39 +0000258 select SYS_SUPPORTS_KGDB
259 select SYS_SUPPORTS_KGDB
Ralf Baechle5e83d432005-10-29 19:32:41 +0100260 select SYS_SUPPORTS_LITTLE_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700261 help
262 This enables support for the R5432-based NEC DDB Vrc-5477,
263 or Rockhopper/SolutionGear boards with R5432/R5500 CPUs.
264
265 Features : kernel debugging, serial terminal, NFS root fs, on-board
266 ether port USB, AC97, PCI, etc.
267
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900268config MARKEINS
269 bool "NEC EMMA2RH Mark-eins"
270 select DMA_NONCOHERENT
271 select HW_HAS_PCI
272 select IRQ_CPU
273 select SWAP_IO_SPACE
274 select SYS_SUPPORTS_32BIT_KERNEL
275 select SYS_SUPPORTS_BIG_ENDIAN
276 select SYS_SUPPORTS_LITTLE_ENDIAN
277 select SYS_HAS_CPU_R5000
278 help
279 This enables support for the R5432-based NEC Mark-eins
280 boards with R5500 CPU.
281
Ralf Baechle5e83d432005-10-29 19:32:41 +0100282config MACH_VR41XX
Yoichi Yuasa74142d62007-04-26 19:45:09 +0900283 bool "NEC VR4100 series based machines"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100284 select SYS_HAS_CPU_VR41XX
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900285 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100286
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900287config PNX8550_JBS
288 bool "Philips PNX8550 based JBS board"
289 select PNX8550
290 select SYS_SUPPORTS_LITTLE_ENDIAN
291
292config PNX8550_STB810
293 bool "Philips PNX8550 based STB810 board"
294 select PNX8550
295 select SYS_SUPPORTS_LITTLE_ENDIAN
296
Marc St-Jean9267a302007-06-14 15:55:31 -0600297config PMC_MSP
298 bool "PMC-Sierra MSP chipsets"
299 depends on EXPERIMENTAL
300 select DMA_NONCOHERENT
301 select SWAP_IO_SPACE
302 select NO_EXCEPT_FILL
303 select BOOT_RAW
304 select SYS_HAS_CPU_MIPS32_R1
305 select SYS_HAS_CPU_MIPS32_R2
306 select SYS_SUPPORTS_32BIT_KERNEL
307 select SYS_SUPPORTS_BIG_ENDIAN
308 select SYS_SUPPORTS_KGDB
309 select IRQ_CPU
310 select SERIAL_8250
311 select SERIAL_8250_CONSOLE
312 help
313 This adds support for the PMC-Sierra family of Multi-Service
314 Processor System-On-A-Chips. These parts include a number
315 of integrated peripherals, interfaces and DSPs in addition to
316 a variety of MIPS cores.
317
Ralf Baechle5e83d432005-10-29 19:32:41 +0100318config PMC_YOSEMITE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200319 bool "PMC-Sierra Yosemite eval board"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100320 select DMA_COHERENT
321 select HW_HAS_PCI
322 select IRQ_CPU
323 select IRQ_CPU_RM7K
324 select IRQ_CPU_RM9K
325 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100326 select SYS_HAS_CPU_RM9000
Ralf Baechle36a88532007-03-01 11:56:43 +0000327 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100328 select SYS_SUPPORTS_32BIT_KERNEL
329 select SYS_SUPPORTS_64BIT_KERNEL
330 select SYS_SUPPORTS_BIG_ENDIAN
331 select SYS_SUPPORTS_HIGHMEM
Ralf Baechlecc801072007-02-17 02:58:39 +0000332 select SYS_SUPPORTS_KGDB
Ralf Baechlee73ea272006-06-04 11:51:46 +0100333 select SYS_SUPPORTS_SMP
Ralf Baechle5e83d432005-10-29 19:32:41 +0100334 help
335 Yosemite is an evaluation board for the RM9000x2 processor
336 manufactured by PMC-Sierra.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700337
Ralf Baechle07119622005-09-03 15:56:11 -0700338config QEMU
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200339 bool "Qemu"
Ralf Baechle07119622005-09-03 15:56:11 -0700340 select DMA_COHERENT
341 select GENERIC_ISA_DMA
342 select HAVE_STD_PC_SERIAL_PORT
343 select I8259
344 select ISA
Ralf Baechlede61b542007-07-12 17:41:23 +0100345 select PCSPEAKER
Ralf Baechle07119622005-09-03 15:56:11 -0700346 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100347 select SYS_HAS_CPU_MIPS32_R1
Ralf Baechle07119622005-09-03 15:56:11 -0700348 select SYS_SUPPORTS_32BIT_KERNEL
349 select SYS_SUPPORTS_BIG_ENDIAN
Aurelien Jarnoc8cc9612006-09-27 23:07:25 +0200350 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemotob1c6cd42006-07-03 00:09:47 +0900351 select ARCH_SPARSEMEM_ENABLE
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900352 select GENERIC_HARDIRQS_NO__DO_IRQ
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +0900353 select NR_CPUS_DEFAULT_1
354 select SYS_SUPPORTS_SMP
Ralf Baechle07119622005-09-03 15:56:11 -0700355 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100356 Qemu is a software emulator which among other architectures also
357 can simulate a MIPS32 4Kc system. This patch adds support for the
358 system architecture that currently is being simulated by Qemu. It
359 will eventually be removed again when Qemu has the capability to
360 simulate actual MIPS hardware platforms. More information on Qemu
361 can be found at http://www.linux-mips.org/wiki/Qemu.
Ralf Baechle07119622005-09-03 15:56:11 -0700362
Linus Torvalds1da177e2005-04-16 15:20:36 -0700363config SGI_IP22
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200364 bool "SGI IP22 (Indy/Indigo2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700365 select ARC
366 select ARC32
367 select BOOT_ELF32
368 select DMA_NONCOHERENT
Ralf Baechle5e83d432005-10-29 19:32:41 +0100369 select HW_HAS_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -0700370 select IP22_CPU_SCACHE
371 select IRQ_CPU
Ralf Baechleaa414df2006-11-30 01:14:51 +0000372 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700373 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100374 select SYS_HAS_CPU_R4X00
375 select SYS_HAS_CPU_R5000
Ralf Baechle36a88532007-03-01 11:56:43 +0000376 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700377 select SYS_SUPPORTS_32BIT_KERNEL
378 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100379 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700380 help
381 This are the SGI Indy, Challenge S and Indigo2, as well as certain
382 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
383 that runs on these, say Y here.
384
385config SGI_IP27
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200386 bool "SGI IP27 (Origin200/2000)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700387 select ARC
388 select ARC64
Ralf Baechle5e83d432005-10-29 19:32:41 +0100389 select BOOT_ELF64
Linus Torvalds1da177e2005-04-16 15:20:36 -0700390 select DMA_IP27
Ralf Baechle36a88532007-03-01 11:56:43 +0000391 select SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700392 select HW_HAS_PCI
Ralf Baechle130e2fb2007-02-06 16:53:15 +0000393 select NR_CPUS_DEFAULT_64
Linus Torvalds1da177e2005-04-16 15:20:36 -0700394 select PCI_DOMAINS
Ralf Baechle7cf80532005-10-20 22:33:09 +0100395 select SYS_HAS_CPU_R10000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700396 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100397 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +0000398 select SYS_SUPPORTS_KGDB
Ralf Baechled8cb4e12006-06-11 23:03:08 +0100399 select SYS_SUPPORTS_NUMA
Ralf Baechle1a5c5de2006-11-02 17:23:33 +0000400 select SYS_SUPPORTS_SMP
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100401 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700402 help
403 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
404 workstations. To compile a Linux kernel that runs on these, say Y
405 here.
406
Linus Torvalds1da177e2005-04-16 15:20:36 -0700407config SGI_IP32
Ralf Baechlecfd2afc2007-07-10 17:33:00 +0100408 bool "SGI IP32 (O2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700409 select ARC
410 select ARC32
411 select BOOT_ELF32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700412 select DMA_NONCOHERENT
413 select HW_HAS_PCI
414 select R5000_CPU_SCACHE
415 select RM7000_CPU_SCACHE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100416 select SYS_HAS_CPU_R5000
417 select SYS_HAS_CPU_R10000 if BROKEN
418 select SYS_HAS_CPU_RM7000
Ralf Baechledd2f18f2006-01-19 14:55:42 +0000419 select SYS_HAS_CPU_NEVADA
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700420 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100421 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700422 help
423 If you want this kernel to run on SGI O2 workstation, say Y here.
424
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900425config SIBYTE_CRHINE
426 bool "Sibyte BCM91120C-CRhine"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100427 depends on EXPERIMENTAL
428 select BOOT_ELF32
429 select DMA_COHERENT
430 select SIBYTE_BCM1120
431 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100432 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100433 select SYS_SUPPORTS_BIG_ENDIAN
434 select SYS_SUPPORTS_LITTLE_ENDIAN
435
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900436config SIBYTE_CARMEL
437 bool "Sibyte BCM91120x-Carmel"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100438 depends on EXPERIMENTAL
439 select BOOT_ELF32
440 select DMA_COHERENT
441 select SIBYTE_BCM1120
442 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100443 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100444 select SYS_SUPPORTS_BIG_ENDIAN
445 select SYS_SUPPORTS_LITTLE_ENDIAN
446
447config SIBYTE_CRHONE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200448 bool "Sibyte BCM91125C-CRhone"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100449 depends on EXPERIMENTAL
450 select BOOT_ELF32
451 select DMA_COHERENT
452 select SIBYTE_BCM1125
453 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100454 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100455 select SYS_SUPPORTS_BIG_ENDIAN
456 select SYS_SUPPORTS_HIGHMEM
457 select SYS_SUPPORTS_LITTLE_ENDIAN
458
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900459config SIBYTE_RHONE
460 bool "Sibyte BCM91125E-Rhone"
461 depends on EXPERIMENTAL
462 select BOOT_ELF32
463 select DMA_COHERENT
464 select SIBYTE_BCM1125H
465 select SWAP_IO_SPACE
466 select SYS_HAS_CPU_SB1
467 select SYS_SUPPORTS_BIG_ENDIAN
468 select SYS_SUPPORTS_LITTLE_ENDIAN
469
470config SIBYTE_SWARM
471 bool "Sibyte BCM91250A-SWARM"
472 select BOOT_ELF32
473 select DMA_COHERENT
474 select NR_CPUS_DEFAULT_2
475 select SIBYTE_SB1250
476 select SWAP_IO_SPACE
477 select SYS_HAS_CPU_SB1
478 select SYS_SUPPORTS_BIG_ENDIAN
479 select SYS_SUPPORTS_HIGHMEM
480 select SYS_SUPPORTS_KGDB
481 select SYS_SUPPORTS_LITTLE_ENDIAN
482
483config SIBYTE_LITTLESUR
484 bool "Sibyte BCM91250C2-LittleSur"
485 depends on EXPERIMENTAL
486 select BOOT_ELF32
487 select DMA_COHERENT
488 select NR_CPUS_DEFAULT_2
489 select SIBYTE_SB1250
490 select SWAP_IO_SPACE
491 select SYS_HAS_CPU_SB1
492 select SYS_SUPPORTS_BIG_ENDIAN
493 select SYS_SUPPORTS_HIGHMEM
494 select SYS_SUPPORTS_LITTLE_ENDIAN
495
496config SIBYTE_SENTOSA
497 bool "Sibyte BCM91250E-Sentosa"
498 depends on EXPERIMENTAL
499 select BOOT_ELF32
500 select DMA_COHERENT
501 select NR_CPUS_DEFAULT_2
502 select SIBYTE_SB1250
503 select SWAP_IO_SPACE
504 select SYS_HAS_CPU_SB1
505 select SYS_SUPPORTS_BIG_ENDIAN
506 select SYS_SUPPORTS_LITTLE_ENDIAN
507
508config SIBYTE_PTSWARM
509 bool "Sibyte BCM91250PT-PTSWARM"
510 depends on EXPERIMENTAL
511 select BOOT_ELF32
512 select DMA_COHERENT
513 select NR_CPUS_DEFAULT_2
514 select SIBYTE_SB1250
515 select SWAP_IO_SPACE
516 select SYS_HAS_CPU_SB1
517 select SYS_SUPPORTS_BIG_ENDIAN
518 select SYS_SUPPORTS_HIGHMEM
519 select SYS_SUPPORTS_LITTLE_ENDIAN
520
521config SIBYTE_BIGSUR
522 bool "Sibyte BCM91480B-BigSur"
523 select BOOT_ELF32
524 select DMA_COHERENT
525 select NR_CPUS_DEFAULT_4
526 select PCI_DOMAINS
527 select SIBYTE_BCM1x80
528 select SWAP_IO_SPACE
529 select SYS_HAS_CPU_SB1
530 select SYS_SUPPORTS_BIG_ENDIAN
531 select SYS_SUPPORTS_LITTLE_ENDIAN
532
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100533config SNI_RM
534 bool "SNI RM200/300/400"
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200535 select ARC if CPU_LITTLE_ENDIAN
536 select ARC32 if CPU_LITTLE_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100537 select ARCH_MAY_HAVE_PC_FDC
538 select BOOT_ELF32
539 select DMA_NONCOHERENT
540 select GENERIC_ISA_DMA
Ralf Baechle5e83d432005-10-29 19:32:41 +0100541 select HW_HAS_EISA
542 select HW_HAS_PCI
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100543 select IRQ_CPU
Ralf Baechle5e83d432005-10-29 19:32:41 +0100544 select I8259
545 select ISA
Ralf Baechlede61b542007-07-12 17:41:23 +0100546 select PCSPEAKER
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200547 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
Ralf Baechle7cf80532005-10-20 22:33:09 +0100548 select SYS_HAS_CPU_R4X00
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200549 select SYS_HAS_CPU_R5000
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100550 select SYS_HAS_CPU_R10000
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200551 select R5000_CPU_SCACHE
Ralf Baechle36a88532007-03-01 11:56:43 +0000552 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700553 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100554 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200555 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100556 select SYS_SUPPORTS_HIGHMEM
557 select SYS_SUPPORTS_LITTLE_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700558 help
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100559 The SNI RM200/300/400 are MIPS-based machines manufactured by
560 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
Ralf Baechle5e83d432005-10-29 19:32:41 +0100561 Technology and now in turn merged with Fujitsu. Say Y here to
562 support this machine type.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700563
Ralf Baechle5e83d432005-10-29 19:32:41 +0100564config TOSHIBA_JMR3927
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200565 bool "Toshiba JMR-TX3927 board"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100566 select DMA_NONCOHERENT
567 select HW_HAS_PCI
568 select MIPS_TX3927
569 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100570 select SYS_HAS_CPU_TX39XX
Ralf Baechle5e83d432005-10-29 19:32:41 +0100571 select SYS_SUPPORTS_32BIT_KERNEL
Sergei Shtylyov6a2603a2007-02-07 20:39:05 +0300572 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100573 select SYS_SUPPORTS_BIG_ENDIAN
Atsushi Nemoto21274352007-03-15 00:58:28 +0900574 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100575
576config TOSHIBA_RBTX4927
Yoichi Yuasa08a91282007-07-27 15:20:24 +0900577 bool "Toshiba RBTX49[23]7 board"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100578 select DMA_NONCOHERENT
579 select HAS_TXX9_SERIAL
580 select HW_HAS_PCI
581 select I8259
Ralf Baechle5e83d432005-10-29 19:32:41 +0100582 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100583 select SYS_HAS_CPU_TX49XX
Ralf Baechle5e83d432005-10-29 19:32:41 +0100584 select SYS_SUPPORTS_32BIT_KERNEL
585 select SYS_SUPPORTS_64BIT_KERNEL
Sergei Shtylyov6a2603a2007-02-07 20:39:05 +0300586 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100587 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +0000588 select SYS_SUPPORTS_KGDB
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900589 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100590 help
591 This Toshiba board is based on the TX4927 processor. Say Y here to
592 support this machine type
Linus Torvalds1da177e2005-04-16 15:20:36 -0700593
Ralf Baechle23fbee92005-07-25 22:45:45 +0000594config TOSHIBA_RBTX4938
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200595 bool "Toshiba RBTX4938 board"
Ralf Baechle23fbee92005-07-25 22:45:45 +0000596 select HAVE_STD_PC_SERIAL_PORT
597 select DMA_NONCOHERENT
598 select GENERIC_ISA_DMA
599 select HAS_TXX9_SERIAL
600 select HW_HAS_PCI
601 select I8259
Ralf Baechle23fbee92005-07-25 22:45:45 +0000602 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100603 select SYS_HAS_CPU_TX49XX
Ralf Baechle23fbee92005-07-25 22:45:45 +0000604 select SYS_SUPPORTS_32BIT_KERNEL
605 select SYS_SUPPORTS_LITTLE_ENDIAN
606 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +0000607 select SYS_SUPPORTS_KGDB
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900608 select GENERIC_HARDIRQS_NO__DO_IRQ
Atsushi Nemoto3896b052007-06-22 23:21:55 +0900609 select GENERIC_GPIO
Ralf Baechle23fbee92005-07-25 22:45:45 +0000610 help
611 This Toshiba board is based on the TX4938 processor. Say Y here to
612 support this machine type
613
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900614config WR_PPMC
615 bool "Wind River PPMC board"
616 select IRQ_CPU
617 select BOOT_ELF32
618 select DMA_NONCOHERENT
619 select HW_HAS_PCI
620 select PCI_GT64XXX_PCI0
621 select SWAP_IO_SPACE
622 select SYS_HAS_CPU_MIPS32_R1
623 select SYS_HAS_CPU_MIPS32_R2
624 select SYS_HAS_CPU_MIPS64_R1
625 select SYS_HAS_CPU_NEVADA
626 select SYS_HAS_CPU_RM7000
627 select SYS_SUPPORTS_32BIT_KERNEL
628 select SYS_SUPPORTS_64BIT_KERNEL
629 select SYS_SUPPORTS_BIG_ENDIAN
630 select SYS_SUPPORTS_LITTLE_ENDIAN
631 help
632 This enables support for the Wind River MIPS32 4KC PPMC evaluation
633 board, which is based on GT64120 bridge chip.
634
Linus Torvalds1da177e2005-04-16 15:20:36 -0700635endchoice
636
Yoichi Yuasac3543e22007-05-11 20:44:30 +0900637source "arch/mips/au1000/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100638source "arch/mips/ddb5xxx/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100639source "arch/mips/jazz/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100640source "arch/mips/pmc-sierra/Kconfig"
Ralf Baechle29c48692005-02-07 01:27:14 +0000641source "arch/mips/sgi-ip27/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000642source "arch/mips/sibyte/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100643source "arch/mips/tx4927/Kconfig"
Ralf Baechle23fbee92005-07-25 22:45:45 +0000644source "arch/mips/tx4938/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100645source "arch/mips/vr41xx/Kconfig"
Pete Popovbdf21b12005-07-14 17:47:57 +0000646source "arch/mips/philips/pnx8550/common/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000647
Ralf Baechle5e83d432005-10-29 19:32:41 +0100648endmenu
649
Linus Torvalds1da177e2005-04-16 15:20:36 -0700650config RWSEM_GENERIC_SPINLOCK
651 bool
652 default y
653
654config RWSEM_XCHGADD_ALGORITHM
655 bool
656
David Howellsf0d1b0b2006-12-08 02:37:49 -0800657config ARCH_HAS_ILOG2_U32
658 bool
659 default n
660
661config ARCH_HAS_ILOG2_U64
662 bool
663 default n
664
Akinobu Mita3c9ee7e2006-03-26 01:39:30 -0800665config GENERIC_FIND_NEXT_BIT
666 bool
667 default y
668
669config GENERIC_HWEIGHT
670 bool
671 default y
672
Linus Torvalds1da177e2005-04-16 15:20:36 -0700673config GENERIC_CALIBRATE_DELAY
674 bool
675 default y
676
Ralf Baechle8db02012006-10-02 16:54:48 +0100677config GENERIC_TIME
678 bool
679 default y
680
Atsushi Nemoto1cc89032006-04-04 13:11:45 +0900681config SCHED_NO_NO_OMIT_FRAME_POINTER
682 bool
683 default y
684
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100685config GENERIC_HARDIRQS_NO__DO_IRQ
686 bool
687 default n
688
Linus Torvalds1da177e2005-04-16 15:20:36 -0700689#
690# Select some configuration options automatically based on user selections.
691#
692config ARC
693 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700694
Ralf Baechle61ed242d2005-09-15 08:52:34 +0000695config ARCH_MAY_HAVE_PC_FDC
696 bool
697
Marc St-Jean9267a302007-06-14 15:55:31 -0600698config BOOT_RAW
699 bool
700
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700701config DMA_COHERENT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700702 bool
703
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700704config DMA_IP27
Linus Torvalds1da177e2005-04-16 15:20:36 -0700705 bool
706
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700707config DMA_IP32
708 bool
709 select DMA_NEED_PCI_MAP_STATE
710
711config DMA_NONCOHERENT
712 bool
713 select DMA_NEED_PCI_MAP_STATE
714
715config DMA_NEED_PCI_MAP_STATE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700716 bool
717
718config EARLY_PRINTK
Ralf Baechle36a88532007-03-01 11:56:43 +0000719 bool "Early printk" if EMBEDDED && DEBUG_KERNEL
720 depends on SYS_HAS_EARLY_PRINTK
721 default y
722 help
723 This option enables special console drivers which allow the kernel
724 to print messages very early in the bootup process.
725
726 This is useful for kernel debugging when your machine crashes very
Robert P. J. Day490dcc42007-05-20 12:11:07 -0400727 early before the console code is initialized. For normal operation,
728 it is not recommended because it looks ugly on some machines and
729 doesn't cooperate with an X server. You should normally say N here,
Ralf Baechle36a88532007-03-01 11:56:43 +0000730 unless you want to debug such a crash.
731
732config SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700733 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700734
735config GENERIC_ISA_DMA
736 bool
Atsushi Nemoto05502332007-03-21 00:36:02 +0900737 select ZONE_DMA
Linus Torvalds1da177e2005-04-16 15:20:36 -0700738
739config I8259
740 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700741
Linus Torvalds1da177e2005-04-16 15:20:36 -0700742config MIPS_BONITO64
743 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700744
745config MIPS_MSC
746 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700747
Linus Torvalds1da177e2005-04-16 15:20:36 -0700748config MIPS_DISABLE_OBSOLETE_IDE
749 bool
750
Maciej W. Rozyckid388d682007-05-29 15:08:07 +0100751config NO_IOPORT
752 def_bool n
753
Ralf Baechleaa414df2006-11-30 01:14:51 +0000754config GENERIC_ISA_DMA_SUPPORT_BROKEN
755 bool
Atsushi Nemoto05502332007-03-21 00:36:02 +0900756 select ZONE_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000757
Yoichi Yuasa09663332007-05-22 00:05:58 +0900758config GENERIC_GPIO
759 bool
760
Ralf Baechle5e83d432005-10-29 19:32:41 +0100761#
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100762# Endianess selection. Sufficiently obscure so many users don't know what to
Ralf Baechle5e83d432005-10-29 19:32:41 +0100763# answer,so we try hard to limit the available choices. Also the use of a
764# choice statement should be more obvious to the user.
765#
766choice
767 prompt "Endianess selection"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700768 help
769 Some MIPS machines can be configured for either little or big endian
Ralf Baechle5e83d432005-10-29 19:32:41 +0100770 byte order. These modes require different kernels and a different
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100771 Linux distribution. In general there is one preferred byteorder for a
Ralf Baechle5e83d432005-10-29 19:32:41 +0100772 particular system but some systems are just as commonly used in the
David Sterba3dde6ad2007-05-09 07:12:20 +0200773 one or the other endianness.
Ralf Baechle5e83d432005-10-29 19:32:41 +0100774
775config CPU_BIG_ENDIAN
776 bool "Big endian"
777 depends on SYS_SUPPORTS_BIG_ENDIAN
778
779config CPU_LITTLE_ENDIAN
780 bool "Little endian"
781 depends on SYS_SUPPORTS_LITTLE_ENDIAN
782 help
783
784endchoice
785
Ralf Baechle21162452007-02-09 17:08:58 +0000786config SYS_SUPPORTS_APM_EMULATION
787 bool
788
Ralf Baechle5e83d432005-10-29 19:32:41 +0100789config SYS_SUPPORTS_BIG_ENDIAN
790 bool
791
792config SYS_SUPPORTS_LITTLE_ENDIAN
793 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700794
795config IRQ_CPU
796 bool
797
798config IRQ_CPU_RM7K
799 bool
800
Ralf Baechle5e83d432005-10-29 19:32:41 +0100801config IRQ_CPU_RM9K
802 bool
803
Marc St-Jean9267a302007-06-14 15:55:31 -0600804config IRQ_MSP_SLP
805 bool
806
807config IRQ_MSP_CIC
808 bool
809
Linus Torvalds1da177e2005-04-16 15:20:36 -0700810config DDB5XXX_COMMON
811 bool
Ralf Baechlecc801072007-02-17 02:58:39 +0000812 select SYS_SUPPORTS_KGDB
Linus Torvalds1da177e2005-04-16 15:20:36 -0700813
814config MIPS_BOARDS_GEN
815 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700816
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900817config PCI_GT64XXX_PCI0
Linus Torvalds1da177e2005-04-16 15:20:36 -0700818 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700819
Marc St-Jean9267a302007-06-14 15:55:31 -0600820config NO_EXCEPT_FILL
821 bool
822
Linus Torvalds1da177e2005-04-16 15:20:36 -0700823config MIPS_TX3927
824 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700825 select HAS_TXX9_SERIAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700826
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200827config MIPS_RM9122
828 bool
829 select SERIAL_RM9000
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200830
Pete Popovbdf21b12005-07-14 17:47:57 +0000831config PNX8550
832 bool
833 select SOC_PNX8550
834
835config SOC_PNX8550
836 bool
Pete Popovbdf21b12005-07-14 17:47:57 +0000837 select DMA_NONCOHERENT
838 select HW_HAS_PCI
Ralf Baechleb8c2a772005-10-31 13:08:37 +0000839 select SYS_HAS_CPU_MIPS32_R1
Ralf Baechle36a88532007-03-01 11:56:43 +0000840 select SYS_HAS_EARLY_PRINTK
Ralf Baechle7cf80532005-10-20 22:33:09 +0100841 select SYS_SUPPORTS_32BIT_KERNEL
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100842 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechlecc801072007-02-17 02:58:39 +0000843 select SYS_SUPPORTS_KGDB
Florian Fainelli4ead1682007-05-22 21:44:42 +0200844 select GENERIC_GPIO
Pete Popovbdf21b12005-07-14 17:47:57 +0000845
Linus Torvalds1da177e2005-04-16 15:20:36 -0700846config SWAP_IO_SPACE
847 bool
848
dmitry pervushin355c4712006-05-21 14:53:06 +0400849config EMMA2RH
850 bool
851 depends on MARKEINS
852 default y
853
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200854config SERIAL_RM9000
855 bool
856
Linus Torvalds1da177e2005-04-16 15:20:36 -0700857#
858# Unfortunately not all GT64120 systems run the chip at the same clock.
859# As the user for the clock rate and try to minimize the available options.
860#
861choice
862 prompt "Galileo Chip Clock"
Yoichi Yuasa6b5bf502007-06-21 15:06:21 +0900863 depends on MOMENCO_OCELOT
Franck Bui-Huu1e54f772007-05-07 18:01:51 +0200864 default SYSCLK_100 if MOMENCO_OCELOT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700865
Linus Torvalds1da177e2005-04-16 15:20:36 -0700866config SYSCLK_100
Yoichi Yuasa6b5bf502007-06-21 15:06:21 +0900867 bool "100" if MOMENCO_OCELOT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700868
869endchoice
870
Ralf Baechle5e83d432005-10-29 19:32:41 +0100871config ARC32
872 bool
873
Linus Torvalds1da177e2005-04-16 15:20:36 -0700874config BOOT_ELF32
875 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700876
877config MIPS_L1_CACHE_SHIFT
878 int
Thomas Bogendoerfer06cf5582007-06-20 23:36:47 +0200879 default "4" if MACH_DECSTATION
880 default "7" if SGI_IP27 || SNI_RM
Marc St-Jean9267a302007-06-14 15:55:31 -0600881 default "4" if PMC_MSP4200_EVAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700882 default "5"
883
Linus Torvalds1da177e2005-04-16 15:20:36 -0700884config HAVE_STD_PC_SERIAL_PORT
885 bool
886
Linus Torvalds1da177e2005-04-16 15:20:36 -0700887config ARC_CONSOLE
888 bool "ARC console support"
Ralf Baechle36a88532007-03-01 11:56:43 +0000889 depends on SGI_IP22 || (SNI_RM && CPU_LITTLE_ENDIAN)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700890
891config ARC_MEMORY
892 bool
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100893 depends on MACH_JAZZ || SNI_RM || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700894 default y
895
896config ARC_PROMLIB
897 bool
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100898 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700899 default y
900
901config ARC64
902 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700903
904config BOOT_ELF64
905 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700906
Linus Torvalds1da177e2005-04-16 15:20:36 -0700907menu "CPU selection"
908
909choice
910 prompt "CPU type"
911 default CPU_R4X00
912
Fuxin Zhang2a21c732007-06-06 14:52:43 +0800913config CPU_LOONGSON2
914 bool "Loongson 2"
915 depends on SYS_HAS_CPU_LOONGSON2
916 select CPU_SUPPORTS_32BIT_KERNEL
917 select CPU_SUPPORTS_64BIT_KERNEL
918 select CPU_SUPPORTS_HIGHMEM
919 help
920 The Loongson 2E processor implements the MIPS III instruction set
921 with many extensions.
922
Ralf Baechle6e760c82005-07-06 12:08:11 +0000923config CPU_MIPS32_R1
924 bool "MIPS32 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100925 depends on SYS_HAS_CPU_MIPS32_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100926 select CPU_HAS_LLSC
Ralf Baechle6e760c82005-07-06 12:08:11 +0000927 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +0000928 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000929 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +0000930 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100931 Choose this option to build a kernel for release 1 or later of the
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000932 MIPS32 architecture. Most modern embedded systems with a 32-bit
933 MIPS processor are based on a MIPS32 processor. If you know the
934 specific type of processor in your system, choose those that one
935 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
936 Release 2 of the MIPS32 architecture is available since several
937 years so chances are you even have a MIPS32 Release 2 processor
938 in which case you should choose CPU_MIPS32_R2 instead for better
939 performance.
940
941config CPU_MIPS32_R2
942 bool "MIPS32 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100943 depends on SYS_HAS_CPU_MIPS32_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100944 select CPU_HAS_LLSC
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000945 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +0000946 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000947 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000948 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100949 Choose this option to build a kernel for release 2 or later of the
Ralf Baechle6e760c82005-07-06 12:08:11 +0000950 MIPS32 architecture. Most modern embedded systems with a 32-bit
951 MIPS processor are based on a MIPS32 processor. If you know the
952 specific type of processor in your system, choose those that one
953 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700954
Ralf Baechle6e760c82005-07-06 12:08:11 +0000955config CPU_MIPS64_R1
956 bool "MIPS64 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100957 depends on SYS_HAS_CPU_MIPS64_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100958 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +0000959 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700960 select CPU_SUPPORTS_32BIT_KERNEL
961 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000962 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +0000963 help
964 Choose this option to build a kernel for release 1 or later of the
965 MIPS64 architecture. Many modern embedded systems with a 64-bit
966 MIPS processor are based on a MIPS64 processor. If you know the
967 specific type of processor in your system, choose those that one
968 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000969 Release 2 of the MIPS64 architecture is available since several
970 years so chances are you even have a MIPS64 Release 2 processor
971 in which case you should choose CPU_MIPS64_R2 instead for better
972 performance.
973
974config CPU_MIPS64_R2
975 bool "MIPS64 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100976 depends on SYS_HAS_CPU_MIPS64_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100977 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +0000978 select CPU_HAS_PREFETCH
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000979 select CPU_SUPPORTS_32BIT_KERNEL
980 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000981 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000982 help
983 Choose this option to build a kernel for release 2 or later of the
984 MIPS64 architecture. Many modern embedded systems with a 64-bit
985 MIPS processor are based on a MIPS64 processor. If you know the
986 specific type of processor in your system, choose those that one
987 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700988
989config CPU_R3000
990 bool "R3000"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100991 depends on SYS_HAS_CPU_R3000
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100992 select CPU_HAS_WB
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700993 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +0000994 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -0700995 help
996 Please make sure to pick the right CPU type. Linux/MIPS is not
997 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
998 *not* work on R4000 machines and vice versa. However, since most
999 of the supported machines have an R4000 (or similar) CPU, R4x00
1000 might be a safe bet. If the resulting kernel does not work,
1001 try to recompile with R3000.
1002
1003config CPU_TX39XX
1004 bool "R39XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001005 depends on SYS_HAS_CPU_TX39XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001006 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001007
1008config CPU_VR41XX
1009 bool "R41xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001010 depends on SYS_HAS_CPU_VR41XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001011 select CPU_SUPPORTS_32BIT_KERNEL
1012 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001013 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001014 The options selects support for the NEC VR4100 series of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001015 Only choose this option if you have one of these processors as a
1016 kernel built with this option will not run on any other type of
1017 processor or vice versa.
1018
1019config CPU_R4300
1020 bool "R4300"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001021 depends on SYS_HAS_CPU_R4300
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001022 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001023 select CPU_SUPPORTS_32BIT_KERNEL
1024 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001025 help
1026 MIPS Technologies R4300-series processors.
1027
1028config CPU_R4X00
1029 bool "R4x00"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001030 depends on SYS_HAS_CPU_R4X00
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001031 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001032 select CPU_SUPPORTS_32BIT_KERNEL
1033 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001034 help
1035 MIPS Technologies R4000-series processors other than 4300, including
1036 the R4000, R4400, R4600, and 4700.
1037
1038config CPU_TX49XX
1039 bool "R49XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001040 depends on SYS_HAS_CPU_TX49XX
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001041 select CPU_HAS_LLSC
Atsushi Nemotode862b42006-03-17 12:59:22 +09001042 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001043 select CPU_SUPPORTS_32BIT_KERNEL
1044 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001045
1046config CPU_R5000
1047 bool "R5000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001048 depends on SYS_HAS_CPU_R5000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001049 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001050 select CPU_SUPPORTS_32BIT_KERNEL
1051 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001052 help
1053 MIPS Technologies R5000-series processors other than the Nevada.
1054
1055config CPU_R5432
1056 bool "R5432"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001057 depends on SYS_HAS_CPU_R5432
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001058 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001059 select CPU_SUPPORTS_32BIT_KERNEL
1060 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001061
1062config CPU_R6000
1063 bool "R6000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001064 depends on EXPERIMENTAL
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001065 select CPU_HAS_LLSC
Ralf Baechle7cf80532005-10-20 22:33:09 +01001066 depends on SYS_HAS_CPU_R6000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001067 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001068 help
1069 MIPS Technologies R6000 and R6000A series processors. Note these
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001070 processors are extremely rare and the support for them is incomplete.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001071
1072config CPU_NEVADA
1073 bool "RM52xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001074 depends on SYS_HAS_CPU_NEVADA
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001075 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001076 select CPU_SUPPORTS_32BIT_KERNEL
1077 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001078 help
1079 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1080
1081config CPU_R8000
1082 bool "R8000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001083 depends on EXPERIMENTAL
Ralf Baechle7cf80532005-10-20 22:33:09 +01001084 depends on SYS_HAS_CPU_R8000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001085 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001086 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001087 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001088 help
1089 MIPS Technologies R8000 processors. Note these processors are
1090 uncommon and the support for them is incomplete.
1091
1092config CPU_R10000
1093 bool "R10000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001094 depends on SYS_HAS_CPU_R10000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001095 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001096 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001097 select CPU_SUPPORTS_32BIT_KERNEL
1098 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001099 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001100 help
1101 MIPS Technologies R10000-series processors.
1102
1103config CPU_RM7000
1104 bool "RM7000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001105 depends on SYS_HAS_CPU_RM7000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001106 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001107 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001108 select CPU_SUPPORTS_32BIT_KERNEL
1109 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001110 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001111
1112config CPU_RM9000
1113 bool "RM9000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001114 depends on SYS_HAS_CPU_RM9000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001115 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001116 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001117 select CPU_SUPPORTS_32BIT_KERNEL
1118 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001119 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001120 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001121
1122config CPU_SB1
1123 bool "SB1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001124 depends on SYS_HAS_CPU_SB1
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001125 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001126 select CPU_SUPPORTS_32BIT_KERNEL
1127 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001128 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001129 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001130
1131endchoice
1132
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001133config SYS_HAS_CPU_LOONGSON2
1134 bool
1135
Ralf Baechle7cf80532005-10-20 22:33:09 +01001136config SYS_HAS_CPU_MIPS32_R1
1137 bool
1138
1139config SYS_HAS_CPU_MIPS32_R2
1140 bool
1141
1142config SYS_HAS_CPU_MIPS64_R1
1143 bool
1144
1145config SYS_HAS_CPU_MIPS64_R2
1146 bool
1147
1148config SYS_HAS_CPU_R3000
1149 bool
1150
1151config SYS_HAS_CPU_TX39XX
1152 bool
1153
1154config SYS_HAS_CPU_VR41XX
1155 bool
1156
1157config SYS_HAS_CPU_R4300
1158 bool
1159
1160config SYS_HAS_CPU_R4X00
1161 bool
1162
1163config SYS_HAS_CPU_TX49XX
1164 bool
1165
1166config SYS_HAS_CPU_R5000
1167 bool
1168
1169config SYS_HAS_CPU_R5432
1170 bool
1171
1172config SYS_HAS_CPU_R6000
1173 bool
1174
1175config SYS_HAS_CPU_NEVADA
1176 bool
1177
1178config SYS_HAS_CPU_R8000
1179 bool
1180
1181config SYS_HAS_CPU_R10000
1182 bool
1183
1184config SYS_HAS_CPU_RM7000
1185 bool
1186
1187config SYS_HAS_CPU_RM9000
1188 bool
1189
1190config SYS_HAS_CPU_SB1
1191 bool
1192
Ralf Baechle17099b12007-07-14 13:24:05 +01001193#
1194# CPU may reorder R->R, R->W, W->R, W->W
1195# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1196#
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001197config WEAK_ORDERING
1198 bool
Ralf Baechle17099b12007-07-14 13:24:05 +01001199
1200#
1201# CPU may reorder reads and writes beyond LL/SC
1202# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1203#
1204config WEAK_REORDERING_BEYOND_LLSC
1205 bool
Ralf Baechle5e83d432005-10-29 19:32:41 +01001206endmenu
1207
1208#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001209# These two indicate any level of the MIPS32 and MIPS64 architecture
Ralf Baechle5e83d432005-10-29 19:32:41 +01001210#
1211config CPU_MIPS32
1212 bool
1213 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1214
1215config CPU_MIPS64
1216 bool
1217 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1218
1219#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001220# These two indicate the revision of the architecture, either Release 1 or Release 2
Ralf Baechle5e83d432005-10-29 19:32:41 +01001221#
1222config CPU_MIPSR1
1223 bool
1224 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1225
1226config CPU_MIPSR2
1227 bool
1228 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1229
1230config SYS_SUPPORTS_32BIT_KERNEL
1231 bool
1232config SYS_SUPPORTS_64BIT_KERNEL
1233 bool
1234config CPU_SUPPORTS_32BIT_KERNEL
1235 bool
1236config CPU_SUPPORTS_64BIT_KERNEL
1237 bool
1238
1239menu "Kernel type"
1240
1241choice
1242
1243 prompt "Kernel code model"
1244 help
1245 You should only select this option if you have a workload that
1246 actually benefits from 64-bit processing or if your machine has
1247 large memory. You will only be presented a single option in this
1248 menu if your system does not support both 32-bit and 64-bit kernels.
1249
1250config 32BIT
1251 bool "32-bit kernel"
1252 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1253 select TRAD_SIGNALS
1254 help
1255 Select this option if you want to build a 32-bit kernel.
1256config 64BIT
1257 bool "64-bit kernel"
1258 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1259 help
1260 Select this option if you want to build a 64-bit kernel.
1261
1262endchoice
1263
Linus Torvalds1da177e2005-04-16 15:20:36 -07001264choice
1265 prompt "Kernel page size"
1266 default PAGE_SIZE_4KB
1267
1268config PAGE_SIZE_4KB
1269 bool "4kB"
1270 help
1271 This option select the standard 4kB Linux page size. On some
1272 R3000-family processors this is the only available page size. Using
1273 4kB page size will minimize memory consumption and is therefore
1274 recommended for low memory systems.
1275
1276config PAGE_SIZE_8KB
1277 bool "8kB"
1278 depends on EXPERIMENTAL && CPU_R8000
1279 help
1280 Using 8kB page size will result in higher performance kernel at
1281 the price of higher memory consumption. This option is available
1282 only on the R8000 processor. Not that at the time of this writing
1283 this option is still high experimental; there are also issues with
1284 compatibility of user applications.
1285
1286config PAGE_SIZE_16KB
1287 bool "16kB"
Ralf Baechle714bfad2006-05-17 14:04:30 +01001288 depends on !CPU_R3000 && !CPU_TX39XX
Linus Torvalds1da177e2005-04-16 15:20:36 -07001289 help
1290 Using 16kB page size will result in higher performance kernel at
1291 the price of higher memory consumption. This option is available on
Ralf Baechle714bfad2006-05-17 14:04:30 +01001292 all non-R3000 family processors. Note that you will need a suitable
1293 Linux distribution to support this.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001294
1295config PAGE_SIZE_64KB
1296 bool "64kB"
1297 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1298 help
1299 Using 64kB page size will result in higher performance kernel at
1300 the price of higher memory consumption. This option is available on
1301 all non-R3000 family processor. Not that at the time of this
Ralf Baechle714bfad2006-05-17 14:04:30 +01001302 writing this option is still high experimental.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001303
1304endchoice
1305
1306config BOARD_SCACHE
1307 bool
1308
1309config IP22_CPU_SCACHE
1310 bool
1311 select BOARD_SCACHE
1312
Chris Dearman9318c512006-06-20 17:15:20 +01001313#
1314# Support for a MIPS32 / MIPS64 style S-caches
1315#
1316config MIPS_CPU_SCACHE
1317 bool
1318 select BOARD_SCACHE
1319
Linus Torvalds1da177e2005-04-16 15:20:36 -07001320config R5000_CPU_SCACHE
1321 bool
1322 select BOARD_SCACHE
1323
1324config RM7000_CPU_SCACHE
1325 bool
1326 select BOARD_SCACHE
1327
1328config SIBYTE_DMA_PAGEOPS
1329 bool "Use DMA to clear/copy pages"
1330 depends on CPU_SB1
1331 help
1332 Instead of using the CPU to zero and copy pages, use a Data Mover
1333 channel. These DMA channels are otherwise unused by the standard
1334 SiByte Linux port. Seems to give a small performance benefit.
1335
1336config CPU_HAS_PREFETCH
Ralf Baechlec8094b52005-08-05 14:28:54 +00001337 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001338
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001339choice
1340 prompt "MIPS MT options"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001341
1342config MIPS_MT_DISABLED
1343 bool "Disable multithreading support."
1344 help
1345 Use this option if your workload can't take advantage of
1346 MIPS hardware multithreading support. On systems that don't have
1347 the option of an MT-enabled processor this option will be the only
1348 option in this menu.
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001349
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001350config MIPS_MT_SMP
1351 bool "Use 1 TC on each available VPE for SMP"
1352 depends on SYS_SUPPORTS_MULTITHREADING
1353 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001354 select CPU_MIPSR2_IRQ_EI
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001355 select CPU_MIPSR2_SRS
1356 select MIPS_MT
Ralf Baechlef510aa32007-03-16 21:58:37 +00001357 select NR_CPUS_DEFAULT_2
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001358 select SMP
1359 select SYS_SUPPORTS_SMP
1360 help
1361 This is a kernel model which is also known a VSMP or lately
1362 has been marketesed into SMVP.
1363
Ralf Baechle41c594a2006-04-05 09:45:45 +01001364config MIPS_MT_SMTC
1365 bool "SMTC: Use all TCs on all VPEs for SMP"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001366 depends on CPU_MIPS32_R2
1367 #depends on CPU_MIPS64_R2 # once there is hardware ...
1368 depends on SYS_SUPPORTS_MULTITHREADING
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001369 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001370 select CPU_MIPSR2_IRQ_EI
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001371 select CPU_MIPSR2_SRS
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001372 select MIPS_MT
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001373 select NR_CPUS_DEFAULT_8
Ralf Baechle41c594a2006-04-05 09:45:45 +01001374 select SMP
Ralf Baechle73b76c72006-08-15 19:36:40 +01001375 select SYS_SUPPORTS_SMP
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001376 help
1377 This is a kernel model which is known a SMTC or lately has been
1378 marketesed into SMVP.
Ralf Baechle41c594a2006-04-05 09:45:45 +01001379
Ralf Baechlee01402b2005-07-14 15:57:16 +00001380config MIPS_VPE_LOADER
1381 bool "VPE loader support."
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001382 depends on SYS_SUPPORTS_MULTITHREADING
Chris Dearmand725cf32007-05-08 14:05:39 +01001383 select CPU_MIPSR2_IRQ_VI
1384 select CPU_MIPSR2_IRQ_EI
Ralf Baechleb0c10b9f2007-06-01 15:47:46 +01001385 select CPU_MIPSR2_SRS
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001386 select MIPS_MT
Ralf Baechlee01402b2005-07-14 15:57:16 +00001387 help
1388 Includes a loader for loading an elf relocatable object
1389 onto another VPE and running it.
1390
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001391endchoice
1392
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001393config MIPS_MT
1394 bool
1395
1396config SYS_SUPPORTS_MULTITHREADING
1397 bool
1398
Ralf Baechlef088fc82006-04-05 09:45:47 +01001399config MIPS_MT_FPAFF
1400 bool "Dynamic FPU affinity for FP-intensive threads"
1401 depends on MIPS_MT
1402 default y
1403
Ralf Baechleac8be952007-01-20 00:18:01 +00001404config MIPS_MT_SMTC_INSTANT_REPLAY
1405 bool "Low-latency Dispatch of Deferred SMTC IPIs"
Ralf Baechle619af722007-03-26 15:13:57 +01001406 depends on MIPS_MT_SMTC && !PREEMPT
Ralf Baechleac8be952007-01-20 00:18:01 +00001407 default y
1408 help
1409 SMTC pseudo-interrupts between TCs are deferred and queued
1410 if the target TC is interrupt-inhibited (IXMT). In the first
1411 SMTC prototypes, these queued IPIs were serviced on return
1412 to user mode, or on entry into the kernel idle loop. The
1413 INSTANT_REPLAY option dispatches them as part of local_irq_restore()
1414 processing, which adds runtime overhead (hence the option to turn
1415 it off), but ensures that IPIs are handled promptly even under
1416 heavy I/O interrupt load.
1417
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001418config MIPS_MT_SMTC_IM_BACKSTOP
1419 bool "Use per-TC register bits as backstop for inhibited IM bits"
1420 depends on MIPS_MT_SMTC
1421 default y
1422 help
1423 To support multiple TC microthreads acting as "CPUs" within
1424 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1425 during interrupt handling. To support legacy drivers and interrupt
1426 controller management code, SMTC has a "backstop" to track and
1427 if necessary restore the interrupt mask. This has some performance
1428 impact on interrupt service overhead. Disable it only if you know
1429 what you are doing.
1430
Ralf Baechlee01402b2005-07-14 15:57:16 +00001431config MIPS_VPE_LOADER_TOM
1432 bool "Load VPE program into memory hidden from linux"
1433 depends on MIPS_VPE_LOADER
1434 default y
1435 help
1436 The loader can use memory that is present but has been hidden from
1437 Linux using the kernel command line option "mem=xxMB". It's up to
1438 you to ensure the amount you put in the option and the space your
1439 program requires is less or equal to the amount physically present.
1440
1441# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1442config MIPS_VPE_APSP_API
Ralf Baechle5e83d432005-10-29 19:32:41 +01001443 bool "Enable support for AP/SP API (RTLX)"
1444 depends on MIPS_VPE_LOADER
1445 help
Ralf Baechlee01402b2005-07-14 15:57:16 +00001446
Ralf Baechle26009902006-04-05 09:45:45 +01001447config MIPS_APSP_KSPD
1448 bool "Enable KSPD"
1449 depends on MIPS_VPE_APSP_API
1450 default y
1451 help
1452 KSPD is a kernel daemon that accepts syscall requests from the SP
1453 side, actions them and returns the results. It also handles the
1454 "exit" syscall notifying other kernel modules the SP program is
1455 exiting. You probably want to say yes here.
1456
Linus Torvalds1da177e2005-04-16 15:20:36 -07001457config SB1_PASS_1_WORKAROUNDS
1458 bool
1459 depends on CPU_SB1_PASS_1
1460 default y
1461
1462config SB1_PASS_2_WORKAROUNDS
1463 bool
1464 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1465 default y
1466
1467config SB1_PASS_2_1_WORKAROUNDS
1468 bool
1469 depends on CPU_SB1 && CPU_SB1_PASS_2
1470 default y
1471
1472config 64BIT_PHYS_ADDR
1473 bool "Support for 64-bit physical address space"
Ralf Baechle948928a2005-12-23 02:16:44 +01001474 depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001475
Linus Torvalds1da177e2005-04-16 15:20:36 -07001476config CPU_HAS_LLSC
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001477 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001478
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001479config CPU_HAS_SMARTMIPS
1480 depends on SYS_SUPPORTS_SMARTMIPS
1481 bool "Support for the SmartMIPS ASE"
1482 help
1483 SmartMIPS is a extension of the MIPS32 architecture aimed at
1484 increased security at both hardware and software level for
1485 smartcards. Enabling this option will allow proper use of the
1486 SmartMIPS instructions by Linux applications. However a kernel with
1487 this option will not work on a MIPS core without SmartMIPS core. If
1488 you don't know you probably don't have SmartMIPS and should say N
1489 here.
1490
Linus Torvalds1da177e2005-04-16 15:20:36 -07001491config CPU_HAS_WB
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001492 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001493
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001494config 64BIT_CONTEXT
1495 bool "Save 64bit integer registers"
1496 depends on 32BIT && CPU_LOONGSON2
1497 help
1498 Loongson2 CPU is 64bit , when used in 32BIT mode, its integer
1499 registers can still be accessed as 64bit, mainly for multimedia
1500 instructions. We must have all 64bit save/restored to make sure
1501 those instructions to get correct result.
1502
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001503#
1504# Vectored interrupt mode is an R2 feature
1505#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001506config CPU_MIPSR2_IRQ_VI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001507 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001508
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001509#
1510# Extended interrupt mode is an R2 feature
1511#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001512config CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001513 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001514
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001515#
1516# Shadow registers are an R2 feature
1517#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001518config CPU_MIPSR2_SRS
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001519 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001520
Linus Torvalds1da177e2005-04-16 15:20:36 -07001521config CPU_HAS_SYNC
1522 bool
1523 depends on !CPU_R3000
1524 default y
1525
1526#
Ralf Baechle797798c2005-08-10 15:17:11 +00001527# Use the generic interrupt handling code in kernel/irq/:
1528#
1529config GENERIC_HARDIRQS
1530 bool
1531 default y
1532
1533config GENERIC_IRQ_PROBE
1534 bool
1535 default y
1536
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001537config IRQ_PER_CPU
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001538 bool
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001539
Ralf Baechle797798c2005-08-10 15:17:11 +00001540#
Linus Torvalds1da177e2005-04-16 15:20:36 -07001541# - Highmem only makes sense for the 32-bit kernel.
1542# - The current highmem code will only work properly on physically indexed
1543# caches such as R3000, SB1, R7000 or those that look like they're virtually
1544# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1545# moment we protect the user and offer the highmem option only on machines
1546# where it's known to be safe. This will not offer highmem on a few systems
1547# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1548# indexed CPUs but we're playing safe.
Ralf Baechle797798c2005-08-10 15:17:11 +00001549# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1550# know they might have memory configurations that could make use of highmem
1551# support.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001552#
1553config HIGHMEM
1554 bool "High Memory Support"
Ralf Baechle797798c2005-08-10 15:17:11 +00001555 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1556
1557config CPU_SUPPORTS_HIGHMEM
1558 bool
1559
1560config SYS_SUPPORTS_HIGHMEM
1561 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001562
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001563config SYS_SUPPORTS_SMARTMIPS
1564 bool
1565
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001566config ARCH_FLATMEM_ENABLE
1567 def_bool y
1568 depends on !NUMA
1569
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001570config ARCH_DISCONTIGMEM_ENABLE
1571 bool
1572 default y if SGI_IP27
1573 help
David Sterba3dde6ad2007-05-09 07:12:20 +02001574 Say Y to support efficient handling of discontiguous physical memory,
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001575 for architectures which are either NUMA (Non-Uniform Memory Access)
1576 or have huge holes in the physical address space for other reasons.
1577 See <file:Documentation/vm/numa> for more.
1578
Atsushi Nemotob1c6cd42006-07-03 00:09:47 +09001579config ARCH_SPARSEMEM_ENABLE
1580 bool
Atsushi Nemoto7de58fa2006-07-05 01:22:44 +09001581 select SPARSEMEM_STATIC
Atsushi Nemoto31473742006-07-03 00:09:47 +09001582
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001583config NUMA
1584 bool "NUMA Support"
1585 depends on SYS_SUPPORTS_NUMA
1586 help
1587 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1588 Access). This option improves performance on systems with more
1589 than two nodes; on two node systems it is generally better to
1590 leave it disabled; on single node systems disable this option
1591 disabled.
1592
1593config SYS_SUPPORTS_NUMA
1594 bool
1595
Yasunori Gotoc80d79d2006-04-10 22:53:53 -07001596config NODES_SHIFT
1597 int
1598 default "6"
1599 depends on NEED_MULTIPLE_NODES
1600
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001601source "mm/Kconfig"
1602
Linus Torvalds1da177e2005-04-16 15:20:36 -07001603config SMP
1604 bool "Multi-Processing support"
Ralf Baechlee73ea272006-06-04 11:51:46 +01001605 depends on SYS_SUPPORTS_SMP
Ralf Baechleb4b30a52006-08-03 17:34:24 +01001606 select IRQ_PER_CPU
Ralf Baechlee73ea272006-06-04 11:51:46 +01001607 help
Linus Torvalds1da177e2005-04-16 15:20:36 -07001608 This enables support for systems with more than one CPU. If you have
1609 a system with only one CPU, like most personal computers, say N. If
1610 you have a system with more than one CPU, say Y.
1611
1612 If you say N here, the kernel will run on single and multiprocessor
1613 machines, but will use only one CPU of a multiprocessor machine. If
1614 you say Y here, the kernel will run on many, but not all,
1615 singleprocessor machines. On a singleprocessor machine, the kernel
1616 will run faster if you say N here.
1617
1618 People using multiprocessor machines who say Y here should also say
1619 Y to "Enhanced Real Time Clock Support", below.
1620
1621 See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1622 available at <http://www.tldp.org/docs.html#howto>.
1623
1624 If you don't know what to do here, say N.
1625
Ralf Baechlee73ea272006-06-04 11:51:46 +01001626config SYS_SUPPORTS_SMP
1627 bool
1628
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001629config NR_CPUS_DEFAULT_1
1630 bool
1631
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001632config NR_CPUS_DEFAULT_2
1633 bool
1634
1635config NR_CPUS_DEFAULT_4
1636 bool
1637
1638config NR_CPUS_DEFAULT_8
1639 bool
1640
1641config NR_CPUS_DEFAULT_16
1642 bool
1643
1644config NR_CPUS_DEFAULT_32
1645 bool
1646
1647config NR_CPUS_DEFAULT_64
1648 bool
1649
Linus Torvalds1da177e2005-04-16 15:20:36 -07001650config NR_CPUS
1651 int "Maximum number of CPUs (2-64)"
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001652 range 1 64 if NR_CPUS_DEFAULT_1
Linus Torvalds1da177e2005-04-16 15:20:36 -07001653 depends on SMP
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001654 default "1" if NR_CPUS_DEFAULT_1
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001655 default "2" if NR_CPUS_DEFAULT_2
1656 default "4" if NR_CPUS_DEFAULT_4
1657 default "8" if NR_CPUS_DEFAULT_8
1658 default "16" if NR_CPUS_DEFAULT_16
1659 default "32" if NR_CPUS_DEFAULT_32
1660 default "64" if NR_CPUS_DEFAULT_64
Linus Torvalds1da177e2005-04-16 15:20:36 -07001661 help
1662 This allows you to specify the maximum number of CPUs which this
1663 kernel will support. The maximum supported value is 32 for 32-bit
1664 kernel and 64 for 64-bit kernels; the minimum value which makes
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001665 sense is 1 for Qemu (useful only for kernel debugging purposes)
1666 and 2 for all others.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001667
1668 This is purely to save memory - each supported CPU adds
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001669 approximately eight kilobytes to the kernel image. For best
1670 performance should round up your number of processors to the next
1671 power of two.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001672
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09001673#
1674# Timer Interrupt Frequency Configuration
1675#
1676
1677choice
1678 prompt "Timer frequency"
1679 default HZ_250
1680 help
1681 Allows the configuration of the timer frequency.
1682
1683 config HZ_48
1684 bool "48 HZ" if SYS_SUPPORTS_48HZ
1685
1686 config HZ_100
1687 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1688
1689 config HZ_128
1690 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1691
1692 config HZ_250
1693 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1694
1695 config HZ_256
1696 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1697
1698 config HZ_1000
1699 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1700
1701 config HZ_1024
1702 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1703
1704endchoice
1705
1706config SYS_SUPPORTS_48HZ
1707 bool
1708
1709config SYS_SUPPORTS_100HZ
1710 bool
1711
1712config SYS_SUPPORTS_128HZ
1713 bool
1714
1715config SYS_SUPPORTS_250HZ
1716 bool
1717
1718config SYS_SUPPORTS_256HZ
1719 bool
1720
1721config SYS_SUPPORTS_1000HZ
1722 bool
1723
1724config SYS_SUPPORTS_1024HZ
1725 bool
1726
1727config SYS_SUPPORTS_ARBIT_HZ
1728 bool
1729 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1730 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1731 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1732 !SYS_SUPPORTS_1024HZ
1733
1734config HZ
1735 int
1736 default 48 if HZ_48
1737 default 100 if HZ_100
1738 default 128 if HZ_128
1739 default 250 if HZ_250
1740 default 256 if HZ_256
1741 default 1000 if HZ_1000
1742 default 1024 if HZ_1024
1743
Ralf Baechlee80de852005-07-11 20:45:51 +00001744source "kernel/Kconfig.preempt"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001745
Linus Torvalds1da177e2005-04-16 15:20:36 -07001746config MIPS_INSANE_LARGE
1747 bool "Support for large 64-bit configurations"
Ralf Baechle875d43e2005-09-03 15:56:16 -07001748 depends on CPU_R10000 && 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001749 help
1750 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1751 previous 64-bit processors which only supported 40 bit / 1TB. If you
1752 need processes of more than 1TB virtual address space, say Y here.
1753 This will result in additional memory usage, so it is not
1754 recommended for normal users.
1755
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001756config KEXEC
1757 bool "Kexec system call (EXPERIMENTAL)"
1758 depends on EXPERIMENTAL
1759 help
1760 kexec is a system call that implements the ability to shutdown your
1761 current kernel, and to start another kernel. It is like a reboot
David Sterba3dde6ad2007-05-09 07:12:20 +02001762 but it is independent of the system firmware. And like a reboot
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001763 you can start any kernel with it, not just Linux.
1764
1765 The name comes from the similiarity to the exec system call.
1766
1767 It is an ongoing process to be certain the hardware in a machine
1768 is properly shutdown, so do not be surprised if this code does not
1769 initially work for you. It may help to enable device hotplugging
1770 support. As of this writing the exact hardware interface is
1771 strongly in flux, so no good recommendation can be made.
1772
1773config SECCOMP
1774 bool "Enable seccomp to safely compute untrusted bytecode"
Ralf Baechle293c5bd2007-07-25 16:19:33 +01001775 depends on PROC_FS
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001776 default y
1777 help
1778 This kernel feature is useful for number crunching applications
1779 that may need to compute untrusted bytecode during their
1780 execution. By using pipes or other transports made available to
1781 the process as file descriptors supporting the read/write
1782 syscalls, it's possible to isolate those applications in
1783 their own address space using seccomp. Once seccomp is
1784 enabled via /proc/<pid>/seccomp, it cannot be disabled
1785 and the task is only allowed to execute a few safe syscalls
1786 defined by each seccomp mode.
1787
1788 If unsure, say Y. Only embedded should say N here.
1789
Ralf Baechle5e83d432005-10-29 19:32:41 +01001790endmenu
1791
Linus Torvalds1da177e2005-04-16 15:20:36 -07001792config RWSEM_GENERIC_SPINLOCK
1793 bool
1794 default y
1795
Atsushi Nemoto1df0f0f2006-09-26 23:44:01 +09001796config LOCKDEP_SUPPORT
1797 bool
1798 default y
1799
1800config STACKTRACE_SUPPORT
1801 bool
1802 default y
1803
Ralf Baechleb6c35392005-11-25 11:35:40 +00001804source "init/Kconfig"
1805
Linus Torvalds1da177e2005-04-16 15:20:36 -07001806menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1807
Ralf Baechle5e83d432005-10-29 19:32:41 +01001808config HW_HAS_EISA
1809 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001810config HW_HAS_PCI
1811 bool
1812
1813config PCI
1814 bool "Support for PCI controller"
1815 depends on HW_HAS_PCI
1816 help
1817 Find out whether you have a PCI motherboard. PCI is the name of a
1818 bus system, i.e. the way the CPU talks to the other stuff inside
1819 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1820 say Y, otherwise N.
1821
1822 The PCI-HOWTO, available from
1823 <http://www.tldp.org/docs.html#howto>, contains valuable
1824 information about which PCI hardware does work under Linux and which
1825 doesn't.
1826
1827config PCI_DOMAINS
1828 bool
1829 depends on PCI
1830
1831source "drivers/pci/Kconfig"
1832
1833#
1834# ISA support is now enabled via select. Too many systems still have the one
1835# or other ISA chip on the board that users don't know about so don't expect
1836# users to choose the right thing ...
1837#
1838config ISA
1839 bool
1840
1841config EISA
1842 bool "EISA support"
Ralf Baechle5e83d432005-10-29 19:32:41 +01001843 depends on HW_HAS_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001844 select ISA
Ralf Baechleaa414df2006-11-30 01:14:51 +00001845 select GENERIC_ISA_DMA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001846 ---help---
1847 The Extended Industry Standard Architecture (EISA) bus was
1848 developed as an open alternative to the IBM MicroChannel bus.
1849
1850 The EISA bus provided some of the features of the IBM MicroChannel
1851 bus while maintaining backward compatibility with cards made for
1852 the older ISA bus. The EISA bus saw limited use between 1988 and
1853 1995 when it was made obsolete by the PCI bus.
1854
1855 Say Y here if you are building a kernel for an EISA-based machine.
1856
1857 Otherwise, say N.
1858
1859source "drivers/eisa/Kconfig"
1860
1861config TC
1862 bool "TURBOchannel support"
1863 depends on MACH_DECSTATION
1864 help
1865 TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1866 processors. Documentation on writing device drivers for TurboChannel
1867 is available at:
1868 <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1869
1870#config ACCESSBUS
1871# bool "Access.Bus support"
1872# depends on TC
1873
1874config MMU
1875 bool
1876 default y
1877
Ralf Baechlede61b542007-07-12 17:41:23 +01001878config PCSPEAKER
Michael Neulinge5c6c8e2006-03-14 00:11:50 -05001879 bool
1880
Linus Torvalds1da177e2005-04-16 15:20:36 -07001881source "drivers/pcmcia/Kconfig"
1882
1883source "drivers/pci/hotplug/Kconfig"
1884
1885endmenu
1886
1887menu "Executable file formats"
1888
1889source "fs/Kconfig.binfmt"
1890
1891config TRAD_SIGNALS
1892 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001893
1894config BUILD_ELF64
1895 bool "Use 64-bit ELF format for building"
Ralf Baechle875d43e2005-09-03 15:56:16 -07001896 depends on 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001897 help
1898 A 64-bit kernel is usually built using the 64-bit ELF binary object
1899 format as it's one that allows arbitrary 64-bit constructs. For
1900 kernels that are loaded within the KSEG compatibility segments the
1901 32-bit ELF format can optionally be used resulting in a somewhat
1902 smaller binary, but this option is not explicitly supported by the
1903 toolchain and since binutils 2.14 it does not even work at all.
1904
1905 Say Y to use the 64-bit format or N to use the 32-bit one.
1906
1907 If unsure say Y.
1908
1909config BINFMT_IRIX
1910 bool "Include IRIX binary compatibility"
Ralf Baechle5e83d432005-10-29 19:32:41 +01001911 depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -07001912
1913config MIPS32_COMPAT
1914 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
Ralf Baechle875d43e2005-09-03 15:56:16 -07001915 depends on 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001916 help
1917 Select this option if you want Linux/MIPS 32-bit binary
1918 compatibility. Since all software available for Linux/MIPS is
1919 currently 32-bit you should say Y here.
1920
1921config COMPAT
1922 bool
1923 depends on MIPS32_COMPAT
1924 default y
1925
Atsushi Nemoto05e43962006-11-07 18:02:44 +09001926config SYSVIPC_COMPAT
1927 bool
1928 depends on COMPAT && SYSVIPC
1929 default y
1930
Linus Torvalds1da177e2005-04-16 15:20:36 -07001931config MIPS32_O32
1932 bool "Kernel support for o32 binaries"
1933 depends on MIPS32_COMPAT
1934 help
1935 Select this option if you want to run o32 binaries. These are pure
1936 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
1937 existing binaries are in this format.
1938
1939 If unsure, say Y.
1940
1941config MIPS32_N32
1942 bool "Kernel support for n32 binaries"
1943 depends on MIPS32_COMPAT
1944 help
1945 Select this option if you want to run n32 binaries. These are
1946 64-bit binaries using 32-bit quantities for addressing and certain
1947 data that would normally be 64-bit. They are used in special
1948 cases.
1949
1950 If unsure, say N.
1951
1952config BINFMT_ELF32
1953 bool
1954 default y if MIPS32_O32 || MIPS32_N32
1955
Ralf Baechle21162452007-02-09 17:08:58 +00001956endmenu
Linus Torvalds1da177e2005-04-16 15:20:36 -07001957
Ralf Baechle21162452007-02-09 17:08:58 +00001958menu "Power management options"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02001959
Ralf Baechle21162452007-02-09 17:08:58 +00001960source "kernel/power/Kconfig"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02001961
Linus Torvalds1da177e2005-04-16 15:20:36 -07001962endmenu
1963
Sam Ravnborgd5950b42005-07-11 21:03:49 -07001964source "net/Kconfig"
1965
Linus Torvalds1da177e2005-04-16 15:20:36 -07001966source "drivers/Kconfig"
1967
1968source "fs/Kconfig"
1969
Ralf Baechle5e83d432005-10-29 19:32:41 +01001970source "arch/mips/oprofile/Kconfig"
1971
Linus Torvalds1da177e2005-04-16 15:20:36 -07001972source "arch/mips/Kconfig.debug"
1973
1974source "security/Kconfig"
1975
1976source "crypto/Kconfig"
1977
1978source "lib/Kconfig"