blob: 3202960f7597380acfb0eb2487122a82b33aea06 [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 Baechlea5ccfe52007-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 Baechlecce335ae2007-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 Baechlecce335ae2007-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"
Atsushi Nemoto22b1d702008-07-11 00:31:36 +0900645source "arch/mips/txx9/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100646source "arch/mips/vr41xx/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000647
Ralf Baechle5e83d432005-10-29 19:32:41 +0100648endmenu
649
Nick Piggin95c354f2008-01-30 13:31:20 +0100650config GENERIC_LOCKBREAK
651 bool
652 default y
653 depends on SMP && PREEMPT
654
Linus Torvalds1da177e2005-04-16 15:20:36 -0700655config RWSEM_GENERIC_SPINLOCK
656 bool
657 default y
658
659config RWSEM_XCHGADD_ALGORITHM
660 bool
661
David Howellsf0d1b0b2006-12-08 02:37:49 -0800662config ARCH_HAS_ILOG2_U32
663 bool
664 default n
665
666config ARCH_HAS_ILOG2_U64
667 bool
668 default n
669
Ralf Baechle00a58252007-12-06 16:53:19 +0000670config ARCH_SUPPORTS_OPROFILE
671 bool
672 default y if !MIPS_MT_SMTC
673
Akinobu Mita3c9ee7e2006-03-26 01:39:30 -0800674config GENERIC_FIND_NEXT_BIT
675 bool
676 default y
677
678config GENERIC_HWEIGHT
679 bool
680 default y
681
Linus Torvalds1da177e2005-04-16 15:20:36 -0700682config GENERIC_CALIBRATE_DELAY
683 bool
684 default y
685
Ralf Baechle7bcf7712007-10-11 23:46:09 +0100686config GENERIC_CLOCKEVENTS
687 bool
688 default y
689
Ralf Baechle8db02012006-10-02 16:54:48 +0100690config GENERIC_TIME
691 bool
692 default y
693
Ralf Baechlef5ff0a22007-08-13 15:26:12 +0100694config GENERIC_CMOS_UPDATE
695 bool
696 default y
697
Atsushi Nemoto1cc89032006-04-04 13:11:45 +0900698config SCHED_NO_NO_OMIT_FRAME_POINTER
699 bool
700 default y
701
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100702config GENERIC_HARDIRQS_NO__DO_IRQ
703 bool
704 default n
705
Linus Torvalds1da177e2005-04-16 15:20:36 -0700706#
707# Select some configuration options automatically based on user selections.
708#
709config ARC
710 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700711
Ralf Baechle61ed2422005-09-15 08:52:34 +0000712config ARCH_MAY_HAVE_PC_FDC
713 bool
714
Marc St-Jean9267a302007-06-14 15:55:31 -0600715config BOOT_RAW
716 bool
717
Ralf Baechle217dd112007-11-01 01:57:55 +0000718config CEVT_BCM1480
719 bool
720
Yoichi Yuasa6457d9f2008-04-25 12:11:44 +0900721config CEVT_DS1287
722 bool
723
Yoichi Yuasa1097c6a2007-10-22 19:43:15 +0900724config CEVT_GT641XX
725 bool
726
Ralf Baechle42f77542007-10-18 17:48:11 +0100727config CEVT_R4K
728 bool
729
Ralf Baechle217dd112007-11-01 01:57:55 +0000730config CEVT_SB1250
731 bool
732
Atsushi Nemoto229f7732007-10-25 01:34:09 +0900733config CEVT_TXX9
734 bool
735
Ralf Baechle217dd112007-11-01 01:57:55 +0000736config CSRC_BCM1480
737 bool
738
Yoichi Yuasa42474172008-04-24 09:48:40 +0900739config CSRC_IOASIC
740 bool
741
Ralf Baechle940f6b42007-11-24 22:33:28 +0000742config CSRC_R4K
743 bool
744
Ralf Baechle217dd112007-11-01 01:57:55 +0000745config CSRC_SB1250
746 bool
747
Atsushi Nemotoa9aec7f2008-04-05 00:55:41 +0900748config GPIO_TXX9
749 select GENERIC_GPIO
750 select HAVE_GPIO_LIB
751 bool
752
Aurelien Jarnodf78b5c2007-09-05 08:58:26 +0200753config CFE
754 bool
755
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700756config DMA_COHERENT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700757 bool
758
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700759config DMA_IP27
Linus Torvalds1da177e2005-04-16 15:20:36 -0700760 bool
761
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700762config DMA_NONCOHERENT
763 bool
764 select DMA_NEED_PCI_MAP_STATE
765
766config DMA_NEED_PCI_MAP_STATE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700767 bool
768
769config EARLY_PRINTK
Ralf Baechle36a88532007-03-01 11:56:43 +0000770 bool "Early printk" if EMBEDDED && DEBUG_KERNEL
771 depends on SYS_HAS_EARLY_PRINTK
772 default y
773 help
774 This option enables special console drivers which allow the kernel
775 to print messages very early in the bootup process.
776
777 This is useful for kernel debugging when your machine crashes very
Robert P. J. Day490dcc42007-05-20 12:11:07 -0400778 early before the console code is initialized. For normal operation,
779 it is not recommended because it looks ugly on some machines and
780 doesn't cooperate with an X server. You should normally say N here,
Ralf Baechle36a88532007-03-01 11:56:43 +0000781 unless you want to debug such a crash.
782
783config SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700784 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700785
Ralf Baechledbb74542007-08-07 14:52:17 +0100786config HOTPLUG_CPU
787 bool
788 default n
789
Linus Torvalds1da177e2005-04-16 15:20:36 -0700790config I8259
791 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700792
Linus Torvalds1da177e2005-04-16 15:20:36 -0700793config MIPS_BONITO64
794 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700795
796config MIPS_MSC
797 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700798
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200799config MIPS_NILE4
800 bool
801
Linus Torvalds1da177e2005-04-16 15:20:36 -0700802config MIPS_DISABLE_OBSOLETE_IDE
803 bool
804
Ralf Baechle39b8d522008-04-28 17:14:26 +0100805config SYNC_R4K
806 bool
807
Maciej W. Rozyckid388d682007-05-29 15:08:07 +0100808config NO_IOPORT
809 def_bool n
810
Ralf Baechle8313da32007-08-24 16:48:30 +0100811config GENERIC_ISA_DMA
812 bool
813 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
814
Ralf Baechleaa414df2006-11-30 01:14:51 +0000815config GENERIC_ISA_DMA_SUPPORT_BROKEN
816 bool
Ralf Baechle8313da32007-08-24 16:48:30 +0100817 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000818
Yoichi Yuasa09663332007-05-22 00:05:58 +0900819config GENERIC_GPIO
820 bool
821
Ralf Baechle5e83d432005-10-29 19:32:41 +0100822#
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100823# Endianess selection. Sufficiently obscure so many users don't know what to
Ralf Baechle5e83d432005-10-29 19:32:41 +0100824# answer,so we try hard to limit the available choices. Also the use of a
825# choice statement should be more obvious to the user.
826#
827choice
828 prompt "Endianess selection"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700829 help
830 Some MIPS machines can be configured for either little or big endian
Ralf Baechle5e83d432005-10-29 19:32:41 +0100831 byte order. These modes require different kernels and a different
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100832 Linux distribution. In general there is one preferred byteorder for a
Ralf Baechle5e83d432005-10-29 19:32:41 +0100833 particular system but some systems are just as commonly used in the
David Sterba3dde6ad2007-05-09 07:12:20 +0200834 one or the other endianness.
Ralf Baechle5e83d432005-10-29 19:32:41 +0100835
836config CPU_BIG_ENDIAN
837 bool "Big endian"
838 depends on SYS_SUPPORTS_BIG_ENDIAN
839
840config CPU_LITTLE_ENDIAN
841 bool "Little endian"
842 depends on SYS_SUPPORTS_LITTLE_ENDIAN
843 help
844
845endchoice
846
Ralf Baechle21162452007-02-09 17:08:58 +0000847config SYS_SUPPORTS_APM_EMULATION
848 bool
849
Ralf Baechle5e83d432005-10-29 19:32:41 +0100850config SYS_SUPPORTS_BIG_ENDIAN
851 bool
852
853config SYS_SUPPORTS_LITTLE_ENDIAN
854 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700855
856config IRQ_CPU
857 bool
858
859config IRQ_CPU_RM7K
860 bool
861
Ralf Baechle5e83d432005-10-29 19:32:41 +0100862config IRQ_CPU_RM9K
863 bool
864
Marc St-Jean9267a302007-06-14 15:55:31 -0600865config IRQ_MSP_SLP
866 bool
867
868config IRQ_MSP_CIC
869 bool
870
Atsushi Nemoto8420fd02007-08-02 23:35:53 +0900871config IRQ_TXX9
872 bool
873
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +0900874config IRQ_GT641XX
875 bool
876
Ralf Baechle39b8d522008-04-28 17:14:26 +0100877config IRQ_GIC
878 bool
879
Linus Torvalds1da177e2005-04-16 15:20:36 -0700880config MIPS_BOARDS_GEN
881 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700882
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900883config PCI_GT64XXX_PCI0
Linus Torvalds1da177e2005-04-16 15:20:36 -0700884 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700885
Marc St-Jean9267a302007-06-14 15:55:31 -0600886config NO_EXCEPT_FILL
887 bool
888
Linus Torvalds1da177e2005-04-16 15:20:36 -0700889config MIPS_TX3927
890 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700891 select HAS_TXX9_SERIAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700892
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200893config MIPS_RM9122
894 bool
895 select SERIAL_RM9000
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200896
Pete Popovbdf21b12005-07-14 17:47:57 +0000897config PNX8550
898 bool
899 select SOC_PNX8550
900
901config SOC_PNX8550
902 bool
Pete Popovbdf21b12005-07-14 17:47:57 +0000903 select DMA_NONCOHERENT
904 select HW_HAS_PCI
Ralf Baechleb8c2a772005-10-31 13:08:37 +0000905 select SYS_HAS_CPU_MIPS32_R1
Ralf Baechle36a88532007-03-01 11:56:43 +0000906 select SYS_HAS_EARLY_PRINTK
Ralf Baechle7cf80532005-10-20 22:33:09 +0100907 select SYS_SUPPORTS_32BIT_KERNEL
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100908 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechlecc801072007-02-17 02:58:39 +0000909 select SYS_SUPPORTS_KGDB
Florian Fainelli4ead1682007-05-22 21:44:42 +0200910 select GENERIC_GPIO
Pete Popovbdf21b12005-07-14 17:47:57 +0000911
Linus Torvalds1da177e2005-04-16 15:20:36 -0700912config SWAP_IO_SPACE
913 bool
914
dmitry pervushin355c4712006-05-21 14:53:06 +0400915config EMMA2RH
916 bool
917 depends on MARKEINS
918 default y
919
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200920config SERIAL_RM9000
921 bool
922
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100923config SGI_HAS_DS1286
924 bool
925
926config SGI_HAS_INDYDOG
927 bool
928
929config SGI_HAS_SEEQ
930 bool
931
932config SGI_HAS_WD93
933 bool
934
935config SGI_HAS_ZILOG
936 bool
937
938config SGI_HAS_I8042
939 bool
940
941config DEFAULT_SGI_PARTITION
942 bool
943
Ralf Baechle5e83d432005-10-29 19:32:41 +0100944config ARC32
945 bool
946
Thomas Bogendoerfer231a35d2008-01-04 23:31:07 +0100947config SNIPROM
948 bool
949
Linus Torvalds1da177e2005-04-16 15:20:36 -0700950config BOOT_ELF32
951 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700952
953config MIPS_L1_CACHE_SHIFT
954 int
Thomas Bogendoerfer06cf5582007-06-20 23:36:47 +0200955 default "4" if MACH_DECSTATION
Thomas Bogendoerfer7e3297d2008-06-27 23:52:26 +0200956 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM
Marc St-Jean9267a302007-06-14 15:55:31 -0600957 default "4" if PMC_MSP4200_EVAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700958 default "5"
959
Linus Torvalds1da177e2005-04-16 15:20:36 -0700960config HAVE_STD_PC_SERIAL_PORT
961 bool
962
Linus Torvalds1da177e2005-04-16 15:20:36 -0700963config ARC_CONSOLE
964 bool "ARC console support"
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100965 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700966
967config ARC_MEMORY
968 bool
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100969 depends on MACH_JAZZ || SNI_RM || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700970 default y
971
972config ARC_PROMLIB
973 bool
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100974 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700975 default y
976
977config ARC64
978 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700979
980config BOOT_ELF64
981 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700982
Linus Torvalds1da177e2005-04-16 15:20:36 -0700983menu "CPU selection"
984
985choice
986 prompt "CPU type"
987 default CPU_R4X00
988
Fuxin Zhang2a21c732007-06-06 14:52:43 +0800989config CPU_LOONGSON2
990 bool "Loongson 2"
991 depends on SYS_HAS_CPU_LOONGSON2
992 select CPU_SUPPORTS_32BIT_KERNEL
993 select CPU_SUPPORTS_64BIT_KERNEL
994 select CPU_SUPPORTS_HIGHMEM
995 help
996 The Loongson 2E processor implements the MIPS III instruction set
997 with many extensions.
998
Ralf Baechle6e760c82005-07-06 12:08:11 +0000999config CPU_MIPS32_R1
1000 bool "MIPS32 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001001 depends on SYS_HAS_CPU_MIPS32_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001002 select CPU_HAS_LLSC
Ralf Baechle6e760c82005-07-06 12:08:11 +00001003 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +00001004 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001005 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +00001006 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001007 Choose this option to build a kernel for release 1 or later of the
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001008 MIPS32 architecture. Most modern embedded systems with a 32-bit
1009 MIPS processor are based on a MIPS32 processor. If you know the
1010 specific type of processor in your system, choose those that one
1011 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1012 Release 2 of the MIPS32 architecture is available since several
1013 years so chances are you even have a MIPS32 Release 2 processor
1014 in which case you should choose CPU_MIPS32_R2 instead for better
1015 performance.
1016
1017config CPU_MIPS32_R2
1018 bool "MIPS32 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001019 depends on SYS_HAS_CPU_MIPS32_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001020 select CPU_HAS_LLSC
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001021 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +00001022 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001023 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001024 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001025 Choose this option to build a kernel for release 2 or later of the
Ralf Baechle6e760c82005-07-06 12:08:11 +00001026 MIPS32 architecture. Most modern embedded systems with a 32-bit
1027 MIPS processor are based on a MIPS32 processor. If you know the
1028 specific type of processor in your system, choose those that one
1029 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001030
Ralf Baechle6e760c82005-07-06 12:08:11 +00001031config CPU_MIPS64_R1
1032 bool "MIPS64 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001033 depends on SYS_HAS_CPU_MIPS64_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001034 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +00001035 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001036 select CPU_SUPPORTS_32BIT_KERNEL
1037 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001038 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +00001039 help
1040 Choose this option to build a kernel for release 1 or later of the
1041 MIPS64 architecture. Many modern embedded systems with a 64-bit
1042 MIPS processor are based on a MIPS64 processor. If you know the
1043 specific type of processor in your system, choose those that one
1044 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001045 Release 2 of the MIPS64 architecture is available since several
1046 years so chances are you even have a MIPS64 Release 2 processor
1047 in which case you should choose CPU_MIPS64_R2 instead for better
1048 performance.
1049
1050config CPU_MIPS64_R2
1051 bool "MIPS64 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001052 depends on SYS_HAS_CPU_MIPS64_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001053 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +00001054 select CPU_HAS_PREFETCH
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001055 select CPU_SUPPORTS_32BIT_KERNEL
1056 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001057 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001058 help
1059 Choose this option to build a kernel for release 2 or later of the
1060 MIPS64 architecture. Many modern embedded systems with a 64-bit
1061 MIPS processor are based on a MIPS64 processor. If you know the
1062 specific type of processor in your system, choose those that one
1063 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001064
1065config CPU_R3000
1066 bool "R3000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001067 depends on SYS_HAS_CPU_R3000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001068 select CPU_HAS_WB
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001069 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001070 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001071 help
1072 Please make sure to pick the right CPU type. Linux/MIPS is not
1073 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1074 *not* work on R4000 machines and vice versa. However, since most
1075 of the supported machines have an R4000 (or similar) CPU, R4x00
1076 might be a safe bet. If the resulting kernel does not work,
1077 try to recompile with R3000.
1078
1079config CPU_TX39XX
1080 bool "R39XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001081 depends on SYS_HAS_CPU_TX39XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001082 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001083
1084config CPU_VR41XX
1085 bool "R41xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001086 depends on SYS_HAS_CPU_VR41XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001087 select CPU_SUPPORTS_32BIT_KERNEL
1088 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001089 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001090 The options selects support for the NEC VR4100 series of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001091 Only choose this option if you have one of these processors as a
1092 kernel built with this option will not run on any other type of
1093 processor or vice versa.
1094
1095config CPU_R4300
1096 bool "R4300"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001097 depends on SYS_HAS_CPU_R4300
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001098 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001099 select CPU_SUPPORTS_32BIT_KERNEL
1100 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001101 help
1102 MIPS Technologies R4300-series processors.
1103
1104config CPU_R4X00
1105 bool "R4x00"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001106 depends on SYS_HAS_CPU_R4X00
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001107 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001108 select CPU_SUPPORTS_32BIT_KERNEL
1109 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001110 help
1111 MIPS Technologies R4000-series processors other than 4300, including
1112 the R4000, R4400, R4600, and 4700.
1113
1114config CPU_TX49XX
1115 bool "R49XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001116 depends on SYS_HAS_CPU_TX49XX
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001117 select CPU_HAS_LLSC
Atsushi Nemotode862b42006-03-17 12:59:22 +09001118 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001119 select CPU_SUPPORTS_32BIT_KERNEL
1120 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001121
1122config CPU_R5000
1123 bool "R5000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001124 depends on SYS_HAS_CPU_R5000
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
Linus Torvalds1da177e2005-04-16 15:20:36 -07001128 help
1129 MIPS Technologies R5000-series processors other than the Nevada.
1130
1131config CPU_R5432
1132 bool "R5432"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001133 depends on SYS_HAS_CPU_R5432
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001134 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001135 select CPU_SUPPORTS_32BIT_KERNEL
1136 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001137
1138config CPU_R6000
1139 bool "R6000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001140 depends on EXPERIMENTAL
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001141 select CPU_HAS_LLSC
Ralf Baechle7cf80532005-10-20 22:33:09 +01001142 depends on SYS_HAS_CPU_R6000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001143 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001144 help
1145 MIPS Technologies R6000 and R6000A series processors. Note these
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001146 processors are extremely rare and the support for them is incomplete.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001147
1148config CPU_NEVADA
1149 bool "RM52xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001150 depends on SYS_HAS_CPU_NEVADA
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001151 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001152 select CPU_SUPPORTS_32BIT_KERNEL
1153 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001154 help
1155 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1156
1157config CPU_R8000
1158 bool "R8000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001159 depends on EXPERIMENTAL
Ralf Baechle7cf80532005-10-20 22:33:09 +01001160 depends on SYS_HAS_CPU_R8000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001161 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001162 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001163 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001164 help
1165 MIPS Technologies R8000 processors. Note these processors are
1166 uncommon and the support for them is incomplete.
1167
1168config CPU_R10000
1169 bool "R10000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001170 depends on SYS_HAS_CPU_R10000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001171 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001172 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001173 select CPU_SUPPORTS_32BIT_KERNEL
1174 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001175 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001176 help
1177 MIPS Technologies R10000-series processors.
1178
1179config CPU_RM7000
1180 bool "RM7000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001181 depends on SYS_HAS_CPU_RM7000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001182 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001183 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001184 select CPU_SUPPORTS_32BIT_KERNEL
1185 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001186 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001187
1188config CPU_RM9000
1189 bool "RM9000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001190 depends on SYS_HAS_CPU_RM9000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001191 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001192 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001193 select CPU_SUPPORTS_32BIT_KERNEL
1194 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001195 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001196 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001197
1198config CPU_SB1
1199 bool "SB1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001200 depends on SYS_HAS_CPU_SB1
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001201 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001202 select CPU_SUPPORTS_32BIT_KERNEL
1203 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001204 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001205 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001206
1207endchoice
1208
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001209config SYS_HAS_CPU_LOONGSON2
1210 bool
1211
Ralf Baechle7cf80532005-10-20 22:33:09 +01001212config SYS_HAS_CPU_MIPS32_R1
1213 bool
1214
1215config SYS_HAS_CPU_MIPS32_R2
1216 bool
1217
1218config SYS_HAS_CPU_MIPS64_R1
1219 bool
1220
1221config SYS_HAS_CPU_MIPS64_R2
1222 bool
1223
1224config SYS_HAS_CPU_R3000
1225 bool
1226
1227config SYS_HAS_CPU_TX39XX
1228 bool
1229
1230config SYS_HAS_CPU_VR41XX
1231 bool
1232
1233config SYS_HAS_CPU_R4300
1234 bool
1235
1236config SYS_HAS_CPU_R4X00
1237 bool
1238
1239config SYS_HAS_CPU_TX49XX
1240 bool
1241
1242config SYS_HAS_CPU_R5000
1243 bool
1244
1245config SYS_HAS_CPU_R5432
1246 bool
1247
1248config SYS_HAS_CPU_R6000
1249 bool
1250
1251config SYS_HAS_CPU_NEVADA
1252 bool
1253
1254config SYS_HAS_CPU_R8000
1255 bool
1256
1257config SYS_HAS_CPU_R10000
1258 bool
1259
1260config SYS_HAS_CPU_RM7000
1261 bool
1262
1263config SYS_HAS_CPU_RM9000
1264 bool
1265
1266config SYS_HAS_CPU_SB1
1267 bool
1268
Ralf Baechle17099b12007-07-14 13:24:05 +01001269#
1270# CPU may reorder R->R, R->W, W->R, W->W
1271# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1272#
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001273config WEAK_ORDERING
1274 bool
Ralf Baechle17099b12007-07-14 13:24:05 +01001275
1276#
1277# CPU may reorder reads and writes beyond LL/SC
1278# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1279#
1280config WEAK_REORDERING_BEYOND_LLSC
1281 bool
Ralf Baechle5e83d432005-10-29 19:32:41 +01001282endmenu
1283
1284#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001285# These two indicate any level of the MIPS32 and MIPS64 architecture
Ralf Baechle5e83d432005-10-29 19:32:41 +01001286#
1287config CPU_MIPS32
1288 bool
1289 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1290
1291config CPU_MIPS64
1292 bool
1293 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1294
1295#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001296# These two indicate the revision of the architecture, either Release 1 or Release 2
Ralf Baechle5e83d432005-10-29 19:32:41 +01001297#
1298config CPU_MIPSR1
1299 bool
1300 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1301
1302config CPU_MIPSR2
1303 bool
1304 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1305
1306config SYS_SUPPORTS_32BIT_KERNEL
1307 bool
1308config SYS_SUPPORTS_64BIT_KERNEL
1309 bool
1310config CPU_SUPPORTS_32BIT_KERNEL
1311 bool
1312config CPU_SUPPORTS_64BIT_KERNEL
1313 bool
1314
1315menu "Kernel type"
1316
1317choice
1318
1319 prompt "Kernel code model"
1320 help
1321 You should only select this option if you have a workload that
1322 actually benefits from 64-bit processing or if your machine has
1323 large memory. You will only be presented a single option in this
1324 menu if your system does not support both 32-bit and 64-bit kernels.
1325
1326config 32BIT
1327 bool "32-bit kernel"
1328 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1329 select TRAD_SIGNALS
1330 help
1331 Select this option if you want to build a 32-bit kernel.
1332config 64BIT
1333 bool "64-bit kernel"
1334 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1335 help
1336 Select this option if you want to build a 64-bit kernel.
1337
1338endchoice
1339
Linus Torvalds1da177e2005-04-16 15:20:36 -07001340choice
1341 prompt "Kernel page size"
1342 default PAGE_SIZE_4KB
1343
1344config PAGE_SIZE_4KB
1345 bool "4kB"
1346 help
1347 This option select the standard 4kB Linux page size. On some
1348 R3000-family processors this is the only available page size. Using
1349 4kB page size will minimize memory consumption and is therefore
1350 recommended for low memory systems.
1351
1352config PAGE_SIZE_8KB
1353 bool "8kB"
1354 depends on EXPERIMENTAL && CPU_R8000
1355 help
1356 Using 8kB page size will result in higher performance kernel at
1357 the price of higher memory consumption. This option is available
1358 only on the R8000 processor. Not that at the time of this writing
1359 this option is still high experimental; there are also issues with
1360 compatibility of user applications.
1361
1362config PAGE_SIZE_16KB
1363 bool "16kB"
Ralf Baechle714bfad2006-05-17 14:04:30 +01001364 depends on !CPU_R3000 && !CPU_TX39XX
Linus Torvalds1da177e2005-04-16 15:20:36 -07001365 help
1366 Using 16kB page size will result in higher performance kernel at
1367 the price of higher memory consumption. This option is available on
Ralf Baechle714bfad2006-05-17 14:04:30 +01001368 all non-R3000 family processors. Note that you will need a suitable
1369 Linux distribution to support this.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001370
1371config PAGE_SIZE_64KB
1372 bool "64kB"
1373 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1374 help
1375 Using 64kB page size will result in higher performance kernel at
1376 the price of higher memory consumption. This option is available on
1377 all non-R3000 family processor. Not that at the time of this
Ralf Baechle714bfad2006-05-17 14:04:30 +01001378 writing this option is still high experimental.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001379
1380endchoice
1381
1382config BOARD_SCACHE
1383 bool
1384
1385config IP22_CPU_SCACHE
1386 bool
1387 select BOARD_SCACHE
1388
Chris Dearman9318c512006-06-20 17:15:20 +01001389#
1390# Support for a MIPS32 / MIPS64 style S-caches
1391#
1392config MIPS_CPU_SCACHE
1393 bool
1394 select BOARD_SCACHE
1395
Linus Torvalds1da177e2005-04-16 15:20:36 -07001396config R5000_CPU_SCACHE
1397 bool
1398 select BOARD_SCACHE
1399
1400config RM7000_CPU_SCACHE
1401 bool
1402 select BOARD_SCACHE
1403
1404config SIBYTE_DMA_PAGEOPS
1405 bool "Use DMA to clear/copy pages"
1406 depends on CPU_SB1
1407 help
1408 Instead of using the CPU to zero and copy pages, use a Data Mover
1409 channel. These DMA channels are otherwise unused by the standard
1410 SiByte Linux port. Seems to give a small performance benefit.
1411
1412config CPU_HAS_PREFETCH
Ralf Baechlec8094b52005-08-05 14:28:54 +00001413 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001414
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001415choice
1416 prompt "MIPS MT options"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001417
1418config MIPS_MT_DISABLED
1419 bool "Disable multithreading support."
1420 help
1421 Use this option if your workload can't take advantage of
1422 MIPS hardware multithreading support. On systems that don't have
1423 the option of an MT-enabled processor this option will be the only
1424 option in this menu.
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001425
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001426config MIPS_MT_SMP
1427 bool "Use 1 TC on each available VPE for SMP"
1428 depends on SYS_SUPPORTS_MULTITHREADING
1429 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001430 select CPU_MIPSR2_IRQ_EI
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001431 select MIPS_MT
Ralf Baechlef510aa32007-03-16 21:58:37 +00001432 select NR_CPUS_DEFAULT_2
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001433 select SMP
Ralf Baechle0ab7aef2007-03-02 20:42:04 +00001434 select SYS_SUPPORTS_SCHED_SMT if SMP
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001435 select SYS_SUPPORTS_SMP
Ralf Baechle87353d82007-11-19 12:23:51 +00001436 select SMP_UP
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001437 help
1438 This is a kernel model which is also known a VSMP or lately
1439 has been marketesed into SMVP.
1440
Ralf Baechle41c594a2006-04-05 09:45:45 +01001441config MIPS_MT_SMTC
1442 bool "SMTC: Use all TCs on all VPEs for SMP"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001443 depends on CPU_MIPS32_R2
1444 #depends on CPU_MIPS64_R2 # once there is hardware ...
1445 depends on SYS_SUPPORTS_MULTITHREADING
Ralf Baechleea580402007-10-11 23:46:09 +01001446 select GENERIC_CLOCKEVENTS_BROADCAST
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001447 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001448 select CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001449 select MIPS_MT
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001450 select NR_CPUS_DEFAULT_8
Ralf Baechle41c594a2006-04-05 09:45:45 +01001451 select SMP
Ralf Baechle73b76c72006-08-15 19:36:40 +01001452 select SYS_SUPPORTS_SMP
Ralf Baechle87353d82007-11-19 12:23:51 +00001453 select SMP_UP
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001454 help
1455 This is a kernel model which is known a SMTC or lately has been
1456 marketesed into SMVP.
Ralf Baechle41c594a2006-04-05 09:45:45 +01001457
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001458endchoice
1459
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001460config MIPS_MT
1461 bool
1462
Ralf Baechle0ab7aef2007-03-02 20:42:04 +00001463config SCHED_SMT
1464 bool "SMT (multithreading) scheduler support"
1465 depends on SYS_SUPPORTS_SCHED_SMT
1466 default n
1467 help
1468 SMT scheduler support improves the CPU scheduler's decision making
1469 when dealing with MIPS MT enabled cores at a cost of slightly
1470 increased overhead in some places. If unsure say N here.
1471
1472config SYS_SUPPORTS_SCHED_SMT
1473 bool
1474
1475
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001476config SYS_SUPPORTS_MULTITHREADING
1477 bool
1478
Ralf Baechlef088fc82006-04-05 09:45:47 +01001479config MIPS_MT_FPAFF
1480 bool "Dynamic FPU affinity for FP-intensive threads"
Ralf Baechlef088fc82006-04-05 09:45:47 +01001481 default y
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001482 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1483
1484config MIPS_VPE_LOADER
1485 bool "VPE loader support."
1486 depends on SYS_SUPPORTS_MULTITHREADING
1487 select CPU_MIPSR2_IRQ_VI
1488 select CPU_MIPSR2_IRQ_EI
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001489 select MIPS_MT
1490 help
1491 Includes a loader for loading an elf relocatable object
1492 onto another VPE and running it.
Ralf Baechlef088fc82006-04-05 09:45:47 +01001493
Ralf Baechleac8be952007-01-20 00:18:01 +00001494config MIPS_MT_SMTC_INSTANT_REPLAY
1495 bool "Low-latency Dispatch of Deferred SMTC IPIs"
Ralf Baechle619af722007-03-26 15:13:57 +01001496 depends on MIPS_MT_SMTC && !PREEMPT
Ralf Baechleac8be952007-01-20 00:18:01 +00001497 default y
1498 help
1499 SMTC pseudo-interrupts between TCs are deferred and queued
1500 if the target TC is interrupt-inhibited (IXMT). In the first
1501 SMTC prototypes, these queued IPIs were serviced on return
1502 to user mode, or on entry into the kernel idle loop. The
1503 INSTANT_REPLAY option dispatches them as part of local_irq_restore()
1504 processing, which adds runtime overhead (hence the option to turn
1505 it off), but ensures that IPIs are handled promptly even under
1506 heavy I/O interrupt load.
1507
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001508config MIPS_MT_SMTC_IM_BACKSTOP
1509 bool "Use per-TC register bits as backstop for inhibited IM bits"
1510 depends on MIPS_MT_SMTC
1511 default y
1512 help
1513 To support multiple TC microthreads acting as "CPUs" within
1514 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1515 during interrupt handling. To support legacy drivers and interrupt
1516 controller management code, SMTC has a "backstop" to track and
1517 if necessary restore the interrupt mask. This has some performance
1518 impact on interrupt service overhead. Disable it only if you know
1519 what you are doing.
1520
Kevin D. Kissellf571eff2007-08-03 19:38:03 +02001521config MIPS_MT_SMTC_IRQAFF
1522 bool "Support IRQ affinity API"
1523 depends on MIPS_MT_SMTC
1524 default n
1525 help
1526 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1527 for SMTC Linux kernel. Requires platform support, of which
1528 an example can be found in the MIPS kernel i8259 and Malta
1529 platform code. It is recommended that MIPS_MT_SMTC_INSTANT_REPLAY
1530 be enabled if MIPS_MT_SMTC_IRQAFF is used. Adds overhead to
1531 interrupt dispatch, and should be used only if you know what
1532 you are doing.
1533
Ralf Baechlee01402b2005-07-14 15:57:16 +00001534config MIPS_VPE_LOADER_TOM
1535 bool "Load VPE program into memory hidden from linux"
1536 depends on MIPS_VPE_LOADER
1537 default y
1538 help
1539 The loader can use memory that is present but has been hidden from
1540 Linux using the kernel command line option "mem=xxMB". It's up to
1541 you to ensure the amount you put in the option and the space your
1542 program requires is less or equal to the amount physically present.
1543
1544# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1545config MIPS_VPE_APSP_API
Ralf Baechle5e83d432005-10-29 19:32:41 +01001546 bool "Enable support for AP/SP API (RTLX)"
1547 depends on MIPS_VPE_LOADER
1548 help
Ralf Baechlee01402b2005-07-14 15:57:16 +00001549
Ralf Baechle26009902006-04-05 09:45:45 +01001550config MIPS_APSP_KSPD
1551 bool "Enable KSPD"
1552 depends on MIPS_VPE_APSP_API
1553 default y
1554 help
1555 KSPD is a kernel daemon that accepts syscall requests from the SP
1556 side, actions them and returns the results. It also handles the
1557 "exit" syscall notifying other kernel modules the SP program is
1558 exiting. You probably want to say yes here.
1559
Linus Torvalds1da177e2005-04-16 15:20:36 -07001560config SB1_PASS_1_WORKAROUNDS
1561 bool
1562 depends on CPU_SB1_PASS_1
1563 default y
1564
1565config SB1_PASS_2_WORKAROUNDS
1566 bool
1567 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1568 default y
1569
1570config SB1_PASS_2_1_WORKAROUNDS
1571 bool
1572 depends on CPU_SB1 && CPU_SB1_PASS_2
1573 default y
1574
1575config 64BIT_PHYS_ADDR
Ralf Baechled806cb22007-08-02 00:36:08 +01001576 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001577
Linus Torvalds1da177e2005-04-16 15:20:36 -07001578config CPU_HAS_LLSC
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001579 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001580
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001581config CPU_HAS_SMARTMIPS
1582 depends on SYS_SUPPORTS_SMARTMIPS
1583 bool "Support for the SmartMIPS ASE"
1584 help
1585 SmartMIPS is a extension of the MIPS32 architecture aimed at
1586 increased security at both hardware and software level for
1587 smartcards. Enabling this option will allow proper use of the
1588 SmartMIPS instructions by Linux applications. However a kernel with
1589 this option will not work on a MIPS core without SmartMIPS core. If
1590 you don't know you probably don't have SmartMIPS and should say N
1591 here.
1592
Linus Torvalds1da177e2005-04-16 15:20:36 -07001593config CPU_HAS_WB
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001594 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001595
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001596#
1597# Vectored interrupt mode is an R2 feature
1598#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001599config CPU_MIPSR2_IRQ_VI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001600 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001601
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001602#
1603# Extended interrupt mode is an R2 feature
1604#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001605config CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001606 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001607
Linus Torvalds1da177e2005-04-16 15:20:36 -07001608config CPU_HAS_SYNC
1609 bool
1610 depends on !CPU_R3000
1611 default y
1612
Ralf Baechleea580402007-10-11 23:46:09 +01001613config GENERIC_CLOCKEVENTS_BROADCAST
1614 bool
1615
Linus Torvalds1da177e2005-04-16 15:20:36 -07001616#
Maciej W. Rozycki20d60d92007-10-23 12:43:11 +01001617# CPU non-features
1618#
1619config CPU_DADDI_WORKAROUNDS
1620 bool
1621
1622config CPU_R4000_WORKAROUNDS
1623 bool
1624 select CPU_R4400_WORKAROUNDS
1625
1626config CPU_R4400_WORKAROUNDS
1627 bool
1628
1629#
Ralf Baechle797798c2005-08-10 15:17:11 +00001630# Use the generic interrupt handling code in kernel/irq/:
1631#
1632config GENERIC_HARDIRQS
1633 bool
1634 default y
1635
1636config GENERIC_IRQ_PROBE
1637 bool
1638 default y
1639
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001640config IRQ_PER_CPU
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001641 bool
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001642
Ralf Baechle797798c2005-08-10 15:17:11 +00001643#
Linus Torvalds1da177e2005-04-16 15:20:36 -07001644# - Highmem only makes sense for the 32-bit kernel.
1645# - The current highmem code will only work properly on physically indexed
1646# caches such as R3000, SB1, R7000 or those that look like they're virtually
1647# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1648# moment we protect the user and offer the highmem option only on machines
1649# where it's known to be safe. This will not offer highmem on a few systems
1650# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1651# indexed CPUs but we're playing safe.
Ralf Baechle797798c2005-08-10 15:17:11 +00001652# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1653# know they might have memory configurations that could make use of highmem
1654# support.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001655#
1656config HIGHMEM
1657 bool "High Memory Support"
Ralf Baechle797798c2005-08-10 15:17:11 +00001658 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1659
1660config CPU_SUPPORTS_HIGHMEM
1661 bool
1662
1663config SYS_SUPPORTS_HIGHMEM
1664 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001665
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001666config SYS_SUPPORTS_SMARTMIPS
1667 bool
1668
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001669config ARCH_FLATMEM_ENABLE
1670 def_bool y
1671 depends on !NUMA
1672
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001673config ARCH_DISCONTIGMEM_ENABLE
1674 bool
1675 default y if SGI_IP27
1676 help
David Sterba3dde6ad2007-05-09 07:12:20 +02001677 Say Y to support efficient handling of discontiguous physical memory,
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001678 for architectures which are either NUMA (Non-Uniform Memory Access)
1679 or have huge holes in the physical address space for other reasons.
1680 See <file:Documentation/vm/numa> for more.
1681
Ralf Baechlecce335ae2007-11-03 02:05:43 +00001682config ARCH_POPULATES_NODE_MAP
1683 def_bool y
1684
Atsushi Nemotob1c6cd42006-07-03 00:09:47 +09001685config ARCH_SPARSEMEM_ENABLE
1686 bool
Atsushi Nemoto7de58fa2006-07-05 01:22:44 +09001687 select SPARSEMEM_STATIC
Atsushi Nemoto31473742006-07-03 00:09:47 +09001688
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001689config NUMA
1690 bool "NUMA Support"
1691 depends on SYS_SUPPORTS_NUMA
1692 help
1693 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1694 Access). This option improves performance on systems with more
1695 than two nodes; on two node systems it is generally better to
1696 leave it disabled; on single node systems disable this option
1697 disabled.
1698
1699config SYS_SUPPORTS_NUMA
1700 bool
1701
Yasunori Gotoc80d79d2006-04-10 22:53:53 -07001702config NODES_SHIFT
1703 int
1704 default "6"
1705 depends on NEED_MULTIPLE_NODES
1706
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001707source "mm/Kconfig"
1708
Linus Torvalds1da177e2005-04-16 15:20:36 -07001709config SMP
1710 bool "Multi-Processing support"
Ralf Baechlee73ea272006-06-04 11:51:46 +01001711 depends on SYS_SUPPORTS_SMP
Ralf Baechleb4b30a52006-08-03 17:34:24 +01001712 select IRQ_PER_CPU
Ralf Baechlee73ea272006-06-04 11:51:46 +01001713 help
Linus Torvalds1da177e2005-04-16 15:20:36 -07001714 This enables support for systems with more than one CPU. If you have
1715 a system with only one CPU, like most personal computers, say N. If
1716 you have a system with more than one CPU, say Y.
1717
1718 If you say N here, the kernel will run on single and multiprocessor
1719 machines, but will use only one CPU of a multiprocessor machine. If
1720 you say Y here, the kernel will run on many, but not all,
1721 singleprocessor machines. On a singleprocessor machine, the kernel
1722 will run faster if you say N here.
1723
1724 People using multiprocessor machines who say Y here should also say
1725 Y to "Enhanced Real Time Clock Support", below.
1726
Adrian Bunk03502fa2008-02-03 15:50:21 +02001727 See also the SMP-HOWTO available at
1728 <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001729
1730 If you don't know what to do here, say N.
1731
Ralf Baechle87353d82007-11-19 12:23:51 +00001732config SMP_UP
1733 bool
1734
Ralf Baechlee73ea272006-06-04 11:51:46 +01001735config SYS_SUPPORTS_SMP
1736 bool
1737
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001738config NR_CPUS_DEFAULT_1
1739 bool
1740
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001741config NR_CPUS_DEFAULT_2
1742 bool
1743
1744config NR_CPUS_DEFAULT_4
1745 bool
1746
1747config NR_CPUS_DEFAULT_8
1748 bool
1749
1750config NR_CPUS_DEFAULT_16
1751 bool
1752
1753config NR_CPUS_DEFAULT_32
1754 bool
1755
1756config NR_CPUS_DEFAULT_64
1757 bool
1758
Linus Torvalds1da177e2005-04-16 15:20:36 -07001759config NR_CPUS
1760 int "Maximum number of CPUs (2-64)"
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001761 range 1 64 if NR_CPUS_DEFAULT_1
Linus Torvalds1da177e2005-04-16 15:20:36 -07001762 depends on SMP
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001763 default "1" if NR_CPUS_DEFAULT_1
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001764 default "2" if NR_CPUS_DEFAULT_2
1765 default "4" if NR_CPUS_DEFAULT_4
1766 default "8" if NR_CPUS_DEFAULT_8
1767 default "16" if NR_CPUS_DEFAULT_16
1768 default "32" if NR_CPUS_DEFAULT_32
1769 default "64" if NR_CPUS_DEFAULT_64
Linus Torvalds1da177e2005-04-16 15:20:36 -07001770 help
1771 This allows you to specify the maximum number of CPUs which this
1772 kernel will support. The maximum supported value is 32 for 32-bit
1773 kernel and 64 for 64-bit kernels; the minimum value which makes
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001774 sense is 1 for Qemu (useful only for kernel debugging purposes)
1775 and 2 for all others.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001776
1777 This is purely to save memory - each supported CPU adds
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001778 approximately eight kilobytes to the kernel image. For best
1779 performance should round up your number of processors to the next
1780 power of two.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001781
Ralf Baechle39b8d522008-04-28 17:14:26 +01001782config MIPS_CMP
1783 bool "MIPS CMP framework support"
1784 depends on SMP
1785 select SYNC_R4K
1786 select SYS_SUPPORTS_SCHED_SMT
1787 select WEAK_ORDERING
1788 default n
1789 help
1790 This is a placeholder option for the GCMP work. It will need to
1791 be handled differently...
1792
Atsushi Nemotoc4eee282007-11-12 01:05:16 +09001793source "kernel/time/Kconfig"
1794
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09001795#
1796# Timer Interrupt Frequency Configuration
1797#
1798
1799choice
1800 prompt "Timer frequency"
1801 default HZ_250
1802 help
1803 Allows the configuration of the timer frequency.
1804
1805 config HZ_48
Ralf Baechle0f873582008-02-25 16:55:29 +00001806 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09001807
1808 config HZ_100
1809 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1810
1811 config HZ_128
1812 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1813
1814 config HZ_250
1815 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1816
1817 config HZ_256
1818 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1819
1820 config HZ_1000
1821 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1822
1823 config HZ_1024
1824 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1825
1826endchoice
1827
1828config SYS_SUPPORTS_48HZ
1829 bool
1830
1831config SYS_SUPPORTS_100HZ
1832 bool
1833
1834config SYS_SUPPORTS_128HZ
1835 bool
1836
1837config SYS_SUPPORTS_250HZ
1838 bool
1839
1840config SYS_SUPPORTS_256HZ
1841 bool
1842
1843config SYS_SUPPORTS_1000HZ
1844 bool
1845
1846config SYS_SUPPORTS_1024HZ
1847 bool
1848
1849config SYS_SUPPORTS_ARBIT_HZ
1850 bool
1851 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1852 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1853 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1854 !SYS_SUPPORTS_1024HZ
1855
1856config HZ
1857 int
1858 default 48 if HZ_48
1859 default 100 if HZ_100
1860 default 128 if HZ_128
1861 default 250 if HZ_250
1862 default 256 if HZ_256
1863 default 1000 if HZ_1000
1864 default 1024 if HZ_1024
1865
Ralf Baechlee80de852005-07-11 20:45:51 +00001866source "kernel/Kconfig.preempt"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001867
Linus Torvalds1da177e2005-04-16 15:20:36 -07001868config MIPS_INSANE_LARGE
1869 bool "Support for large 64-bit configurations"
Ralf Baechle875d43e2005-09-03 15:56:16 -07001870 depends on CPU_R10000 && 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001871 help
1872 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1873 previous 64-bit processors which only supported 40 bit / 1TB. If you
1874 need processes of more than 1TB virtual address space, say Y here.
1875 This will result in additional memory usage, so it is not
1876 recommended for normal users.
1877
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001878config KEXEC
1879 bool "Kexec system call (EXPERIMENTAL)"
1880 depends on EXPERIMENTAL
1881 help
1882 kexec is a system call that implements the ability to shutdown your
1883 current kernel, and to start another kernel. It is like a reboot
David Sterba3dde6ad2007-05-09 07:12:20 +02001884 but it is independent of the system firmware. And like a reboot
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001885 you can start any kernel with it, not just Linux.
1886
Matt LaPlante01dd2fb2007-10-20 01:34:40 +02001887 The name comes from the similarity to the exec system call.
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001888
1889 It is an ongoing process to be certain the hardware in a machine
1890 is properly shutdown, so do not be surprised if this code does not
1891 initially work for you. It may help to enable device hotplugging
1892 support. As of this writing the exact hardware interface is
1893 strongly in flux, so no good recommendation can be made.
1894
1895config SECCOMP
1896 bool "Enable seccomp to safely compute untrusted bytecode"
Ralf Baechle293c5bd2007-07-25 16:19:33 +01001897 depends on PROC_FS
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001898 default y
1899 help
1900 This kernel feature is useful for number crunching applications
1901 that may need to compute untrusted bytecode during their
1902 execution. By using pipes or other transports made available to
1903 the process as file descriptors supporting the read/write
1904 syscalls, it's possible to isolate those applications in
1905 their own address space using seccomp. Once seccomp is
1906 enabled via /proc/<pid>/seccomp, it cannot be disabled
1907 and the task is only allowed to execute a few safe syscalls
1908 defined by each seccomp mode.
1909
1910 If unsure, say Y. Only embedded should say N here.
1911
Ralf Baechle5e83d432005-10-29 19:32:41 +01001912endmenu
1913
Linus Torvalds1da177e2005-04-16 15:20:36 -07001914config RWSEM_GENERIC_SPINLOCK
1915 bool
1916 default y
1917
Atsushi Nemoto1df0f0f2006-09-26 23:44:01 +09001918config LOCKDEP_SUPPORT
1919 bool
1920 default y
1921
1922config STACKTRACE_SUPPORT
1923 bool
1924 default y
1925
Ralf Baechleb6c35392005-11-25 11:35:40 +00001926source "init/Kconfig"
1927
Linus Torvalds1da177e2005-04-16 15:20:36 -07001928menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1929
Ralf Baechle5e83d432005-10-29 19:32:41 +01001930config HW_HAS_EISA
1931 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001932config HW_HAS_PCI
1933 bool
1934
1935config PCI
1936 bool "Support for PCI controller"
1937 depends on HW_HAS_PCI
Ralf Baechleabb4ae42007-10-11 23:46:03 +01001938 select PCI_DOMAINS
Linus Torvalds1da177e2005-04-16 15:20:36 -07001939 help
1940 Find out whether you have a PCI motherboard. PCI is the name of a
1941 bus system, i.e. the way the CPU talks to the other stuff inside
1942 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1943 say Y, otherwise N.
1944
Linus Torvalds1da177e2005-04-16 15:20:36 -07001945config PCI_DOMAINS
1946 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001947
1948source "drivers/pci/Kconfig"
1949
1950#
1951# ISA support is now enabled via select. Too many systems still have the one
1952# or other ISA chip on the board that users don't know about so don't expect
1953# users to choose the right thing ...
1954#
1955config ISA
1956 bool
1957
1958config EISA
1959 bool "EISA support"
Ralf Baechle5e83d432005-10-29 19:32:41 +01001960 depends on HW_HAS_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001961 select ISA
Ralf Baechleaa414df2006-11-30 01:14:51 +00001962 select GENERIC_ISA_DMA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001963 ---help---
1964 The Extended Industry Standard Architecture (EISA) bus was
1965 developed as an open alternative to the IBM MicroChannel bus.
1966
1967 The EISA bus provided some of the features of the IBM MicroChannel
1968 bus while maintaining backward compatibility with cards made for
1969 the older ISA bus. The EISA bus saw limited use between 1988 and
1970 1995 when it was made obsolete by the PCI bus.
1971
1972 Say Y here if you are building a kernel for an EISA-based machine.
1973
1974 Otherwise, say N.
1975
1976source "drivers/eisa/Kconfig"
1977
1978config TC
1979 bool "TURBOchannel support"
1980 depends on MACH_DECSTATION
1981 help
1982 TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1983 processors. Documentation on writing device drivers for TurboChannel
1984 is available at:
1985 <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1986
1987#config ACCESSBUS
1988# bool "Access.Bus support"
1989# depends on TC
1990
1991config MMU
1992 bool
1993 default y
1994
Ralf Baechled865bea2007-10-11 23:46:10 +01001995config I8253
1996 bool
1997
Ralf Baechlecce335ae2007-11-03 02:05:43 +00001998config ZONE_DMA32
1999 bool
2000
Linus Torvalds1da177e2005-04-16 15:20:36 -07002001source "drivers/pcmcia/Kconfig"
2002
2003source "drivers/pci/hotplug/Kconfig"
2004
2005endmenu
2006
2007menu "Executable file formats"
2008
2009source "fs/Kconfig.binfmt"
2010
2011config TRAD_SIGNALS
2012 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002013
Linus Torvalds1da177e2005-04-16 15:20:36 -07002014config MIPS32_COMPAT
2015 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
Ralf Baechle875d43e2005-09-03 15:56:16 -07002016 depends on 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07002017 help
2018 Select this option if you want Linux/MIPS 32-bit binary
2019 compatibility. Since all software available for Linux/MIPS is
2020 currently 32-bit you should say Y here.
2021
2022config COMPAT
2023 bool
2024 depends on MIPS32_COMPAT
2025 default y
2026
Atsushi Nemoto05e43962006-11-07 18:02:44 +09002027config SYSVIPC_COMPAT
2028 bool
2029 depends on COMPAT && SYSVIPC
2030 default y
2031
Linus Torvalds1da177e2005-04-16 15:20:36 -07002032config MIPS32_O32
2033 bool "Kernel support for o32 binaries"
2034 depends on MIPS32_COMPAT
2035 help
2036 Select this option if you want to run o32 binaries. These are pure
2037 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2038 existing binaries are in this format.
2039
2040 If unsure, say Y.
2041
2042config MIPS32_N32
2043 bool "Kernel support for n32 binaries"
2044 depends on MIPS32_COMPAT
2045 help
2046 Select this option if you want to run n32 binaries. These are
2047 64-bit binaries using 32-bit quantities for addressing and certain
2048 data that would normally be 64-bit. They are used in special
2049 cases.
2050
2051 If unsure, say N.
2052
2053config BINFMT_ELF32
2054 bool
2055 default y if MIPS32_O32 || MIPS32_N32
2056
Ralf Baechle21162452007-02-09 17:08:58 +00002057endmenu
Linus Torvalds1da177e2005-04-16 15:20:36 -07002058
Ralf Baechle21162452007-02-09 17:08:58 +00002059menu "Power management options"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02002060
Johannes Bergf4cb5702007-12-08 02:14:00 +01002061config ARCH_SUSPEND_POSSIBLE
2062 def_bool y
2063 depends on !SMP
2064
Ralf Baechle21162452007-02-09 17:08:58 +00002065source "kernel/power/Kconfig"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02002066
Linus Torvalds1da177e2005-04-16 15:20:36 -07002067endmenu
2068
Sam Ravnborgd5950b42005-07-11 21:03:49 -07002069source "net/Kconfig"
2070
Linus Torvalds1da177e2005-04-16 15:20:36 -07002071source "drivers/Kconfig"
2072
2073source "fs/Kconfig"
2074
2075source "arch/mips/Kconfig.debug"
2076
2077source "security/Kconfig"
2078
2079source "crypto/Kconfig"
2080
2081source "lib/Kconfig"