blob: a0381427ec5c7483b7c1d240a0aad74f96925e6e [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001config MIPS
2 bool
3 default y
Sam Ravnborgec7748b2008-02-09 10:46:40 +01004 select HAVE_IDE
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -05005 select HAVE_OPROFILE
Linus Torvalds1da177e2005-04-16 15:20:36 -07006 # Horrible source of confusion. Die, die, die ...
7 select EMBEDDED
Ralf Baechle90b02342007-10-11 23:46:09 +01008 select RTC_LIB
Linus Torvalds1da177e2005-04-16 15:20:36 -07009
Linus Torvalds1da177e2005-04-16 15:20:36 -070010mainmenu "Linux/MIPS Kernel Configuration"
11
Linus Torvalds1da177e2005-04-16 15:20:36 -070012menu "Machine selection"
13
Christoph Lameter5ac6da62007-02-10 01:43:14 -080014config ZONE_DMA
15 bool
Christoph Lameter5ac6da62007-02-10 01:43:14 -080016
Ralf Baechle5e83d432005-10-29 19:32:41 +010017choice
18 prompt "System type"
19 default SGI_IP22
Linus Torvalds1da177e2005-04-16 15:20:36 -070020
Yoichi Yuasac3543e22007-05-11 20:44:30 +090021config MACH_ALCHEMY
22 bool "Alchemy processor based machines"
Linus Torvalds1da177e2005-04-16 15:20:36 -070023
Ralf Baechle35189fa2006-06-18 16:39:46 +010024config BASLER_EXCITE
Thomas Koellerbe915892007-02-23 01:40:34 +010025 bool "Basler eXcite smart camera"
Ralf Baechle42f77542007-10-18 17:48:11 +010026 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +000027 select CSRC_R4K
Ralf Baechle35189fa2006-06-18 16:39:46 +010028 select DMA_COHERENT
29 select HW_HAS_PCI
30 select IRQ_CPU
31 select IRQ_CPU_RM7K
32 select IRQ_CPU_RM9K
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +020033 select MIPS_RM9122
Ralf Baechle35189fa2006-06-18 16:39:46 +010034 select SYS_HAS_CPU_RM9000
35 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle35189fa2006-06-18 16:39:46 +010036 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +000037 select SYS_SUPPORTS_KGDB
Ralf Baechle35189fa2006-06-18 16:39:46 +010038 help
39 The eXcite is a smart camera platform manufactured by
Thomas Koellerbe915892007-02-23 01:40:34 +010040 Basler Vision Technologies AG.
Ralf Baechle35189fa2006-06-18 16:39:46 +010041
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020042config BCM47XX
43 bool "BCM47XX based boards"
Ralf Baechle42f77542007-10-18 17:48:11 +010044 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +000045 select CSRC_R4K
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020046 select DMA_NONCOHERENT
47 select HW_HAS_PCI
48 select IRQ_CPU
49 select SYS_HAS_CPU_MIPS32_R1
50 select SYS_SUPPORTS_32BIT_KERNEL
51 select SYS_SUPPORTS_LITTLE_ENDIAN
52 select SSB
53 select SSB_DRIVER_MIPS
Aurelien Jarno2f02c152007-12-11 11:30:34 +010054 select SSB_DRIVER_EXTIF
55 select SSB_PCICORE_HOSTMODE if PCI
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020056 select GENERIC_GPIO
Aurelien Jarno25e5fb92007-09-25 15:41:24 +020057 select SYS_HAS_EARLY_PRINTK
58 select CFE
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020059 help
60 Support for BCM47XX based boards
61
Linus Torvalds1da177e2005-04-16 15:20:36 -070062config MIPS_COBALT
Martin Michlmayr3fa986f2006-05-09 23:34:53 +020063 bool "Cobalt Server"
Ralf Baechle42f77542007-10-18 17:48:11 +010064 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +000065 select CSRC_R4K
Yoichi Yuasa1097c6a2007-10-22 19:43:15 +090066 select CEVT_GT641XX
Linus Torvalds1da177e2005-04-16 15:20:36 -070067 select DMA_NONCOHERENT
68 select HW_HAS_PCI
Ralf Baechled865bea2007-10-11 23:46:10 +010069 select I8253
Linus Torvalds1da177e2005-04-16 15:20:36 -070070 select I8259
71 select IRQ_CPU
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +090072 select IRQ_GT641XX
Yoichi Yuasa252161e2007-03-14 21:51:26 +090073 select PCI_GT64XXX_PCI0
Ralf Baechle7cf80532005-10-20 22:33:09 +010074 select SYS_HAS_CPU_NEVADA
Yoichi Yuasa0a22e0d2007-03-02 12:42:33 +090075 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -070076 select SYS_SUPPORTS_32BIT_KERNEL
Florian Fainelli0e8774b2008-01-15 19:42:57 +010077 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +010078 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +090079 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -070080
81config MACH_DECSTATION
Martin Michlmayr3fa986f2006-05-09 23:34:53 +020082 bool "DECstations"
Linus Torvalds1da177e2005-04-16 15:20:36 -070083 select BOOT_ELF32
Yoichi Yuasa6457d9f2008-04-25 12:11:44 +090084 select CEVT_DS1287
Ralf Baechle42f77542007-10-18 17:48:11 +010085 select CEVT_R4K
Yoichi Yuasa42474172008-04-24 09:48:40 +090086 select CSRC_IOASIC
Ralf Baechle940f6b42007-11-24 22:33:28 +000087 select CSRC_R4K
Maciej W. Rozycki20d60d92007-10-23 12:43:11 +010088 select CPU_DADDI_WORKAROUNDS if 64BIT
89 select CPU_R4000_WORKAROUNDS if 64BIT
90 select CPU_R4400_WORKAROUNDS if 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -070091 select DMA_NONCOHERENT
Maciej W. Rozyckid388d682007-05-29 15:08:07 +010092 select NO_IOPORT
Linus Torvalds1da177e2005-04-16 15:20:36 -070093 select IRQ_CPU
Ralf Baechle7cf80532005-10-20 22:33:09 +010094 select SYS_HAS_CPU_R3000
95 select SYS_HAS_CPU_R4X00
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -070096 select SYS_SUPPORTS_32BIT_KERNEL
97 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Ralf Baechle5e83d432005-10-29 19:32:41 +010098 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +090099 select SYS_SUPPORTS_128HZ
100 select SYS_SUPPORTS_256HZ
101 select SYS_SUPPORTS_1024HZ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100102 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700103 This enables support for DEC's MIPS based workstations. For details
104 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
105 DECstation porting pages on <http://decstation.unix-ag.org/>.
106
107 If you have one of the following DECstation Models you definitely
108 want to choose R4xx0 for the CPU Type:
109
Ralf Baechle93088162007-08-29 14:21:45 +0100110 DECstation 5000/50
111 DECstation 5000/150
112 DECstation 5000/260
113 DECsystem 5900/260
Linus Torvalds1da177e2005-04-16 15:20:36 -0700114
115 otherwise choose R3000.
116
Ralf Baechle5e83d432005-10-29 19:32:41 +0100117config MACH_JAZZ
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200118 bool "Jazz family of machines"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100119 select ARC
120 select ARC32
121 select ARCH_MAY_HAVE_PC_FDC
Ralf Baechle42f77542007-10-18 17:48:11 +0100122 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000123 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100124 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100125 select GENERIC_ISA_DMA
Thomas Bogendoerferea202c62007-08-25 11:01:50 +0200126 select IRQ_CPU
Ralf Baechled865bea2007-10-11 23:46:10 +0100127 select I8253
Ralf Baechle5e83d432005-10-29 19:32:41 +0100128 select I8259
129 select ISA
Ralf Baechle7cf80532005-10-20 22:33:09 +0100130 select SYS_HAS_CPU_R4X00
Ralf Baechle5e83d432005-10-29 19:32:41 +0100131 select SYS_SUPPORTS_32BIT_KERNEL
132 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +0900133 select SYS_SUPPORTS_100HZ
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900134 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700135 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100136 This a family of machines based on the MIPS R4030 chipset which was
137 used by several vendors to build RISC/os and Windows NT workstations.
138 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
139 Olivetti M700-10 workstations.
140
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200141config LASAT
142 bool "LASAT Networks platforms"
Ralf Baechle42f77542007-10-18 17:48:11 +0100143 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000144 select CSRC_R4K
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200145 select DMA_NONCOHERENT
146 select SYS_HAS_EARLY_PRINTK
147 select HW_HAS_PCI
Ralf Baechlea5ccfe5c12007-10-14 23:49:33 +0100148 select IRQ_CPU
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200149 select PCI_GT64XXX_PCI0
150 select MIPS_NILE4
151 select R5000_CPU_SCACHE
152 select SYS_HAS_CPU_R5000
153 select SYS_SUPPORTS_32BIT_KERNEL
154 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
155 select SYS_SUPPORTS_LITTLE_ENDIAN
156 select GENERIC_HARDIRQS_NO__DO_IRQ
157
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900158config LEMOTE_FULONG
159 bool "Lemote Fulong mini-PC"
160 select ARCH_SPARSEMEM_ENABLE
Ralf Baechle42f77542007-10-18 17:48:11 +0100161 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000162 select CSRC_R4K
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900163 select SYS_HAS_CPU_LOONGSON2
164 select DMA_NONCOHERENT
165 select BOOT_ELF32
166 select BOARD_SCACHE
167 select HAVE_STD_PC_SERIAL_PORT
168 select HW_HAS_PCI
169 select I8259
170 select ISA
171 select IRQ_CPU
172 select SYS_SUPPORTS_32BIT_KERNEL
173 select SYS_SUPPORTS_64BIT_KERNEL
174 select SYS_SUPPORTS_LITTLE_ENDIAN
175 select SYS_SUPPORTS_HIGHMEM
176 select SYS_HAS_EARLY_PRINTK
177 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle23dd6d32007-08-24 16:49:23 +0100178 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900179 select CPU_HAS_WB
180 help
181 Lemote Fulong mini-PC board based on the Chinese Loongson-2E CPU and
182 an FPGA northbridge
183
Linus Torvalds1da177e2005-04-16 15:20:36 -0700184config MIPS_MALTA
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200185 bool "MIPS Malta board"
Ralf Baechle61ed2422005-09-15 08:52:34 +0000186 select ARCH_MAY_HAVE_PC_FDC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700187 select BOOT_ELF32
Ralf Baechlefa71c962008-01-29 10:15:00 +0000188 select BOOT_RAW
Ralf Baechle42f77542007-10-18 17:48:11 +0100189 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000190 select CSRC_R4K
Linus Torvalds1da177e2005-04-16 15:20:36 -0700191 select DMA_NONCOHERENT
192 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000193 select IRQ_CPU
Ralf Baechle39b8d522008-04-28 17:14:26 +0100194 select IRQ_GIC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700195 select HW_HAS_PCI
Ralf Baechled865bea2007-10-11 23:46:10 +0100196 select I8253
Linus Torvalds1da177e2005-04-16 15:20:36 -0700197 select I8259
Ralf Baechle5e83d432005-10-29 19:32:41 +0100198 select MIPS_BOARDS_GEN
199 select MIPS_BONITO64
Chris Dearman9318c512006-06-20 17:15:20 +0100200 select MIPS_CPU_SCACHE
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900201 select PCI_GT64XXX_PCI0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100202 select MIPS_MSC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700203 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100204 select SYS_HAS_CPU_MIPS32_R1
205 select SYS_HAS_CPU_MIPS32_R2
206 select SYS_HAS_CPU_MIPS64_R1
207 select SYS_HAS_CPU_NEVADA
208 select SYS_HAS_CPU_RM7000
Ralf Baechle36a88532007-03-01 11:56:43 +0000209 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700210 select SYS_SUPPORTS_32BIT_KERNEL
211 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100212 select SYS_SUPPORTS_BIG_ENDIAN
213 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlef41ae0b2006-06-05 17:24:46 +0100214 select SYS_SUPPORTS_MULTITHREADING
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100215 select SYS_SUPPORTS_SMARTMIPS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700216 help
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000217 This enables support for the MIPS Technologies Malta evaluation
Linus Torvalds1da177e2005-04-16 15:20:36 -0700218 board.
219
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100220config MIPS_SIM
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200221 bool 'MIPS simulator (MIPSsim)'
Ralf Baechle42f77542007-10-18 17:48:11 +0100222 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000223 select CSRC_R4K
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100224 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000225 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100226 select IRQ_CPU
Marc St-Jean9267a302007-06-14 15:55:31 -0600227 select BOOT_RAW
Ralf Baechle7cf80532005-10-20 22:33:09 +0100228 select SYS_HAS_CPU_MIPS32_R1
229 select SYS_HAS_CPU_MIPS32_R2
Ralf Baechle36a88532007-03-01 11:56:43 +0000230 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100231 select SYS_SUPPORTS_32BIT_KERNEL
232 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlef6e23732007-07-10 17:32:56 +0100233 select SYS_SUPPORTS_MULTITHREADING
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100234 select SYS_SUPPORTS_LITTLE_ENDIAN
235 help
236 This option enables support for MIPS Technologies MIPSsim software
237 emulator.
238
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900239config MARKEINS
240 bool "NEC EMMA2RH Mark-eins"
Ralf Baechle42f77542007-10-18 17:48:11 +0100241 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000242 select CSRC_R4K
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900243 select DMA_NONCOHERENT
244 select HW_HAS_PCI
245 select IRQ_CPU
246 select SWAP_IO_SPACE
247 select SYS_SUPPORTS_32BIT_KERNEL
248 select SYS_SUPPORTS_BIG_ENDIAN
249 select SYS_SUPPORTS_LITTLE_ENDIAN
250 select SYS_HAS_CPU_R5000
251 help
252 This enables support for the R5432-based NEC Mark-eins
253 boards with R5500 CPU.
254
Ralf Baechle5e83d432005-10-29 19:32:41 +0100255config MACH_VR41XX
Yoichi Yuasa74142d62007-04-26 19:45:09 +0900256 bool "NEC VR4100 series based machines"
Ralf Baechle42f77542007-10-18 17:48:11 +0100257 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000258 select CSRC_R4K
Ralf Baechle7cf80532005-10-20 22:33:09 +0100259 select SYS_HAS_CPU_VR41XX
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900260 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100261
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900262config PNX8550_JBS
Daniel Lairda92b0582008-03-06 09:07:18 +0000263 bool "NXP PNX8550 based JBS board"
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900264 select PNX8550
265 select SYS_SUPPORTS_LITTLE_ENDIAN
266
267config PNX8550_STB810
Daniel Lairda92b0582008-03-06 09:07:18 +0000268 bool "NXP PNX8550 based STB810 board"
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900269 select PNX8550
270 select SYS_SUPPORTS_LITTLE_ENDIAN
271
Marc St-Jean9267a302007-06-14 15:55:31 -0600272config PMC_MSP
273 bool "PMC-Sierra MSP chipsets"
274 depends on EXPERIMENTAL
275 select DMA_NONCOHERENT
276 select SWAP_IO_SPACE
277 select NO_EXCEPT_FILL
278 select BOOT_RAW
279 select SYS_HAS_CPU_MIPS32_R1
280 select SYS_HAS_CPU_MIPS32_R2
281 select SYS_SUPPORTS_32BIT_KERNEL
282 select SYS_SUPPORTS_BIG_ENDIAN
283 select SYS_SUPPORTS_KGDB
284 select IRQ_CPU
285 select SERIAL_8250
286 select SERIAL_8250_CONSOLE
287 help
288 This adds support for the PMC-Sierra family of Multi-Service
289 Processor System-On-A-Chips. These parts include a number
290 of integrated peripherals, interfaces and DSPs in addition to
291 a variety of MIPS cores.
292
Ralf Baechle5e83d432005-10-29 19:32:41 +0100293config PMC_YOSEMITE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200294 bool "PMC-Sierra Yosemite eval board"
Ralf Baechle42f77542007-10-18 17:48:11 +0100295 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000296 select CSRC_R4K
Ralf Baechle5e83d432005-10-29 19:32:41 +0100297 select DMA_COHERENT
298 select HW_HAS_PCI
299 select IRQ_CPU
300 select IRQ_CPU_RM7K
301 select IRQ_CPU_RM9K
302 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100303 select SYS_HAS_CPU_RM9000
Ralf Baechle36a88532007-03-01 11:56:43 +0000304 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100305 select SYS_SUPPORTS_32BIT_KERNEL
306 select SYS_SUPPORTS_64BIT_KERNEL
307 select SYS_SUPPORTS_BIG_ENDIAN
308 select SYS_SUPPORTS_HIGHMEM
Ralf Baechlecc801072007-02-17 02:58:39 +0000309 select SYS_SUPPORTS_KGDB
Ralf Baechlee73ea272006-06-04 11:51:46 +0100310 select SYS_SUPPORTS_SMP
Ralf Baechle5e83d432005-10-29 19:32:41 +0100311 help
312 Yosemite is an evaluation board for the RM9000x2 processor
313 manufactured by PMC-Sierra.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700314
Linus Torvalds1da177e2005-04-16 15:20:36 -0700315config SGI_IP22
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200316 bool "SGI IP22 (Indy/Indigo2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700317 select ARC
318 select ARC32
319 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100320 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000321 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100322 select DEFAULT_SGI_PARTITION
Linus Torvalds1da177e2005-04-16 15:20:36 -0700323 select DMA_NONCOHERENT
Ralf Baechle5e83d432005-10-29 19:32:41 +0100324 select HW_HAS_EISA
Ralf Baechled865bea2007-10-11 23:46:10 +0100325 select I8253
Thomas Bogendoerfer68de4802007-11-23 20:34:16 +0100326 select I8259
Linus Torvalds1da177e2005-04-16 15:20:36 -0700327 select IP22_CPU_SCACHE
328 select IRQ_CPU
Ralf Baechleaa414df2006-11-30 01:14:51 +0000329 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100330 select SGI_HAS_DS1286
331 select SGI_HAS_I8042
332 select SGI_HAS_INDYDOG
333 select SGI_HAS_SEEQ
334 select SGI_HAS_WD93
335 select SGI_HAS_ZILOG
Linus Torvalds1da177e2005-04-16 15:20:36 -0700336 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100337 select SYS_HAS_CPU_R4X00
338 select SYS_HAS_CPU_R5000
Ralf Baechle36a88532007-03-01 11:56:43 +0000339 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700340 select SYS_SUPPORTS_32BIT_KERNEL
341 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100342 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700343 help
344 This are the SGI Indy, Challenge S and Indigo2, as well as certain
345 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
346 that runs on these, say Y here.
347
348config SGI_IP27
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200349 bool "SGI IP27 (Origin200/2000)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700350 select ARC
351 select ARC64
Ralf Baechle5e83d432005-10-29 19:32:41 +0100352 select BOOT_ELF64
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100353 select DEFAULT_SGI_PARTITION
Linus Torvalds1da177e2005-04-16 15:20:36 -0700354 select DMA_IP27
Ralf Baechle36a88532007-03-01 11:56:43 +0000355 select SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700356 select HW_HAS_PCI
Ralf Baechle130e2fb2007-02-06 16:53:15 +0000357 select NR_CPUS_DEFAULT_64
Ralf Baechle7cf80532005-10-20 22:33:09 +0100358 select SYS_HAS_CPU_R10000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700359 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100360 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +0000361 select SYS_SUPPORTS_KGDB
Ralf Baechled8cb4e12006-06-11 23:03:08 +0100362 select SYS_SUPPORTS_NUMA
Ralf Baechle1a5c5de2006-11-02 17:23:33 +0000363 select SYS_SUPPORTS_SMP
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100364 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700365 help
366 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
367 workstations. To compile a Linux kernel that runs on these, say Y
368 here.
369
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100370config SGI_IP28
371 bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
372 depends on EXPERIMENTAL
373 select ARC
374 select ARC64
375 select BOOT_ELF64
376 select CEVT_R4K
377 select CSRC_R4K
378 select DEFAULT_SGI_PARTITION
379 select DMA_NONCOHERENT
380 select GENERIC_ISA_DMA_SUPPORT_BROKEN
381 select IRQ_CPU
382 select HW_HAS_EISA
383 select I8253
384 select I8259
385 select SGI_HAS_DS1286
386 select SGI_HAS_I8042
387 select SGI_HAS_INDYDOG
388 select SGI_HAS_SEEQ
389 select SGI_HAS_WD93
390 select SGI_HAS_ZILOG
391 select SWAP_IO_SPACE
392 select SYS_HAS_CPU_R10000
393 select SYS_HAS_EARLY_PRINTK
394 select SYS_SUPPORTS_64BIT_KERNEL
395 select SYS_SUPPORTS_BIG_ENDIAN
396 help
397 This is the SGI Indigo2 with R10000 processor. To compile a Linux
398 kernel that runs on these, say Y here.
399
Linus Torvalds1da177e2005-04-16 15:20:36 -0700400config SGI_IP32
Ralf Baechlecfd2afc2007-07-10 17:33:00 +0100401 bool "SGI IP32 (O2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700402 select ARC
403 select ARC32
404 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100405 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000406 select CSRC_R4K
Linus Torvalds1da177e2005-04-16 15:20:36 -0700407 select DMA_NONCOHERENT
408 select HW_HAS_PCI
Ralf Baechledd67b152007-10-14 14:02:26 +0100409 select IRQ_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700410 select R5000_CPU_SCACHE
411 select RM7000_CPU_SCACHE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100412 select SYS_HAS_CPU_R5000
413 select SYS_HAS_CPU_R10000 if BROKEN
414 select SYS_HAS_CPU_RM7000
Ralf Baechledd2f18f2006-01-19 14:55:42 +0000415 select SYS_HAS_CPU_NEVADA
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700416 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100417 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700418 help
419 If you want this kernel to run on SGI O2 workstation, say Y here.
420
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900421config SIBYTE_CRHINE
422 bool "Sibyte BCM91120C-CRhine"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100423 depends on EXPERIMENTAL
424 select BOOT_ELF32
425 select DMA_COHERENT
426 select SIBYTE_BCM1120
427 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100428 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100429 select SYS_SUPPORTS_BIG_ENDIAN
430 select SYS_SUPPORTS_LITTLE_ENDIAN
431
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900432config SIBYTE_CARMEL
433 bool "Sibyte BCM91120x-Carmel"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100434 depends on EXPERIMENTAL
435 select BOOT_ELF32
436 select DMA_COHERENT
437 select SIBYTE_BCM1120
438 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100439 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100440 select SYS_SUPPORTS_BIG_ENDIAN
441 select SYS_SUPPORTS_LITTLE_ENDIAN
442
443config SIBYTE_CRHONE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200444 bool "Sibyte BCM91125C-CRhone"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100445 depends on EXPERIMENTAL
446 select BOOT_ELF32
447 select DMA_COHERENT
448 select SIBYTE_BCM1125
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_HIGHMEM
453 select SYS_SUPPORTS_LITTLE_ENDIAN
454
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900455config SIBYTE_RHONE
456 bool "Sibyte BCM91125E-Rhone"
457 depends on EXPERIMENTAL
458 select BOOT_ELF32
459 select DMA_COHERENT
460 select SIBYTE_BCM1125H
461 select SWAP_IO_SPACE
462 select SYS_HAS_CPU_SB1
463 select SYS_SUPPORTS_BIG_ENDIAN
464 select SYS_SUPPORTS_LITTLE_ENDIAN
465
466config SIBYTE_SWARM
467 bool "Sibyte BCM91250A-SWARM"
468 select BOOT_ELF32
469 select DMA_COHERENT
470 select NR_CPUS_DEFAULT_2
471 select SIBYTE_SB1250
472 select SWAP_IO_SPACE
473 select SYS_HAS_CPU_SB1
474 select SYS_SUPPORTS_BIG_ENDIAN
475 select SYS_SUPPORTS_HIGHMEM
476 select SYS_SUPPORTS_KGDB
477 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlecce335a2007-11-03 02:05:43 +0000478 select ZONE_DMA32 if 64BIT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900479
480config SIBYTE_LITTLESUR
481 bool "Sibyte BCM91250C2-LittleSur"
482 depends on EXPERIMENTAL
483 select BOOT_ELF32
484 select DMA_COHERENT
485 select NR_CPUS_DEFAULT_2
486 select SIBYTE_SB1250
487 select SWAP_IO_SPACE
488 select SYS_HAS_CPU_SB1
489 select SYS_SUPPORTS_BIG_ENDIAN
490 select SYS_SUPPORTS_HIGHMEM
491 select SYS_SUPPORTS_LITTLE_ENDIAN
492
493config SIBYTE_SENTOSA
494 bool "Sibyte BCM91250E-Sentosa"
495 depends on EXPERIMENTAL
496 select BOOT_ELF32
497 select DMA_COHERENT
498 select NR_CPUS_DEFAULT_2
499 select SIBYTE_SB1250
500 select SWAP_IO_SPACE
501 select SYS_HAS_CPU_SB1
502 select SYS_SUPPORTS_BIG_ENDIAN
503 select SYS_SUPPORTS_LITTLE_ENDIAN
504
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900505config SIBYTE_BIGSUR
506 bool "Sibyte BCM91480B-BigSur"
507 select BOOT_ELF32
508 select DMA_COHERENT
509 select NR_CPUS_DEFAULT_4
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900510 select SIBYTE_BCM1x80
511 select SWAP_IO_SPACE
512 select SYS_HAS_CPU_SB1
513 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle651194f2007-11-01 21:55:39 +0000514 select SYS_SUPPORTS_HIGHMEM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900515 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlecce335a2007-11-03 02:05:43 +0000516 select ZONE_DMA32 if 64BIT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900517
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100518config SNI_RM
519 bool "SNI RM200/300/400"
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200520 select ARC if CPU_LITTLE_ENDIAN
521 select ARC32 if CPU_LITTLE_ENDIAN
Thomas Bogendoerfer231a35d2008-01-04 23:31:07 +0100522 select SNIPROM if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100523 select ARCH_MAY_HAVE_PC_FDC
524 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100525 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000526 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100527 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100528 select DMA_NONCOHERENT
529 select GENERIC_ISA_DMA
Ralf Baechle5e83d432005-10-29 19:32:41 +0100530 select HW_HAS_EISA
531 select HW_HAS_PCI
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100532 select IRQ_CPU
Ralf Baechled865bea2007-10-11 23:46:10 +0100533 select I8253
Ralf Baechle5e83d432005-10-29 19:32:41 +0100534 select I8259
535 select ISA
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200536 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
Ralf Baechle7cf80532005-10-20 22:33:09 +0100537 select SYS_HAS_CPU_R4X00
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200538 select SYS_HAS_CPU_R5000
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100539 select SYS_HAS_CPU_R10000
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200540 select R5000_CPU_SCACHE
Ralf Baechle36a88532007-03-01 11:56:43 +0000541 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700542 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100543 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200544 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100545 select SYS_SUPPORTS_HIGHMEM
546 select SYS_SUPPORTS_LITTLE_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700547 help
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100548 The SNI RM200/300/400 are MIPS-based machines manufactured by
549 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
Ralf Baechle5e83d432005-10-29 19:32:41 +0100550 Technology and now in turn merged with Fujitsu. Say Y here to
551 support this machine type.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700552
Ralf Baechle5e83d432005-10-29 19:32:41 +0100553config TOSHIBA_JMR3927
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200554 bool "Toshiba JMR-TX3927 board"
Atsushi Nemoto229f7732007-10-25 01:34:09 +0900555 select CEVT_TXX9
Ralf Baechle5e83d432005-10-29 19:32:41 +0100556 select DMA_NONCOHERENT
557 select HW_HAS_PCI
558 select MIPS_TX3927
Atsushi Nemotoc87abd72007-08-02 23:36:02 +0900559 select IRQ_TXX9
Ralf Baechle5e83d432005-10-29 19:32:41 +0100560 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100561 select SYS_HAS_CPU_TX39XX
Ralf Baechle5e83d432005-10-29 19:32:41 +0100562 select SYS_SUPPORTS_32BIT_KERNEL
Sergei Shtylyov6a2603a2007-02-07 20:39:05 +0300563 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100564 select SYS_SUPPORTS_BIG_ENDIAN
Atsushi Nemoto21274352007-03-15 00:58:28 +0900565 select GENERIC_HARDIRQS_NO__DO_IRQ
Atsushi Nemoto1bd09622008-04-05 00:56:27 +0900566 select GPIO_TXX9
Ralf Baechle5e83d432005-10-29 19:32:41 +0100567
568config TOSHIBA_RBTX4927
Yoichi Yuasa08a91282007-07-27 15:20:24 +0900569 bool "Toshiba RBTX49[23]7 board"
Ralf Baechle42f77542007-10-18 17:48:11 +0100570 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000571 select CSRC_R4K
Atsushi Nemoto229f7732007-10-25 01:34:09 +0900572 select CEVT_TXX9
Ralf Baechle5e83d432005-10-29 19:32:41 +0100573 select DMA_NONCOHERENT
574 select HAS_TXX9_SERIAL
575 select HW_HAS_PCI
Atsushi Nemotoc87abd72007-08-02 23:36:02 +0900576 select IRQ_CPU
577 select IRQ_TXX9
578 select I8259 if TOSHIBA_FPCIB0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100579 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100580 select SYS_HAS_CPU_TX49XX
Ralf Baechle5e83d432005-10-29 19:32:41 +0100581 select SYS_SUPPORTS_32BIT_KERNEL
582 select SYS_SUPPORTS_64BIT_KERNEL
Sergei Shtylyov6a2603a2007-02-07 20:39:05 +0300583 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100584 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +0000585 select SYS_SUPPORTS_KGDB
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900586 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100587 help
588 This Toshiba board is based on the TX4927 processor. Say Y here to
589 support this machine type
Linus Torvalds1da177e2005-04-16 15:20:36 -0700590
Ralf Baechle23fbee92005-07-25 22:45:45 +0000591config TOSHIBA_RBTX4938
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200592 bool "Toshiba RBTX4938 board"
Ralf Baechle42f77542007-10-18 17:48:11 +0100593 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000594 select CSRC_R4K
Atsushi Nemoto229f7732007-10-25 01:34:09 +0900595 select CEVT_TXX9
Ralf Baechle23fbee92005-07-25 22:45:45 +0000596 select DMA_NONCOHERENT
Ralf Baechle23fbee92005-07-25 22:45:45 +0000597 select HAS_TXX9_SERIAL
598 select HW_HAS_PCI
Atsushi Nemotoc87abd72007-08-02 23:36:02 +0900599 select IRQ_CPU
600 select IRQ_TXX9
Ralf Baechle23fbee92005-07-25 22:45:45 +0000601 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100602 select SYS_HAS_CPU_TX49XX
Ralf Baechle23fbee92005-07-25 22:45:45 +0000603 select SYS_SUPPORTS_32BIT_KERNEL
604 select SYS_SUPPORTS_LITTLE_ENDIAN
605 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +0000606 select SYS_SUPPORTS_KGDB
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900607 select GENERIC_HARDIRQS_NO__DO_IRQ
Atsushi Nemoto4cad1542008-04-05 00:56:09 +0900608 select GPIO_TXX9
Ralf Baechle23fbee92005-07-25 22:45:45 +0000609 help
610 This Toshiba board is based on the TX4938 processor. Say Y here to
611 support this machine type
612
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900613config WR_PPMC
614 bool "Wind River PPMC board"
Ralf Baechle42f77542007-10-18 17:48:11 +0100615 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000616 select CSRC_R4K
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900617 select IRQ_CPU
618 select BOOT_ELF32
619 select DMA_NONCOHERENT
620 select HW_HAS_PCI
621 select PCI_GT64XXX_PCI0
622 select SWAP_IO_SPACE
623 select SYS_HAS_CPU_MIPS32_R1
624 select SYS_HAS_CPU_MIPS32_R2
625 select SYS_HAS_CPU_MIPS64_R1
626 select SYS_HAS_CPU_NEVADA
627 select SYS_HAS_CPU_RM7000
628 select SYS_SUPPORTS_32BIT_KERNEL
629 select SYS_SUPPORTS_64BIT_KERNEL
630 select SYS_SUPPORTS_BIG_ENDIAN
631 select SYS_SUPPORTS_LITTLE_ENDIAN
632 help
633 This enables support for the Wind River MIPS32 4KC PPMC evaluation
634 board, which is based on GT64120 bridge chip.
635
Linus Torvalds1da177e2005-04-16 15:20:36 -0700636endchoice
637
Yoichi Yuasac3543e22007-05-11 20:44:30 +0900638source "arch/mips/au1000/Kconfig"
Yoichi Yuasa9c746ed2007-12-12 22:39:54 +0900639source "arch/mips/basler/excite/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100640source "arch/mips/jazz/Kconfig"
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200641source "arch/mips/lasat/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100642source "arch/mips/pmc-sierra/Kconfig"
Ralf Baechle29c48692005-02-07 01:27:14 +0000643source "arch/mips/sgi-ip27/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000644source "arch/mips/sibyte/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100645source "arch/mips/tx4927/Kconfig"
Ralf Baechle23fbee92005-07-25 22:45:45 +0000646source "arch/mips/tx4938/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100647source "arch/mips/vr41xx/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000648
Ralf Baechle5e83d432005-10-29 19:32:41 +0100649endmenu
650
Nick Piggin95c354f2008-01-30 13:31:20 +0100651config GENERIC_LOCKBREAK
652 bool
653 default y
654 depends on SMP && PREEMPT
655
Linus Torvalds1da177e2005-04-16 15:20:36 -0700656config RWSEM_GENERIC_SPINLOCK
657 bool
658 default y
659
660config RWSEM_XCHGADD_ALGORITHM
661 bool
662
David Howellsf0d1b0b2006-12-08 02:37:49 -0800663config ARCH_HAS_ILOG2_U32
664 bool
665 default n
666
667config ARCH_HAS_ILOG2_U64
668 bool
669 default n
670
Ralf Baechle00a58252007-12-06 16:53:19 +0000671config ARCH_SUPPORTS_OPROFILE
672 bool
673 default y if !MIPS_MT_SMTC
674
Akinobu Mita3c9ee7e2006-03-26 01:39:30 -0800675config GENERIC_FIND_NEXT_BIT
676 bool
677 default y
678
679config GENERIC_HWEIGHT
680 bool
681 default y
682
Linus Torvalds1da177e2005-04-16 15:20:36 -0700683config GENERIC_CALIBRATE_DELAY
684 bool
685 default y
686
Ralf Baechle7bcf7712007-10-11 23:46:09 +0100687config GENERIC_CLOCKEVENTS
688 bool
689 default y
690
Ralf Baechle8db02012006-10-02 16:54:48 +0100691config GENERIC_TIME
692 bool
693 default y
694
Ralf Baechlef5ff0a22007-08-13 15:26:12 +0100695config GENERIC_CMOS_UPDATE
696 bool
697 default y
698
Atsushi Nemoto1cc89032006-04-04 13:11:45 +0900699config SCHED_NO_NO_OMIT_FRAME_POINTER
700 bool
701 default y
702
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100703config GENERIC_HARDIRQS_NO__DO_IRQ
704 bool
705 default n
706
Linus Torvalds1da177e2005-04-16 15:20:36 -0700707#
708# Select some configuration options automatically based on user selections.
709#
710config ARC
711 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700712
Ralf Baechle61ed2422005-09-15 08:52:34 +0000713config ARCH_MAY_HAVE_PC_FDC
714 bool
715
Marc St-Jean9267a302007-06-14 15:55:31 -0600716config BOOT_RAW
717 bool
718
Ralf Baechle217dd112007-11-01 01:57:55 +0000719config CEVT_BCM1480
720 bool
721
Yoichi Yuasa6457d9f2008-04-25 12:11:44 +0900722config CEVT_DS1287
723 bool
724
Yoichi Yuasa1097c6a2007-10-22 19:43:15 +0900725config CEVT_GT641XX
726 bool
727
Ralf Baechle42f77542007-10-18 17:48:11 +0100728config CEVT_R4K
729 bool
730
Ralf Baechle217dd112007-11-01 01:57:55 +0000731config CEVT_SB1250
732 bool
733
Atsushi Nemoto229f7732007-10-25 01:34:09 +0900734config CEVT_TXX9
735 bool
736
Ralf Baechle217dd112007-11-01 01:57:55 +0000737config CSRC_BCM1480
738 bool
739
Yoichi Yuasa42474172008-04-24 09:48:40 +0900740config CSRC_IOASIC
741 bool
742
Ralf Baechle940f6b42007-11-24 22:33:28 +0000743config CSRC_R4K
744 bool
745
Ralf Baechle217dd112007-11-01 01:57:55 +0000746config CSRC_SB1250
747 bool
748
Atsushi Nemotoa9aec7f2008-04-05 00:55:41 +0900749config GPIO_TXX9
750 select GENERIC_GPIO
751 select HAVE_GPIO_LIB
752 bool
753
Aurelien Jarnodf78b5c2007-09-05 08:58:26 +0200754config CFE
755 bool
756
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700757config DMA_COHERENT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700758 bool
759
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700760config DMA_IP27
Linus Torvalds1da177e2005-04-16 15:20:36 -0700761 bool
762
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700763config DMA_NONCOHERENT
764 bool
765 select DMA_NEED_PCI_MAP_STATE
766
767config DMA_NEED_PCI_MAP_STATE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700768 bool
769
770config EARLY_PRINTK
Ralf Baechle36a88532007-03-01 11:56:43 +0000771 bool "Early printk" if EMBEDDED && DEBUG_KERNEL
772 depends on SYS_HAS_EARLY_PRINTK
773 default y
774 help
775 This option enables special console drivers which allow the kernel
776 to print messages very early in the bootup process.
777
778 This is useful for kernel debugging when your machine crashes very
Robert P. J. Day490dcc42007-05-20 12:11:07 -0400779 early before the console code is initialized. For normal operation,
780 it is not recommended because it looks ugly on some machines and
781 doesn't cooperate with an X server. You should normally say N here,
Ralf Baechle36a88532007-03-01 11:56:43 +0000782 unless you want to debug such a crash.
783
784config SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700785 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700786
Ralf Baechledbb74542007-08-07 14:52:17 +0100787config HOTPLUG_CPU
788 bool
789 default n
790
Linus Torvalds1da177e2005-04-16 15:20:36 -0700791config I8259
792 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700793
Linus Torvalds1da177e2005-04-16 15:20:36 -0700794config MIPS_BONITO64
795 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700796
797config MIPS_MSC
798 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700799
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200800config MIPS_NILE4
801 bool
802
Linus Torvalds1da177e2005-04-16 15:20:36 -0700803config MIPS_DISABLE_OBSOLETE_IDE
804 bool
805
Ralf Baechle39b8d522008-04-28 17:14:26 +0100806config SYNC_R4K
807 bool
808
Maciej W. Rozyckid388d682007-05-29 15:08:07 +0100809config NO_IOPORT
810 def_bool n
811
Ralf Baechle8313da32007-08-24 16:48:30 +0100812config GENERIC_ISA_DMA
813 bool
814 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
815
Ralf Baechleaa414df2006-11-30 01:14:51 +0000816config GENERIC_ISA_DMA_SUPPORT_BROKEN
817 bool
Ralf Baechle8313da32007-08-24 16:48:30 +0100818 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000819
Yoichi Yuasa09663332007-05-22 00:05:58 +0900820config GENERIC_GPIO
821 bool
822
Ralf Baechle5e83d432005-10-29 19:32:41 +0100823#
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100824# Endianess selection. Sufficiently obscure so many users don't know what to
Ralf Baechle5e83d432005-10-29 19:32:41 +0100825# answer,so we try hard to limit the available choices. Also the use of a
826# choice statement should be more obvious to the user.
827#
828choice
829 prompt "Endianess selection"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700830 help
831 Some MIPS machines can be configured for either little or big endian
Ralf Baechle5e83d432005-10-29 19:32:41 +0100832 byte order. These modes require different kernels and a different
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100833 Linux distribution. In general there is one preferred byteorder for a
Ralf Baechle5e83d432005-10-29 19:32:41 +0100834 particular system but some systems are just as commonly used in the
David Sterba3dde6ad2007-05-09 07:12:20 +0200835 one or the other endianness.
Ralf Baechle5e83d432005-10-29 19:32:41 +0100836
837config CPU_BIG_ENDIAN
838 bool "Big endian"
839 depends on SYS_SUPPORTS_BIG_ENDIAN
840
841config CPU_LITTLE_ENDIAN
842 bool "Little endian"
843 depends on SYS_SUPPORTS_LITTLE_ENDIAN
844 help
845
846endchoice
847
Ralf Baechle21162452007-02-09 17:08:58 +0000848config SYS_SUPPORTS_APM_EMULATION
849 bool
850
Ralf Baechle5e83d432005-10-29 19:32:41 +0100851config SYS_SUPPORTS_BIG_ENDIAN
852 bool
853
854config SYS_SUPPORTS_LITTLE_ENDIAN
855 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700856
857config IRQ_CPU
858 bool
859
860config IRQ_CPU_RM7K
861 bool
862
Ralf Baechle5e83d432005-10-29 19:32:41 +0100863config IRQ_CPU_RM9K
864 bool
865
Marc St-Jean9267a302007-06-14 15:55:31 -0600866config IRQ_MSP_SLP
867 bool
868
869config IRQ_MSP_CIC
870 bool
871
Atsushi Nemoto8420fd02007-08-02 23:35:53 +0900872config IRQ_TXX9
873 bool
874
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +0900875config IRQ_GT641XX
876 bool
877
Ralf Baechle39b8d522008-04-28 17:14:26 +0100878config IRQ_GIC
879 bool
880
Linus Torvalds1da177e2005-04-16 15:20:36 -0700881config MIPS_BOARDS_GEN
882 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700883
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900884config PCI_GT64XXX_PCI0
Linus Torvalds1da177e2005-04-16 15:20:36 -0700885 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700886
Marc St-Jean9267a302007-06-14 15:55:31 -0600887config NO_EXCEPT_FILL
888 bool
889
Linus Torvalds1da177e2005-04-16 15:20:36 -0700890config MIPS_TX3927
891 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700892 select HAS_TXX9_SERIAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700893
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200894config MIPS_RM9122
895 bool
896 select SERIAL_RM9000
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200897
Pete Popovbdf21b12005-07-14 17:47:57 +0000898config PNX8550
899 bool
900 select SOC_PNX8550
901
902config SOC_PNX8550
903 bool
Pete Popovbdf21b12005-07-14 17:47:57 +0000904 select DMA_NONCOHERENT
905 select HW_HAS_PCI
Ralf Baechleb8c2a772005-10-31 13:08:37 +0000906 select SYS_HAS_CPU_MIPS32_R1
Ralf Baechle36a88532007-03-01 11:56:43 +0000907 select SYS_HAS_EARLY_PRINTK
Ralf Baechle7cf80532005-10-20 22:33:09 +0100908 select SYS_SUPPORTS_32BIT_KERNEL
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100909 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechlecc801072007-02-17 02:58:39 +0000910 select SYS_SUPPORTS_KGDB
Florian Fainelli4ead1682007-05-22 21:44:42 +0200911 select GENERIC_GPIO
Pete Popovbdf21b12005-07-14 17:47:57 +0000912
Linus Torvalds1da177e2005-04-16 15:20:36 -0700913config SWAP_IO_SPACE
914 bool
915
dmitry pervushin355c4712006-05-21 14:53:06 +0400916config EMMA2RH
917 bool
918 depends on MARKEINS
919 default y
920
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200921config SERIAL_RM9000
922 bool
923
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100924config SGI_HAS_DS1286
925 bool
926
927config SGI_HAS_INDYDOG
928 bool
929
930config SGI_HAS_SEEQ
931 bool
932
933config SGI_HAS_WD93
934 bool
935
936config SGI_HAS_ZILOG
937 bool
938
939config SGI_HAS_I8042
940 bool
941
942config DEFAULT_SGI_PARTITION
943 bool
944
Ralf Baechle5e83d432005-10-29 19:32:41 +0100945config ARC32
946 bool
947
Thomas Bogendoerfer231a35d2008-01-04 23:31:07 +0100948config SNIPROM
949 bool
950
Linus Torvalds1da177e2005-04-16 15:20:36 -0700951config BOOT_ELF32
952 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700953
954config MIPS_L1_CACHE_SHIFT
955 int
Thomas Bogendoerfer06cf5582007-06-20 23:36:47 +0200956 default "4" if MACH_DECSTATION
Thomas Bogendoerfer7e3297d2008-06-27 23:52:26 +0200957 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM
Marc St-Jean9267a302007-06-14 15:55:31 -0600958 default "4" if PMC_MSP4200_EVAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700959 default "5"
960
Linus Torvalds1da177e2005-04-16 15:20:36 -0700961config HAVE_STD_PC_SERIAL_PORT
962 bool
963
Linus Torvalds1da177e2005-04-16 15:20:36 -0700964config ARC_CONSOLE
965 bool "ARC console support"
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100966 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700967
968config ARC_MEMORY
969 bool
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100970 depends on MACH_JAZZ || SNI_RM || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700971 default y
972
973config ARC_PROMLIB
974 bool
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100975 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700976 default y
977
978config ARC64
979 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700980
981config BOOT_ELF64
982 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700983
Linus Torvalds1da177e2005-04-16 15:20:36 -0700984menu "CPU selection"
985
986choice
987 prompt "CPU type"
988 default CPU_R4X00
989
Fuxin Zhang2a21c732007-06-06 14:52:43 +0800990config CPU_LOONGSON2
991 bool "Loongson 2"
992 depends on SYS_HAS_CPU_LOONGSON2
993 select CPU_SUPPORTS_32BIT_KERNEL
994 select CPU_SUPPORTS_64BIT_KERNEL
995 select CPU_SUPPORTS_HIGHMEM
996 help
997 The Loongson 2E processor implements the MIPS III instruction set
998 with many extensions.
999
Ralf Baechle6e760c82005-07-06 12:08:11 +00001000config CPU_MIPS32_R1
1001 bool "MIPS32 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001002 depends on SYS_HAS_CPU_MIPS32_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001003 select CPU_HAS_LLSC
Ralf Baechle6e760c82005-07-06 12:08:11 +00001004 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +00001005 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001006 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +00001007 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001008 Choose this option to build a kernel for release 1 or later of the
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001009 MIPS32 architecture. Most modern embedded systems with a 32-bit
1010 MIPS processor are based on a MIPS32 processor. If you know the
1011 specific type of processor in your system, choose those that one
1012 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1013 Release 2 of the MIPS32 architecture is available since several
1014 years so chances are you even have a MIPS32 Release 2 processor
1015 in which case you should choose CPU_MIPS32_R2 instead for better
1016 performance.
1017
1018config CPU_MIPS32_R2
1019 bool "MIPS32 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001020 depends on SYS_HAS_CPU_MIPS32_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001021 select CPU_HAS_LLSC
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001022 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +00001023 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001024 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001025 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001026 Choose this option to build a kernel for release 2 or later of the
Ralf Baechle6e760c82005-07-06 12:08:11 +00001027 MIPS32 architecture. Most modern embedded systems with a 32-bit
1028 MIPS processor are based on a MIPS32 processor. If you know the
1029 specific type of processor in your system, choose those that one
1030 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001031
Ralf Baechle6e760c82005-07-06 12:08:11 +00001032config CPU_MIPS64_R1
1033 bool "MIPS64 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001034 depends on SYS_HAS_CPU_MIPS64_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001035 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +00001036 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001037 select CPU_SUPPORTS_32BIT_KERNEL
1038 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001039 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +00001040 help
1041 Choose this option to build a kernel for release 1 or later of the
1042 MIPS64 architecture. Many modern embedded systems with a 64-bit
1043 MIPS processor are based on a MIPS64 processor. If you know the
1044 specific type of processor in your system, choose those that one
1045 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001046 Release 2 of the MIPS64 architecture is available since several
1047 years so chances are you even have a MIPS64 Release 2 processor
1048 in which case you should choose CPU_MIPS64_R2 instead for better
1049 performance.
1050
1051config CPU_MIPS64_R2
1052 bool "MIPS64 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001053 depends on SYS_HAS_CPU_MIPS64_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001054 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +00001055 select CPU_HAS_PREFETCH
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001056 select CPU_SUPPORTS_32BIT_KERNEL
1057 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001058 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001059 help
1060 Choose this option to build a kernel for release 2 or later of the
1061 MIPS64 architecture. Many modern embedded systems with a 64-bit
1062 MIPS processor are based on a MIPS64 processor. If you know the
1063 specific type of processor in your system, choose those that one
1064 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001065
1066config CPU_R3000
1067 bool "R3000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001068 depends on SYS_HAS_CPU_R3000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001069 select CPU_HAS_WB
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001070 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001071 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001072 help
1073 Please make sure to pick the right CPU type. Linux/MIPS is not
1074 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1075 *not* work on R4000 machines and vice versa. However, since most
1076 of the supported machines have an R4000 (or similar) CPU, R4x00
1077 might be a safe bet. If the resulting kernel does not work,
1078 try to recompile with R3000.
1079
1080config CPU_TX39XX
1081 bool "R39XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001082 depends on SYS_HAS_CPU_TX39XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001083 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001084
1085config CPU_VR41XX
1086 bool "R41xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001087 depends on SYS_HAS_CPU_VR41XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001088 select CPU_SUPPORTS_32BIT_KERNEL
1089 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001090 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001091 The options selects support for the NEC VR4100 series of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001092 Only choose this option if you have one of these processors as a
1093 kernel built with this option will not run on any other type of
1094 processor or vice versa.
1095
1096config CPU_R4300
1097 bool "R4300"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001098 depends on SYS_HAS_CPU_R4300
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001099 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001100 select CPU_SUPPORTS_32BIT_KERNEL
1101 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001102 help
1103 MIPS Technologies R4300-series processors.
1104
1105config CPU_R4X00
1106 bool "R4x00"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001107 depends on SYS_HAS_CPU_R4X00
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001108 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001109 select CPU_SUPPORTS_32BIT_KERNEL
1110 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001111 help
1112 MIPS Technologies R4000-series processors other than 4300, including
1113 the R4000, R4400, R4600, and 4700.
1114
1115config CPU_TX49XX
1116 bool "R49XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001117 depends on SYS_HAS_CPU_TX49XX
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001118 select CPU_HAS_LLSC
Atsushi Nemotode862b42006-03-17 12:59:22 +09001119 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001120 select CPU_SUPPORTS_32BIT_KERNEL
1121 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001122
1123config CPU_R5000
1124 bool "R5000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001125 depends on SYS_HAS_CPU_R5000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001126 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001127 select CPU_SUPPORTS_32BIT_KERNEL
1128 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001129 help
1130 MIPS Technologies R5000-series processors other than the Nevada.
1131
1132config CPU_R5432
1133 bool "R5432"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001134 depends on SYS_HAS_CPU_R5432
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001135 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001136 select CPU_SUPPORTS_32BIT_KERNEL
1137 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001138
1139config CPU_R6000
1140 bool "R6000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001141 depends on EXPERIMENTAL
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001142 select CPU_HAS_LLSC
Ralf Baechle7cf80532005-10-20 22:33:09 +01001143 depends on SYS_HAS_CPU_R6000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001144 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001145 help
1146 MIPS Technologies R6000 and R6000A series processors. Note these
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001147 processors are extremely rare and the support for them is incomplete.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001148
1149config CPU_NEVADA
1150 bool "RM52xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001151 depends on SYS_HAS_CPU_NEVADA
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001152 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001153 select CPU_SUPPORTS_32BIT_KERNEL
1154 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001155 help
1156 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1157
1158config CPU_R8000
1159 bool "R8000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001160 depends on EXPERIMENTAL
Ralf Baechle7cf80532005-10-20 22:33:09 +01001161 depends on SYS_HAS_CPU_R8000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001162 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001163 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001164 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001165 help
1166 MIPS Technologies R8000 processors. Note these processors are
1167 uncommon and the support for them is incomplete.
1168
1169config CPU_R10000
1170 bool "R10000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001171 depends on SYS_HAS_CPU_R10000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001172 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001173 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001174 select CPU_SUPPORTS_32BIT_KERNEL
1175 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001176 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001177 help
1178 MIPS Technologies R10000-series processors.
1179
1180config CPU_RM7000
1181 bool "RM7000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001182 depends on SYS_HAS_CPU_RM7000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001183 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001184 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001185 select CPU_SUPPORTS_32BIT_KERNEL
1186 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001187 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001188
1189config CPU_RM9000
1190 bool "RM9000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001191 depends on SYS_HAS_CPU_RM9000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001192 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001193 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001194 select CPU_SUPPORTS_32BIT_KERNEL
1195 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001196 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001197 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001198
1199config CPU_SB1
1200 bool "SB1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001201 depends on SYS_HAS_CPU_SB1
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001202 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001203 select CPU_SUPPORTS_32BIT_KERNEL
1204 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001205 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001206 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001207
1208endchoice
1209
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001210config SYS_HAS_CPU_LOONGSON2
1211 bool
1212
Ralf Baechle7cf80532005-10-20 22:33:09 +01001213config SYS_HAS_CPU_MIPS32_R1
1214 bool
1215
1216config SYS_HAS_CPU_MIPS32_R2
1217 bool
1218
1219config SYS_HAS_CPU_MIPS64_R1
1220 bool
1221
1222config SYS_HAS_CPU_MIPS64_R2
1223 bool
1224
1225config SYS_HAS_CPU_R3000
1226 bool
1227
1228config SYS_HAS_CPU_TX39XX
1229 bool
1230
1231config SYS_HAS_CPU_VR41XX
1232 bool
1233
1234config SYS_HAS_CPU_R4300
1235 bool
1236
1237config SYS_HAS_CPU_R4X00
1238 bool
1239
1240config SYS_HAS_CPU_TX49XX
1241 bool
1242
1243config SYS_HAS_CPU_R5000
1244 bool
1245
1246config SYS_HAS_CPU_R5432
1247 bool
1248
1249config SYS_HAS_CPU_R6000
1250 bool
1251
1252config SYS_HAS_CPU_NEVADA
1253 bool
1254
1255config SYS_HAS_CPU_R8000
1256 bool
1257
1258config SYS_HAS_CPU_R10000
1259 bool
1260
1261config SYS_HAS_CPU_RM7000
1262 bool
1263
1264config SYS_HAS_CPU_RM9000
1265 bool
1266
1267config SYS_HAS_CPU_SB1
1268 bool
1269
Ralf Baechle17099b12007-07-14 13:24:05 +01001270#
1271# CPU may reorder R->R, R->W, W->R, W->W
1272# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1273#
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001274config WEAK_ORDERING
1275 bool
Ralf Baechle17099b12007-07-14 13:24:05 +01001276
1277#
1278# CPU may reorder reads and writes beyond LL/SC
1279# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1280#
1281config WEAK_REORDERING_BEYOND_LLSC
1282 bool
Ralf Baechle5e83d432005-10-29 19:32:41 +01001283endmenu
1284
1285#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001286# These two indicate any level of the MIPS32 and MIPS64 architecture
Ralf Baechle5e83d432005-10-29 19:32:41 +01001287#
1288config CPU_MIPS32
1289 bool
1290 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1291
1292config CPU_MIPS64
1293 bool
1294 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1295
1296#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001297# These two indicate the revision of the architecture, either Release 1 or Release 2
Ralf Baechle5e83d432005-10-29 19:32:41 +01001298#
1299config CPU_MIPSR1
1300 bool
1301 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1302
1303config CPU_MIPSR2
1304 bool
1305 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1306
1307config SYS_SUPPORTS_32BIT_KERNEL
1308 bool
1309config SYS_SUPPORTS_64BIT_KERNEL
1310 bool
1311config CPU_SUPPORTS_32BIT_KERNEL
1312 bool
1313config CPU_SUPPORTS_64BIT_KERNEL
1314 bool
1315
1316menu "Kernel type"
1317
1318choice
1319
1320 prompt "Kernel code model"
1321 help
1322 You should only select this option if you have a workload that
1323 actually benefits from 64-bit processing or if your machine has
1324 large memory. You will only be presented a single option in this
1325 menu if your system does not support both 32-bit and 64-bit kernels.
1326
1327config 32BIT
1328 bool "32-bit kernel"
1329 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1330 select TRAD_SIGNALS
1331 help
1332 Select this option if you want to build a 32-bit kernel.
1333config 64BIT
1334 bool "64-bit kernel"
1335 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1336 help
1337 Select this option if you want to build a 64-bit kernel.
1338
1339endchoice
1340
Linus Torvalds1da177e2005-04-16 15:20:36 -07001341choice
1342 prompt "Kernel page size"
1343 default PAGE_SIZE_4KB
1344
1345config PAGE_SIZE_4KB
1346 bool "4kB"
1347 help
1348 This option select the standard 4kB Linux page size. On some
1349 R3000-family processors this is the only available page size. Using
1350 4kB page size will minimize memory consumption and is therefore
1351 recommended for low memory systems.
1352
1353config PAGE_SIZE_8KB
1354 bool "8kB"
1355 depends on EXPERIMENTAL && CPU_R8000
1356 help
1357 Using 8kB page size will result in higher performance kernel at
1358 the price of higher memory consumption. This option is available
1359 only on the R8000 processor. Not that at the time of this writing
1360 this option is still high experimental; there are also issues with
1361 compatibility of user applications.
1362
1363config PAGE_SIZE_16KB
1364 bool "16kB"
Ralf Baechle714bfad2006-05-17 14:04:30 +01001365 depends on !CPU_R3000 && !CPU_TX39XX
Linus Torvalds1da177e2005-04-16 15:20:36 -07001366 help
1367 Using 16kB page size will result in higher performance kernel at
1368 the price of higher memory consumption. This option is available on
Ralf Baechle714bfad2006-05-17 14:04:30 +01001369 all non-R3000 family processors. Note that you will need a suitable
1370 Linux distribution to support this.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001371
1372config PAGE_SIZE_64KB
1373 bool "64kB"
1374 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1375 help
1376 Using 64kB page size will result in higher performance kernel at
1377 the price of higher memory consumption. This option is available on
1378 all non-R3000 family processor. Not that at the time of this
Ralf Baechle714bfad2006-05-17 14:04:30 +01001379 writing this option is still high experimental.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001380
1381endchoice
1382
1383config BOARD_SCACHE
1384 bool
1385
1386config IP22_CPU_SCACHE
1387 bool
1388 select BOARD_SCACHE
1389
Chris Dearman9318c512006-06-20 17:15:20 +01001390#
1391# Support for a MIPS32 / MIPS64 style S-caches
1392#
1393config MIPS_CPU_SCACHE
1394 bool
1395 select BOARD_SCACHE
1396
Linus Torvalds1da177e2005-04-16 15:20:36 -07001397config R5000_CPU_SCACHE
1398 bool
1399 select BOARD_SCACHE
1400
1401config RM7000_CPU_SCACHE
1402 bool
1403 select BOARD_SCACHE
1404
1405config SIBYTE_DMA_PAGEOPS
1406 bool "Use DMA to clear/copy pages"
1407 depends on CPU_SB1
1408 help
1409 Instead of using the CPU to zero and copy pages, use a Data Mover
1410 channel. These DMA channels are otherwise unused by the standard
1411 SiByte Linux port. Seems to give a small performance benefit.
1412
1413config CPU_HAS_PREFETCH
Ralf Baechlec8094b52005-08-05 14:28:54 +00001414 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001415
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001416choice
1417 prompt "MIPS MT options"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001418
1419config MIPS_MT_DISABLED
1420 bool "Disable multithreading support."
1421 help
1422 Use this option if your workload can't take advantage of
1423 MIPS hardware multithreading support. On systems that don't have
1424 the option of an MT-enabled processor this option will be the only
1425 option in this menu.
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001426
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001427config MIPS_MT_SMP
1428 bool "Use 1 TC on each available VPE for SMP"
1429 depends on SYS_SUPPORTS_MULTITHREADING
1430 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001431 select CPU_MIPSR2_IRQ_EI
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001432 select MIPS_MT
Ralf Baechlef510aa32007-03-16 21:58:37 +00001433 select NR_CPUS_DEFAULT_2
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001434 select SMP
Ralf Baechle0ab7aef2007-03-02 20:42:04 +00001435 select SYS_SUPPORTS_SCHED_SMT if SMP
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001436 select SYS_SUPPORTS_SMP
Ralf Baechle87353d82007-11-19 12:23:51 +00001437 select SMP_UP
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001438 help
1439 This is a kernel model which is also known a VSMP or lately
1440 has been marketesed into SMVP.
1441
Ralf Baechle41c594a2006-04-05 09:45:45 +01001442config MIPS_MT_SMTC
1443 bool "SMTC: Use all TCs on all VPEs for SMP"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001444 depends on CPU_MIPS32_R2
1445 #depends on CPU_MIPS64_R2 # once there is hardware ...
1446 depends on SYS_SUPPORTS_MULTITHREADING
Ralf Baechleea580402007-10-11 23:46:09 +01001447 select GENERIC_CLOCKEVENTS_BROADCAST
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001448 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001449 select CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001450 select MIPS_MT
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001451 select NR_CPUS_DEFAULT_8
Ralf Baechle41c594a2006-04-05 09:45:45 +01001452 select SMP
Ralf Baechle73b76c72006-08-15 19:36:40 +01001453 select SYS_SUPPORTS_SMP
Ralf Baechle87353d82007-11-19 12:23:51 +00001454 select SMP_UP
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001455 help
1456 This is a kernel model which is known a SMTC or lately has been
1457 marketesed into SMVP.
Ralf Baechle41c594a2006-04-05 09:45:45 +01001458
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001459endchoice
1460
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001461config MIPS_MT
1462 bool
1463
Ralf Baechle0ab7aef2007-03-02 20:42:04 +00001464config SCHED_SMT
1465 bool "SMT (multithreading) scheduler support"
1466 depends on SYS_SUPPORTS_SCHED_SMT
1467 default n
1468 help
1469 SMT scheduler support improves the CPU scheduler's decision making
1470 when dealing with MIPS MT enabled cores at a cost of slightly
1471 increased overhead in some places. If unsure say N here.
1472
1473config SYS_SUPPORTS_SCHED_SMT
1474 bool
1475
1476
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001477config SYS_SUPPORTS_MULTITHREADING
1478 bool
1479
Ralf Baechlef088fc82006-04-05 09:45:47 +01001480config MIPS_MT_FPAFF
1481 bool "Dynamic FPU affinity for FP-intensive threads"
Ralf Baechlef088fc82006-04-05 09:45:47 +01001482 default y
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001483 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1484
1485config MIPS_VPE_LOADER
1486 bool "VPE loader support."
1487 depends on SYS_SUPPORTS_MULTITHREADING
1488 select CPU_MIPSR2_IRQ_VI
1489 select CPU_MIPSR2_IRQ_EI
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001490 select MIPS_MT
1491 help
1492 Includes a loader for loading an elf relocatable object
1493 onto another VPE and running it.
Ralf Baechlef088fc82006-04-05 09:45:47 +01001494
Ralf Baechleac8be952007-01-20 00:18:01 +00001495config MIPS_MT_SMTC_INSTANT_REPLAY
1496 bool "Low-latency Dispatch of Deferred SMTC IPIs"
Ralf Baechle619af722007-03-26 15:13:57 +01001497 depends on MIPS_MT_SMTC && !PREEMPT
Ralf Baechleac8be952007-01-20 00:18:01 +00001498 default y
1499 help
1500 SMTC pseudo-interrupts between TCs are deferred and queued
1501 if the target TC is interrupt-inhibited (IXMT). In the first
1502 SMTC prototypes, these queued IPIs were serviced on return
1503 to user mode, or on entry into the kernel idle loop. The
1504 INSTANT_REPLAY option dispatches them as part of local_irq_restore()
1505 processing, which adds runtime overhead (hence the option to turn
1506 it off), but ensures that IPIs are handled promptly even under
1507 heavy I/O interrupt load.
1508
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001509config MIPS_MT_SMTC_IM_BACKSTOP
1510 bool "Use per-TC register bits as backstop for inhibited IM bits"
1511 depends on MIPS_MT_SMTC
1512 default y
1513 help
1514 To support multiple TC microthreads acting as "CPUs" within
1515 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1516 during interrupt handling. To support legacy drivers and interrupt
1517 controller management code, SMTC has a "backstop" to track and
1518 if necessary restore the interrupt mask. This has some performance
1519 impact on interrupt service overhead. Disable it only if you know
1520 what you are doing.
1521
Kevin D. Kissellf571eff2007-08-03 19:38:03 +02001522config MIPS_MT_SMTC_IRQAFF
1523 bool "Support IRQ affinity API"
1524 depends on MIPS_MT_SMTC
1525 default n
1526 help
1527 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1528 for SMTC Linux kernel. Requires platform support, of which
1529 an example can be found in the MIPS kernel i8259 and Malta
1530 platform code. It is recommended that MIPS_MT_SMTC_INSTANT_REPLAY
1531 be enabled if MIPS_MT_SMTC_IRQAFF is used. Adds overhead to
1532 interrupt dispatch, and should be used only if you know what
1533 you are doing.
1534
Ralf Baechlee01402b2005-07-14 15:57:16 +00001535config MIPS_VPE_LOADER_TOM
1536 bool "Load VPE program into memory hidden from linux"
1537 depends on MIPS_VPE_LOADER
1538 default y
1539 help
1540 The loader can use memory that is present but has been hidden from
1541 Linux using the kernel command line option "mem=xxMB". It's up to
1542 you to ensure the amount you put in the option and the space your
1543 program requires is less or equal to the amount physically present.
1544
1545# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1546config MIPS_VPE_APSP_API
Ralf Baechle5e83d432005-10-29 19:32:41 +01001547 bool "Enable support for AP/SP API (RTLX)"
1548 depends on MIPS_VPE_LOADER
1549 help
Ralf Baechlee01402b2005-07-14 15:57:16 +00001550
Ralf Baechle26009902006-04-05 09:45:45 +01001551config MIPS_APSP_KSPD
1552 bool "Enable KSPD"
1553 depends on MIPS_VPE_APSP_API
1554 default y
1555 help
1556 KSPD is a kernel daemon that accepts syscall requests from the SP
1557 side, actions them and returns the results. It also handles the
1558 "exit" syscall notifying other kernel modules the SP program is
1559 exiting. You probably want to say yes here.
1560
Linus Torvalds1da177e2005-04-16 15:20:36 -07001561config SB1_PASS_1_WORKAROUNDS
1562 bool
1563 depends on CPU_SB1_PASS_1
1564 default y
1565
1566config SB1_PASS_2_WORKAROUNDS
1567 bool
1568 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1569 default y
1570
1571config SB1_PASS_2_1_WORKAROUNDS
1572 bool
1573 depends on CPU_SB1 && CPU_SB1_PASS_2
1574 default y
1575
1576config 64BIT_PHYS_ADDR
Ralf Baechled806cb22007-08-02 00:36:08 +01001577 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001578
Linus Torvalds1da177e2005-04-16 15:20:36 -07001579config CPU_HAS_LLSC
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001580 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001581
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001582config CPU_HAS_SMARTMIPS
1583 depends on SYS_SUPPORTS_SMARTMIPS
1584 bool "Support for the SmartMIPS ASE"
1585 help
1586 SmartMIPS is a extension of the MIPS32 architecture aimed at
1587 increased security at both hardware and software level for
1588 smartcards. Enabling this option will allow proper use of the
1589 SmartMIPS instructions by Linux applications. However a kernel with
1590 this option will not work on a MIPS core without SmartMIPS core. If
1591 you don't know you probably don't have SmartMIPS and should say N
1592 here.
1593
Linus Torvalds1da177e2005-04-16 15:20:36 -07001594config CPU_HAS_WB
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001595 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001596
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001597#
1598# Vectored interrupt mode is an R2 feature
1599#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001600config CPU_MIPSR2_IRQ_VI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001601 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001602
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001603#
1604# Extended interrupt mode is an R2 feature
1605#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001606config CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001607 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001608
Linus Torvalds1da177e2005-04-16 15:20:36 -07001609config CPU_HAS_SYNC
1610 bool
1611 depends on !CPU_R3000
1612 default y
1613
Ralf Baechleea580402007-10-11 23:46:09 +01001614config GENERIC_CLOCKEVENTS_BROADCAST
1615 bool
1616
Linus Torvalds1da177e2005-04-16 15:20:36 -07001617#
Maciej W. Rozycki20d60d92007-10-23 12:43:11 +01001618# CPU non-features
1619#
1620config CPU_DADDI_WORKAROUNDS
1621 bool
1622
1623config CPU_R4000_WORKAROUNDS
1624 bool
1625 select CPU_R4400_WORKAROUNDS
1626
1627config CPU_R4400_WORKAROUNDS
1628 bool
1629
1630#
Ralf Baechle797798c2005-08-10 15:17:11 +00001631# Use the generic interrupt handling code in kernel/irq/:
1632#
1633config GENERIC_HARDIRQS
1634 bool
1635 default y
1636
1637config GENERIC_IRQ_PROBE
1638 bool
1639 default y
1640
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001641config IRQ_PER_CPU
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001642 bool
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001643
Ralf Baechle797798c2005-08-10 15:17:11 +00001644#
Linus Torvalds1da177e2005-04-16 15:20:36 -07001645# - Highmem only makes sense for the 32-bit kernel.
1646# - The current highmem code will only work properly on physically indexed
1647# caches such as R3000, SB1, R7000 or those that look like they're virtually
1648# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1649# moment we protect the user and offer the highmem option only on machines
1650# where it's known to be safe. This will not offer highmem on a few systems
1651# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1652# indexed CPUs but we're playing safe.
Ralf Baechle797798c2005-08-10 15:17:11 +00001653# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1654# know they might have memory configurations that could make use of highmem
1655# support.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001656#
1657config HIGHMEM
1658 bool "High Memory Support"
Ralf Baechle797798c2005-08-10 15:17:11 +00001659 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1660
1661config CPU_SUPPORTS_HIGHMEM
1662 bool
1663
1664config SYS_SUPPORTS_HIGHMEM
1665 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001666
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001667config SYS_SUPPORTS_SMARTMIPS
1668 bool
1669
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001670config ARCH_FLATMEM_ENABLE
1671 def_bool y
1672 depends on !NUMA
1673
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001674config ARCH_DISCONTIGMEM_ENABLE
1675 bool
1676 default y if SGI_IP27
1677 help
David Sterba3dde6ad2007-05-09 07:12:20 +02001678 Say Y to support efficient handling of discontiguous physical memory,
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001679 for architectures which are either NUMA (Non-Uniform Memory Access)
1680 or have huge holes in the physical address space for other reasons.
1681 See <file:Documentation/vm/numa> for more.
1682
Ralf Baechlecce335a2007-11-03 02:05:43 +00001683config ARCH_POPULATES_NODE_MAP
1684 def_bool y
1685
Atsushi Nemotob1c6cd42006-07-03 00:09:47 +09001686config ARCH_SPARSEMEM_ENABLE
1687 bool
Atsushi Nemoto7de58fa2006-07-05 01:22:44 +09001688 select SPARSEMEM_STATIC
Atsushi Nemoto31473742006-07-03 00:09:47 +09001689
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001690config NUMA
1691 bool "NUMA Support"
1692 depends on SYS_SUPPORTS_NUMA
1693 help
1694 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1695 Access). This option improves performance on systems with more
1696 than two nodes; on two node systems it is generally better to
1697 leave it disabled; on single node systems disable this option
1698 disabled.
1699
1700config SYS_SUPPORTS_NUMA
1701 bool
1702
Yasunori Gotoc80d79d2006-04-10 22:53:53 -07001703config NODES_SHIFT
1704 int
1705 default "6"
1706 depends on NEED_MULTIPLE_NODES
1707
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001708source "mm/Kconfig"
1709
Linus Torvalds1da177e2005-04-16 15:20:36 -07001710config SMP
1711 bool "Multi-Processing support"
Ralf Baechlee73ea272006-06-04 11:51:46 +01001712 depends on SYS_SUPPORTS_SMP
Ralf Baechleb4b30a52006-08-03 17:34:24 +01001713 select IRQ_PER_CPU
Ralf Baechlee73ea272006-06-04 11:51:46 +01001714 help
Linus Torvalds1da177e2005-04-16 15:20:36 -07001715 This enables support for systems with more than one CPU. If you have
1716 a system with only one CPU, like most personal computers, say N. If
1717 you have a system with more than one CPU, say Y.
1718
1719 If you say N here, the kernel will run on single and multiprocessor
1720 machines, but will use only one CPU of a multiprocessor machine. If
1721 you say Y here, the kernel will run on many, but not all,
1722 singleprocessor machines. On a singleprocessor machine, the kernel
1723 will run faster if you say N here.
1724
1725 People using multiprocessor machines who say Y here should also say
1726 Y to "Enhanced Real Time Clock Support", below.
1727
Adrian Bunk03502fa2008-02-03 15:50:21 +02001728 See also the SMP-HOWTO available at
1729 <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001730
1731 If you don't know what to do here, say N.
1732
Ralf Baechle87353d82007-11-19 12:23:51 +00001733config SMP_UP
1734 bool
1735
Ralf Baechlee73ea272006-06-04 11:51:46 +01001736config SYS_SUPPORTS_SMP
1737 bool
1738
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001739config NR_CPUS_DEFAULT_1
1740 bool
1741
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001742config NR_CPUS_DEFAULT_2
1743 bool
1744
1745config NR_CPUS_DEFAULT_4
1746 bool
1747
1748config NR_CPUS_DEFAULT_8
1749 bool
1750
1751config NR_CPUS_DEFAULT_16
1752 bool
1753
1754config NR_CPUS_DEFAULT_32
1755 bool
1756
1757config NR_CPUS_DEFAULT_64
1758 bool
1759
Linus Torvalds1da177e2005-04-16 15:20:36 -07001760config NR_CPUS
1761 int "Maximum number of CPUs (2-64)"
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001762 range 1 64 if NR_CPUS_DEFAULT_1
Linus Torvalds1da177e2005-04-16 15:20:36 -07001763 depends on SMP
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001764 default "1" if NR_CPUS_DEFAULT_1
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001765 default "2" if NR_CPUS_DEFAULT_2
1766 default "4" if NR_CPUS_DEFAULT_4
1767 default "8" if NR_CPUS_DEFAULT_8
1768 default "16" if NR_CPUS_DEFAULT_16
1769 default "32" if NR_CPUS_DEFAULT_32
1770 default "64" if NR_CPUS_DEFAULT_64
Linus Torvalds1da177e2005-04-16 15:20:36 -07001771 help
1772 This allows you to specify the maximum number of CPUs which this
1773 kernel will support. The maximum supported value is 32 for 32-bit
1774 kernel and 64 for 64-bit kernels; the minimum value which makes
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001775 sense is 1 for Qemu (useful only for kernel debugging purposes)
1776 and 2 for all others.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001777
1778 This is purely to save memory - each supported CPU adds
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001779 approximately eight kilobytes to the kernel image. For best
1780 performance should round up your number of processors to the next
1781 power of two.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001782
Ralf Baechle39b8d522008-04-28 17:14:26 +01001783config MIPS_CMP
1784 bool "MIPS CMP framework support"
1785 depends on SMP
1786 select SYNC_R4K
1787 select SYS_SUPPORTS_SCHED_SMT
1788 select WEAK_ORDERING
1789 default n
1790 help
1791 This is a placeholder option for the GCMP work. It will need to
1792 be handled differently...
1793
Atsushi Nemotoc4eee282007-11-12 01:05:16 +09001794source "kernel/time/Kconfig"
1795
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09001796#
1797# Timer Interrupt Frequency Configuration
1798#
1799
1800choice
1801 prompt "Timer frequency"
1802 default HZ_250
1803 help
1804 Allows the configuration of the timer frequency.
1805
1806 config HZ_48
Ralf Baechle0f873582008-02-25 16:55:29 +00001807 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09001808
1809 config HZ_100
1810 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1811
1812 config HZ_128
1813 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1814
1815 config HZ_250
1816 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1817
1818 config HZ_256
1819 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1820
1821 config HZ_1000
1822 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1823
1824 config HZ_1024
1825 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1826
1827endchoice
1828
1829config SYS_SUPPORTS_48HZ
1830 bool
1831
1832config SYS_SUPPORTS_100HZ
1833 bool
1834
1835config SYS_SUPPORTS_128HZ
1836 bool
1837
1838config SYS_SUPPORTS_250HZ
1839 bool
1840
1841config SYS_SUPPORTS_256HZ
1842 bool
1843
1844config SYS_SUPPORTS_1000HZ
1845 bool
1846
1847config SYS_SUPPORTS_1024HZ
1848 bool
1849
1850config SYS_SUPPORTS_ARBIT_HZ
1851 bool
1852 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1853 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1854 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1855 !SYS_SUPPORTS_1024HZ
1856
1857config HZ
1858 int
1859 default 48 if HZ_48
1860 default 100 if HZ_100
1861 default 128 if HZ_128
1862 default 250 if HZ_250
1863 default 256 if HZ_256
1864 default 1000 if HZ_1000
1865 default 1024 if HZ_1024
1866
Ralf Baechlee80de852005-07-11 20:45:51 +00001867source "kernel/Kconfig.preempt"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001868
Linus Torvalds1da177e2005-04-16 15:20:36 -07001869config MIPS_INSANE_LARGE
1870 bool "Support for large 64-bit configurations"
Ralf Baechle875d43e2005-09-03 15:56:16 -07001871 depends on CPU_R10000 && 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001872 help
1873 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1874 previous 64-bit processors which only supported 40 bit / 1TB. If you
1875 need processes of more than 1TB virtual address space, say Y here.
1876 This will result in additional memory usage, so it is not
1877 recommended for normal users.
1878
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001879config KEXEC
1880 bool "Kexec system call (EXPERIMENTAL)"
1881 depends on EXPERIMENTAL
1882 help
1883 kexec is a system call that implements the ability to shutdown your
1884 current kernel, and to start another kernel. It is like a reboot
David Sterba3dde6ad2007-05-09 07:12:20 +02001885 but it is independent of the system firmware. And like a reboot
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001886 you can start any kernel with it, not just Linux.
1887
Matt LaPlante01dd2fb2007-10-20 01:34:40 +02001888 The name comes from the similarity to the exec system call.
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001889
1890 It is an ongoing process to be certain the hardware in a machine
1891 is properly shutdown, so do not be surprised if this code does not
1892 initially work for you. It may help to enable device hotplugging
1893 support. As of this writing the exact hardware interface is
1894 strongly in flux, so no good recommendation can be made.
1895
1896config SECCOMP
1897 bool "Enable seccomp to safely compute untrusted bytecode"
Ralf Baechle293c5bd2007-07-25 16:19:33 +01001898 depends on PROC_FS
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001899 default y
1900 help
1901 This kernel feature is useful for number crunching applications
1902 that may need to compute untrusted bytecode during their
1903 execution. By using pipes or other transports made available to
1904 the process as file descriptors supporting the read/write
1905 syscalls, it's possible to isolate those applications in
1906 their own address space using seccomp. Once seccomp is
1907 enabled via /proc/<pid>/seccomp, it cannot be disabled
1908 and the task is only allowed to execute a few safe syscalls
1909 defined by each seccomp mode.
1910
1911 If unsure, say Y. Only embedded should say N here.
1912
Ralf Baechle5e83d432005-10-29 19:32:41 +01001913endmenu
1914
Linus Torvalds1da177e2005-04-16 15:20:36 -07001915config RWSEM_GENERIC_SPINLOCK
1916 bool
1917 default y
1918
Atsushi Nemoto1df0f0f2006-09-26 23:44:01 +09001919config LOCKDEP_SUPPORT
1920 bool
1921 default y
1922
1923config STACKTRACE_SUPPORT
1924 bool
1925 default y
1926
Ralf Baechleb6c35392005-11-25 11:35:40 +00001927source "init/Kconfig"
1928
Linus Torvalds1da177e2005-04-16 15:20:36 -07001929menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1930
Ralf Baechle5e83d432005-10-29 19:32:41 +01001931config HW_HAS_EISA
1932 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001933config HW_HAS_PCI
1934 bool
1935
1936config PCI
1937 bool "Support for PCI controller"
1938 depends on HW_HAS_PCI
Ralf Baechleabb4ae42007-10-11 23:46:03 +01001939 select PCI_DOMAINS
Linus Torvalds1da177e2005-04-16 15:20:36 -07001940 help
1941 Find out whether you have a PCI motherboard. PCI is the name of a
1942 bus system, i.e. the way the CPU talks to the other stuff inside
1943 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1944 say Y, otherwise N.
1945
Linus Torvalds1da177e2005-04-16 15:20:36 -07001946config PCI_DOMAINS
1947 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001948
1949source "drivers/pci/Kconfig"
1950
1951#
1952# ISA support is now enabled via select. Too many systems still have the one
1953# or other ISA chip on the board that users don't know about so don't expect
1954# users to choose the right thing ...
1955#
1956config ISA
1957 bool
1958
1959config EISA
1960 bool "EISA support"
Ralf Baechle5e83d432005-10-29 19:32:41 +01001961 depends on HW_HAS_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001962 select ISA
Ralf Baechleaa414df2006-11-30 01:14:51 +00001963 select GENERIC_ISA_DMA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001964 ---help---
1965 The Extended Industry Standard Architecture (EISA) bus was
1966 developed as an open alternative to the IBM MicroChannel bus.
1967
1968 The EISA bus provided some of the features of the IBM MicroChannel
1969 bus while maintaining backward compatibility with cards made for
1970 the older ISA bus. The EISA bus saw limited use between 1988 and
1971 1995 when it was made obsolete by the PCI bus.
1972
1973 Say Y here if you are building a kernel for an EISA-based machine.
1974
1975 Otherwise, say N.
1976
1977source "drivers/eisa/Kconfig"
1978
1979config TC
1980 bool "TURBOchannel support"
1981 depends on MACH_DECSTATION
1982 help
1983 TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1984 processors. Documentation on writing device drivers for TurboChannel
1985 is available at:
1986 <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1987
1988#config ACCESSBUS
1989# bool "Access.Bus support"
1990# depends on TC
1991
1992config MMU
1993 bool
1994 default y
1995
Ralf Baechled865bea2007-10-11 23:46:10 +01001996config I8253
1997 bool
1998
Ralf Baechlecce335a2007-11-03 02:05:43 +00001999config ZONE_DMA32
2000 bool
2001
Linus Torvalds1da177e2005-04-16 15:20:36 -07002002source "drivers/pcmcia/Kconfig"
2003
2004source "drivers/pci/hotplug/Kconfig"
2005
2006endmenu
2007
2008menu "Executable file formats"
2009
2010source "fs/Kconfig.binfmt"
2011
2012config TRAD_SIGNALS
2013 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002014
Linus Torvalds1da177e2005-04-16 15:20:36 -07002015config MIPS32_COMPAT
2016 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
Ralf Baechle875d43e2005-09-03 15:56:16 -07002017 depends on 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07002018 help
2019 Select this option if you want Linux/MIPS 32-bit binary
2020 compatibility. Since all software available for Linux/MIPS is
2021 currently 32-bit you should say Y here.
2022
2023config COMPAT
2024 bool
2025 depends on MIPS32_COMPAT
2026 default y
2027
Atsushi Nemoto05e43962006-11-07 18:02:44 +09002028config SYSVIPC_COMPAT
2029 bool
2030 depends on COMPAT && SYSVIPC
2031 default y
2032
Linus Torvalds1da177e2005-04-16 15:20:36 -07002033config MIPS32_O32
2034 bool "Kernel support for o32 binaries"
2035 depends on MIPS32_COMPAT
2036 help
2037 Select this option if you want to run o32 binaries. These are pure
2038 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2039 existing binaries are in this format.
2040
2041 If unsure, say Y.
2042
2043config MIPS32_N32
2044 bool "Kernel support for n32 binaries"
2045 depends on MIPS32_COMPAT
2046 help
2047 Select this option if you want to run n32 binaries. These are
2048 64-bit binaries using 32-bit quantities for addressing and certain
2049 data that would normally be 64-bit. They are used in special
2050 cases.
2051
2052 If unsure, say N.
2053
2054config BINFMT_ELF32
2055 bool
2056 default y if MIPS32_O32 || MIPS32_N32
2057
Ralf Baechle21162452007-02-09 17:08:58 +00002058endmenu
Linus Torvalds1da177e2005-04-16 15:20:36 -07002059
Ralf Baechle21162452007-02-09 17:08:58 +00002060menu "Power management options"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02002061
Johannes Bergf4cb5702007-12-08 02:14:00 +01002062config ARCH_SUSPEND_POSSIBLE
2063 def_bool y
2064 depends on !SMP
2065
Ralf Baechle21162452007-02-09 17:08:58 +00002066source "kernel/power/Kconfig"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02002067
Linus Torvalds1da177e2005-04-16 15:20:36 -07002068endmenu
2069
Sam Ravnborgd5950b42005-07-11 21:03:49 -07002070source "net/Kconfig"
2071
Linus Torvalds1da177e2005-04-16 15:20:36 -07002072source "drivers/Kconfig"
2073
2074source "fs/Kconfig"
2075
2076source "arch/mips/Kconfig.debug"
2077
2078source "security/Kconfig"
2079
2080source "crypto/Kconfig"
2081
2082source "lib/Kconfig"