blob: 34b13f1d8a0ed3a4d31de5577455d617147ff2e2 [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
37 help
38 The eXcite is a smart camera platform manufactured by
Thomas Koellerbe915892007-02-23 01:40:34 +010039 Basler Vision Technologies AG.
Ralf Baechle35189fa2006-06-18 16:39:46 +010040
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020041config BCM47XX
42 bool "BCM47XX based boards"
Ralf Baechle42f77542007-10-18 17:48:11 +010043 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +000044 select CSRC_R4K
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020045 select DMA_NONCOHERENT
46 select HW_HAS_PCI
47 select IRQ_CPU
48 select SYS_HAS_CPU_MIPS32_R1
49 select SYS_SUPPORTS_32BIT_KERNEL
50 select SYS_SUPPORTS_LITTLE_ENDIAN
51 select SSB
52 select SSB_DRIVER_MIPS
Aurelien Jarno2f02c152007-12-11 11:30:34 +010053 select SSB_DRIVER_EXTIF
54 select SSB_PCICORE_HOSTMODE if PCI
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020055 select GENERIC_GPIO
Aurelien Jarno25e5fb92007-09-25 15:41:24 +020056 select SYS_HAS_EARLY_PRINTK
57 select CFE
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020058 help
59 Support for BCM47XX based boards
60
Linus Torvalds1da177e2005-04-16 15:20:36 -070061config MIPS_COBALT
Martin Michlmayr3fa986f2006-05-09 23:34:53 +020062 bool "Cobalt Server"
Ralf Baechle42f77542007-10-18 17:48:11 +010063 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +000064 select CSRC_R4K
Yoichi Yuasa1097c6a2007-10-22 19:43:15 +090065 select CEVT_GT641XX
Linus Torvalds1da177e2005-04-16 15:20:36 -070066 select DMA_NONCOHERENT
67 select HW_HAS_PCI
Ralf Baechled865bea2007-10-11 23:46:10 +010068 select I8253
Linus Torvalds1da177e2005-04-16 15:20:36 -070069 select I8259
70 select IRQ_CPU
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +090071 select IRQ_GT641XX
Yoichi Yuasa252161e2007-03-14 21:51:26 +090072 select PCI_GT64XXX_PCI0
Ralf Baechle7cf80532005-10-20 22:33:09 +010073 select SYS_HAS_CPU_NEVADA
Yoichi Yuasa0a22e0d2007-03-02 12:42:33 +090074 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -070075 select SYS_SUPPORTS_32BIT_KERNEL
Florian Fainelli0e8774b2008-01-15 19:42:57 +010076 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +010077 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +090078 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -070079
80config MACH_DECSTATION
Martin Michlmayr3fa986f2006-05-09 23:34:53 +020081 bool "DECstations"
Linus Torvalds1da177e2005-04-16 15:20:36 -070082 select BOOT_ELF32
Yoichi Yuasa6457d9f2008-04-25 12:11:44 +090083 select CEVT_DS1287
Ralf Baechle42f77542007-10-18 17:48:11 +010084 select CEVT_R4K
Yoichi Yuasa42474172008-04-24 09:48:40 +090085 select CSRC_IOASIC
Ralf Baechle940f6b42007-11-24 22:33:28 +000086 select CSRC_R4K
Maciej W. Rozycki20d60d92007-10-23 12:43:11 +010087 select CPU_DADDI_WORKAROUNDS if 64BIT
88 select CPU_R4000_WORKAROUNDS if 64BIT
89 select CPU_R4400_WORKAROUNDS if 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -070090 select DMA_NONCOHERENT
Maciej W. Rozyckid388d682007-05-29 15:08:07 +010091 select NO_IOPORT
Linus Torvalds1da177e2005-04-16 15:20:36 -070092 select IRQ_CPU
Ralf Baechle7cf80532005-10-20 22:33:09 +010093 select SYS_HAS_CPU_R3000
94 select SYS_HAS_CPU_R4X00
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -070095 select SYS_SUPPORTS_32BIT_KERNEL
96 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Ralf Baechle5e83d432005-10-29 19:32:41 +010097 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +090098 select SYS_SUPPORTS_128HZ
99 select SYS_SUPPORTS_256HZ
100 select SYS_SUPPORTS_1024HZ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100101 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700102 This enables support for DEC's MIPS based workstations. For details
103 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
104 DECstation porting pages on <http://decstation.unix-ag.org/>.
105
106 If you have one of the following DECstation Models you definitely
107 want to choose R4xx0 for the CPU Type:
108
Ralf Baechle93088162007-08-29 14:21:45 +0100109 DECstation 5000/50
110 DECstation 5000/150
111 DECstation 5000/260
112 DECsystem 5900/260
Linus Torvalds1da177e2005-04-16 15:20:36 -0700113
114 otherwise choose R3000.
115
Ralf Baechle5e83d432005-10-29 19:32:41 +0100116config MACH_JAZZ
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200117 bool "Jazz family of machines"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100118 select ARC
119 select ARC32
120 select ARCH_MAY_HAVE_PC_FDC
Ralf Baechle42f77542007-10-18 17:48:11 +0100121 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000122 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100123 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100124 select GENERIC_ISA_DMA
Thomas Bogendoerferea202c62007-08-25 11:01:50 +0200125 select IRQ_CPU
Ralf Baechled865bea2007-10-11 23:46:10 +0100126 select I8253
Ralf Baechle5e83d432005-10-29 19:32:41 +0100127 select I8259
128 select ISA
Ralf Baechle7cf80532005-10-20 22:33:09 +0100129 select SYS_HAS_CPU_R4X00
Ralf Baechle5e83d432005-10-29 19:32:41 +0100130 select SYS_SUPPORTS_32BIT_KERNEL
131 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +0900132 select SYS_SUPPORTS_100HZ
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900133 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700134 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100135 This a family of machines based on the MIPS R4030 chipset which was
136 used by several vendors to build RISC/os and Windows NT workstations.
137 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
138 Olivetti M700-10 workstations.
139
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200140config LASAT
141 bool "LASAT Networks platforms"
Ralf Baechle42f77542007-10-18 17:48:11 +0100142 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000143 select CSRC_R4K
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200144 select DMA_NONCOHERENT
145 select SYS_HAS_EARLY_PRINTK
146 select HW_HAS_PCI
Ralf Baechlea5ccfe52007-10-14 23:49:33 +0100147 select IRQ_CPU
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200148 select PCI_GT64XXX_PCI0
149 select MIPS_NILE4
150 select R5000_CPU_SCACHE
151 select SYS_HAS_CPU_R5000
152 select SYS_SUPPORTS_32BIT_KERNEL
153 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
154 select SYS_SUPPORTS_LITTLE_ENDIAN
155 select GENERIC_HARDIRQS_NO__DO_IRQ
156
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900157config LEMOTE_FULONG
158 bool "Lemote Fulong mini-PC"
159 select ARCH_SPARSEMEM_ENABLE
Ralf Baechle42f77542007-10-18 17:48:11 +0100160 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000161 select CSRC_R4K
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900162 select SYS_HAS_CPU_LOONGSON2
163 select DMA_NONCOHERENT
164 select BOOT_ELF32
165 select BOARD_SCACHE
166 select HAVE_STD_PC_SERIAL_PORT
167 select HW_HAS_PCI
168 select I8259
169 select ISA
170 select IRQ_CPU
171 select SYS_SUPPORTS_32BIT_KERNEL
172 select SYS_SUPPORTS_64BIT_KERNEL
173 select SYS_SUPPORTS_LITTLE_ENDIAN
174 select SYS_SUPPORTS_HIGHMEM
175 select SYS_HAS_EARLY_PRINTK
176 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle23dd6d32007-08-24 16:49:23 +0100177 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900178 select CPU_HAS_WB
179 help
180 Lemote Fulong mini-PC board based on the Chinese Loongson-2E CPU and
181 an FPGA northbridge
182
Linus Torvalds1da177e2005-04-16 15:20:36 -0700183config MIPS_MALTA
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200184 bool "MIPS Malta board"
Ralf Baechle61ed2422005-09-15 08:52:34 +0000185 select ARCH_MAY_HAVE_PC_FDC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700186 select BOOT_ELF32
Ralf Baechlefa71c962008-01-29 10:15:00 +0000187 select BOOT_RAW
Ralf Baechle42f77542007-10-18 17:48:11 +0100188 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000189 select CSRC_R4K
Linus Torvalds1da177e2005-04-16 15:20:36 -0700190 select DMA_NONCOHERENT
191 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000192 select IRQ_CPU
Ralf Baechle39b8d522008-04-28 17:14:26 +0100193 select IRQ_GIC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700194 select HW_HAS_PCI
Ralf Baechled865bea2007-10-11 23:46:10 +0100195 select I8253
Linus Torvalds1da177e2005-04-16 15:20:36 -0700196 select I8259
Ralf Baechle5e83d432005-10-29 19:32:41 +0100197 select MIPS_BOARDS_GEN
198 select MIPS_BONITO64
Chris Dearman9318c512006-06-20 17:15:20 +0100199 select MIPS_CPU_SCACHE
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900200 select PCI_GT64XXX_PCI0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100201 select MIPS_MSC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700202 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100203 select SYS_HAS_CPU_MIPS32_R1
204 select SYS_HAS_CPU_MIPS32_R2
205 select SYS_HAS_CPU_MIPS64_R1
206 select SYS_HAS_CPU_NEVADA
207 select SYS_HAS_CPU_RM7000
Ralf Baechle36a88532007-03-01 11:56:43 +0000208 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700209 select SYS_SUPPORTS_32BIT_KERNEL
210 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100211 select SYS_SUPPORTS_BIG_ENDIAN
212 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlef41ae0b2006-06-05 17:24:46 +0100213 select SYS_SUPPORTS_MULTITHREADING
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100214 select SYS_SUPPORTS_SMARTMIPS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700215 help
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000216 This enables support for the MIPS Technologies Malta evaluation
Linus Torvalds1da177e2005-04-16 15:20:36 -0700217 board.
218
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100219config MIPS_SIM
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200220 bool 'MIPS simulator (MIPSsim)'
Ralf Baechle42f77542007-10-18 17:48:11 +0100221 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000222 select CSRC_R4K
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100223 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000224 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100225 select IRQ_CPU
Marc St-Jean9267a302007-06-14 15:55:31 -0600226 select BOOT_RAW
Ralf Baechle7cf80532005-10-20 22:33:09 +0100227 select SYS_HAS_CPU_MIPS32_R1
228 select SYS_HAS_CPU_MIPS32_R2
Ralf Baechle36a88532007-03-01 11:56:43 +0000229 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100230 select SYS_SUPPORTS_32BIT_KERNEL
231 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlef6e23732007-07-10 17:32:56 +0100232 select SYS_SUPPORTS_MULTITHREADING
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100233 select SYS_SUPPORTS_LITTLE_ENDIAN
234 help
235 This option enables support for MIPS Technologies MIPSsim software
236 emulator.
237
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900238config MARKEINS
239 bool "NEC EMMA2RH Mark-eins"
Ralf Baechle42f77542007-10-18 17:48:11 +0100240 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000241 select CSRC_R4K
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900242 select DMA_NONCOHERENT
243 select HW_HAS_PCI
244 select IRQ_CPU
245 select SWAP_IO_SPACE
246 select SYS_SUPPORTS_32BIT_KERNEL
247 select SYS_SUPPORTS_BIG_ENDIAN
248 select SYS_SUPPORTS_LITTLE_ENDIAN
249 select SYS_HAS_CPU_R5000
250 help
251 This enables support for the R5432-based NEC Mark-eins
252 boards with R5500 CPU.
253
Ralf Baechle5e83d432005-10-29 19:32:41 +0100254config MACH_VR41XX
Yoichi Yuasa74142d62007-04-26 19:45:09 +0900255 bool "NEC VR4100 series based machines"
Ralf Baechle42f77542007-10-18 17:48:11 +0100256 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000257 select CSRC_R4K
Ralf Baechle7cf80532005-10-20 22:33:09 +0100258 select SYS_HAS_CPU_VR41XX
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900259 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100260
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900261config PNX8550_JBS
Daniel Lairda92b0582008-03-06 09:07:18 +0000262 bool "NXP PNX8550 based JBS board"
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900263 select PNX8550
264 select SYS_SUPPORTS_LITTLE_ENDIAN
265
266config PNX8550_STB810
Daniel Lairda92b0582008-03-06 09:07:18 +0000267 bool "NXP PNX8550 based STB810 board"
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900268 select PNX8550
269 select SYS_SUPPORTS_LITTLE_ENDIAN
270
Marc St-Jean9267a302007-06-14 15:55:31 -0600271config PMC_MSP
272 bool "PMC-Sierra MSP chipsets"
273 depends on EXPERIMENTAL
274 select DMA_NONCOHERENT
275 select SWAP_IO_SPACE
276 select NO_EXCEPT_FILL
277 select BOOT_RAW
278 select SYS_HAS_CPU_MIPS32_R1
279 select SYS_HAS_CPU_MIPS32_R2
280 select SYS_SUPPORTS_32BIT_KERNEL
281 select SYS_SUPPORTS_BIG_ENDIAN
Marc St-Jean9267a302007-06-14 15:55:31 -0600282 select IRQ_CPU
283 select SERIAL_8250
284 select SERIAL_8250_CONSOLE
285 help
286 This adds support for the PMC-Sierra family of Multi-Service
287 Processor System-On-A-Chips. These parts include a number
288 of integrated peripherals, interfaces and DSPs in addition to
289 a variety of MIPS cores.
290
Ralf Baechle5e83d432005-10-29 19:32:41 +0100291config PMC_YOSEMITE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200292 bool "PMC-Sierra Yosemite eval board"
Ralf Baechle42f77542007-10-18 17:48:11 +0100293 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000294 select CSRC_R4K
Ralf Baechle5e83d432005-10-29 19:32:41 +0100295 select DMA_COHERENT
296 select HW_HAS_PCI
297 select IRQ_CPU
298 select IRQ_CPU_RM7K
299 select IRQ_CPU_RM9K
300 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100301 select SYS_HAS_CPU_RM9000
Ralf Baechle36a88532007-03-01 11:56:43 +0000302 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100303 select SYS_SUPPORTS_32BIT_KERNEL
304 select SYS_SUPPORTS_64BIT_KERNEL
305 select SYS_SUPPORTS_BIG_ENDIAN
306 select SYS_SUPPORTS_HIGHMEM
Ralf Baechlee73ea272006-06-04 11:51:46 +0100307 select SYS_SUPPORTS_SMP
Ralf Baechle5e83d432005-10-29 19:32:41 +0100308 help
309 Yosemite is an evaluation board for the RM9000x2 processor
310 manufactured by PMC-Sierra.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700311
Linus Torvalds1da177e2005-04-16 15:20:36 -0700312config SGI_IP22
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200313 bool "SGI IP22 (Indy/Indigo2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700314 select ARC
315 select ARC32
316 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100317 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000318 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100319 select DEFAULT_SGI_PARTITION
Linus Torvalds1da177e2005-04-16 15:20:36 -0700320 select DMA_NONCOHERENT
Ralf Baechle5e83d432005-10-29 19:32:41 +0100321 select HW_HAS_EISA
Ralf Baechled865bea2007-10-11 23:46:10 +0100322 select I8253
Thomas Bogendoerfer68de4802007-11-23 20:34:16 +0100323 select I8259
Linus Torvalds1da177e2005-04-16 15:20:36 -0700324 select IP22_CPU_SCACHE
325 select IRQ_CPU
Ralf Baechleaa414df2006-11-30 01:14:51 +0000326 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100327 select SGI_HAS_DS1286
328 select SGI_HAS_I8042
329 select SGI_HAS_INDYDOG
Thomas Bogendoerfer36e5c212008-07-16 14:06:15 +0200330 select SGI_HAS_HAL2
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100331 select SGI_HAS_SEEQ
332 select SGI_HAS_WD93
333 select SGI_HAS_ZILOG
Linus Torvalds1da177e2005-04-16 15:20:36 -0700334 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100335 select SYS_HAS_CPU_R4X00
336 select SYS_HAS_CPU_R5000
Ralf Baechle36a88532007-03-01 11:56:43 +0000337 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700338 select SYS_SUPPORTS_32BIT_KERNEL
339 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100340 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700341 help
342 This are the SGI Indy, Challenge S and Indigo2, as well as certain
343 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
344 that runs on these, say Y here.
345
346config SGI_IP27
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200347 bool "SGI IP27 (Origin200/2000)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700348 select ARC
349 select ARC64
Ralf Baechle5e83d432005-10-29 19:32:41 +0100350 select BOOT_ELF64
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100351 select DEFAULT_SGI_PARTITION
Linus Torvalds1da177e2005-04-16 15:20:36 -0700352 select DMA_IP27
Ralf Baechle36a88532007-03-01 11:56:43 +0000353 select SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700354 select HW_HAS_PCI
Ralf Baechle130e2fb2007-02-06 16:53:15 +0000355 select NR_CPUS_DEFAULT_64
Ralf Baechle7cf80532005-10-20 22:33:09 +0100356 select SYS_HAS_CPU_R10000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700357 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100358 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechled8cb4e12006-06-11 23:03:08 +0100359 select SYS_SUPPORTS_NUMA
Ralf Baechle1a5c5de2006-11-02 17:23:33 +0000360 select SYS_SUPPORTS_SMP
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100361 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700362 help
363 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
364 workstations. To compile a Linux kernel that runs on these, say Y
365 here.
366
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100367config SGI_IP28
368 bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
369 depends on EXPERIMENTAL
370 select ARC
371 select ARC64
372 select BOOT_ELF64
373 select CEVT_R4K
374 select CSRC_R4K
375 select DEFAULT_SGI_PARTITION
376 select DMA_NONCOHERENT
377 select GENERIC_ISA_DMA_SUPPORT_BROKEN
378 select IRQ_CPU
379 select HW_HAS_EISA
380 select I8253
381 select I8259
382 select SGI_HAS_DS1286
383 select SGI_HAS_I8042
384 select SGI_HAS_INDYDOG
Thomas Bogendoerfer5b438c42008-07-10 20:29:55 +0200385 select SGI_HAS_HAL2
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100386 select SGI_HAS_SEEQ
387 select SGI_HAS_WD93
388 select SGI_HAS_ZILOG
389 select SWAP_IO_SPACE
390 select SYS_HAS_CPU_R10000
391 select SYS_HAS_EARLY_PRINTK
392 select SYS_SUPPORTS_64BIT_KERNEL
393 select SYS_SUPPORTS_BIG_ENDIAN
394 help
395 This is the SGI Indigo2 with R10000 processor. To compile a Linux
396 kernel that runs on these, say Y here.
397
Linus Torvalds1da177e2005-04-16 15:20:36 -0700398config SGI_IP32
Ralf Baechlecfd2afc2007-07-10 17:33:00 +0100399 bool "SGI IP32 (O2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700400 select ARC
401 select ARC32
402 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100403 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000404 select CSRC_R4K
Linus Torvalds1da177e2005-04-16 15:20:36 -0700405 select DMA_NONCOHERENT
406 select HW_HAS_PCI
Ralf Baechledd67b152007-10-14 14:02:26 +0100407 select IRQ_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700408 select R5000_CPU_SCACHE
409 select RM7000_CPU_SCACHE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100410 select SYS_HAS_CPU_R5000
411 select SYS_HAS_CPU_R10000 if BROKEN
412 select SYS_HAS_CPU_RM7000
Ralf Baechledd2f18f2006-01-19 14:55:42 +0000413 select SYS_HAS_CPU_NEVADA
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700414 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100415 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700416 help
417 If you want this kernel to run on SGI O2 workstation, say Y here.
418
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900419config SIBYTE_CRHINE
420 bool "Sibyte BCM91120C-CRhine"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100421 depends on EXPERIMENTAL
422 select BOOT_ELF32
423 select DMA_COHERENT
424 select SIBYTE_BCM1120
425 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100426 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100427 select SYS_SUPPORTS_BIG_ENDIAN
428 select SYS_SUPPORTS_LITTLE_ENDIAN
429
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900430config SIBYTE_CARMEL
431 bool "Sibyte BCM91120x-Carmel"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100432 depends on EXPERIMENTAL
433 select BOOT_ELF32
434 select DMA_COHERENT
435 select SIBYTE_BCM1120
436 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100437 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100438 select SYS_SUPPORTS_BIG_ENDIAN
439 select SYS_SUPPORTS_LITTLE_ENDIAN
440
441config SIBYTE_CRHONE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200442 bool "Sibyte BCM91125C-CRhone"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100443 depends on EXPERIMENTAL
444 select BOOT_ELF32
445 select DMA_COHERENT
446 select SIBYTE_BCM1125
447 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100448 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100449 select SYS_SUPPORTS_BIG_ENDIAN
450 select SYS_SUPPORTS_HIGHMEM
451 select SYS_SUPPORTS_LITTLE_ENDIAN
452
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900453config SIBYTE_RHONE
454 bool "Sibyte BCM91125E-Rhone"
455 depends on EXPERIMENTAL
456 select BOOT_ELF32
457 select DMA_COHERENT
458 select SIBYTE_BCM1125H
459 select SWAP_IO_SPACE
460 select SYS_HAS_CPU_SB1
461 select SYS_SUPPORTS_BIG_ENDIAN
462 select SYS_SUPPORTS_LITTLE_ENDIAN
463
464config SIBYTE_SWARM
465 bool "Sibyte BCM91250A-SWARM"
466 select BOOT_ELF32
467 select DMA_COHERENT
468 select NR_CPUS_DEFAULT_2
469 select SIBYTE_SB1250
470 select SWAP_IO_SPACE
471 select SYS_HAS_CPU_SB1
472 select SYS_SUPPORTS_BIG_ENDIAN
473 select SYS_SUPPORTS_HIGHMEM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900474 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlecce335ae2007-11-03 02:05:43 +0000475 select ZONE_DMA32 if 64BIT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900476
477config SIBYTE_LITTLESUR
478 bool "Sibyte BCM91250C2-LittleSur"
479 depends on EXPERIMENTAL
480 select BOOT_ELF32
481 select DMA_COHERENT
482 select NR_CPUS_DEFAULT_2
483 select SIBYTE_SB1250
484 select SWAP_IO_SPACE
485 select SYS_HAS_CPU_SB1
486 select SYS_SUPPORTS_BIG_ENDIAN
487 select SYS_SUPPORTS_HIGHMEM
488 select SYS_SUPPORTS_LITTLE_ENDIAN
489
490config SIBYTE_SENTOSA
491 bool "Sibyte BCM91250E-Sentosa"
492 depends on EXPERIMENTAL
493 select BOOT_ELF32
494 select DMA_COHERENT
495 select NR_CPUS_DEFAULT_2
496 select SIBYTE_SB1250
497 select SWAP_IO_SPACE
498 select SYS_HAS_CPU_SB1
499 select SYS_SUPPORTS_BIG_ENDIAN
500 select SYS_SUPPORTS_LITTLE_ENDIAN
501
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900502config SIBYTE_BIGSUR
503 bool "Sibyte BCM91480B-BigSur"
504 select BOOT_ELF32
505 select DMA_COHERENT
506 select NR_CPUS_DEFAULT_4
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900507 select SIBYTE_BCM1x80
508 select SWAP_IO_SPACE
509 select SYS_HAS_CPU_SB1
510 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle651194f2007-11-01 21:55:39 +0000511 select SYS_SUPPORTS_HIGHMEM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900512 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlecce335ae2007-11-03 02:05:43 +0000513 select ZONE_DMA32 if 64BIT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900514
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100515config SNI_RM
516 bool "SNI RM200/300/400"
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200517 select ARC if CPU_LITTLE_ENDIAN
518 select ARC32 if CPU_LITTLE_ENDIAN
Thomas Bogendoerfer231a35d2008-01-04 23:31:07 +0100519 select SNIPROM if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100520 select ARCH_MAY_HAVE_PC_FDC
521 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100522 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000523 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100524 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100525 select DMA_NONCOHERENT
526 select GENERIC_ISA_DMA
Ralf Baechle5e83d432005-10-29 19:32:41 +0100527 select HW_HAS_EISA
528 select HW_HAS_PCI
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100529 select IRQ_CPU
Ralf Baechled865bea2007-10-11 23:46:10 +0100530 select I8253
Ralf Baechle5e83d432005-10-29 19:32:41 +0100531 select I8259
532 select ISA
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200533 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
Ralf Baechle7cf80532005-10-20 22:33:09 +0100534 select SYS_HAS_CPU_R4X00
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200535 select SYS_HAS_CPU_R5000
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100536 select SYS_HAS_CPU_R10000
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200537 select R5000_CPU_SCACHE
Ralf Baechle36a88532007-03-01 11:56:43 +0000538 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700539 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100540 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200541 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100542 select SYS_SUPPORTS_HIGHMEM
543 select SYS_SUPPORTS_LITTLE_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700544 help
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100545 The SNI RM200/300/400 are MIPS-based machines manufactured by
546 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
Ralf Baechle5e83d432005-10-29 19:32:41 +0100547 Technology and now in turn merged with Fujitsu. Say Y here to
548 support this machine type.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700549
Atsushi Nemotoedcaf1a2008-07-11 23:27:54 +0900550config MACH_TX39XX
551 bool "Toshiba TX39 series based machines"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100552
Atsushi Nemotoedcaf1a2008-07-11 23:27:54 +0900553config MACH_TX49XX
554 bool "Toshiba TX49 series based machines"
Ralf Baechle23fbee92005-07-25 22:45:45 +0000555
Ralf Baechle73b43902008-07-16 16:12:25 +0100556config MIKROTIK_RB532
557 bool "Mikrotik RB532 boards"
558 select CEVT_R4K
559 select CSRC_R4K
560 select DMA_NONCOHERENT
561 select GENERIC_HARDIRQS_NO__DO_IRQ
562 select HW_HAS_PCI
563 select IRQ_CPU
564 select SYS_HAS_CPU_MIPS32_R1
565 select SYS_SUPPORTS_32BIT_KERNEL
566 select SYS_SUPPORTS_LITTLE_ENDIAN
567 select SWAP_IO_SPACE
568 select BOOT_RAW
569 select GENERIC_GPIO
570 help
571 Support the Mikrotik(tm) RouterBoard 532 series,
572 based on the IDT RC32434 SoC.
573
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900574config WR_PPMC
575 bool "Wind River PPMC board"
Ralf Baechle42f77542007-10-18 17:48:11 +0100576 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000577 select CSRC_R4K
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900578 select IRQ_CPU
579 select BOOT_ELF32
580 select DMA_NONCOHERENT
581 select HW_HAS_PCI
582 select PCI_GT64XXX_PCI0
583 select SWAP_IO_SPACE
584 select SYS_HAS_CPU_MIPS32_R1
585 select SYS_HAS_CPU_MIPS32_R2
586 select SYS_HAS_CPU_MIPS64_R1
587 select SYS_HAS_CPU_NEVADA
588 select SYS_HAS_CPU_RM7000
589 select SYS_SUPPORTS_32BIT_KERNEL
590 select SYS_SUPPORTS_64BIT_KERNEL
591 select SYS_SUPPORTS_BIG_ENDIAN
592 select SYS_SUPPORTS_LITTLE_ENDIAN
593 help
594 This enables support for the Wind River MIPS32 4KC PPMC evaluation
595 board, which is based on GT64120 bridge chip.
596
Linus Torvalds1da177e2005-04-16 15:20:36 -0700597endchoice
598
Yoichi Yuasac3543e22007-05-11 20:44:30 +0900599source "arch/mips/au1000/Kconfig"
Yoichi Yuasa9c746ed2007-12-12 22:39:54 +0900600source "arch/mips/basler/excite/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100601source "arch/mips/jazz/Kconfig"
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200602source "arch/mips/lasat/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100603source "arch/mips/pmc-sierra/Kconfig"
Ralf Baechle29c48692005-02-07 01:27:14 +0000604source "arch/mips/sgi-ip27/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000605source "arch/mips/sibyte/Kconfig"
Atsushi Nemoto22b1d702008-07-11 00:31:36 +0900606source "arch/mips/txx9/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100607source "arch/mips/vr41xx/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000608
Ralf Baechle5e83d432005-10-29 19:32:41 +0100609endmenu
610
Nick Piggin95c354f2008-01-30 13:31:20 +0100611config GENERIC_LOCKBREAK
612 bool
613 default y
614 depends on SMP && PREEMPT
615
Linus Torvalds1da177e2005-04-16 15:20:36 -0700616config RWSEM_GENERIC_SPINLOCK
617 bool
618 default y
619
620config RWSEM_XCHGADD_ALGORITHM
621 bool
622
David Howellsf0d1b0b2006-12-08 02:37:49 -0800623config ARCH_HAS_ILOG2_U32
624 bool
625 default n
626
627config ARCH_HAS_ILOG2_U64
628 bool
629 default n
630
Ralf Baechle00a58252007-12-06 16:53:19 +0000631config ARCH_SUPPORTS_OPROFILE
632 bool
633 default y if !MIPS_MT_SMTC
634
Akinobu Mita3c9ee7e2006-03-26 01:39:30 -0800635config GENERIC_FIND_NEXT_BIT
636 bool
637 default y
638
639config GENERIC_HWEIGHT
640 bool
641 default y
642
Linus Torvalds1da177e2005-04-16 15:20:36 -0700643config GENERIC_CALIBRATE_DELAY
644 bool
645 default y
646
Ralf Baechle7bcf7712007-10-11 23:46:09 +0100647config GENERIC_CLOCKEVENTS
648 bool
649 default y
650
Ralf Baechle8db02012006-10-02 16:54:48 +0100651config GENERIC_TIME
652 bool
653 default y
654
Ralf Baechlef5ff0a22007-08-13 15:26:12 +0100655config GENERIC_CMOS_UPDATE
656 bool
657 default y
658
Atsushi Nemoto1cc89032006-04-04 13:11:45 +0900659config SCHED_NO_NO_OMIT_FRAME_POINTER
660 bool
661 default y
662
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100663config GENERIC_HARDIRQS_NO__DO_IRQ
664 bool
665 default n
666
Linus Torvalds1da177e2005-04-16 15:20:36 -0700667#
668# Select some configuration options automatically based on user selections.
669#
670config ARC
671 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700672
Ralf Baechle61ed2422005-09-15 08:52:34 +0000673config ARCH_MAY_HAVE_PC_FDC
674 bool
675
Marc St-Jean9267a302007-06-14 15:55:31 -0600676config BOOT_RAW
677 bool
678
Ralf Baechle217dd112007-11-01 01:57:55 +0000679config CEVT_BCM1480
680 bool
681
Yoichi Yuasa6457d9f2008-04-25 12:11:44 +0900682config CEVT_DS1287
683 bool
684
Yoichi Yuasa1097c6a2007-10-22 19:43:15 +0900685config CEVT_GT641XX
686 bool
687
Ralf Baechle42f77542007-10-18 17:48:11 +0100688config CEVT_R4K
689 bool
690
Ralf Baechle217dd112007-11-01 01:57:55 +0000691config CEVT_SB1250
692 bool
693
Atsushi Nemoto229f7732007-10-25 01:34:09 +0900694config CEVT_TXX9
695 bool
696
Ralf Baechle217dd112007-11-01 01:57:55 +0000697config CSRC_BCM1480
698 bool
699
Yoichi Yuasa42474172008-04-24 09:48:40 +0900700config CSRC_IOASIC
701 bool
702
Ralf Baechle940f6b42007-11-24 22:33:28 +0000703config CSRC_R4K
704 bool
705
Ralf Baechle217dd112007-11-01 01:57:55 +0000706config CSRC_SB1250
707 bool
708
Atsushi Nemotoa9aec7f2008-04-05 00:55:41 +0900709config GPIO_TXX9
710 select GENERIC_GPIO
Michael Buesch7444a722008-07-25 01:46:11 -0700711 select ARCH_REQUIRE_GPIOLIB
Atsushi Nemotoa9aec7f2008-04-05 00:55:41 +0900712 bool
713
Aurelien Jarnodf78b5c2007-09-05 08:58:26 +0200714config CFE
715 bool
716
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700717config DMA_COHERENT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700718 bool
719
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700720config DMA_IP27
Linus Torvalds1da177e2005-04-16 15:20:36 -0700721 bool
722
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700723config DMA_NONCOHERENT
724 bool
725 select DMA_NEED_PCI_MAP_STATE
726
727config DMA_NEED_PCI_MAP_STATE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700728 bool
729
730config EARLY_PRINTK
Ralf Baechle36a88532007-03-01 11:56:43 +0000731 bool "Early printk" if EMBEDDED && DEBUG_KERNEL
732 depends on SYS_HAS_EARLY_PRINTK
733 default y
734 help
735 This option enables special console drivers which allow the kernel
736 to print messages very early in the bootup process.
737
738 This is useful for kernel debugging when your machine crashes very
Robert P. J. Day490dcc42007-05-20 12:11:07 -0400739 early before the console code is initialized. For normal operation,
740 it is not recommended because it looks ugly on some machines and
741 doesn't cooperate with an X server. You should normally say N here,
Ralf Baechle36a88532007-03-01 11:56:43 +0000742 unless you want to debug such a crash.
743
744config SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700745 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700746
Ralf Baechledbb74542007-08-07 14:52:17 +0100747config HOTPLUG_CPU
748 bool
749 default n
750
Linus Torvalds1da177e2005-04-16 15:20:36 -0700751config I8259
752 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700753
Linus Torvalds1da177e2005-04-16 15:20:36 -0700754config MIPS_BONITO64
755 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700756
757config MIPS_MSC
758 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700759
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200760config MIPS_NILE4
761 bool
762
Linus Torvalds1da177e2005-04-16 15:20:36 -0700763config MIPS_DISABLE_OBSOLETE_IDE
764 bool
765
Ralf Baechle39b8d522008-04-28 17:14:26 +0100766config SYNC_R4K
767 bool
768
Maciej W. Rozyckid388d682007-05-29 15:08:07 +0100769config NO_IOPORT
770 def_bool n
771
Ralf Baechle8313da32007-08-24 16:48:30 +0100772config GENERIC_ISA_DMA
773 bool
774 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
775
Ralf Baechleaa414df2006-11-30 01:14:51 +0000776config GENERIC_ISA_DMA_SUPPORT_BROKEN
777 bool
Ralf Baechle8313da32007-08-24 16:48:30 +0100778 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000779
Yoichi Yuasa09663332007-05-22 00:05:58 +0900780config GENERIC_GPIO
781 bool
782
Ralf Baechle5e83d432005-10-29 19:32:41 +0100783#
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100784# Endianess selection. Sufficiently obscure so many users don't know what to
Ralf Baechle5e83d432005-10-29 19:32:41 +0100785# answer,so we try hard to limit the available choices. Also the use of a
786# choice statement should be more obvious to the user.
787#
788choice
789 prompt "Endianess selection"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700790 help
791 Some MIPS machines can be configured for either little or big endian
Ralf Baechle5e83d432005-10-29 19:32:41 +0100792 byte order. These modes require different kernels and a different
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100793 Linux distribution. In general there is one preferred byteorder for a
Ralf Baechle5e83d432005-10-29 19:32:41 +0100794 particular system but some systems are just as commonly used in the
David Sterba3dde6ad2007-05-09 07:12:20 +0200795 one or the other endianness.
Ralf Baechle5e83d432005-10-29 19:32:41 +0100796
797config CPU_BIG_ENDIAN
798 bool "Big endian"
799 depends on SYS_SUPPORTS_BIG_ENDIAN
800
801config CPU_LITTLE_ENDIAN
802 bool "Little endian"
803 depends on SYS_SUPPORTS_LITTLE_ENDIAN
804 help
805
806endchoice
807
Ralf Baechle21162452007-02-09 17:08:58 +0000808config SYS_SUPPORTS_APM_EMULATION
809 bool
810
Ralf Baechle5e83d432005-10-29 19:32:41 +0100811config SYS_SUPPORTS_BIG_ENDIAN
812 bool
813
814config SYS_SUPPORTS_LITTLE_ENDIAN
815 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700816
817config IRQ_CPU
818 bool
819
820config IRQ_CPU_RM7K
821 bool
822
Ralf Baechle5e83d432005-10-29 19:32:41 +0100823config IRQ_CPU_RM9K
824 bool
825
Marc St-Jean9267a302007-06-14 15:55:31 -0600826config IRQ_MSP_SLP
827 bool
828
829config IRQ_MSP_CIC
830 bool
831
Atsushi Nemoto8420fd02007-08-02 23:35:53 +0900832config IRQ_TXX9
833 bool
834
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +0900835config IRQ_GT641XX
836 bool
837
Ralf Baechle39b8d522008-04-28 17:14:26 +0100838config IRQ_GIC
839 bool
840
Linus Torvalds1da177e2005-04-16 15:20:36 -0700841config MIPS_BOARDS_GEN
842 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700843
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900844config PCI_GT64XXX_PCI0
Linus Torvalds1da177e2005-04-16 15:20:36 -0700845 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700846
Marc St-Jean9267a302007-06-14 15:55:31 -0600847config NO_EXCEPT_FILL
848 bool
849
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200850config MIPS_RM9122
851 bool
852 select SERIAL_RM9000
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200853
Pete Popovbdf21b12005-07-14 17:47:57 +0000854config PNX8550
855 bool
856 select SOC_PNX8550
857
858config SOC_PNX8550
859 bool
Pete Popovbdf21b12005-07-14 17:47:57 +0000860 select DMA_NONCOHERENT
861 select HW_HAS_PCI
Ralf Baechleb8c2a772005-10-31 13:08:37 +0000862 select SYS_HAS_CPU_MIPS32_R1
Ralf Baechle36a88532007-03-01 11:56:43 +0000863 select SYS_HAS_EARLY_PRINTK
Ralf Baechle7cf80532005-10-20 22:33:09 +0100864 select SYS_SUPPORTS_32BIT_KERNEL
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100865 select GENERIC_HARDIRQS_NO__DO_IRQ
Florian Fainelli4ead1682007-05-22 21:44:42 +0200866 select GENERIC_GPIO
Pete Popovbdf21b12005-07-14 17:47:57 +0000867
Linus Torvalds1da177e2005-04-16 15:20:36 -0700868config SWAP_IO_SPACE
869 bool
870
dmitry pervushin355c4712006-05-21 14:53:06 +0400871config EMMA2RH
872 bool
873 depends on MARKEINS
874 default y
875
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200876config SERIAL_RM9000
877 bool
878
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100879config SGI_HAS_DS1286
880 bool
881
882config SGI_HAS_INDYDOG
883 bool
884
Thomas Bogendoerfer5b438c42008-07-10 20:29:55 +0200885config SGI_HAS_HAL2
886 bool
887
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100888config SGI_HAS_SEEQ
889 bool
890
891config SGI_HAS_WD93
892 bool
893
894config SGI_HAS_ZILOG
895 bool
896
897config SGI_HAS_I8042
898 bool
899
900config DEFAULT_SGI_PARTITION
901 bool
902
Ralf Baechle5e83d432005-10-29 19:32:41 +0100903config ARC32
904 bool
905
Thomas Bogendoerfer231a35d2008-01-04 23:31:07 +0100906config SNIPROM
907 bool
908
Linus Torvalds1da177e2005-04-16 15:20:36 -0700909config BOOT_ELF32
910 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700911
912config MIPS_L1_CACHE_SHIFT
913 int
Ralf Baechle73b43902008-07-16 16:12:25 +0100914 default "4" if MACH_DECSTATION || MIKROTIK_RB532
Thomas Bogendoerfer7e3297d2008-06-27 23:52:26 +0200915 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM
Marc St-Jean9267a302007-06-14 15:55:31 -0600916 default "4" if PMC_MSP4200_EVAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700917 default "5"
918
Linus Torvalds1da177e2005-04-16 15:20:36 -0700919config HAVE_STD_PC_SERIAL_PORT
920 bool
921
Linus Torvalds1da177e2005-04-16 15:20:36 -0700922config ARC_CONSOLE
923 bool "ARC console support"
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100924 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700925
926config ARC_MEMORY
927 bool
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100928 depends on MACH_JAZZ || SNI_RM || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700929 default y
930
931config ARC_PROMLIB
932 bool
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100933 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700934 default y
935
936config ARC64
937 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700938
939config BOOT_ELF64
940 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700941
Linus Torvalds1da177e2005-04-16 15:20:36 -0700942menu "CPU selection"
943
944choice
945 prompt "CPU type"
946 default CPU_R4X00
947
Fuxin Zhang2a21c732007-06-06 14:52:43 +0800948config CPU_LOONGSON2
949 bool "Loongson 2"
950 depends on SYS_HAS_CPU_LOONGSON2
951 select CPU_SUPPORTS_32BIT_KERNEL
952 select CPU_SUPPORTS_64BIT_KERNEL
953 select CPU_SUPPORTS_HIGHMEM
954 help
955 The Loongson 2E processor implements the MIPS III instruction set
956 with many extensions.
957
Ralf Baechle6e760c82005-07-06 12:08:11 +0000958config CPU_MIPS32_R1
959 bool "MIPS32 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100960 depends on SYS_HAS_CPU_MIPS32_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100961 select CPU_HAS_LLSC
Ralf Baechle6e760c82005-07-06 12:08:11 +0000962 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +0000963 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000964 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +0000965 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100966 Choose this option to build a kernel for release 1 or later of the
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000967 MIPS32 architecture. Most modern embedded systems with a 32-bit
968 MIPS processor are based on a MIPS32 processor. If you know the
969 specific type of processor in your system, choose those that one
970 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
971 Release 2 of the MIPS32 architecture is available since several
972 years so chances are you even have a MIPS32 Release 2 processor
973 in which case you should choose CPU_MIPS32_R2 instead for better
974 performance.
975
976config CPU_MIPS32_R2
977 bool "MIPS32 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100978 depends on SYS_HAS_CPU_MIPS32_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100979 select CPU_HAS_LLSC
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000980 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +0000981 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000982 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000983 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100984 Choose this option to build a kernel for release 2 or later of the
Ralf Baechle6e760c82005-07-06 12:08:11 +0000985 MIPS32 architecture. Most modern embedded systems with a 32-bit
986 MIPS processor are based on a MIPS32 processor. If you know the
987 specific type of processor in your system, choose those that one
988 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700989
Ralf Baechle6e760c82005-07-06 12:08:11 +0000990config CPU_MIPS64_R1
991 bool "MIPS64 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100992 depends on SYS_HAS_CPU_MIPS64_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100993 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +0000994 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700995 select CPU_SUPPORTS_32BIT_KERNEL
996 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000997 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +0000998 help
999 Choose this option to build a kernel for release 1 or later of the
1000 MIPS64 architecture. Many modern embedded systems with a 64-bit
1001 MIPS processor are based on a MIPS64 processor. If you know the
1002 specific type of processor in your system, choose those that one
1003 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001004 Release 2 of the MIPS64 architecture is available since several
1005 years so chances are you even have a MIPS64 Release 2 processor
1006 in which case you should choose CPU_MIPS64_R2 instead for better
1007 performance.
1008
1009config CPU_MIPS64_R2
1010 bool "MIPS64 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001011 depends on SYS_HAS_CPU_MIPS64_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001012 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +00001013 select CPU_HAS_PREFETCH
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001014 select CPU_SUPPORTS_32BIT_KERNEL
1015 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001016 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001017 help
1018 Choose this option to build a kernel for release 2 or later of the
1019 MIPS64 architecture. Many modern embedded systems with a 64-bit
1020 MIPS processor are based on a MIPS64 processor. If you know the
1021 specific type of processor in your system, choose those that one
1022 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001023
1024config CPU_R3000
1025 bool "R3000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001026 depends on SYS_HAS_CPU_R3000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001027 select CPU_HAS_WB
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001028 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001029 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001030 help
1031 Please make sure to pick the right CPU type. Linux/MIPS is not
1032 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1033 *not* work on R4000 machines and vice versa. However, since most
1034 of the supported machines have an R4000 (or similar) CPU, R4x00
1035 might be a safe bet. If the resulting kernel does not work,
1036 try to recompile with R3000.
1037
1038config CPU_TX39XX
1039 bool "R39XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001040 depends on SYS_HAS_CPU_TX39XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001041 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001042
1043config CPU_VR41XX
1044 bool "R41xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001045 depends on SYS_HAS_CPU_VR41XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001046 select CPU_SUPPORTS_32BIT_KERNEL
1047 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001048 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001049 The options selects support for the NEC VR4100 series of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001050 Only choose this option if you have one of these processors as a
1051 kernel built with this option will not run on any other type of
1052 processor or vice versa.
1053
1054config CPU_R4300
1055 bool "R4300"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001056 depends on SYS_HAS_CPU_R4300
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001057 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001058 select CPU_SUPPORTS_32BIT_KERNEL
1059 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001060 help
1061 MIPS Technologies R4300-series processors.
1062
1063config CPU_R4X00
1064 bool "R4x00"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001065 depends on SYS_HAS_CPU_R4X00
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001066 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001067 select CPU_SUPPORTS_32BIT_KERNEL
1068 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001069 help
1070 MIPS Technologies R4000-series processors other than 4300, including
1071 the R4000, R4400, R4600, and 4700.
1072
1073config CPU_TX49XX
1074 bool "R49XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001075 depends on SYS_HAS_CPU_TX49XX
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001076 select CPU_HAS_LLSC
Atsushi Nemotode862b42006-03-17 12:59:22 +09001077 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001078 select CPU_SUPPORTS_32BIT_KERNEL
1079 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001080
1081config CPU_R5000
1082 bool "R5000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001083 depends on SYS_HAS_CPU_R5000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001084 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001085 select CPU_SUPPORTS_32BIT_KERNEL
1086 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001087 help
1088 MIPS Technologies R5000-series processors other than the Nevada.
1089
1090config CPU_R5432
1091 bool "R5432"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001092 depends on SYS_HAS_CPU_R5432
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001093 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001094 select CPU_SUPPORTS_32BIT_KERNEL
1095 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001096
1097config CPU_R6000
1098 bool "R6000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001099 depends on EXPERIMENTAL
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001100 select CPU_HAS_LLSC
Ralf Baechle7cf80532005-10-20 22:33:09 +01001101 depends on SYS_HAS_CPU_R6000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001102 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001103 help
1104 MIPS Technologies R6000 and R6000A series processors. Note these
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001105 processors are extremely rare and the support for them is incomplete.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001106
1107config CPU_NEVADA
1108 bool "RM52xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001109 depends on SYS_HAS_CPU_NEVADA
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001110 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001111 select CPU_SUPPORTS_32BIT_KERNEL
1112 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001113 help
1114 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1115
1116config CPU_R8000
1117 bool "R8000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001118 depends on EXPERIMENTAL
Ralf Baechle7cf80532005-10-20 22:33:09 +01001119 depends on SYS_HAS_CPU_R8000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001120 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001121 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001122 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001123 help
1124 MIPS Technologies R8000 processors. Note these processors are
1125 uncommon and the support for them is incomplete.
1126
1127config CPU_R10000
1128 bool "R10000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001129 depends on SYS_HAS_CPU_R10000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001130 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001131 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001132 select CPU_SUPPORTS_32BIT_KERNEL
1133 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001134 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001135 help
1136 MIPS Technologies R10000-series processors.
1137
1138config CPU_RM7000
1139 bool "RM7000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001140 depends on SYS_HAS_CPU_RM7000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001141 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001142 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001143 select CPU_SUPPORTS_32BIT_KERNEL
1144 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001145 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001146
1147config CPU_RM9000
1148 bool "RM9000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001149 depends on SYS_HAS_CPU_RM9000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001150 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001151 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001152 select CPU_SUPPORTS_32BIT_KERNEL
1153 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001154 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001155 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001156
1157config CPU_SB1
1158 bool "SB1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001159 depends on SYS_HAS_CPU_SB1
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001160 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001161 select CPU_SUPPORTS_32BIT_KERNEL
1162 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001163 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001164 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001165
1166endchoice
1167
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001168config SYS_HAS_CPU_LOONGSON2
1169 bool
1170
Ralf Baechle7cf80532005-10-20 22:33:09 +01001171config SYS_HAS_CPU_MIPS32_R1
1172 bool
1173
1174config SYS_HAS_CPU_MIPS32_R2
1175 bool
1176
1177config SYS_HAS_CPU_MIPS64_R1
1178 bool
1179
1180config SYS_HAS_CPU_MIPS64_R2
1181 bool
1182
1183config SYS_HAS_CPU_R3000
1184 bool
1185
1186config SYS_HAS_CPU_TX39XX
1187 bool
1188
1189config SYS_HAS_CPU_VR41XX
1190 bool
1191
1192config SYS_HAS_CPU_R4300
1193 bool
1194
1195config SYS_HAS_CPU_R4X00
1196 bool
1197
1198config SYS_HAS_CPU_TX49XX
1199 bool
1200
1201config SYS_HAS_CPU_R5000
1202 bool
1203
1204config SYS_HAS_CPU_R5432
1205 bool
1206
1207config SYS_HAS_CPU_R6000
1208 bool
1209
1210config SYS_HAS_CPU_NEVADA
1211 bool
1212
1213config SYS_HAS_CPU_R8000
1214 bool
1215
1216config SYS_HAS_CPU_R10000
1217 bool
1218
1219config SYS_HAS_CPU_RM7000
1220 bool
1221
1222config SYS_HAS_CPU_RM9000
1223 bool
1224
1225config SYS_HAS_CPU_SB1
1226 bool
1227
Ralf Baechle17099b12007-07-14 13:24:05 +01001228#
1229# CPU may reorder R->R, R->W, W->R, W->W
1230# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1231#
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001232config WEAK_ORDERING
1233 bool
Ralf Baechle17099b12007-07-14 13:24:05 +01001234
1235#
1236# CPU may reorder reads and writes beyond LL/SC
1237# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1238#
1239config WEAK_REORDERING_BEYOND_LLSC
1240 bool
Ralf Baechle5e83d432005-10-29 19:32:41 +01001241endmenu
1242
1243#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001244# These two indicate any level of the MIPS32 and MIPS64 architecture
Ralf Baechle5e83d432005-10-29 19:32:41 +01001245#
1246config CPU_MIPS32
1247 bool
1248 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1249
1250config CPU_MIPS64
1251 bool
1252 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1253
1254#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001255# These two indicate the revision of the architecture, either Release 1 or Release 2
Ralf Baechle5e83d432005-10-29 19:32:41 +01001256#
1257config CPU_MIPSR1
1258 bool
1259 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1260
1261config CPU_MIPSR2
1262 bool
1263 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1264
1265config SYS_SUPPORTS_32BIT_KERNEL
1266 bool
1267config SYS_SUPPORTS_64BIT_KERNEL
1268 bool
1269config CPU_SUPPORTS_32BIT_KERNEL
1270 bool
1271config CPU_SUPPORTS_64BIT_KERNEL
1272 bool
1273
1274menu "Kernel type"
1275
1276choice
1277
1278 prompt "Kernel code model"
1279 help
1280 You should only select this option if you have a workload that
1281 actually benefits from 64-bit processing or if your machine has
1282 large memory. You will only be presented a single option in this
1283 menu if your system does not support both 32-bit and 64-bit kernels.
1284
1285config 32BIT
1286 bool "32-bit kernel"
1287 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1288 select TRAD_SIGNALS
1289 help
1290 Select this option if you want to build a 32-bit kernel.
1291config 64BIT
1292 bool "64-bit kernel"
1293 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1294 help
1295 Select this option if you want to build a 64-bit kernel.
1296
1297endchoice
1298
Linus Torvalds1da177e2005-04-16 15:20:36 -07001299choice
1300 prompt "Kernel page size"
1301 default PAGE_SIZE_4KB
1302
1303config PAGE_SIZE_4KB
1304 bool "4kB"
1305 help
1306 This option select the standard 4kB Linux page size. On some
1307 R3000-family processors this is the only available page size. Using
1308 4kB page size will minimize memory consumption and is therefore
1309 recommended for low memory systems.
1310
1311config PAGE_SIZE_8KB
1312 bool "8kB"
1313 depends on EXPERIMENTAL && CPU_R8000
1314 help
1315 Using 8kB page size will result in higher performance kernel at
1316 the price of higher memory consumption. This option is available
1317 only on the R8000 processor. Not that at the time of this writing
1318 this option is still high experimental; there are also issues with
1319 compatibility of user applications.
1320
1321config PAGE_SIZE_16KB
1322 bool "16kB"
Ralf Baechle714bfad2006-05-17 14:04:30 +01001323 depends on !CPU_R3000 && !CPU_TX39XX
Linus Torvalds1da177e2005-04-16 15:20:36 -07001324 help
1325 Using 16kB page size will result in higher performance kernel at
1326 the price of higher memory consumption. This option is available on
Ralf Baechle714bfad2006-05-17 14:04:30 +01001327 all non-R3000 family processors. Note that you will need a suitable
1328 Linux distribution to support this.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001329
1330config PAGE_SIZE_64KB
1331 bool "64kB"
1332 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1333 help
1334 Using 64kB page size will result in higher performance kernel at
1335 the price of higher memory consumption. This option is available on
1336 all non-R3000 family processor. Not that at the time of this
Ralf Baechle714bfad2006-05-17 14:04:30 +01001337 writing this option is still high experimental.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001338
1339endchoice
1340
1341config BOARD_SCACHE
1342 bool
1343
1344config IP22_CPU_SCACHE
1345 bool
1346 select BOARD_SCACHE
1347
Chris Dearman9318c512006-06-20 17:15:20 +01001348#
1349# Support for a MIPS32 / MIPS64 style S-caches
1350#
1351config MIPS_CPU_SCACHE
1352 bool
1353 select BOARD_SCACHE
1354
Linus Torvalds1da177e2005-04-16 15:20:36 -07001355config R5000_CPU_SCACHE
1356 bool
1357 select BOARD_SCACHE
1358
1359config RM7000_CPU_SCACHE
1360 bool
1361 select BOARD_SCACHE
1362
1363config SIBYTE_DMA_PAGEOPS
1364 bool "Use DMA to clear/copy pages"
1365 depends on CPU_SB1
1366 help
1367 Instead of using the CPU to zero and copy pages, use a Data Mover
1368 channel. These DMA channels are otherwise unused by the standard
1369 SiByte Linux port. Seems to give a small performance benefit.
1370
1371config CPU_HAS_PREFETCH
Ralf Baechlec8094b52005-08-05 14:28:54 +00001372 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001373
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001374choice
1375 prompt "MIPS MT options"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001376
1377config MIPS_MT_DISABLED
1378 bool "Disable multithreading support."
1379 help
1380 Use this option if your workload can't take advantage of
1381 MIPS hardware multithreading support. On systems that don't have
1382 the option of an MT-enabled processor this option will be the only
1383 option in this menu.
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001384
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001385config MIPS_MT_SMP
1386 bool "Use 1 TC on each available VPE for SMP"
1387 depends on SYS_SUPPORTS_MULTITHREADING
1388 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001389 select CPU_MIPSR2_IRQ_EI
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001390 select MIPS_MT
Ralf Baechlef510aa32007-03-16 21:58:37 +00001391 select NR_CPUS_DEFAULT_2
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001392 select SMP
Ralf Baechle0ab7aef2007-03-02 20:42:04 +00001393 select SYS_SUPPORTS_SCHED_SMT if SMP
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001394 select SYS_SUPPORTS_SMP
Ralf Baechle87353d82007-11-19 12:23:51 +00001395 select SMP_UP
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001396 help
1397 This is a kernel model which is also known a VSMP or lately
1398 has been marketesed into SMVP.
1399
Ralf Baechle41c594a2006-04-05 09:45:45 +01001400config MIPS_MT_SMTC
1401 bool "SMTC: Use all TCs on all VPEs for SMP"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001402 depends on CPU_MIPS32_R2
1403 #depends on CPU_MIPS64_R2 # once there is hardware ...
1404 depends on SYS_SUPPORTS_MULTITHREADING
Ralf Baechleea580402007-10-11 23:46:09 +01001405 select GENERIC_CLOCKEVENTS_BROADCAST
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001406 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001407 select CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001408 select MIPS_MT
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001409 select NR_CPUS_DEFAULT_8
Ralf Baechle41c594a2006-04-05 09:45:45 +01001410 select SMP
Ralf Baechle73b76c72006-08-15 19:36:40 +01001411 select SYS_SUPPORTS_SMP
Ralf Baechle87353d82007-11-19 12:23:51 +00001412 select SMP_UP
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001413 help
1414 This is a kernel model which is known a SMTC or lately has been
1415 marketesed into SMVP.
Ralf Baechle41c594a2006-04-05 09:45:45 +01001416
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001417endchoice
1418
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001419config MIPS_MT
1420 bool
1421
Ralf Baechle0ab7aef2007-03-02 20:42:04 +00001422config SCHED_SMT
1423 bool "SMT (multithreading) scheduler support"
1424 depends on SYS_SUPPORTS_SCHED_SMT
1425 default n
1426 help
1427 SMT scheduler support improves the CPU scheduler's decision making
1428 when dealing with MIPS MT enabled cores at a cost of slightly
1429 increased overhead in some places. If unsure say N here.
1430
1431config SYS_SUPPORTS_SCHED_SMT
1432 bool
1433
1434
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001435config SYS_SUPPORTS_MULTITHREADING
1436 bool
1437
Ralf Baechlef088fc82006-04-05 09:45:47 +01001438config MIPS_MT_FPAFF
1439 bool "Dynamic FPU affinity for FP-intensive threads"
Ralf Baechlef088fc82006-04-05 09:45:47 +01001440 default y
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001441 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1442
1443config MIPS_VPE_LOADER
1444 bool "VPE loader support."
1445 depends on SYS_SUPPORTS_MULTITHREADING
1446 select CPU_MIPSR2_IRQ_VI
1447 select CPU_MIPSR2_IRQ_EI
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001448 select MIPS_MT
1449 help
1450 Includes a loader for loading an elf relocatable object
1451 onto another VPE and running it.
Ralf Baechlef088fc82006-04-05 09:45:47 +01001452
Ralf Baechleac8be952007-01-20 00:18:01 +00001453config MIPS_MT_SMTC_INSTANT_REPLAY
1454 bool "Low-latency Dispatch of Deferred SMTC IPIs"
Ralf Baechle619af722007-03-26 15:13:57 +01001455 depends on MIPS_MT_SMTC && !PREEMPT
Ralf Baechleac8be952007-01-20 00:18:01 +00001456 default y
1457 help
1458 SMTC pseudo-interrupts between TCs are deferred and queued
1459 if the target TC is interrupt-inhibited (IXMT). In the first
1460 SMTC prototypes, these queued IPIs were serviced on return
1461 to user mode, or on entry into the kernel idle loop. The
1462 INSTANT_REPLAY option dispatches them as part of local_irq_restore()
1463 processing, which adds runtime overhead (hence the option to turn
1464 it off), but ensures that IPIs are handled promptly even under
1465 heavy I/O interrupt load.
1466
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001467config MIPS_MT_SMTC_IM_BACKSTOP
1468 bool "Use per-TC register bits as backstop for inhibited IM bits"
1469 depends on MIPS_MT_SMTC
1470 default y
1471 help
1472 To support multiple TC microthreads acting as "CPUs" within
1473 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1474 during interrupt handling. To support legacy drivers and interrupt
1475 controller management code, SMTC has a "backstop" to track and
1476 if necessary restore the interrupt mask. This has some performance
1477 impact on interrupt service overhead. Disable it only if you know
1478 what you are doing.
1479
Kevin D. Kissellf571eff2007-08-03 19:38:03 +02001480config MIPS_MT_SMTC_IRQAFF
1481 bool "Support IRQ affinity API"
1482 depends on MIPS_MT_SMTC
1483 default n
1484 help
1485 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1486 for SMTC Linux kernel. Requires platform support, of which
1487 an example can be found in the MIPS kernel i8259 and Malta
1488 platform code. It is recommended that MIPS_MT_SMTC_INSTANT_REPLAY
1489 be enabled if MIPS_MT_SMTC_IRQAFF is used. Adds overhead to
1490 interrupt dispatch, and should be used only if you know what
1491 you are doing.
1492
Ralf Baechlee01402b2005-07-14 15:57:16 +00001493config MIPS_VPE_LOADER_TOM
1494 bool "Load VPE program into memory hidden from linux"
1495 depends on MIPS_VPE_LOADER
1496 default y
1497 help
1498 The loader can use memory that is present but has been hidden from
1499 Linux using the kernel command line option "mem=xxMB". It's up to
1500 you to ensure the amount you put in the option and the space your
1501 program requires is less or equal to the amount physically present.
1502
1503# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1504config MIPS_VPE_APSP_API
Ralf Baechle5e83d432005-10-29 19:32:41 +01001505 bool "Enable support for AP/SP API (RTLX)"
1506 depends on MIPS_VPE_LOADER
1507 help
Ralf Baechlee01402b2005-07-14 15:57:16 +00001508
Ralf Baechle26009902006-04-05 09:45:45 +01001509config MIPS_APSP_KSPD
1510 bool "Enable KSPD"
1511 depends on MIPS_VPE_APSP_API
1512 default y
1513 help
1514 KSPD is a kernel daemon that accepts syscall requests from the SP
1515 side, actions them and returns the results. It also handles the
1516 "exit" syscall notifying other kernel modules the SP program is
1517 exiting. You probably want to say yes here.
1518
Linus Torvalds1da177e2005-04-16 15:20:36 -07001519config SB1_PASS_1_WORKAROUNDS
1520 bool
1521 depends on CPU_SB1_PASS_1
1522 default y
1523
1524config SB1_PASS_2_WORKAROUNDS
1525 bool
1526 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1527 default y
1528
1529config SB1_PASS_2_1_WORKAROUNDS
1530 bool
1531 depends on CPU_SB1 && CPU_SB1_PASS_2
1532 default y
1533
1534config 64BIT_PHYS_ADDR
Ralf Baechled806cb22007-08-02 00:36:08 +01001535 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001536
Linus Torvalds1da177e2005-04-16 15:20:36 -07001537config CPU_HAS_LLSC
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001538 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001539
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001540config CPU_HAS_SMARTMIPS
1541 depends on SYS_SUPPORTS_SMARTMIPS
1542 bool "Support for the SmartMIPS ASE"
1543 help
1544 SmartMIPS is a extension of the MIPS32 architecture aimed at
1545 increased security at both hardware and software level for
1546 smartcards. Enabling this option will allow proper use of the
1547 SmartMIPS instructions by Linux applications. However a kernel with
1548 this option will not work on a MIPS core without SmartMIPS core. If
1549 you don't know you probably don't have SmartMIPS and should say N
1550 here.
1551
Linus Torvalds1da177e2005-04-16 15:20:36 -07001552config CPU_HAS_WB
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001553 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001554
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001555#
1556# Vectored interrupt mode is an R2 feature
1557#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001558config CPU_MIPSR2_IRQ_VI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001559 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001560
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001561#
1562# Extended interrupt mode is an R2 feature
1563#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001564config CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001565 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001566
Linus Torvalds1da177e2005-04-16 15:20:36 -07001567config CPU_HAS_SYNC
1568 bool
1569 depends on !CPU_R3000
1570 default y
1571
Ralf Baechleea580402007-10-11 23:46:09 +01001572config GENERIC_CLOCKEVENTS_BROADCAST
1573 bool
1574
Linus Torvalds1da177e2005-04-16 15:20:36 -07001575#
Maciej W. Rozycki20d60d92007-10-23 12:43:11 +01001576# CPU non-features
1577#
1578config CPU_DADDI_WORKAROUNDS
1579 bool
1580
1581config CPU_R4000_WORKAROUNDS
1582 bool
1583 select CPU_R4400_WORKAROUNDS
1584
1585config CPU_R4400_WORKAROUNDS
1586 bool
1587
1588#
Ralf Baechle797798c2005-08-10 15:17:11 +00001589# Use the generic interrupt handling code in kernel/irq/:
1590#
1591config GENERIC_HARDIRQS
1592 bool
1593 default y
1594
1595config GENERIC_IRQ_PROBE
1596 bool
1597 default y
1598
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001599config IRQ_PER_CPU
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001600 bool
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001601
Ralf Baechle797798c2005-08-10 15:17:11 +00001602#
Linus Torvalds1da177e2005-04-16 15:20:36 -07001603# - Highmem only makes sense for the 32-bit kernel.
1604# - The current highmem code will only work properly on physically indexed
1605# caches such as R3000, SB1, R7000 or those that look like they're virtually
1606# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1607# moment we protect the user and offer the highmem option only on machines
1608# where it's known to be safe. This will not offer highmem on a few systems
1609# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1610# indexed CPUs but we're playing safe.
Ralf Baechle797798c2005-08-10 15:17:11 +00001611# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1612# know they might have memory configurations that could make use of highmem
1613# support.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001614#
1615config HIGHMEM
1616 bool "High Memory Support"
Ralf Baechle797798c2005-08-10 15:17:11 +00001617 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1618
1619config CPU_SUPPORTS_HIGHMEM
1620 bool
1621
1622config SYS_SUPPORTS_HIGHMEM
1623 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001624
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001625config SYS_SUPPORTS_SMARTMIPS
1626 bool
1627
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001628config ARCH_FLATMEM_ENABLE
1629 def_bool y
1630 depends on !NUMA
1631
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001632config ARCH_DISCONTIGMEM_ENABLE
1633 bool
1634 default y if SGI_IP27
1635 help
David Sterba3dde6ad2007-05-09 07:12:20 +02001636 Say Y to support efficient handling of discontiguous physical memory,
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001637 for architectures which are either NUMA (Non-Uniform Memory Access)
1638 or have huge holes in the physical address space for other reasons.
1639 See <file:Documentation/vm/numa> for more.
1640
Ralf Baechlecce335ae2007-11-03 02:05:43 +00001641config ARCH_POPULATES_NODE_MAP
1642 def_bool y
1643
Atsushi Nemotob1c6cd42006-07-03 00:09:47 +09001644config ARCH_SPARSEMEM_ENABLE
1645 bool
Atsushi Nemoto7de58fa2006-07-05 01:22:44 +09001646 select SPARSEMEM_STATIC
Atsushi Nemoto31473742006-07-03 00:09:47 +09001647
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001648config NUMA
1649 bool "NUMA Support"
1650 depends on SYS_SUPPORTS_NUMA
1651 help
1652 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1653 Access). This option improves performance on systems with more
1654 than two nodes; on two node systems it is generally better to
1655 leave it disabled; on single node systems disable this option
1656 disabled.
1657
1658config SYS_SUPPORTS_NUMA
1659 bool
1660
Yasunori Gotoc80d79d2006-04-10 22:53:53 -07001661config NODES_SHIFT
1662 int
1663 default "6"
1664 depends on NEED_MULTIPLE_NODES
1665
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001666source "mm/Kconfig"
1667
Linus Torvalds1da177e2005-04-16 15:20:36 -07001668config SMP
1669 bool "Multi-Processing support"
Ralf Baechlee73ea272006-06-04 11:51:46 +01001670 depends on SYS_SUPPORTS_SMP
Ralf Baechleb4b30a52006-08-03 17:34:24 +01001671 select IRQ_PER_CPU
Jens Axboe2f304c02008-06-17 10:45:23 +02001672 select USE_GENERIC_SMP_HELPERS
Ralf Baechlee73ea272006-06-04 11:51:46 +01001673 help
Linus Torvalds1da177e2005-04-16 15:20:36 -07001674 This enables support for systems with more than one CPU. If you have
1675 a system with only one CPU, like most personal computers, say N. If
1676 you have a system with more than one CPU, say Y.
1677
1678 If you say N here, the kernel will run on single and multiprocessor
1679 machines, but will use only one CPU of a multiprocessor machine. If
1680 you say Y here, the kernel will run on many, but not all,
1681 singleprocessor machines. On a singleprocessor machine, the kernel
1682 will run faster if you say N here.
1683
1684 People using multiprocessor machines who say Y here should also say
1685 Y to "Enhanced Real Time Clock Support", below.
1686
Adrian Bunk03502fa2008-02-03 15:50:21 +02001687 See also the SMP-HOWTO available at
1688 <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001689
1690 If you don't know what to do here, say N.
1691
Ralf Baechle87353d82007-11-19 12:23:51 +00001692config SMP_UP
1693 bool
1694
Ralf Baechlee73ea272006-06-04 11:51:46 +01001695config SYS_SUPPORTS_SMP
1696 bool
1697
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001698config NR_CPUS_DEFAULT_1
1699 bool
1700
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001701config NR_CPUS_DEFAULT_2
1702 bool
1703
1704config NR_CPUS_DEFAULT_4
1705 bool
1706
1707config NR_CPUS_DEFAULT_8
1708 bool
1709
1710config NR_CPUS_DEFAULT_16
1711 bool
1712
1713config NR_CPUS_DEFAULT_32
1714 bool
1715
1716config NR_CPUS_DEFAULT_64
1717 bool
1718
Linus Torvalds1da177e2005-04-16 15:20:36 -07001719config NR_CPUS
1720 int "Maximum number of CPUs (2-64)"
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001721 range 1 64 if NR_CPUS_DEFAULT_1
Linus Torvalds1da177e2005-04-16 15:20:36 -07001722 depends on SMP
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001723 default "1" if NR_CPUS_DEFAULT_1
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001724 default "2" if NR_CPUS_DEFAULT_2
1725 default "4" if NR_CPUS_DEFAULT_4
1726 default "8" if NR_CPUS_DEFAULT_8
1727 default "16" if NR_CPUS_DEFAULT_16
1728 default "32" if NR_CPUS_DEFAULT_32
1729 default "64" if NR_CPUS_DEFAULT_64
Linus Torvalds1da177e2005-04-16 15:20:36 -07001730 help
1731 This allows you to specify the maximum number of CPUs which this
1732 kernel will support. The maximum supported value is 32 for 32-bit
1733 kernel and 64 for 64-bit kernels; the minimum value which makes
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001734 sense is 1 for Qemu (useful only for kernel debugging purposes)
1735 and 2 for all others.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001736
1737 This is purely to save memory - each supported CPU adds
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001738 approximately eight kilobytes to the kernel image. For best
1739 performance should round up your number of processors to the next
1740 power of two.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001741
Ralf Baechle39b8d522008-04-28 17:14:26 +01001742config MIPS_CMP
1743 bool "MIPS CMP framework support"
1744 depends on SMP
1745 select SYNC_R4K
1746 select SYS_SUPPORTS_SCHED_SMT
1747 select WEAK_ORDERING
1748 default n
1749 help
1750 This is a placeholder option for the GCMP work. It will need to
1751 be handled differently...
1752
Atsushi Nemotoc4eee282007-11-12 01:05:16 +09001753source "kernel/time/Kconfig"
1754
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09001755#
1756# Timer Interrupt Frequency Configuration
1757#
1758
1759choice
1760 prompt "Timer frequency"
1761 default HZ_250
1762 help
1763 Allows the configuration of the timer frequency.
1764
1765 config HZ_48
Ralf Baechle0f873582008-02-25 16:55:29 +00001766 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09001767
1768 config HZ_100
1769 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1770
1771 config HZ_128
1772 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1773
1774 config HZ_250
1775 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1776
1777 config HZ_256
1778 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1779
1780 config HZ_1000
1781 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1782
1783 config HZ_1024
1784 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1785
1786endchoice
1787
1788config SYS_SUPPORTS_48HZ
1789 bool
1790
1791config SYS_SUPPORTS_100HZ
1792 bool
1793
1794config SYS_SUPPORTS_128HZ
1795 bool
1796
1797config SYS_SUPPORTS_250HZ
1798 bool
1799
1800config SYS_SUPPORTS_256HZ
1801 bool
1802
1803config SYS_SUPPORTS_1000HZ
1804 bool
1805
1806config SYS_SUPPORTS_1024HZ
1807 bool
1808
1809config SYS_SUPPORTS_ARBIT_HZ
1810 bool
1811 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1812 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1813 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1814 !SYS_SUPPORTS_1024HZ
1815
1816config HZ
1817 int
1818 default 48 if HZ_48
1819 default 100 if HZ_100
1820 default 128 if HZ_128
1821 default 250 if HZ_250
1822 default 256 if HZ_256
1823 default 1000 if HZ_1000
1824 default 1024 if HZ_1024
1825
Ralf Baechlee80de852005-07-11 20:45:51 +00001826source "kernel/Kconfig.preempt"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001827
Linus Torvalds1da177e2005-04-16 15:20:36 -07001828config MIPS_INSANE_LARGE
1829 bool "Support for large 64-bit configurations"
Ralf Baechle875d43e2005-09-03 15:56:16 -07001830 depends on CPU_R10000 && 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001831 help
1832 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1833 previous 64-bit processors which only supported 40 bit / 1TB. If you
1834 need processes of more than 1TB virtual address space, say Y here.
1835 This will result in additional memory usage, so it is not
1836 recommended for normal users.
1837
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001838config KEXEC
1839 bool "Kexec system call (EXPERIMENTAL)"
1840 depends on EXPERIMENTAL
1841 help
1842 kexec is a system call that implements the ability to shutdown your
1843 current kernel, and to start another kernel. It is like a reboot
David Sterba3dde6ad2007-05-09 07:12:20 +02001844 but it is independent of the system firmware. And like a reboot
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001845 you can start any kernel with it, not just Linux.
1846
Matt LaPlante01dd2fb2007-10-20 01:34:40 +02001847 The name comes from the similarity to the exec system call.
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001848
1849 It is an ongoing process to be certain the hardware in a machine
1850 is properly shutdown, so do not be surprised if this code does not
1851 initially work for you. It may help to enable device hotplugging
1852 support. As of this writing the exact hardware interface is
1853 strongly in flux, so no good recommendation can be made.
1854
1855config SECCOMP
1856 bool "Enable seccomp to safely compute untrusted bytecode"
Ralf Baechle293c5bd2007-07-25 16:19:33 +01001857 depends on PROC_FS
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001858 default y
1859 help
1860 This kernel feature is useful for number crunching applications
1861 that may need to compute untrusted bytecode during their
1862 execution. By using pipes or other transports made available to
1863 the process as file descriptors supporting the read/write
1864 syscalls, it's possible to isolate those applications in
1865 their own address space using seccomp. Once seccomp is
1866 enabled via /proc/<pid>/seccomp, it cannot be disabled
1867 and the task is only allowed to execute a few safe syscalls
1868 defined by each seccomp mode.
1869
1870 If unsure, say Y. Only embedded should say N here.
1871
Ralf Baechle5e83d432005-10-29 19:32:41 +01001872endmenu
1873
Linus Torvalds1da177e2005-04-16 15:20:36 -07001874config RWSEM_GENERIC_SPINLOCK
1875 bool
1876 default y
1877
Atsushi Nemoto1df0f0f2006-09-26 23:44:01 +09001878config LOCKDEP_SUPPORT
1879 bool
1880 default y
1881
1882config STACKTRACE_SUPPORT
1883 bool
1884 default y
1885
Ralf Baechleb6c35392005-11-25 11:35:40 +00001886source "init/Kconfig"
1887
Linus Torvalds1da177e2005-04-16 15:20:36 -07001888menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1889
Ralf Baechle5e83d432005-10-29 19:32:41 +01001890config HW_HAS_EISA
1891 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001892config HW_HAS_PCI
1893 bool
1894
1895config PCI
1896 bool "Support for PCI controller"
1897 depends on HW_HAS_PCI
Ralf Baechleabb4ae42007-10-11 23:46:03 +01001898 select PCI_DOMAINS
Linus Torvalds1da177e2005-04-16 15:20:36 -07001899 help
1900 Find out whether you have a PCI motherboard. PCI is the name of a
1901 bus system, i.e. the way the CPU talks to the other stuff inside
1902 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1903 say Y, otherwise N.
1904
Linus Torvalds1da177e2005-04-16 15:20:36 -07001905config PCI_DOMAINS
1906 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001907
1908source "drivers/pci/Kconfig"
1909
1910#
1911# ISA support is now enabled via select. Too many systems still have the one
1912# or other ISA chip on the board that users don't know about so don't expect
1913# users to choose the right thing ...
1914#
1915config ISA
1916 bool
1917
1918config EISA
1919 bool "EISA support"
Ralf Baechle5e83d432005-10-29 19:32:41 +01001920 depends on HW_HAS_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001921 select ISA
Ralf Baechleaa414df2006-11-30 01:14:51 +00001922 select GENERIC_ISA_DMA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001923 ---help---
1924 The Extended Industry Standard Architecture (EISA) bus was
1925 developed as an open alternative to the IBM MicroChannel bus.
1926
1927 The EISA bus provided some of the features of the IBM MicroChannel
1928 bus while maintaining backward compatibility with cards made for
1929 the older ISA bus. The EISA bus saw limited use between 1988 and
1930 1995 when it was made obsolete by the PCI bus.
1931
1932 Say Y here if you are building a kernel for an EISA-based machine.
1933
1934 Otherwise, say N.
1935
1936source "drivers/eisa/Kconfig"
1937
1938config TC
1939 bool "TURBOchannel support"
1940 depends on MACH_DECSTATION
1941 help
1942 TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1943 processors. Documentation on writing device drivers for TurboChannel
1944 is available at:
1945 <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1946
1947#config ACCESSBUS
1948# bool "Access.Bus support"
1949# depends on TC
1950
1951config MMU
1952 bool
1953 default y
1954
Ralf Baechled865bea2007-10-11 23:46:10 +01001955config I8253
1956 bool
1957
Ralf Baechlecce335ae2007-11-03 02:05:43 +00001958config ZONE_DMA32
1959 bool
1960
Linus Torvalds1da177e2005-04-16 15:20:36 -07001961source "drivers/pcmcia/Kconfig"
1962
1963source "drivers/pci/hotplug/Kconfig"
1964
1965endmenu
1966
1967menu "Executable file formats"
1968
1969source "fs/Kconfig.binfmt"
1970
1971config TRAD_SIGNALS
1972 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001973
Linus Torvalds1da177e2005-04-16 15:20:36 -07001974config MIPS32_COMPAT
1975 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
Ralf Baechle875d43e2005-09-03 15:56:16 -07001976 depends on 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001977 help
1978 Select this option if you want Linux/MIPS 32-bit binary
1979 compatibility. Since all software available for Linux/MIPS is
1980 currently 32-bit you should say Y here.
1981
1982config COMPAT
1983 bool
1984 depends on MIPS32_COMPAT
1985 default y
1986
Atsushi Nemoto05e43962006-11-07 18:02:44 +09001987config SYSVIPC_COMPAT
1988 bool
1989 depends on COMPAT && SYSVIPC
1990 default y
1991
Linus Torvalds1da177e2005-04-16 15:20:36 -07001992config MIPS32_O32
1993 bool "Kernel support for o32 binaries"
1994 depends on MIPS32_COMPAT
1995 help
1996 Select this option if you want to run o32 binaries. These are pure
1997 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
1998 existing binaries are in this format.
1999
2000 If unsure, say Y.
2001
2002config MIPS32_N32
2003 bool "Kernel support for n32 binaries"
2004 depends on MIPS32_COMPAT
2005 help
2006 Select this option if you want to run n32 binaries. These are
2007 64-bit binaries using 32-bit quantities for addressing and certain
2008 data that would normally be 64-bit. They are used in special
2009 cases.
2010
2011 If unsure, say N.
2012
2013config BINFMT_ELF32
2014 bool
2015 default y if MIPS32_O32 || MIPS32_N32
2016
Ralf Baechle21162452007-02-09 17:08:58 +00002017endmenu
Linus Torvalds1da177e2005-04-16 15:20:36 -07002018
Ralf Baechle21162452007-02-09 17:08:58 +00002019menu "Power management options"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02002020
Johannes Bergf4cb5702007-12-08 02:14:00 +01002021config ARCH_SUSPEND_POSSIBLE
2022 def_bool y
2023 depends on !SMP
2024
Ralf Baechle21162452007-02-09 17:08:58 +00002025source "kernel/power/Kconfig"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02002026
Linus Torvalds1da177e2005-04-16 15:20:36 -07002027endmenu
2028
Sam Ravnborgd5950b42005-07-11 21:03:49 -07002029source "net/Kconfig"
2030
Linus Torvalds1da177e2005-04-16 15:20:36 -07002031source "drivers/Kconfig"
2032
2033source "fs/Kconfig"
2034
2035source "arch/mips/Kconfig.debug"
2036
2037source "security/Kconfig"
2038
2039source "crypto/Kconfig"
2040
2041source "lib/Kconfig"