blob: 1e06d233fa8310eaf77acfde003cbf8cd346fc54 [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
Jason Wessel88547002008-07-29 15:58:53 -05006 select HAVE_ARCH_KGDB
Linus Torvalds1da177e2005-04-16 15:20:36 -07007 # Horrible source of confusion. Die, die, die ...
8 select EMBEDDED
Ralf Baechle90b02342007-10-11 23:46:09 +01009 select RTC_LIB
Linus Torvalds1da177e2005-04-16 15:20:36 -070010
Linus Torvalds1da177e2005-04-16 15:20:36 -070011mainmenu "Linux/MIPS Kernel Configuration"
12
Linus Torvalds1da177e2005-04-16 15:20:36 -070013menu "Machine selection"
14
Christoph Lameter5ac6da62007-02-10 01:43:14 -080015config ZONE_DMA
16 bool
Christoph Lameter5ac6da62007-02-10 01:43:14 -080017
Ralf Baechle5e83d432005-10-29 19:32:41 +010018choice
19 prompt "System type"
20 default SGI_IP22
Linus Torvalds1da177e2005-04-16 15:20:36 -070021
Yoichi Yuasac3543e22007-05-11 20:44:30 +090022config MACH_ALCHEMY
23 bool "Alchemy processor based machines"
Linus Torvalds1da177e2005-04-16 15:20:36 -070024
Ralf Baechle35189fa2006-06-18 16:39:46 +010025config BASLER_EXCITE
Thomas Koellerbe915892007-02-23 01:40:34 +010026 bool "Basler eXcite smart camera"
Ralf Baechle42f77542007-10-18 17:48:11 +010027 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +000028 select CSRC_R4K
Ralf Baechle35189fa2006-06-18 16:39:46 +010029 select DMA_COHERENT
30 select HW_HAS_PCI
31 select IRQ_CPU
32 select IRQ_CPU_RM7K
33 select IRQ_CPU_RM9K
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +020034 select MIPS_RM9122
Ralf Baechle35189fa2006-06-18 16:39:46 +010035 select SYS_HAS_CPU_RM9000
36 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle35189fa2006-06-18 16:39:46 +010037 select SYS_SUPPORTS_BIG_ENDIAN
38 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 Baechle4a16ff42008-10-04 00:06:29 +0100214 select SYS_SUPPORTS_MIPS_CMP if BROKEN # because SYNC_R4K is broken
Ralf Baechlef41ae0b2006-06-05 17:24:46 +0100215 select SYS_SUPPORTS_MULTITHREADING
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100216 select SYS_SUPPORTS_SMARTMIPS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700217 help
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000218 This enables support for the MIPS Technologies Malta evaluation
Linus Torvalds1da177e2005-04-16 15:20:36 -0700219 board.
220
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100221config MIPS_SIM
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200222 bool 'MIPS simulator (MIPSsim)'
Ralf Baechle42f77542007-10-18 17:48:11 +0100223 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000224 select CSRC_R4K
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100225 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000226 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100227 select IRQ_CPU
Marc St-Jean9267a302007-06-14 15:55:31 -0600228 select BOOT_RAW
Ralf Baechle7cf80532005-10-20 22:33:09 +0100229 select SYS_HAS_CPU_MIPS32_R1
230 select SYS_HAS_CPU_MIPS32_R2
Ralf Baechle36a88532007-03-01 11:56:43 +0000231 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100232 select SYS_SUPPORTS_32BIT_KERNEL
233 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlef6e23732007-07-10 17:32:56 +0100234 select SYS_SUPPORTS_MULTITHREADING
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100235 select SYS_SUPPORTS_LITTLE_ENDIAN
236 help
237 This option enables support for MIPS Technologies MIPSsim software
238 emulator.
239
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900240config MARKEINS
241 bool "NEC EMMA2RH Mark-eins"
Ralf Baechle42f77542007-10-18 17:48:11 +0100242 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000243 select CSRC_R4K
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900244 select DMA_NONCOHERENT
245 select HW_HAS_PCI
246 select IRQ_CPU
247 select SWAP_IO_SPACE
248 select SYS_SUPPORTS_32BIT_KERNEL
249 select SYS_SUPPORTS_BIG_ENDIAN
250 select SYS_SUPPORTS_LITTLE_ENDIAN
251 select SYS_HAS_CPU_R5000
252 help
253 This enables support for the R5432-based NEC Mark-eins
254 boards with R5500 CPU.
255
Ralf Baechle5e83d432005-10-29 19:32:41 +0100256config MACH_VR41XX
Yoichi Yuasa74142d62007-04-26 19:45:09 +0900257 bool "NEC VR4100 series based machines"
Ralf Baechle42f77542007-10-18 17:48:11 +0100258 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000259 select CSRC_R4K
Ralf Baechle7cf80532005-10-20 22:33:09 +0100260 select SYS_HAS_CPU_VR41XX
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900261 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100262
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900263config PNX8550_JBS
Daniel Lairda92b0582008-03-06 09:07:18 +0000264 bool "NXP PNX8550 based JBS board"
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900265 select PNX8550
266 select SYS_SUPPORTS_LITTLE_ENDIAN
267
268config PNX8550_STB810
Daniel Lairda92b0582008-03-06 09:07:18 +0000269 bool "NXP PNX8550 based STB810 board"
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900270 select PNX8550
271 select SYS_SUPPORTS_LITTLE_ENDIAN
272
Marc St-Jean9267a302007-06-14 15:55:31 -0600273config PMC_MSP
274 bool "PMC-Sierra MSP chipsets"
275 depends on EXPERIMENTAL
276 select DMA_NONCOHERENT
277 select SWAP_IO_SPACE
278 select NO_EXCEPT_FILL
279 select BOOT_RAW
280 select SYS_HAS_CPU_MIPS32_R1
281 select SYS_HAS_CPU_MIPS32_R2
282 select SYS_SUPPORTS_32BIT_KERNEL
283 select SYS_SUPPORTS_BIG_ENDIAN
Marc St-Jean9267a302007-06-14 15:55:31 -0600284 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 Baechlee73ea272006-06-04 11:51:46 +0100309 select SYS_SUPPORTS_SMP
Ralf Baechle5e83d432005-10-29 19:32:41 +0100310 help
311 Yosemite is an evaluation board for the RM9000x2 processor
312 manufactured by PMC-Sierra.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700313
Linus Torvalds1da177e2005-04-16 15:20:36 -0700314config SGI_IP22
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200315 bool "SGI IP22 (Indy/Indigo2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700316 select ARC
317 select ARC32
318 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100319 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000320 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100321 select DEFAULT_SGI_PARTITION
Linus Torvalds1da177e2005-04-16 15:20:36 -0700322 select DMA_NONCOHERENT
Ralf Baechle5e83d432005-10-29 19:32:41 +0100323 select HW_HAS_EISA
Ralf Baechled865bea2007-10-11 23:46:10 +0100324 select I8253
Thomas Bogendoerfer68de4802007-11-23 20:34:16 +0100325 select I8259
Linus Torvalds1da177e2005-04-16 15:20:36 -0700326 select IP22_CPU_SCACHE
327 select IRQ_CPU
Ralf Baechleaa414df2006-11-30 01:14:51 +0000328 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100329 select SGI_HAS_DS1286
330 select SGI_HAS_I8042
331 select SGI_HAS_INDYDOG
Thomas Bogendoerfer36e5c212008-07-16 14:06:15 +0200332 select SGI_HAS_HAL2
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100333 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 Baechled8cb4e12006-06-11 23:03:08 +0100361 select SYS_SUPPORTS_NUMA
Ralf Baechle1a5c5de2006-11-02 17:23:33 +0000362 select SYS_SUPPORTS_SMP
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100363 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700364 help
365 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
366 workstations. To compile a Linux kernel that runs on these, say Y
367 here.
368
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100369config SGI_IP28
370 bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
371 depends on EXPERIMENTAL
372 select ARC
373 select ARC64
374 select BOOT_ELF64
375 select CEVT_R4K
376 select CSRC_R4K
377 select DEFAULT_SGI_PARTITION
378 select DMA_NONCOHERENT
379 select GENERIC_ISA_DMA_SUPPORT_BROKEN
380 select IRQ_CPU
381 select HW_HAS_EISA
382 select I8253
383 select I8259
384 select SGI_HAS_DS1286
385 select SGI_HAS_I8042
386 select SGI_HAS_INDYDOG
Thomas Bogendoerfer5b438c42008-07-10 20:29:55 +0200387 select SGI_HAS_HAL2
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100388 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
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900476 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlecce335ae2007-11-03 02:05:43 +0000477 select ZONE_DMA32 if 64BIT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900478
479config SIBYTE_LITTLESUR
480 bool "Sibyte BCM91250C2-LittleSur"
481 depends on EXPERIMENTAL
482 select BOOT_ELF32
483 select DMA_COHERENT
484 select NR_CPUS_DEFAULT_2
485 select SIBYTE_SB1250
486 select SWAP_IO_SPACE
487 select SYS_HAS_CPU_SB1
488 select SYS_SUPPORTS_BIG_ENDIAN
489 select SYS_SUPPORTS_HIGHMEM
490 select SYS_SUPPORTS_LITTLE_ENDIAN
491
492config SIBYTE_SENTOSA
493 bool "Sibyte BCM91250E-Sentosa"
494 depends on EXPERIMENTAL
495 select BOOT_ELF32
496 select DMA_COHERENT
497 select NR_CPUS_DEFAULT_2
498 select SIBYTE_SB1250
499 select SWAP_IO_SPACE
500 select SYS_HAS_CPU_SB1
501 select SYS_SUPPORTS_BIG_ENDIAN
502 select SYS_SUPPORTS_LITTLE_ENDIAN
503
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900504config SIBYTE_BIGSUR
505 bool "Sibyte BCM91480B-BigSur"
506 select BOOT_ELF32
507 select DMA_COHERENT
508 select NR_CPUS_DEFAULT_4
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900509 select SIBYTE_BCM1x80
510 select SWAP_IO_SPACE
511 select SYS_HAS_CPU_SB1
512 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle651194f2007-11-01 21:55:39 +0000513 select SYS_SUPPORTS_HIGHMEM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900514 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlecce335ae2007-11-03 02:05:43 +0000515 select ZONE_DMA32 if 64BIT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900516
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100517config SNI_RM
518 bool "SNI RM200/300/400"
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200519 select ARC if CPU_LITTLE_ENDIAN
520 select ARC32 if CPU_LITTLE_ENDIAN
Thomas Bogendoerfer231a35d2008-01-04 23:31:07 +0100521 select SNIPROM if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100522 select ARCH_MAY_HAVE_PC_FDC
523 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100524 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000525 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100526 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100527 select DMA_NONCOHERENT
528 select GENERIC_ISA_DMA
Ralf Baechle5e83d432005-10-29 19:32:41 +0100529 select HW_HAS_EISA
530 select HW_HAS_PCI
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100531 select IRQ_CPU
Ralf Baechled865bea2007-10-11 23:46:10 +0100532 select I8253
Ralf Baechle5e83d432005-10-29 19:32:41 +0100533 select I8259
534 select ISA
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200535 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
Ralf Baechle7cf80532005-10-20 22:33:09 +0100536 select SYS_HAS_CPU_R4X00
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200537 select SYS_HAS_CPU_R5000
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100538 select SYS_HAS_CPU_R10000
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200539 select R5000_CPU_SCACHE
Ralf Baechle36a88532007-03-01 11:56:43 +0000540 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700541 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100542 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200543 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100544 select SYS_SUPPORTS_HIGHMEM
545 select SYS_SUPPORTS_LITTLE_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700546 help
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100547 The SNI RM200/300/400 are MIPS-based machines manufactured by
548 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
Ralf Baechle5e83d432005-10-29 19:32:41 +0100549 Technology and now in turn merged with Fujitsu. Say Y here to
550 support this machine type.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700551
Atsushi Nemotoedcaf1a2008-07-11 23:27:54 +0900552config MACH_TX39XX
553 bool "Toshiba TX39 series based machines"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100554
Atsushi Nemotoedcaf1a2008-07-11 23:27:54 +0900555config MACH_TX49XX
556 bool "Toshiba TX49 series based machines"
Ralf Baechle23fbee92005-07-25 22:45:45 +0000557
Ralf Baechle73b43902008-07-16 16:12:25 +0100558config MIKROTIK_RB532
559 bool "Mikrotik RB532 boards"
560 select CEVT_R4K
561 select CSRC_R4K
562 select DMA_NONCOHERENT
563 select GENERIC_HARDIRQS_NO__DO_IRQ
564 select HW_HAS_PCI
565 select IRQ_CPU
566 select SYS_HAS_CPU_MIPS32_R1
567 select SYS_SUPPORTS_32BIT_KERNEL
568 select SYS_SUPPORTS_LITTLE_ENDIAN
569 select SWAP_IO_SPACE
570 select BOOT_RAW
571 select GENERIC_GPIO
572 help
573 Support the Mikrotik(tm) RouterBoard 532 series,
574 based on the IDT RC32434 SoC.
575
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900576config WR_PPMC
577 bool "Wind River PPMC board"
Ralf Baechle42f77542007-10-18 17:48:11 +0100578 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000579 select CSRC_R4K
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900580 select IRQ_CPU
581 select BOOT_ELF32
582 select DMA_NONCOHERENT
583 select HW_HAS_PCI
584 select PCI_GT64XXX_PCI0
585 select SWAP_IO_SPACE
586 select SYS_HAS_CPU_MIPS32_R1
587 select SYS_HAS_CPU_MIPS32_R2
588 select SYS_HAS_CPU_MIPS64_R1
589 select SYS_HAS_CPU_NEVADA
590 select SYS_HAS_CPU_RM7000
591 select SYS_SUPPORTS_32BIT_KERNEL
592 select SYS_SUPPORTS_64BIT_KERNEL
593 select SYS_SUPPORTS_BIG_ENDIAN
594 select SYS_SUPPORTS_LITTLE_ENDIAN
595 help
596 This enables support for the Wind River MIPS32 4KC PPMC evaluation
597 board, which is based on GT64120 bridge chip.
598
Linus Torvalds1da177e2005-04-16 15:20:36 -0700599endchoice
600
Yoichi Yuasac3543e22007-05-11 20:44:30 +0900601source "arch/mips/au1000/Kconfig"
Yoichi Yuasa9c746ed2007-12-12 22:39:54 +0900602source "arch/mips/basler/excite/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100603source "arch/mips/jazz/Kconfig"
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200604source "arch/mips/lasat/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100605source "arch/mips/pmc-sierra/Kconfig"
Ralf Baechle29c48692005-02-07 01:27:14 +0000606source "arch/mips/sgi-ip27/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000607source "arch/mips/sibyte/Kconfig"
Atsushi Nemoto22b1d702008-07-11 00:31:36 +0900608source "arch/mips/txx9/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100609source "arch/mips/vr41xx/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000610
Ralf Baechle5e83d432005-10-29 19:32:41 +0100611endmenu
612
Nick Piggin95c354f2008-01-30 13:31:20 +0100613config GENERIC_LOCKBREAK
614 bool
615 default y
616 depends on SMP && PREEMPT
617
Linus Torvalds1da177e2005-04-16 15:20:36 -0700618config RWSEM_GENERIC_SPINLOCK
619 bool
620 default y
621
622config RWSEM_XCHGADD_ALGORITHM
623 bool
624
David Howellsf0d1b0b2006-12-08 02:37:49 -0800625config ARCH_HAS_ILOG2_U32
626 bool
627 default n
628
629config ARCH_HAS_ILOG2_U64
630 bool
631 default n
632
Ralf Baechle00a58252007-12-06 16:53:19 +0000633config ARCH_SUPPORTS_OPROFILE
634 bool
635 default y if !MIPS_MT_SMTC
636
Akinobu Mita3c9ee7e2006-03-26 01:39:30 -0800637config GENERIC_FIND_NEXT_BIT
638 bool
639 default y
640
641config GENERIC_HWEIGHT
642 bool
643 default y
644
Linus Torvalds1da177e2005-04-16 15:20:36 -0700645config GENERIC_CALIBRATE_DELAY
646 bool
647 default y
648
Ralf Baechle7bcf7712007-10-11 23:46:09 +0100649config GENERIC_CLOCKEVENTS
650 bool
651 default y
652
Ralf Baechle8db02012006-10-02 16:54:48 +0100653config GENERIC_TIME
654 bool
655 default y
656
Ralf Baechlef5ff0a22007-08-13 15:26:12 +0100657config GENERIC_CMOS_UPDATE
658 bool
659 default y
660
Atsushi Nemoto1cc89032006-04-04 13:11:45 +0900661config SCHED_NO_NO_OMIT_FRAME_POINTER
662 bool
663 default y
664
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100665config GENERIC_HARDIRQS_NO__DO_IRQ
666 bool
667 default n
668
Linus Torvalds1da177e2005-04-16 15:20:36 -0700669#
670# Select some configuration options automatically based on user selections.
671#
672config ARC
673 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700674
Ralf Baechle61ed2422005-09-15 08:52:34 +0000675config ARCH_MAY_HAVE_PC_FDC
676 bool
677
Marc St-Jean9267a302007-06-14 15:55:31 -0600678config BOOT_RAW
679 bool
680
Ralf Baechle217dd112007-11-01 01:57:55 +0000681config CEVT_BCM1480
682 bool
683
Yoichi Yuasa6457d9f2008-04-25 12:11:44 +0900684config CEVT_DS1287
685 bool
686
Yoichi Yuasa1097c6a2007-10-22 19:43:15 +0900687config CEVT_GT641XX
688 bool
689
Ralf Baechle42f77542007-10-18 17:48:11 +0100690config CEVT_R4K
691 bool
692
Ralf Baechle217dd112007-11-01 01:57:55 +0000693config CEVT_SB1250
694 bool
695
Atsushi Nemoto229f7732007-10-25 01:34:09 +0900696config CEVT_TXX9
697 bool
698
Ralf Baechle217dd112007-11-01 01:57:55 +0000699config CSRC_BCM1480
700 bool
701
Yoichi Yuasa42474172008-04-24 09:48:40 +0900702config CSRC_IOASIC
703 bool
704
Ralf Baechle940f6b42007-11-24 22:33:28 +0000705config CSRC_R4K
706 bool
707
Ralf Baechle217dd112007-11-01 01:57:55 +0000708config CSRC_SB1250
709 bool
710
Atsushi Nemotoa9aec7f2008-04-05 00:55:41 +0900711config GPIO_TXX9
712 select GENERIC_GPIO
Michael Buesch7444a722008-07-25 01:46:11 -0700713 select ARCH_REQUIRE_GPIOLIB
Atsushi Nemotoa9aec7f2008-04-05 00:55:41 +0900714 bool
715
Aurelien Jarnodf78b5c2007-09-05 08:58:26 +0200716config CFE
717 bool
718
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700719config DMA_COHERENT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700720 bool
721
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700722config DMA_IP27
Linus Torvalds1da177e2005-04-16 15:20:36 -0700723 bool
724
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700725config DMA_NONCOHERENT
726 bool
727 select DMA_NEED_PCI_MAP_STATE
728
729config DMA_NEED_PCI_MAP_STATE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700730 bool
731
732config EARLY_PRINTK
Ralf Baechle36a88532007-03-01 11:56:43 +0000733 bool "Early printk" if EMBEDDED && DEBUG_KERNEL
734 depends on SYS_HAS_EARLY_PRINTK
735 default y
736 help
737 This option enables special console drivers which allow the kernel
738 to print messages very early in the bootup process.
739
740 This is useful for kernel debugging when your machine crashes very
Robert P. J. Day490dcc42007-05-20 12:11:07 -0400741 early before the console code is initialized. For normal operation,
742 it is not recommended because it looks ugly on some machines and
743 doesn't cooperate with an X server. You should normally say N here,
Ralf Baechle36a88532007-03-01 11:56:43 +0000744 unless you want to debug such a crash.
745
746config SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700747 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700748
Ralf Baechledbb74542007-08-07 14:52:17 +0100749config HOTPLUG_CPU
750 bool
751 default n
752
Linus Torvalds1da177e2005-04-16 15:20:36 -0700753config I8259
754 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700755
Linus Torvalds1da177e2005-04-16 15:20:36 -0700756config MIPS_BONITO64
757 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700758
759config MIPS_MSC
760 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700761
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200762config MIPS_NILE4
763 bool
764
Linus Torvalds1da177e2005-04-16 15:20:36 -0700765config MIPS_DISABLE_OBSOLETE_IDE
766 bool
767
Ralf Baechle39b8d522008-04-28 17:14:26 +0100768config SYNC_R4K
769 bool
770
Maciej W. Rozyckid388d682007-05-29 15:08:07 +0100771config NO_IOPORT
772 def_bool n
773
Ralf Baechle8313da32007-08-24 16:48:30 +0100774config GENERIC_ISA_DMA
775 bool
776 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
777
Ralf Baechleaa414df2006-11-30 01:14:51 +0000778config GENERIC_ISA_DMA_SUPPORT_BROKEN
779 bool
Ralf Baechle8313da32007-08-24 16:48:30 +0100780 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000781
Yoichi Yuasa09663332007-05-22 00:05:58 +0900782config GENERIC_GPIO
783 bool
784
Ralf Baechle5e83d432005-10-29 19:32:41 +0100785#
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100786# Endianess selection. Sufficiently obscure so many users don't know what to
Ralf Baechle5e83d432005-10-29 19:32:41 +0100787# answer,so we try hard to limit the available choices. Also the use of a
788# choice statement should be more obvious to the user.
789#
790choice
791 prompt "Endianess selection"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700792 help
793 Some MIPS machines can be configured for either little or big endian
Ralf Baechle5e83d432005-10-29 19:32:41 +0100794 byte order. These modes require different kernels and a different
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100795 Linux distribution. In general there is one preferred byteorder for a
Ralf Baechle5e83d432005-10-29 19:32:41 +0100796 particular system but some systems are just as commonly used in the
David Sterba3dde6ad2007-05-09 07:12:20 +0200797 one or the other endianness.
Ralf Baechle5e83d432005-10-29 19:32:41 +0100798
799config CPU_BIG_ENDIAN
800 bool "Big endian"
801 depends on SYS_SUPPORTS_BIG_ENDIAN
802
803config CPU_LITTLE_ENDIAN
804 bool "Little endian"
805 depends on SYS_SUPPORTS_LITTLE_ENDIAN
806 help
807
808endchoice
809
Ralf Baechle21162452007-02-09 17:08:58 +0000810config SYS_SUPPORTS_APM_EMULATION
811 bool
812
Ralf Baechle5e83d432005-10-29 19:32:41 +0100813config SYS_SUPPORTS_BIG_ENDIAN
814 bool
815
816config SYS_SUPPORTS_LITTLE_ENDIAN
817 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700818
819config IRQ_CPU
820 bool
821
822config IRQ_CPU_RM7K
823 bool
824
Ralf Baechle5e83d432005-10-29 19:32:41 +0100825config IRQ_CPU_RM9K
826 bool
827
Marc St-Jean9267a302007-06-14 15:55:31 -0600828config IRQ_MSP_SLP
829 bool
830
831config IRQ_MSP_CIC
832 bool
833
Atsushi Nemoto8420fd02007-08-02 23:35:53 +0900834config IRQ_TXX9
835 bool
836
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +0900837config IRQ_GT641XX
838 bool
839
Ralf Baechle39b8d522008-04-28 17:14:26 +0100840config IRQ_GIC
841 bool
842
Linus Torvalds1da177e2005-04-16 15:20:36 -0700843config MIPS_BOARDS_GEN
844 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700845
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900846config PCI_GT64XXX_PCI0
Linus Torvalds1da177e2005-04-16 15:20:36 -0700847 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700848
Marc St-Jean9267a302007-06-14 15:55:31 -0600849config NO_EXCEPT_FILL
850 bool
851
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200852config MIPS_RM9122
853 bool
854 select SERIAL_RM9000
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200855
Pete Popovbdf21b12005-07-14 17:47:57 +0000856config PNX8550
857 bool
858 select SOC_PNX8550
859
860config SOC_PNX8550
861 bool
Pete Popovbdf21b12005-07-14 17:47:57 +0000862 select DMA_NONCOHERENT
863 select HW_HAS_PCI
Ralf Baechleb8c2a772005-10-31 13:08:37 +0000864 select SYS_HAS_CPU_MIPS32_R1
Ralf Baechle36a88532007-03-01 11:56:43 +0000865 select SYS_HAS_EARLY_PRINTK
Ralf Baechle7cf80532005-10-20 22:33:09 +0100866 select SYS_SUPPORTS_32BIT_KERNEL
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100867 select GENERIC_HARDIRQS_NO__DO_IRQ
Florian Fainelli4ead1682007-05-22 21:44:42 +0200868 select GENERIC_GPIO
Pete Popovbdf21b12005-07-14 17:47:57 +0000869
Linus Torvalds1da177e2005-04-16 15:20:36 -0700870config SWAP_IO_SPACE
871 bool
872
dmitry pervushin355c4712006-05-21 14:53:06 +0400873config EMMA2RH
874 bool
875 depends on MARKEINS
876 default y
877
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200878config SERIAL_RM9000
879 bool
880
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100881config SGI_HAS_DS1286
882 bool
883
884config SGI_HAS_INDYDOG
885 bool
886
Thomas Bogendoerfer5b438c42008-07-10 20:29:55 +0200887config SGI_HAS_HAL2
888 bool
889
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100890config SGI_HAS_SEEQ
891 bool
892
893config SGI_HAS_WD93
894 bool
895
896config SGI_HAS_ZILOG
897 bool
898
899config SGI_HAS_I8042
900 bool
901
902config DEFAULT_SGI_PARTITION
903 bool
904
Ralf Baechle5e83d432005-10-29 19:32:41 +0100905config ARC32
906 bool
907
Thomas Bogendoerfer231a35d2008-01-04 23:31:07 +0100908config SNIPROM
909 bool
910
Linus Torvalds1da177e2005-04-16 15:20:36 -0700911config BOOT_ELF32
912 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700913
914config MIPS_L1_CACHE_SHIFT
915 int
Ralf Baechle73b43902008-07-16 16:12:25 +0100916 default "4" if MACH_DECSTATION || MIKROTIK_RB532
Thomas Bogendoerfer7e3297d2008-06-27 23:52:26 +0200917 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM
Marc St-Jean9267a302007-06-14 15:55:31 -0600918 default "4" if PMC_MSP4200_EVAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700919 default "5"
920
Linus Torvalds1da177e2005-04-16 15:20:36 -0700921config HAVE_STD_PC_SERIAL_PORT
922 bool
923
Linus Torvalds1da177e2005-04-16 15:20:36 -0700924config ARC_CONSOLE
925 bool "ARC console support"
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100926 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700927
928config ARC_MEMORY
929 bool
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100930 depends on MACH_JAZZ || SNI_RM || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700931 default y
932
933config ARC_PROMLIB
934 bool
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100935 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700936 default y
937
938config ARC64
939 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700940
941config BOOT_ELF64
942 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700943
Linus Torvalds1da177e2005-04-16 15:20:36 -0700944menu "CPU selection"
945
946choice
947 prompt "CPU type"
948 default CPU_R4X00
949
Fuxin Zhang2a21c732007-06-06 14:52:43 +0800950config CPU_LOONGSON2
951 bool "Loongson 2"
952 depends on SYS_HAS_CPU_LOONGSON2
953 select CPU_SUPPORTS_32BIT_KERNEL
954 select CPU_SUPPORTS_64BIT_KERNEL
955 select CPU_SUPPORTS_HIGHMEM
956 help
957 The Loongson 2E processor implements the MIPS III instruction set
958 with many extensions.
959
Ralf Baechle6e760c82005-07-06 12:08:11 +0000960config CPU_MIPS32_R1
961 bool "MIPS32 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100962 depends on SYS_HAS_CPU_MIPS32_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100963 select CPU_HAS_LLSC
Ralf Baechle6e760c82005-07-06 12:08:11 +0000964 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +0000965 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000966 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +0000967 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100968 Choose this option to build a kernel for release 1 or later of the
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000969 MIPS32 architecture. Most modern embedded systems with a 32-bit
970 MIPS processor are based on a MIPS32 processor. If you know the
971 specific type of processor in your system, choose those that one
972 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
973 Release 2 of the MIPS32 architecture is available since several
974 years so chances are you even have a MIPS32 Release 2 processor
975 in which case you should choose CPU_MIPS32_R2 instead for better
976 performance.
977
978config CPU_MIPS32_R2
979 bool "MIPS32 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100980 depends on SYS_HAS_CPU_MIPS32_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100981 select CPU_HAS_LLSC
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000982 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +0000983 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000984 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000985 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100986 Choose this option to build a kernel for release 2 or later of the
Ralf Baechle6e760c82005-07-06 12:08:11 +0000987 MIPS32 architecture. Most modern embedded systems with a 32-bit
988 MIPS processor are based on a MIPS32 processor. If you know the
989 specific type of processor in your system, choose those that one
990 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700991
Ralf Baechle6e760c82005-07-06 12:08:11 +0000992config CPU_MIPS64_R1
993 bool "MIPS64 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100994 depends on SYS_HAS_CPU_MIPS64_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100995 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +0000996 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700997 select CPU_SUPPORTS_32BIT_KERNEL
998 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000999 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +00001000 help
1001 Choose this option to build a kernel for release 1 or later of the
1002 MIPS64 architecture. Many modern embedded systems with a 64-bit
1003 MIPS processor are based on a MIPS64 processor. If you know the
1004 specific type of processor in your system, choose those that one
1005 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001006 Release 2 of the MIPS64 architecture is available since several
1007 years so chances are you even have a MIPS64 Release 2 processor
1008 in which case you should choose CPU_MIPS64_R2 instead for better
1009 performance.
1010
1011config CPU_MIPS64_R2
1012 bool "MIPS64 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001013 depends on SYS_HAS_CPU_MIPS64_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001014 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +00001015 select CPU_HAS_PREFETCH
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001016 select CPU_SUPPORTS_32BIT_KERNEL
1017 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001018 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001019 help
1020 Choose this option to build a kernel for release 2 or later of the
1021 MIPS64 architecture. Many modern embedded systems with a 64-bit
1022 MIPS processor are based on a MIPS64 processor. If you know the
1023 specific type of processor in your system, choose those that one
1024 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001025
1026config CPU_R3000
1027 bool "R3000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001028 depends on SYS_HAS_CPU_R3000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001029 select CPU_HAS_WB
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001030 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001031 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001032 help
1033 Please make sure to pick the right CPU type. Linux/MIPS is not
1034 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1035 *not* work on R4000 machines and vice versa. However, since most
1036 of the supported machines have an R4000 (or similar) CPU, R4x00
1037 might be a safe bet. If the resulting kernel does not work,
1038 try to recompile with R3000.
1039
1040config CPU_TX39XX
1041 bool "R39XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001042 depends on SYS_HAS_CPU_TX39XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001043 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001044
1045config CPU_VR41XX
1046 bool "R41xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001047 depends on SYS_HAS_CPU_VR41XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001048 select CPU_SUPPORTS_32BIT_KERNEL
1049 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001050 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001051 The options selects support for the NEC VR4100 series of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001052 Only choose this option if you have one of these processors as a
1053 kernel built with this option will not run on any other type of
1054 processor or vice versa.
1055
1056config CPU_R4300
1057 bool "R4300"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001058 depends on SYS_HAS_CPU_R4300
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001059 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001060 select CPU_SUPPORTS_32BIT_KERNEL
1061 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001062 help
1063 MIPS Technologies R4300-series processors.
1064
1065config CPU_R4X00
1066 bool "R4x00"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001067 depends on SYS_HAS_CPU_R4X00
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001068 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001069 select CPU_SUPPORTS_32BIT_KERNEL
1070 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001071 help
1072 MIPS Technologies R4000-series processors other than 4300, including
1073 the R4000, R4400, R4600, and 4700.
1074
1075config CPU_TX49XX
1076 bool "R49XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001077 depends on SYS_HAS_CPU_TX49XX
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001078 select CPU_HAS_LLSC
Atsushi Nemotode862b42006-03-17 12:59:22 +09001079 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001080 select CPU_SUPPORTS_32BIT_KERNEL
1081 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001082
1083config CPU_R5000
1084 bool "R5000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001085 depends on SYS_HAS_CPU_R5000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001086 select CPU_HAS_LLSC
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
1090 MIPS Technologies R5000-series processors other than the Nevada.
1091
1092config CPU_R5432
1093 bool "R5432"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001094 depends on SYS_HAS_CPU_R5432
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001095 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001096 select CPU_SUPPORTS_32BIT_KERNEL
1097 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001098
1099config CPU_R6000
1100 bool "R6000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001101 depends on EXPERIMENTAL
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001102 select CPU_HAS_LLSC
Ralf Baechle7cf80532005-10-20 22:33:09 +01001103 depends on SYS_HAS_CPU_R6000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001104 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001105 help
1106 MIPS Technologies R6000 and R6000A series processors. Note these
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001107 processors are extremely rare and the support for them is incomplete.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001108
1109config CPU_NEVADA
1110 bool "RM52xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001111 depends on SYS_HAS_CPU_NEVADA
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001112 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001113 select CPU_SUPPORTS_32BIT_KERNEL
1114 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001115 help
1116 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1117
1118config CPU_R8000
1119 bool "R8000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001120 depends on EXPERIMENTAL
Ralf Baechle7cf80532005-10-20 22:33:09 +01001121 depends on SYS_HAS_CPU_R8000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001122 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001123 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001124 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001125 help
1126 MIPS Technologies R8000 processors. Note these processors are
1127 uncommon and the support for them is incomplete.
1128
1129config CPU_R10000
1130 bool "R10000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001131 depends on SYS_HAS_CPU_R10000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001132 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001133 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001134 select CPU_SUPPORTS_32BIT_KERNEL
1135 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001136 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001137 help
1138 MIPS Technologies R10000-series processors.
1139
1140config CPU_RM7000
1141 bool "RM7000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001142 depends on SYS_HAS_CPU_RM7000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001143 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001144 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001145 select CPU_SUPPORTS_32BIT_KERNEL
1146 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001147 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001148
1149config CPU_RM9000
1150 bool "RM9000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001151 depends on SYS_HAS_CPU_RM9000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001152 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001153 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001154 select CPU_SUPPORTS_32BIT_KERNEL
1155 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001156 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001157 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001158
1159config CPU_SB1
1160 bool "SB1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001161 depends on SYS_HAS_CPU_SB1
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001162 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001163 select CPU_SUPPORTS_32BIT_KERNEL
1164 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001165 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001166 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001167
1168endchoice
1169
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001170config SYS_HAS_CPU_LOONGSON2
1171 bool
1172
Ralf Baechle7cf80532005-10-20 22:33:09 +01001173config SYS_HAS_CPU_MIPS32_R1
1174 bool
1175
1176config SYS_HAS_CPU_MIPS32_R2
1177 bool
1178
1179config SYS_HAS_CPU_MIPS64_R1
1180 bool
1181
1182config SYS_HAS_CPU_MIPS64_R2
1183 bool
1184
1185config SYS_HAS_CPU_R3000
1186 bool
1187
1188config SYS_HAS_CPU_TX39XX
1189 bool
1190
1191config SYS_HAS_CPU_VR41XX
1192 bool
1193
1194config SYS_HAS_CPU_R4300
1195 bool
1196
1197config SYS_HAS_CPU_R4X00
1198 bool
1199
1200config SYS_HAS_CPU_TX49XX
1201 bool
1202
1203config SYS_HAS_CPU_R5000
1204 bool
1205
1206config SYS_HAS_CPU_R5432
1207 bool
1208
1209config SYS_HAS_CPU_R6000
1210 bool
1211
1212config SYS_HAS_CPU_NEVADA
1213 bool
1214
1215config SYS_HAS_CPU_R8000
1216 bool
1217
1218config SYS_HAS_CPU_R10000
1219 bool
1220
1221config SYS_HAS_CPU_RM7000
1222 bool
1223
1224config SYS_HAS_CPU_RM9000
1225 bool
1226
1227config SYS_HAS_CPU_SB1
1228 bool
1229
Ralf Baechle17099b12007-07-14 13:24:05 +01001230#
1231# CPU may reorder R->R, R->W, W->R, W->W
1232# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1233#
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001234config WEAK_ORDERING
1235 bool
Ralf Baechle17099b12007-07-14 13:24:05 +01001236
1237#
1238# CPU may reorder reads and writes beyond LL/SC
1239# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1240#
1241config WEAK_REORDERING_BEYOND_LLSC
1242 bool
Ralf Baechle5e83d432005-10-29 19:32:41 +01001243endmenu
1244
1245#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001246# These two indicate any level of the MIPS32 and MIPS64 architecture
Ralf Baechle5e83d432005-10-29 19:32:41 +01001247#
1248config CPU_MIPS32
1249 bool
1250 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1251
1252config CPU_MIPS64
1253 bool
1254 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1255
1256#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001257# These two indicate the revision of the architecture, either Release 1 or Release 2
Ralf Baechle5e83d432005-10-29 19:32:41 +01001258#
1259config CPU_MIPSR1
1260 bool
1261 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1262
1263config CPU_MIPSR2
1264 bool
1265 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1266
1267config SYS_SUPPORTS_32BIT_KERNEL
1268 bool
1269config SYS_SUPPORTS_64BIT_KERNEL
1270 bool
1271config CPU_SUPPORTS_32BIT_KERNEL
1272 bool
1273config CPU_SUPPORTS_64BIT_KERNEL
1274 bool
1275
1276menu "Kernel type"
1277
1278choice
1279
1280 prompt "Kernel code model"
1281 help
1282 You should only select this option if you have a workload that
1283 actually benefits from 64-bit processing or if your machine has
1284 large memory. You will only be presented a single option in this
1285 menu if your system does not support both 32-bit and 64-bit kernels.
1286
1287config 32BIT
1288 bool "32-bit kernel"
1289 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1290 select TRAD_SIGNALS
1291 help
1292 Select this option if you want to build a 32-bit kernel.
1293config 64BIT
1294 bool "64-bit kernel"
1295 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1296 help
1297 Select this option if you want to build a 64-bit kernel.
1298
1299endchoice
1300
Linus Torvalds1da177e2005-04-16 15:20:36 -07001301choice
1302 prompt "Kernel page size"
1303 default PAGE_SIZE_4KB
1304
1305config PAGE_SIZE_4KB
1306 bool "4kB"
1307 help
1308 This option select the standard 4kB Linux page size. On some
1309 R3000-family processors this is the only available page size. Using
1310 4kB page size will minimize memory consumption and is therefore
1311 recommended for low memory systems.
1312
1313config PAGE_SIZE_8KB
1314 bool "8kB"
1315 depends on EXPERIMENTAL && CPU_R8000
1316 help
1317 Using 8kB page size will result in higher performance kernel at
1318 the price of higher memory consumption. This option is available
1319 only on the R8000 processor. Not that at the time of this writing
1320 this option is still high experimental; there are also issues with
1321 compatibility of user applications.
1322
1323config PAGE_SIZE_16KB
1324 bool "16kB"
Ralf Baechle714bfad2006-05-17 14:04:30 +01001325 depends on !CPU_R3000 && !CPU_TX39XX
Linus Torvalds1da177e2005-04-16 15:20:36 -07001326 help
1327 Using 16kB page size will result in higher performance kernel at
1328 the price of higher memory consumption. This option is available on
Ralf Baechle714bfad2006-05-17 14:04:30 +01001329 all non-R3000 family processors. Note that you will need a suitable
1330 Linux distribution to support this.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001331
1332config PAGE_SIZE_64KB
1333 bool "64kB"
1334 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1335 help
1336 Using 64kB page size will result in higher performance kernel at
1337 the price of higher memory consumption. This option is available on
1338 all non-R3000 family processor. Not that at the time of this
Ralf Baechle714bfad2006-05-17 14:04:30 +01001339 writing this option is still high experimental.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001340
1341endchoice
1342
1343config BOARD_SCACHE
1344 bool
1345
1346config IP22_CPU_SCACHE
1347 bool
1348 select BOARD_SCACHE
1349
Chris Dearman9318c512006-06-20 17:15:20 +01001350#
1351# Support for a MIPS32 / MIPS64 style S-caches
1352#
1353config MIPS_CPU_SCACHE
1354 bool
1355 select BOARD_SCACHE
1356
Linus Torvalds1da177e2005-04-16 15:20:36 -07001357config R5000_CPU_SCACHE
1358 bool
1359 select BOARD_SCACHE
1360
1361config RM7000_CPU_SCACHE
1362 bool
1363 select BOARD_SCACHE
1364
1365config SIBYTE_DMA_PAGEOPS
1366 bool "Use DMA to clear/copy pages"
1367 depends on CPU_SB1
1368 help
1369 Instead of using the CPU to zero and copy pages, use a Data Mover
1370 channel. These DMA channels are otherwise unused by the standard
1371 SiByte Linux port. Seems to give a small performance benefit.
1372
1373config CPU_HAS_PREFETCH
Ralf Baechlec8094b52005-08-05 14:28:54 +00001374 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001375
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001376choice
1377 prompt "MIPS MT options"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001378
1379config MIPS_MT_DISABLED
1380 bool "Disable multithreading support."
1381 help
1382 Use this option if your workload can't take advantage of
1383 MIPS hardware multithreading support. On systems that don't have
1384 the option of an MT-enabled processor this option will be the only
1385 option in this menu.
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001386
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001387config MIPS_MT_SMP
1388 bool "Use 1 TC on each available VPE for SMP"
1389 depends on SYS_SUPPORTS_MULTITHREADING
1390 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001391 select CPU_MIPSR2_IRQ_EI
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001392 select MIPS_MT
Ralf Baechlef510aa32007-03-16 21:58:37 +00001393 select NR_CPUS_DEFAULT_2
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001394 select SMP
Ralf Baechle0ab7aef2007-03-02 20:42:04 +00001395 select SYS_SUPPORTS_SCHED_SMT if SMP
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001396 select SYS_SUPPORTS_SMP
Ralf Baechle87353d82007-11-19 12:23:51 +00001397 select SMP_UP
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001398 help
1399 This is a kernel model which is also known a VSMP or lately
1400 has been marketesed into SMVP.
1401
Ralf Baechle41c594a2006-04-05 09:45:45 +01001402config MIPS_MT_SMTC
1403 bool "SMTC: Use all TCs on all VPEs for SMP"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001404 depends on CPU_MIPS32_R2
1405 #depends on CPU_MIPS64_R2 # once there is hardware ...
1406 depends on SYS_SUPPORTS_MULTITHREADING
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001407 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001408 select CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001409 select MIPS_MT
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001410 select NR_CPUS_DEFAULT_8
Ralf Baechle41c594a2006-04-05 09:45:45 +01001411 select SMP
Ralf Baechle73b76c72006-08-15 19:36:40 +01001412 select SYS_SUPPORTS_SMP
Ralf Baechle87353d82007-11-19 12:23:51 +00001413 select SMP_UP
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001414 help
1415 This is a kernel model which is known a SMTC or lately has been
1416 marketesed into SMVP.
Ralf Baechle41c594a2006-04-05 09:45:45 +01001417
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001418endchoice
1419
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001420config MIPS_MT
1421 bool
1422
Ralf Baechle0ab7aef2007-03-02 20:42:04 +00001423config SCHED_SMT
1424 bool "SMT (multithreading) scheduler support"
1425 depends on SYS_SUPPORTS_SCHED_SMT
1426 default n
1427 help
1428 SMT scheduler support improves the CPU scheduler's decision making
1429 when dealing with MIPS MT enabled cores at a cost of slightly
1430 increased overhead in some places. If unsure say N here.
1431
1432config SYS_SUPPORTS_SCHED_SMT
1433 bool
1434
1435
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001436config SYS_SUPPORTS_MULTITHREADING
1437 bool
1438
Ralf Baechlef088fc82006-04-05 09:45:47 +01001439config MIPS_MT_FPAFF
1440 bool "Dynamic FPU affinity for FP-intensive threads"
Ralf Baechlef088fc82006-04-05 09:45:47 +01001441 default y
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001442 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1443
1444config MIPS_VPE_LOADER
1445 bool "VPE loader support."
1446 depends on SYS_SUPPORTS_MULTITHREADING
1447 select CPU_MIPSR2_IRQ_VI
1448 select CPU_MIPSR2_IRQ_EI
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001449 select MIPS_MT
1450 help
1451 Includes a loader for loading an elf relocatable object
1452 onto another VPE and running it.
Ralf Baechlef088fc82006-04-05 09:45:47 +01001453
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001454config MIPS_MT_SMTC_IM_BACKSTOP
1455 bool "Use per-TC register bits as backstop for inhibited IM bits"
1456 depends on MIPS_MT_SMTC
Kevin D. Kissell8531a352008-09-09 21:48:52 +02001457 default n
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001458 help
1459 To support multiple TC microthreads acting as "CPUs" within
1460 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1461 during interrupt handling. To support legacy drivers and interrupt
1462 controller management code, SMTC has a "backstop" to track and
1463 if necessary restore the interrupt mask. This has some performance
Kevin D. Kissell8531a352008-09-09 21:48:52 +02001464 impact on interrupt service overhead.
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001465
Kevin D. Kissellf571eff2007-08-03 19:38:03 +02001466config MIPS_MT_SMTC_IRQAFF
1467 bool "Support IRQ affinity API"
1468 depends on MIPS_MT_SMTC
1469 default n
1470 help
1471 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1472 for SMTC Linux kernel. Requires platform support, of which
1473 an example can be found in the MIPS kernel i8259 and Malta
Kevin D. Kissell8531a352008-09-09 21:48:52 +02001474 platform code. Adds some overhead to interrupt dispatch, and
1475 should be used only if you know what you are doing.
Kevin D. Kissellf571eff2007-08-03 19:38:03 +02001476
Ralf Baechlee01402b2005-07-14 15:57:16 +00001477config MIPS_VPE_LOADER_TOM
1478 bool "Load VPE program into memory hidden from linux"
1479 depends on MIPS_VPE_LOADER
1480 default y
1481 help
1482 The loader can use memory that is present but has been hidden from
1483 Linux using the kernel command line option "mem=xxMB". It's up to
1484 you to ensure the amount you put in the option and the space your
1485 program requires is less or equal to the amount physically present.
1486
1487# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1488config MIPS_VPE_APSP_API
Ralf Baechle5e83d432005-10-29 19:32:41 +01001489 bool "Enable support for AP/SP API (RTLX)"
1490 depends on MIPS_VPE_LOADER
1491 help
Ralf Baechlee01402b2005-07-14 15:57:16 +00001492
Ralf Baechle26009902006-04-05 09:45:45 +01001493config MIPS_APSP_KSPD
1494 bool "Enable KSPD"
1495 depends on MIPS_VPE_APSP_API
1496 default y
1497 help
1498 KSPD is a kernel daemon that accepts syscall requests from the SP
1499 side, actions them and returns the results. It also handles the
1500 "exit" syscall notifying other kernel modules the SP program is
1501 exiting. You probably want to say yes here.
1502
Ralf Baechle4a16ff42008-10-04 00:06:29 +01001503config MIPS_CMP
1504 bool "MIPS CMP framework support"
1505 depends on SYS_SUPPORTS_MIPS_CMP
1506 select SYNC_R4K if BROKEN
1507 select SYS_SUPPORTS_SMP
1508 select SYS_SUPPORTS_SCHED_SMT if SMP
1509 select WEAK_ORDERING
1510 default n
1511 help
1512 This is a placeholder option for the GCMP work. It will need to
1513 be handled differently...
1514
Linus Torvalds1da177e2005-04-16 15:20:36 -07001515config SB1_PASS_1_WORKAROUNDS
1516 bool
1517 depends on CPU_SB1_PASS_1
1518 default y
1519
1520config SB1_PASS_2_WORKAROUNDS
1521 bool
1522 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1523 default y
1524
1525config SB1_PASS_2_1_WORKAROUNDS
1526 bool
1527 depends on CPU_SB1 && CPU_SB1_PASS_2
1528 default y
1529
1530config 64BIT_PHYS_ADDR
Ralf Baechled806cb22007-08-02 00:36:08 +01001531 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001532
Linus Torvalds1da177e2005-04-16 15:20:36 -07001533config CPU_HAS_LLSC
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001534 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001535
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001536config CPU_HAS_SMARTMIPS
1537 depends on SYS_SUPPORTS_SMARTMIPS
1538 bool "Support for the SmartMIPS ASE"
1539 help
1540 SmartMIPS is a extension of the MIPS32 architecture aimed at
1541 increased security at both hardware and software level for
1542 smartcards. Enabling this option will allow proper use of the
1543 SmartMIPS instructions by Linux applications. However a kernel with
1544 this option will not work on a MIPS core without SmartMIPS core. If
1545 you don't know you probably don't have SmartMIPS and should say N
1546 here.
1547
Linus Torvalds1da177e2005-04-16 15:20:36 -07001548config CPU_HAS_WB
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001549 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001550
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001551#
1552# Vectored interrupt mode is an R2 feature
1553#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001554config CPU_MIPSR2_IRQ_VI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001555 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001556
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001557#
1558# Extended interrupt mode is an R2 feature
1559#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001560config CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001561 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001562
Linus Torvalds1da177e2005-04-16 15:20:36 -07001563config CPU_HAS_SYNC
1564 bool
1565 depends on !CPU_R3000
1566 default y
1567
Ralf Baechleea580402007-10-11 23:46:09 +01001568config GENERIC_CLOCKEVENTS_BROADCAST
1569 bool
1570
Linus Torvalds1da177e2005-04-16 15:20:36 -07001571#
Maciej W. Rozycki20d60d92007-10-23 12:43:11 +01001572# CPU non-features
1573#
1574config CPU_DADDI_WORKAROUNDS
1575 bool
1576
1577config CPU_R4000_WORKAROUNDS
1578 bool
1579 select CPU_R4400_WORKAROUNDS
1580
1581config CPU_R4400_WORKAROUNDS
1582 bool
1583
1584#
Ralf Baechle797798c2005-08-10 15:17:11 +00001585# Use the generic interrupt handling code in kernel/irq/:
1586#
1587config GENERIC_HARDIRQS
1588 bool
1589 default y
1590
1591config GENERIC_IRQ_PROBE
1592 bool
1593 default y
1594
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001595config IRQ_PER_CPU
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001596 bool
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001597
Ralf Baechle797798c2005-08-10 15:17:11 +00001598#
Linus Torvalds1da177e2005-04-16 15:20:36 -07001599# - Highmem only makes sense for the 32-bit kernel.
1600# - The current highmem code will only work properly on physically indexed
1601# caches such as R3000, SB1, R7000 or those that look like they're virtually
1602# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1603# moment we protect the user and offer the highmem option only on machines
1604# where it's known to be safe. This will not offer highmem on a few systems
1605# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1606# indexed CPUs but we're playing safe.
Ralf Baechle797798c2005-08-10 15:17:11 +00001607# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1608# know they might have memory configurations that could make use of highmem
1609# support.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001610#
1611config HIGHMEM
1612 bool "High Memory Support"
Ralf Baechle797798c2005-08-10 15:17:11 +00001613 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1614
1615config CPU_SUPPORTS_HIGHMEM
1616 bool
1617
1618config SYS_SUPPORTS_HIGHMEM
1619 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001620
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001621config SYS_SUPPORTS_SMARTMIPS
1622 bool
1623
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001624config ARCH_FLATMEM_ENABLE
1625 def_bool y
1626 depends on !NUMA
1627
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001628config ARCH_DISCONTIGMEM_ENABLE
1629 bool
1630 default y if SGI_IP27
1631 help
David Sterba3dde6ad2007-05-09 07:12:20 +02001632 Say Y to support efficient handling of discontiguous physical memory,
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001633 for architectures which are either NUMA (Non-Uniform Memory Access)
1634 or have huge holes in the physical address space for other reasons.
1635 See <file:Documentation/vm/numa> for more.
1636
Ralf Baechlecce335ae2007-11-03 02:05:43 +00001637config ARCH_POPULATES_NODE_MAP
1638 def_bool y
1639
Atsushi Nemotob1c6cd42006-07-03 00:09:47 +09001640config ARCH_SPARSEMEM_ENABLE
1641 bool
Atsushi Nemoto7de58fa2006-07-05 01:22:44 +09001642 select SPARSEMEM_STATIC
Atsushi Nemoto31473742006-07-03 00:09:47 +09001643
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001644config NUMA
1645 bool "NUMA Support"
1646 depends on SYS_SUPPORTS_NUMA
1647 help
1648 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1649 Access). This option improves performance on systems with more
1650 than two nodes; on two node systems it is generally better to
1651 leave it disabled; on single node systems disable this option
1652 disabled.
1653
1654config SYS_SUPPORTS_NUMA
1655 bool
1656
Yasunori Gotoc80d79d2006-04-10 22:53:53 -07001657config NODES_SHIFT
1658 int
1659 default "6"
1660 depends on NEED_MULTIPLE_NODES
1661
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001662source "mm/Kconfig"
1663
Linus Torvalds1da177e2005-04-16 15:20:36 -07001664config SMP
1665 bool "Multi-Processing support"
Ralf Baechlee73ea272006-06-04 11:51:46 +01001666 depends on SYS_SUPPORTS_SMP
Ralf Baechleb4b30a52006-08-03 17:34:24 +01001667 select IRQ_PER_CPU
Jens Axboe2f304c02008-06-17 10:45:23 +02001668 select USE_GENERIC_SMP_HELPERS
Ralf Baechlee73ea272006-06-04 11:51:46 +01001669 help
Linus Torvalds1da177e2005-04-16 15:20:36 -07001670 This enables support for systems with more than one CPU. If you have
1671 a system with only one CPU, like most personal computers, say N. If
1672 you have a system with more than one CPU, say Y.
1673
1674 If you say N here, the kernel will run on single and multiprocessor
1675 machines, but will use only one CPU of a multiprocessor machine. If
1676 you say Y here, the kernel will run on many, but not all,
1677 singleprocessor machines. On a singleprocessor machine, the kernel
1678 will run faster if you say N here.
1679
1680 People using multiprocessor machines who say Y here should also say
1681 Y to "Enhanced Real Time Clock Support", below.
1682
Adrian Bunk03502fa2008-02-03 15:50:21 +02001683 See also the SMP-HOWTO available at
1684 <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001685
1686 If you don't know what to do here, say N.
1687
Ralf Baechle87353d82007-11-19 12:23:51 +00001688config SMP_UP
1689 bool
1690
Ralf Baechle4a16ff42008-10-04 00:06:29 +01001691config SYS_SUPPORTS_MIPS_CMP
1692 bool
1693
Ralf Baechlee73ea272006-06-04 11:51:46 +01001694config SYS_SUPPORTS_SMP
1695 bool
1696
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001697config NR_CPUS_DEFAULT_1
1698 bool
1699
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001700config NR_CPUS_DEFAULT_2
1701 bool
1702
1703config NR_CPUS_DEFAULT_4
1704 bool
1705
1706config NR_CPUS_DEFAULT_8
1707 bool
1708
1709config NR_CPUS_DEFAULT_16
1710 bool
1711
1712config NR_CPUS_DEFAULT_32
1713 bool
1714
1715config NR_CPUS_DEFAULT_64
1716 bool
1717
Linus Torvalds1da177e2005-04-16 15:20:36 -07001718config NR_CPUS
1719 int "Maximum number of CPUs (2-64)"
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001720 range 1 64 if NR_CPUS_DEFAULT_1
Linus Torvalds1da177e2005-04-16 15:20:36 -07001721 depends on SMP
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001722 default "1" if NR_CPUS_DEFAULT_1
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001723 default "2" if NR_CPUS_DEFAULT_2
1724 default "4" if NR_CPUS_DEFAULT_4
1725 default "8" if NR_CPUS_DEFAULT_8
1726 default "16" if NR_CPUS_DEFAULT_16
1727 default "32" if NR_CPUS_DEFAULT_32
1728 default "64" if NR_CPUS_DEFAULT_64
Linus Torvalds1da177e2005-04-16 15:20:36 -07001729 help
1730 This allows you to specify the maximum number of CPUs which this
1731 kernel will support. The maximum supported value is 32 for 32-bit
1732 kernel and 64 for 64-bit kernels; the minimum value which makes
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001733 sense is 1 for Qemu (useful only for kernel debugging purposes)
1734 and 2 for all others.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001735
1736 This is purely to save memory - each supported CPU adds
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001737 approximately eight kilobytes to the kernel image. For best
1738 performance should round up your number of processors to the next
1739 power of two.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001740
Atsushi Nemotoc4eee282007-11-12 01:05:16 +09001741source "kernel/time/Kconfig"
1742
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09001743#
1744# Timer Interrupt Frequency Configuration
1745#
1746
1747choice
1748 prompt "Timer frequency"
1749 default HZ_250
1750 help
1751 Allows the configuration of the timer frequency.
1752
1753 config HZ_48
Ralf Baechle0f873582008-02-25 16:55:29 +00001754 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09001755
1756 config HZ_100
1757 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1758
1759 config HZ_128
1760 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1761
1762 config HZ_250
1763 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1764
1765 config HZ_256
1766 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1767
1768 config HZ_1000
1769 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1770
1771 config HZ_1024
1772 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1773
1774endchoice
1775
1776config SYS_SUPPORTS_48HZ
1777 bool
1778
1779config SYS_SUPPORTS_100HZ
1780 bool
1781
1782config SYS_SUPPORTS_128HZ
1783 bool
1784
1785config SYS_SUPPORTS_250HZ
1786 bool
1787
1788config SYS_SUPPORTS_256HZ
1789 bool
1790
1791config SYS_SUPPORTS_1000HZ
1792 bool
1793
1794config SYS_SUPPORTS_1024HZ
1795 bool
1796
1797config SYS_SUPPORTS_ARBIT_HZ
1798 bool
1799 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1800 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1801 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1802 !SYS_SUPPORTS_1024HZ
1803
1804config HZ
1805 int
1806 default 48 if HZ_48
1807 default 100 if HZ_100
1808 default 128 if HZ_128
1809 default 250 if HZ_250
1810 default 256 if HZ_256
1811 default 1000 if HZ_1000
1812 default 1024 if HZ_1024
1813
Ralf Baechlee80de852005-07-11 20:45:51 +00001814source "kernel/Kconfig.preempt"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001815
Linus Torvalds1da177e2005-04-16 15:20:36 -07001816config MIPS_INSANE_LARGE
1817 bool "Support for large 64-bit configurations"
Ralf Baechle875d43e2005-09-03 15:56:16 -07001818 depends on CPU_R10000 && 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001819 help
1820 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1821 previous 64-bit processors which only supported 40 bit / 1TB. If you
1822 need processes of more than 1TB virtual address space, say Y here.
1823 This will result in additional memory usage, so it is not
1824 recommended for normal users.
1825
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001826config KEXEC
1827 bool "Kexec system call (EXPERIMENTAL)"
1828 depends on EXPERIMENTAL
1829 help
1830 kexec is a system call that implements the ability to shutdown your
1831 current kernel, and to start another kernel. It is like a reboot
David Sterba3dde6ad2007-05-09 07:12:20 +02001832 but it is independent of the system firmware. And like a reboot
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001833 you can start any kernel with it, not just Linux.
1834
Matt LaPlante01dd2fb2007-10-20 01:34:40 +02001835 The name comes from the similarity to the exec system call.
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001836
1837 It is an ongoing process to be certain the hardware in a machine
1838 is properly shutdown, so do not be surprised if this code does not
1839 initially work for you. It may help to enable device hotplugging
1840 support. As of this writing the exact hardware interface is
1841 strongly in flux, so no good recommendation can be made.
1842
1843config SECCOMP
1844 bool "Enable seccomp to safely compute untrusted bytecode"
Ralf Baechle293c5bd2007-07-25 16:19:33 +01001845 depends on PROC_FS
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001846 default y
1847 help
1848 This kernel feature is useful for number crunching applications
1849 that may need to compute untrusted bytecode during their
1850 execution. By using pipes or other transports made available to
1851 the process as file descriptors supporting the read/write
1852 syscalls, it's possible to isolate those applications in
1853 their own address space using seccomp. Once seccomp is
1854 enabled via /proc/<pid>/seccomp, it cannot be disabled
1855 and the task is only allowed to execute a few safe syscalls
1856 defined by each seccomp mode.
1857
1858 If unsure, say Y. Only embedded should say N here.
1859
Ralf Baechle5e83d432005-10-29 19:32:41 +01001860endmenu
1861
Linus Torvalds1da177e2005-04-16 15:20:36 -07001862config RWSEM_GENERIC_SPINLOCK
1863 bool
1864 default y
1865
Atsushi Nemoto1df0f0f2006-09-26 23:44:01 +09001866config LOCKDEP_SUPPORT
1867 bool
1868 default y
1869
1870config STACKTRACE_SUPPORT
1871 bool
1872 default y
1873
Ralf Baechleb6c35392005-11-25 11:35:40 +00001874source "init/Kconfig"
1875
Atsushi Nemoto00110362008-08-26 22:34:57 +09001876config PROBE_INITRD_HEADER
1877 bool "Probe initrd header created by addinitrd"
1878 depends on BLK_DEV_INITRD
1879 help
1880 Probe initrd header at the last page of kernel image.
1881 Say Y here if you are using arch/mips/boot/addinitrd.c to
1882 add initrd or initramfs image to the kernel image.
1883 Otherwise, say N.
1884
Linus Torvalds1da177e2005-04-16 15:20:36 -07001885menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1886
Ralf Baechle5e83d432005-10-29 19:32:41 +01001887config HW_HAS_EISA
1888 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001889config HW_HAS_PCI
1890 bool
1891
1892config PCI
1893 bool "Support for PCI controller"
1894 depends on HW_HAS_PCI
Ralf Baechleabb4ae42007-10-11 23:46:03 +01001895 select PCI_DOMAINS
Linus Torvalds1da177e2005-04-16 15:20:36 -07001896 help
1897 Find out whether you have a PCI motherboard. PCI is the name of a
1898 bus system, i.e. the way the CPU talks to the other stuff inside
1899 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1900 say Y, otherwise N.
1901
Linus Torvalds1da177e2005-04-16 15:20:36 -07001902config PCI_DOMAINS
1903 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001904
1905source "drivers/pci/Kconfig"
1906
1907#
1908# ISA support is now enabled via select. Too many systems still have the one
1909# or other ISA chip on the board that users don't know about so don't expect
1910# users to choose the right thing ...
1911#
1912config ISA
1913 bool
1914
1915config EISA
1916 bool "EISA support"
Ralf Baechle5e83d432005-10-29 19:32:41 +01001917 depends on HW_HAS_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001918 select ISA
Ralf Baechleaa414df2006-11-30 01:14:51 +00001919 select GENERIC_ISA_DMA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001920 ---help---
1921 The Extended Industry Standard Architecture (EISA) bus was
1922 developed as an open alternative to the IBM MicroChannel bus.
1923
1924 The EISA bus provided some of the features of the IBM MicroChannel
1925 bus while maintaining backward compatibility with cards made for
1926 the older ISA bus. The EISA bus saw limited use between 1988 and
1927 1995 when it was made obsolete by the PCI bus.
1928
1929 Say Y here if you are building a kernel for an EISA-based machine.
1930
1931 Otherwise, say N.
1932
1933source "drivers/eisa/Kconfig"
1934
1935config TC
1936 bool "TURBOchannel support"
1937 depends on MACH_DECSTATION
1938 help
1939 TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1940 processors. Documentation on writing device drivers for TurboChannel
1941 is available at:
1942 <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1943
1944#config ACCESSBUS
1945# bool "Access.Bus support"
1946# depends on TC
1947
1948config MMU
1949 bool
1950 default y
1951
Ralf Baechled865bea2007-10-11 23:46:10 +01001952config I8253
1953 bool
1954
Ralf Baechlecce335ae2007-11-03 02:05:43 +00001955config ZONE_DMA32
1956 bool
1957
Linus Torvalds1da177e2005-04-16 15:20:36 -07001958source "drivers/pcmcia/Kconfig"
1959
1960source "drivers/pci/hotplug/Kconfig"
1961
1962endmenu
1963
1964menu "Executable file formats"
1965
1966source "fs/Kconfig.binfmt"
1967
1968config TRAD_SIGNALS
1969 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001970
Linus Torvalds1da177e2005-04-16 15:20:36 -07001971config MIPS32_COMPAT
1972 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
Ralf Baechle875d43e2005-09-03 15:56:16 -07001973 depends on 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001974 help
1975 Select this option if you want Linux/MIPS 32-bit binary
1976 compatibility. Since all software available for Linux/MIPS is
1977 currently 32-bit you should say Y here.
1978
1979config COMPAT
1980 bool
1981 depends on MIPS32_COMPAT
1982 default y
1983
Atsushi Nemoto05e43962006-11-07 18:02:44 +09001984config SYSVIPC_COMPAT
1985 bool
1986 depends on COMPAT && SYSVIPC
1987 default y
1988
Linus Torvalds1da177e2005-04-16 15:20:36 -07001989config MIPS32_O32
1990 bool "Kernel support for o32 binaries"
1991 depends on MIPS32_COMPAT
1992 help
1993 Select this option if you want to run o32 binaries. These are pure
1994 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
1995 existing binaries are in this format.
1996
1997 If unsure, say Y.
1998
1999config MIPS32_N32
2000 bool "Kernel support for n32 binaries"
2001 depends on MIPS32_COMPAT
2002 help
2003 Select this option if you want to run n32 binaries. These are
2004 64-bit binaries using 32-bit quantities for addressing and certain
2005 data that would normally be 64-bit. They are used in special
2006 cases.
2007
2008 If unsure, say N.
2009
2010config BINFMT_ELF32
2011 bool
2012 default y if MIPS32_O32 || MIPS32_N32
2013
Ralf Baechle21162452007-02-09 17:08:58 +00002014endmenu
Linus Torvalds1da177e2005-04-16 15:20:36 -07002015
Ralf Baechle21162452007-02-09 17:08:58 +00002016menu "Power management options"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02002017
Johannes Bergf4cb5702007-12-08 02:14:00 +01002018config ARCH_SUSPEND_POSSIBLE
2019 def_bool y
2020 depends on !SMP
2021
Ralf Baechle21162452007-02-09 17:08:58 +00002022source "kernel/power/Kconfig"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02002023
Linus Torvalds1da177e2005-04-16 15:20:36 -07002024endmenu
2025
Sam Ravnborgd5950b42005-07-11 21:03:49 -07002026source "net/Kconfig"
2027
Linus Torvalds1da177e2005-04-16 15:20:36 -07002028source "drivers/Kconfig"
2029
2030source "fs/Kconfig"
2031
2032source "arch/mips/Kconfig.debug"
2033
2034source "security/Kconfig"
2035
2036source "crypto/Kconfig"
2037
2038source "lib/Kconfig"