Kconfig 44 KB
Newer Older
Linus Torvalds's avatar
Linus Torvalds committed
1 2 3 4 5 6
config MIPS
	bool
	default y
	# Horrible source of confusion.  Die, die, die ...
	select EMBEDDED

7 8 9 10 11
# shouldn't it be per-subarchitecture?
config ARCH_MAY_HAVE_PC_FDC
	bool
	default y

12 13 14 15
mainmenu "Linux/MIPS Kernel Configuration"

source "init/Kconfig"

16 17 18 19 20 21 22 23 24
config SYS_SUPPORTS_32BIT_KERNEL
	bool
config SYS_SUPPORTS_64BIT_KERNEL
	bool
config CPU_SUPPORTS_32BIT_KERNEL
	bool
config CPU_SUPPORTS_64BIT_KERNEL
	bool

25 26 27 28 29
menu "Kernel type"

choice

	prompt "Kernel code model"
Linus Torvalds's avatar
Linus Torvalds committed
30
	help
31 32 33 34
	  You should only select this option if you have a workload that
	  actually benefits from 64-bit processing or if your machine has
	  large memory.  You will only be presented a single option in this
	  menu if your system does not support both 32-bit and 64-bit kernels.
Linus Torvalds's avatar
Linus Torvalds committed
35

36 37 38 39 40 41
config 32BIT
	bool "32-bit kernel"
	depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
	select TRAD_SIGNALS
	help
	  Select this option if you want to build a 32-bit kernel.
Linus Torvalds's avatar
Linus Torvalds committed
42

43 44 45 46 47
config 64BIT
	bool "64-bit kernel"
	depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
	help
	  Select this option if you want to build a 64-bit kernel.
Linus Torvalds's avatar
Linus Torvalds committed
48

49
endchoice
Linus Torvalds's avatar
Linus Torvalds committed
50

51
endmenu
Linus Torvalds's avatar
Linus Torvalds committed
52 53 54 55 56 57 58 59 60 61

menu "Machine selection"

config MACH_JAZZ
	bool "Support for the Jazz family of machines"
	select ARC
	select ARC32
	select GENERIC_ISA_DMA
	select I8259
	select ISA
62 63
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Linus Torvalds's avatar
Linus Torvalds committed
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
	help
	 This a family of machines based on the MIPS R4030 chipset which was
	 used by several vendors to build RISC/os and Windows NT workstations.
	 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
	 Olivetti M700-10 workstations.

config ACER_PICA_61
	bool "Support for Acer PICA 1 chipset (EXPERIMENTAL)"
	depends on MACH_JAZZ && EXPERIMENTAL
	select DMA_NONCOHERENT
	help
	  This is a machine with a R4400 133/150 MHz CPU. To compile a Linux
	  kernel that runs on these, say Y here. For details about Linux on
	  the MIPS architecture, check out the Linux/MIPS FAQ on the WWW at
	  <http://www.linux-mips.org/>.

config MIPS_MAGNUM_4000
	bool "Support for MIPS Magnum 4000"
	depends on MACH_JAZZ
	select DMA_NONCOHERENT
	help
	  This is a machine with a R4000 100 MHz CPU. To compile a Linux
	  kernel that runs on these, say Y here. For details about Linux on
	  the MIPS architecture, check out the Linux/MIPS FAQ on the WWW at
	  <http://www.linux-mips.org/>.

config OLIVETTI_M700
	bool "Support for Olivetti M700-10"
	depends on MACH_JAZZ
	select DMA_NONCOHERENT
	help
	  This is a machine with a R4000 100 MHz CPU. To compile a Linux
	  kernel that runs on these, say Y here. For details about Linux on
	  the MIPS architecture, check out the Linux/MIPS FAQ on the WWW at
	  <http://www.linux-mips.org/>.

config MACH_VR41XX
101
	bool "Support for NEC VR4100 series based machines"
102 103
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Linus Torvalds's avatar
Linus Torvalds committed
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121

config NEC_CMBVR4133
	bool "Support for NEC CMB-VR4133"
	depends on MACH_VR41XX
	select CPU_VR41XX
	select DMA_NONCOHERENT
	select IRQ_CPU
	select HW_HAS_PCI

config ROCKHOPPER
	bool "Support for Rockhopper baseboard"
	depends on NEC_CMBVR4133
	select I8259
	select HAVE_STD_PC_SERIAL_PORT

config CASIO_E55
	bool "Support for CASIO CASSIOPEIA E-10/15/55/65"
	depends on MACH_VR41XX
122
	select CPU_LITTLE_ENDIAN
Linus Torvalds's avatar
Linus Torvalds committed
123 124 125 126 127 128 129
	select DMA_NONCOHERENT
	select IRQ_CPU
	select ISA

config IBM_WORKPAD
	bool "Support for IBM WorkPad z50"
	depends on MACH_VR41XX
130
	select CPU_LITTLE_ENDIAN
Linus Torvalds's avatar
Linus Torvalds committed
131 132 133 134
	select DMA_NONCOHERENT
	select IRQ_CPU
	select ISA

135 136
config TANBAC_TB022X
	bool "Support for TANBAC VR4131 multichip module and TANBAC VR4131DIMM"
Linus Torvalds's avatar
Linus Torvalds committed
137
	depends on MACH_VR41XX
138
	select CPU_LITTLE_ENDIAN
Linus Torvalds's avatar
Linus Torvalds committed
139 140
	select DMA_NONCOHERENT
	select IRQ_CPU
141
	select HW_HAS_PCI
Linus Torvalds's avatar
Linus Torvalds committed
142
	help
143 144 145 146 147
	  The TANBAC VR4131 multichip module(TB0225) and
	  the TANBAC VR4131DIMM(TB0229) are MIPS-based platforms
	  manufactured by TANBAC.
	  Please refer to <http://www.tanbac.co.jp/>
	  about VR4131 multichip module and VR4131DIMM.
Linus Torvalds's avatar
Linus Torvalds committed
148

149 150 151 152
config TANBAC_TB0226
	bool "Support for TANBAC Mbase(TB0226)"
	depends on TANBAC_TB022X
	select GPIO_VR41XX
Linus Torvalds's avatar
Linus Torvalds committed
153
	help
154 155
	  The TANBAC Mbase(TB0226) is a MIPS-based platform manufactured by TANBAC.
	  Please refer to <http://www.tanbac.co.jp/> about Mbase.
Linus Torvalds's avatar
Linus Torvalds committed
156

157 158 159 160 161 162 163
config TANBAC_TB0287
	bool "Support for TANBAC Mini-ITX DIMM base(TB0287)"
	depends on TANBAC_TB022X
	help
	  The TANBAC Mini-ITX DIMM base(TB0287) is a MIPS-based platform manufactured by TANBAC.
	  Please refer to <http://www.tanbac.co.jp/> about Mini-ITX DIMM base.

Linus Torvalds's avatar
Linus Torvalds committed
164 165
config VICTOR_MPC30X
	bool "Support for Victor MP-C303/304"
166 167
	depends on MACH_VR41XX
	select CPU_LITTLE_ENDIAN
Linus Torvalds's avatar
Linus Torvalds committed
168 169
	select DMA_NONCOHERENT
	select IRQ_CPU
170
	select HW_HAS_PCI
Linus Torvalds's avatar
Linus Torvalds committed
171 172 173 174

config ZAO_CAPCELLA
	bool "Support for ZAO Networks Capcella"
	depends on MACH_VR41XX
175
	select CPU_LITTLE_ENDIAN
Linus Torvalds's avatar
Linus Torvalds committed
176 177
	select DMA_NONCOHERENT
	select IRQ_CPU
178
	select HW_HAS_PCI
Linus Torvalds's avatar
Linus Torvalds committed
179 180 181

config PCI_VR41XX
	bool "Add PCI control unit support of NEC VR4100 series"
182 183 184
	depends on MACH_VR41XX && HW_HAS_PCI
	default y
	select PCI
Linus Torvalds's avatar
Linus Torvalds committed
185 186 187 188 189 190 191 192 193 194 195 196

config VRC4173
	tristate "Add NEC VRC4173 companion chip support"
	depends on MACH_VR41XX && PCI_VR41XX
	---help---
	  The NEC VRC4173 is a companion chip for NEC VR4122/VR4131.

config TOSHIBA_JMR3927
	bool "Support for Toshiba JMR-TX3927 board"
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select SWAP_IO_SPACE
197
	select SYS_SUPPORTS_32BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
198 199

config MIPS_COBALT
200
	bool "Support for Cobalt Server"
Linus Torvalds's avatar
Linus Torvalds committed
201 202 203 204 205
	depends on EXPERIMENTAL
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select I8259
	select IRQ_CPU
206 207
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Linus Torvalds's avatar
Linus Torvalds committed
208 209 210 211 212

config MACH_DECSTATION
	bool "Support for DECstations"
	select BOOT_ELF32
	select DMA_NONCOHERENT
213
	select EARLY_PRINTK
Linus Torvalds's avatar
Linus Torvalds committed
214
	select IRQ_CPU
215 216
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Linus Torvalds's avatar
Linus Torvalds committed
217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237
	---help---
	  This enables support for DEC's MIPS based workstations.  For details
	  see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
	  DECstation porting pages on <http://decstation.unix-ag.org/>.

	  If you have one of the following DECstation Models you definitely
	  want to choose R4xx0 for the CPU Type:

	  	DECstation 5000/50
	  	DECstation 5000/150
	  	DECstation 5000/260
	  	DECsystem 5900/260

	  otherwise choose R3000.

config MIPS_EV64120
	bool "Support for Galileo EV64120 Evaluation board (EXPERIMENTAL)"
	depends on EXPERIMENTAL
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select MIPS_GT64120
238 239
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259
	help
	  This is an evaluation board based on the Galileo GT-64120
	  single-chip system controller that contains a MIPS R5000 compatible
	  core running at 75/100MHz.  Their website is located at
	  <http://www.marvell.com/>.  Say Y here if you wish to build a
	  kernel for this platform.

config EVB_PCI1
	bool "Enable Second PCI (PCI1)"
	depends on MIPS_EV64120

config MIPS_EV96100
	bool "Support for Galileo EV96100 Evaluation board (EXPERIMENTAL)"
	depends on EXPERIMENTAL
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select IRQ_CPU
	select MIPS_GT96100
	select RM7000_CPU_SCACHE
	select SWAP_IO_SPACE
260 261
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
262 263 264 265 266 267 268 269 270 271
	help
	  This is an evaluation board based on the Galileo GT-96100 LAN/WAN
	  communications controllers containing a MIPS R5000 compatible core
	  running at 83MHz. Their website is <http://www.marvell.com/>. Say Y
	  here if you wish to build a kernel for this platform.

config MIPS_IVR
	bool "Support for Globespan IVR board"
	select DMA_NONCOHERENT
	select HW_HAS_PCI
272 273
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Linus Torvalds's avatar
Linus Torvalds committed
274 275 276 277 278 279 280 281 282 283 284 285 286
	help
	  This is an evaluation board built by Globespan to showcase thir
	  iVR (Internet Video Recorder) design. It utilizes a QED RM5231
	  R5000 MIPS core. More information can be found out their website
	  located at <http://www.globespan.net/>. Say Y here if you wish to
	  build a kernel for this platform.

config LASAT
	bool "Support for LASAT Networks platforms"
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select MIPS_GT64120
	select R5000_CPU_SCACHE
287 288
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Linus Torvalds's avatar
Linus Torvalds committed
289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309

config PICVUE
	tristate "PICVUE LCD display driver"
	depends on LASAT

config PICVUE_PROC
	tristate "PICVUE LCD display driver /proc interface"
	depends on PICVUE

config DS1603
	bool "DS1603 RTC driver"
	depends on LASAT

config LASAT_SYSCTL
	bool "LASAT sysctl interface"
	depends on LASAT

config MIPS_ITE8172
	bool "Support for ITE 8172G board"
	select DMA_NONCOHERENT
	select HW_HAS_PCI
310 311
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Linus Torvalds's avatar
Linus Torvalds committed
312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334
	help
	  Ths is an evaluation board made by ITE <http://www.ite.com.tw/>
	  with ATX form factor that utilizes a MIPS R5000 to work with its
	  ITE8172G companion internet appliance chip. The MIPS core can be
	  either a NEC Vr5432 or QED RM5231. Say Y here if you wish to build
	  a kernel for this platform.

config IT8172_REVC
	bool "Support for older IT8172 (Rev C)"
	depends on MIPS_ITE8172
	help
	  Say Y here to support the older, Revision C version of the Integrated
	  Technology Express, Inc. ITE8172 SBC.  Vendor page at
	  <http://www.ite.com.tw/ia/brief_it8172bsp.htm>; picture of the
	  board at <http://www.mvista.com/partners/semiconductor/ite.html>.

config MIPS_ATLAS
	bool "Support for MIPS Atlas board"
	select BOOT_ELF32
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select MIPS_GT64120
	select SWAP_IO_SPACE
335 336
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
337 338 339 340 341 342 343 344 345 346 347 348 349 350
	help
	  This enables support for the QED R5231-based MIPS Atlas evaluation
	  board.

config MIPS_MALTA
	bool "Support for MIPS Malta board"
	select BOOT_ELF32
	select HAVE_STD_PC_SERIAL_PORT
	select DMA_NONCOHERENT
	select GENERIC_ISA_DMA
	select HW_HAS_PCI
	select I8259
	select MIPS_GT64120
	select SWAP_IO_SPACE
351 352
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
353 354 355 356 357 358 359 360 361
	help
	  This enables support for the VR5000-based MIPS Malta evaluation
	  board.

config MIPS_SEAD
	bool "Support for MIPS SEAD board (EXPERIMENTAL)"
	depends on EXPERIMENTAL
	select IRQ_CPU
	select DMA_NONCOHERENT
362 363
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
364 365 366 367 368 369 370 371 372 373

config MOMENCO_OCELOT
	bool "Support for Momentum Ocelot board"
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select IRQ_CPU
	select IRQ_CPU_RM7K
	select MIPS_GT64120
	select RM7000_CPU_SCACHE
	select SWAP_IO_SPACE
374 375
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
376 377 378 379 380 381 382 383 384 385 386 387 388
	help
	  The Ocelot is a MIPS-based Single Board Computer (SBC) made by
	  Momentum Computer <http://www.momenco.com/>.

config MOMENCO_OCELOT_G
	bool "Support for Momentum Ocelot-G board"
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select IRQ_CPU
	select IRQ_CPU_RM7K
	select PCI_MARVELL
	select RM7000_CPU_SCACHE
	select SWAP_IO_SPACE
389 390
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
391 392 393 394 395 396 397 398 399 400 401 402 403
	help
	  The Ocelot is a MIPS-based Single Board Computer (SBC) made by
	  Momentum Computer <http://www.momenco.com/>.

config MOMENCO_OCELOT_C
	bool "Support for Momentum Ocelot-C board"
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select IRQ_CPU
	select IRQ_MV64340
	select PCI_MARVELL
	select RM7000_CPU_SCACHE
	select SWAP_IO_SPACE
404 405
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
406 407 408 409 410 411 412 413 414 415 416 417 418 419 420
	help
	  The Ocelot is a MIPS-based Single Board Computer (SBC) made by
	  Momentum Computer <http://www.momenco.com/>.

config MOMENCO_OCELOT_3
	bool "Support for Momentum Ocelot-3 board"
	select BOOT_ELF32
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select IRQ_CPU
	select IRQ_CPU_RM7K
	select IRQ_MV64340
	select PCI_MARVELL
	select RM7000_CPU_SCACHE
	select SWAP_IO_SPACE
421 422
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438
	help
	  The Ocelot-3 is based off Discovery III System Controller and
	  PMC-Sierra Rm79000 core.

config MOMENCO_JAGUAR_ATX
	bool "Support for Momentum Jaguar board"
	select BOOT_ELF32
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select IRQ_CPU
	select IRQ_CPU_RM7K
	select IRQ_MV64340
	select LIMITED_DMA
	select PCI_MARVELL
	select RM7000_CPU_SCACHE
	select SWAP_IO_SPACE
439 440
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459
	help
	  The Jaguar ATX is a MIPS-based Single Board Computer (SBC) made by
	  Momentum Computer <http://www.momenco.com/>.

config JAGUAR_DMALOW
	bool "Low DMA Mode"
	depends on MOMENCO_JAGUAR_ATX
	help
	  Select to Y if jump JP5 is set on your board, N otherwise.  Normally
	  the jumper is set, so if you feel unsafe, just say Y.

config PMC_YOSEMITE
	bool "Support for PMC-Sierra Yosemite eval board"
	select DMA_COHERENT
	select HW_HAS_PCI
	select IRQ_CPU
	select IRQ_CPU_RM7K
	select IRQ_CPU_RM9K
	select SWAP_IO_SPACE
460 461
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478
	help
	  Yosemite is an evaluation board for the RM9000x2 processor
	  manufactured by PMC-Sierra

config HYPERTRANSPORT
	bool "Hypertransport Support for PMC-Sierra Yosemite"
	depends on PMC_YOSEMITE

config DDB5074
	bool "Support for NEC DDB Vrc-5074 (EXPERIMENTAL)"
	depends on EXPERIMENTAL
	select DMA_NONCOHERENT
	select HAVE_STD_PC_SERIAL_PORT
	select HW_HAS_PCI
	select IRQ_CPU
	select I8259
	select ISA
479 480
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
481 482 483 484 485 486 487 488 489 490 491 492
	help
	  This enables support for the VR5000-based NEC DDB Vrc-5074
	  evaluation board.

config DDB5476
	bool "Support for NEC DDB Vrc-5476"
	select DMA_NONCOHERENT
	select HAVE_STD_PC_SERIAL_PORT
	select HW_HAS_PCI
	select IRQ_CPU
	select I8259
	select ISA
493 494
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Linus Torvalds's avatar
Linus Torvalds committed
495 496 497 498 499 500 501 502 503 504 505 506 507 508
	help
	  This enables support for the R5432-based NEC DDB Vrc-5476
	  evaluation board.

	  Features : kernel debugging, serial terminal, NFS root fs, on-board
	  ether port USB, AC97, PCI, PCI VGA card & framebuffer console,
	  IDE controller, PS2 keyboard, PS2 mouse, etc.

config DDB5477
	bool "Support for NEC DDB Vrc-5477"
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select I8259
	select IRQ_CPU
509 510
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Linus Torvalds's avatar
Linus Torvalds committed
511 512 513 514 515 516 517 518 519 520 521 522
	help
	  This enables support for the R5432-based NEC DDB Vrc-5477,
	  or Rockhopper/SolutionGear boards with R5432/R5500 CPUs.

	  Features : kernel debugging, serial terminal, NFS root fs, on-board
	  ether port USB, AC97, PCI, etc.

config DDB5477_BUS_FREQUENCY
	int "bus frequency (in kHZ, 0 for auto-detect)"
	depends on DDB5477
	default 0

523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540
config QEMU
	bool "Support for Qemu"
	select DMA_COHERENT
	select GENERIC_ISA_DMA
	select HAVE_STD_PC_SERIAL_PORT
	select I8259
	select ISA
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	help
	 Qemu is a software emulator which among other architectures also
	 can simulate a MIPS32 4Kc system.  This patch adds support for the
	 system architecture that currently is being simulated by Qemu.  It
	 will eventually be removed again when Qemu has the capability to
	 simulate actual MIPS hardware platforms.  More information on Qemu
	 can be found at http://www.linux-mips.org/wiki/Qemu.

Linus Torvalds's avatar
Linus Torvalds committed
541 542 543 544 545 546 547 548 549
config SGI_IP22
	bool "Support for SGI IP22 (Indy/Indigo2)"
	select ARC
	select ARC32
	select BOOT_ELF32
	select DMA_NONCOHERENT
	select IP22_CPU_SCACHE
	select IRQ_CPU
	select SWAP_IO_SPACE
550 551
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
552 553 554 555 556 557 558 559 560 561 562 563
	help
	  This are the SGI Indy, Challenge S and Indigo2, as well as certain
	  OEM variants like the Tandem CMN B006S. To compile a Linux kernel
	  that runs on these, say Y here.

config SGI_IP27
	bool "Support for SGI IP27 (Origin200/2000)"
	select ARC
	select ARC64
	select DMA_IP27
	select HW_HAS_PCI
	select PCI_DOMAINS
564
	select SYS_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584
	help
	  This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
	  workstations.  To compile a Linux kernel that runs on these, say Y
	  here.

#config SGI_SN0_XXL
#	bool "IP27 XXL"
#	depends on SGI_IP27
#	  This options adds support for userspace processes upto 16TB size.
#	  Normally the limit is just .5TB.

config SGI_SN0_N_MODE
	bool "IP27 N-Mode"
	depends on SGI_IP27
	help
	  The nodes of Origin 200, Origin 2000 and Onyx 2 systems can be
	  configured in either N-Modes which allows for more nodes or M-Mode
	  which allows for more memory.  Your system is most probably
	  running in M-Mode, so you should say N here.

585
config ARCH_DISCONTIGMEM_ENABLE
Linus Torvalds's avatar
Linus Torvalds committed
586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626
	bool
	default y if SGI_IP27
	help
	  Say Y to upport efficient handling of discontiguous physical memory,
	  for architectures which are either NUMA (Non-Uniform Memory Access)
	  or have huge holes in the physical address space for other reasons.
	  See <file:Documentation/vm/numa> for more.

config NUMA
	bool "NUMA Support"
	depends on SGI_IP27
	help
	  Say Y to compile the kernel to support NUMA (Non-Uniform Memory
	  Access).  This option is for configuring high-end multiprocessor
	  server machines.  If in doubt, say N.

config MAPPED_KERNEL
	bool "Mapped kernel support"
	depends on SGI_IP27
	help
	  Change the way a Linux kernel is loaded into memory on a MIPS64
	  machine.  This is required in order to support text replication and
	  NUMA.  If you need to understand it, read the source code.

config REPLICATE_KTEXT
	bool "Kernel text replication support"
	depends on SGI_IP27
	help
	  Say Y here to enable replicating the kernel text across multiple
	  nodes in a NUMA cluster.  This trades memory for speed.

config REPLICATE_EXHANDLERS
	bool "Exception handler replication support"
	depends on SGI_IP27
	help
	  Say Y here to enable replicating the kernel exception handlers
	  across multiple nodes in a NUMA cluster. This trades memory for
	  speed.

config SGI_IP32
	bool "Support for SGI IP32 (O2) (EXPERIMENTAL)"
627
	depends on EXPERIMENTAL
Linus Torvalds's avatar
Linus Torvalds committed
628 629 630 631 632 633 634 635 636
	select ARC
	select ARC32
	select BOOT_ELF32
	select OWN_DMA
	select DMA_IP32
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select R5000_CPU_SCACHE
	select RM7000_CPU_SCACHE
637
	select SYS_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
638 639 640 641 642
	help
	  If you want this kernel to run on SGI O2 workstation, say Y here.

config SOC_AU1X00
	bool "Support for AMD/Alchemy Au1X00 SOCs"
643
	select SYS_SUPPORTS_32BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754

choice
	prompt "Au1X00 SOC Type"
	depends on SOC_AU1X00
	help
	  Say Y here to enable support for one of three AMD/Alchemy
	  SOCs. For additional documentation see www.amd.com.

config SOC_AU1000
	bool "SOC_AU1000"
config SOC_AU1100
	bool "SOC_AU1100"
config SOC_AU1500
	bool "SOC_AU1500"
config SOC_AU1550
	bool "SOC_AU1550"

endchoice

choice
	prompt "AMD/Alchemy Au1x00 board support"
	depends on SOC_AU1X00
	help
	  These are evaluation boards built by AMD/Alchemy to
	  showcase their Au1X00 Internet Edge Processors. The SOC design
	  is based on the MIPS32 architecture running at 266/400/500MHz
	  with many integrated peripherals. Further information can be
	  found at their website, <http://www.amd.com/>. Say Y here if you
	  wish to build a kernel for this platform.

config MIPS_PB1000
	bool "PB1000 board"
	depends on SOC_AU1000
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select SWAP_IO_SPACE

config MIPS_PB1100
	bool "PB1100 board"
	depends on SOC_AU1100
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select SWAP_IO_SPACE

config MIPS_PB1500
	bool "PB1500 board"
	depends on SOC_AU1500
	select DMA_COHERENT
	select HW_HAS_PCI

config MIPS_PB1550
	bool "PB1550 board"
	depends on SOC_AU1550
	select DMA_COHERENT
	select HW_HAS_PCI
	select MIPS_DISABLE_OBSOLETE_IDE

config MIPS_DB1000
	bool "DB1000 board"
	depends on SOC_AU1000
	select DMA_NONCOHERENT
	select HW_HAS_PCI

config MIPS_DB1100
	bool "DB1100 board"
	depends on SOC_AU1100
	select DMA_NONCOHERENT

config MIPS_DB1500
	bool "DB1500 board"
	depends on SOC_AU1500
	select DMA_COHERENT
	select HW_HAS_PCI
	select MIPS_DISABLE_OBSOLETE_IDE

config MIPS_DB1550
	bool "DB1550 board"
	depends on SOC_AU1550
	select HW_HAS_PCI
	select DMA_COHERENT
	select MIPS_DISABLE_OBSOLETE_IDE

config MIPS_BOSPORUS
	bool "Bosporus board"
	depends on SOC_AU1500
	select DMA_NONCOHERENT

config MIPS_MIRAGE
	bool "Mirage board"
	depends on SOC_AU1500
	select DMA_NONCOHERENT

config MIPS_XXS1500
	bool "MyCable XXS1500 board"
	depends on SOC_AU1500
	select DMA_NONCOHERENT

config MIPS_MTX1
	bool "4G Systems MTX-1 board"
	depends on SOC_AU1500
	select HW_HAS_PCI
	select DMA_NONCOHERENT

endchoice

config SIBYTE_SB1xxx_SOC
	bool "Support for Broadcom BCM1xxx SOCs (EXPERIMENTAL)"
	depends on EXPERIMENTAL
	select BOOT_ELF32
	select DMA_COHERENT
	select SWAP_IO_SPACE
755 756
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975

choice
	prompt "BCM1xxx SOC-based board"
	depends on SIBYTE_SB1xxx_SOC
	default SIBYTE_SWARM
	help
	  Enable support for boards based on the SiByte line of SOCs
	  from Broadcom.  There are configurations for the known
	  evaluation boards, or you can choose "Other" and add your
	  own board support code.

config SIBYTE_SWARM
	bool "BCM91250A-SWARM"
	select SIBYTE_SB1250

config SIBYTE_SENTOSA
	bool "BCM91250E-Sentosa"
	select SIBYTE_SB1250

config SIBYTE_RHONE
	bool "BCM91125E-Rhone"
	select SIBYTE_BCM1125H

config SIBYTE_CARMEL
	bool "BCM91120x-Carmel"
	select SIBYTE_BCM1120

config SIBYTE_PTSWARM
	bool "BCM91250PT-PTSWARM"
	select SIBYTE_SB1250

config SIBYTE_LITTLESUR
	bool "BCM91250C2-LittleSur"
	select SIBYTE_SB1250

config SIBYTE_CRHINE
	bool "BCM91120C-CRhine"
	select SIBYTE_BCM1120

config SIBYTE_CRHONE
	bool "BCM91125C-CRhone"
	select SIBYTE_BCM1125

config SIBYTE_UNKNOWN
	bool "Other"

endchoice

config SIBYTE_BOARD
	bool
	depends on SIBYTE_SB1xxx_SOC && !SIBYTE_UNKNOWN
	default y

choice
	prompt "BCM1xxx SOC Type"
	depends on SIBYTE_UNKNOWN
	default SIBYTE_UNK_BCM1250
	help
	  Since you haven't chosen a known evaluation board from
	  Broadcom, you must explicitly pick the SOC this kernel is
	  targetted for.

config SIBYTE_UNK_BCM1250
	bool "BCM1250"
	select SIBYTE_SB1250

config SIBYTE_UNK_BCM1120
	bool "BCM1120"
	select SIBYTE_BCM1120

config SIBYTE_UNK_BCM1125
	bool "BCM1125"
	select SIBYTE_BCM1125

config SIBYTE_UNK_BCM1125H
	bool "BCM1125H"
	select SIBYTE_BCM1125H

endchoice

config SIBYTE_SB1250
	bool
	select HW_HAS_PCI

config SIBYTE_BCM1120
	bool
	select SIBYTE_BCM112X

config SIBYTE_BCM1125
	bool
	select HW_HAS_PCI
	select SIBYTE_BCM112X

config SIBYTE_BCM1125H
	bool
	select HW_HAS_PCI
	select SIBYTE_BCM112X

config SIBYTE_BCM112X
	bool

choice
	prompt "SiByte SOC Stepping"
	depends on SIBYTE_SB1xxx_SOC

config CPU_SB1_PASS_1
	bool "1250 Pass1"
	depends on SIBYTE_SB1250
	select CPU_HAS_PREFETCH

config CPU_SB1_PASS_2_1250
	bool "1250 An"
	depends on SIBYTE_SB1250
	select CPU_SB1_PASS_2
	help
	  Also called BCM1250 Pass 2

config CPU_SB1_PASS_2_2
	bool "1250 Bn"
	depends on SIBYTE_SB1250
	select CPU_HAS_PREFETCH
	help
	  Also called BCM1250 Pass 2.2

config CPU_SB1_PASS_4
	bool "1250 Cn"
	depends on SIBYTE_SB1250
	select CPU_HAS_PREFETCH
	help
	  Also called BCM1250 Pass 3

config CPU_SB1_PASS_2_112x
	bool "112x Hybrid"
	depends on SIBYTE_BCM112X
	select CPU_SB1_PASS_2

config CPU_SB1_PASS_3
	bool "112x An"
	depends on SIBYTE_BCM112X
	select CPU_HAS_PREFETCH

endchoice

config CPU_SB1_PASS_2
	bool

config SIBYTE_HAS_LDT
	bool
	depends on PCI && (SIBYTE_SB1250 || SIBYTE_BCM1125H)
	default y

config SIMULATION
	bool "Running under simulation"
	depends on SIBYTE_SB1xxx_SOC
	help
	  Build a kernel suitable for running under the GDB simulator.
	  Primarily adjusts the kernel's notion of time.

config SIBYTE_CFE
	bool "Booting from CFE"
	depends on SIBYTE_SB1xxx_SOC
	help
	  Make use of the CFE API for enumerating available memory,
	  controlling secondary CPUs, and possibly console output.

config SIBYTE_CFE_CONSOLE
	bool "Use firmware console"
	depends on SIBYTE_CFE
	help
	  Use the CFE API's console write routines during boot.  Other console
	  options (VT console, sb1250 duart console, etc.) should not be
	  configured.

config SIBYTE_STANDALONE
	bool
	depends on SIBYTE_SB1xxx_SOC && !SIBYTE_CFE
	default y

config SIBYTE_STANDALONE_RAM_SIZE
	int "Memory size (in megabytes)"
	depends on SIBYTE_STANDALONE
	default "32"

config SIBYTE_BUS_WATCHER
	bool "Support for Bus Watcher statistics"
	depends on SIBYTE_SB1xxx_SOC
	help
	  Handle and keep statistics on the bus error interrupts (COR_ECC,
	  BAD_ECC, IO_BUS).

config SIBYTE_BW_TRACE
	bool "Capture bus trace before bus error"
	depends on SIBYTE_BUS_WATCHER
	help
	  Run a continuous bus trace, dumping the raw data as soon as
	  a ZBbus error is detected.  Cannot work if ZBbus profiling
	  is turned on, and also will interfere with JTAG-based trace
	  buffer activity.  Raw buffer data is dumped to console, and
	  must be processed off-line.

config SIBYTE_SB1250_PROF
	bool "Support for SB1/SOC profiling - SB1/SCD perf counters"
	depends on SIBYTE_SB1xxx_SOC

config SIBYTE_TBPROF
	bool "Support for ZBbus profiling"
	depends on SIBYTE_SB1xxx_SOC

config SNI_RM200_PCI
	bool "Support for SNI RM200 PCI"
	select ARC
	select ARC32
	select BOOT_ELF32
	select DMA_NONCOHERENT
	select GENERIC_ISA_DMA
	select HAVE_STD_PC_SERIAL_PORT
	select HW_HAS_PCI
	select I8259
	select ISA
976 977
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Linus Torvalds's avatar
Linus Torvalds committed
978 979 980 981 982 983 984 985 986 987 988 989 990 991
	help
	  The SNI RM200 PCI was a MIPS-based platform manufactured by Siemens
	  Nixdorf Informationssysteme (SNI), parent company of Pyramid
	  Technology and now in turn merged with Fujitsu.  Say Y here to
	  support this machine type.

config TOSHIBA_RBTX4927
	bool "Support for Toshiba TBTX49[23]7 board"
	select DMA_NONCOHERENT
	select HAS_TXX9_SERIAL
	select HW_HAS_PCI
	select I8259
	select ISA
	select SWAP_IO_SPACE
992 993
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020
	help
	  This Toshiba board is based on the TX4927 processor. Say Y here to
	  support this machine type

config TOSHIBA_FPCIB0
	bool "FPCIB0 Backplane Support"
	depends on TOSHIBA_RBTX4927

config RWSEM_GENERIC_SPINLOCK
	bool
	default y

config RWSEM_XCHGADD_ALGORITHM
	bool

config GENERIC_CALIBRATE_DELAY
	bool
	default y

#
# Select some configuration options automatically based on user selections.
#
config ARC
	bool
	depends on SNI_RM200_PCI || SGI_IP32 || SGI_IP27 || SGI_IP22 || MIPS_MAGNUM_4000 || OLIVETTI_M700 || ACER_PICA_61
	default y

1021
config DMA_COHERENT
Linus Torvalds's avatar
Linus Torvalds committed
1022 1023
	bool

1024
config DMA_IP27
Linus Torvalds's avatar
Linus Torvalds committed
1025 1026
	bool

1027 1028 1029 1030 1031 1032 1033 1034 1035
config DMA_IP32
	bool
	select DMA_NEED_PCI_MAP_STATE

config DMA_NONCOHERENT
	bool
	select DMA_NEED_PCI_MAP_STATE

config DMA_NEED_PCI_MAP_STATE
Linus Torvalds's avatar
Linus Torvalds committed
1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076
	bool

config EARLY_PRINTK
	bool
	depends on MACH_DECSTATION
	default y

config GENERIC_ISA_DMA
	bool
	depends on SNI_RM200_PCI || MIPS_MAGNUM_4000 || OLIVETTI_M700 || ACER_PICA_61 || MIPS_MALTA
	default y

config I8259
	bool
	depends on SNI_RM200_PCI || DDB5477 || DDB5476 || DDB5074 || MACH_JAZZ || MIPS_MALTA || MIPS_COBALT
	default y

config LIMITED_DMA
	bool
	select HIGHMEM

config MIPS_BONITO64
	bool
	depends on MIPS_ATLAS || MIPS_MALTA
	default y

config MIPS_MSC
	bool
	depends on MIPS_ATLAS || MIPS_MALTA
	default y

config MIPS_NILE4
	bool
	depends on LASAT
	default y

config MIPS_DISABLE_OBSOLETE_IDE
	bool

config CPU_LITTLE_ENDIAN
	bool "Generate little endian code"
Adrian Bunk's avatar
Adrian Bunk committed
1077
	default y if ACER_PICA_61 || CASIO_E55 || DDB5074 || DDB5476 || DDB5477 || MACH_DECSTATION || IBM_WORKPAD || LASAT || MIPS_COBALT || MIPS_ITE8172 || MIPS_IVR || SOC_AU1X00 || OLIVETTI_M700 || SNI_RM200_PCI || VICTOR_MPC30X || ZAO_CAPCELLA
Linus Torvalds's avatar
Linus Torvalds committed
1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242
	default n if MIPS_EV64120 || MIPS_EV96100 || MOMENCO_OCELOT || MOMENCO_OCELOT_G || SGI_IP22 || SGI_IP27 || SGI_IP32 || TOSHIBA_JMR3927
	help
	  Some MIPS machines can be configured for either little or big endian
	  byte order. These modes require different kernels. Say Y if your
	  machine is little endian, N if it's a big endian machine.

config IRQ_CPU
	bool

config IRQ_CPU_RM7K
	bool

config IRQ_MV64340
	bool

config DDB5XXX_COMMON
	bool
	depends on DDB5074 || DDB5476 || DDB5477
	default y

config MIPS_BOARDS_GEN
	bool
	depends on MIPS_ATLAS || MIPS_MALTA || MIPS_SEAD
	default y

config MIPS_GT64111
	bool
	depends on MIPS_COBALT
	default y

config MIPS_GT64120
	bool
	depends on MIPS_EV64120 || MIPS_EV96100 || LASAT || MIPS_ATLAS || MIPS_MALTA || MOMENCO_OCELOT
	default y

config MIPS_TX3927
	bool
	depends on TOSHIBA_JMR3927
	select HAS_TXX9_SERIAL
	default y

config PCI_MARVELL
	bool

config ITE_BOARD_GEN
	bool
	depends on MIPS_IVR || MIPS_ITE8172
	default y

config SWAP_IO_SPACE
	bool

#
# Unfortunately not all GT64120 systems run the chip at the same clock.
# As the user for the clock rate and try to minimize the available options.
#
choice
	prompt "Galileo Chip Clock"
	#default SYSCLK_83 if MIPS_EV64120
	depends on MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
	default SYSCLK_83 if MIPS_EV64120
	default SYSCLK_100 if MOMENCO_OCELOT || MOMENCO_OCELOT_G

config SYSCLK_75
	bool "75" if MIPS_EV64120

config SYSCLK_83
	bool "83.3" if MIPS_EV64120

config SYSCLK_100
	bool "100" if MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G

endchoice

config AU1X00_USB_DEVICE
	bool
	depends on MIPS_PB1500 || MIPS_PB1100 || MIPS_PB1000
	default n

config MIPS_GT96100
	bool
	depends on MIPS_EV96100
	default y
	help
	  Say Y here to support the Galileo Technology GT96100 communications
	  controller card.  There is a web page at <http://www.galileot.com/>.

config IT8172_CIR
	bool
	depends on MIPS_ITE8172 || MIPS_IVR
	default y

config IT8712
	bool
	depends on MIPS_ITE8172
	default y

config BOOT_ELF32
	bool
	depends on MACH_DECSTATION || MIPS_ATLAS || MIPS_MALTA || MOMENCO_JAGUAR_ATX || MOMENCO_OCELOT_3 || SIBYTE_SB1xxx_SOC || SGI_IP32 || SGI_IP22 || SNI_RM200_PCI
	default y

config MIPS_L1_CACHE_SHIFT
	int
	default "4" if MACH_DECSTATION
	default "7" if SGI_IP27
	default "5"

config ARC32
	bool
	depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP22 || SGI_IP32
	default y

config HAVE_STD_PC_SERIAL_PORT
	bool

config ARC_CONSOLE
	bool "ARC console support"
	depends on SGI_IP22 || SNI_RM200_PCI

config ARC_MEMORY
	bool
	depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP32
	default y

config ARC_PROMLIB
	bool
	depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP22 || SGI_IP32
	default y

config ARC64
	bool
	depends on SGI_IP27
	default y

config BOOT_ELF64
	bool
	depends on SGI_IP27
	default y

#config MAPPED_PCI_IO y
#	bool
#	depends on SGI_IP27
#	default y

config QL_ISP_A64
	bool
	depends on SGI_IP27
	default y

config TOSHIBA_BOARDS
	bool
	depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927
	default y

endmenu

menu "CPU selection"

choice
	prompt "CPU type"
	default CPU_R4X00

config CPU_MIPS32
	bool "MIPS32"
1243
	select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
1244 1245 1246

config CPU_MIPS64
	bool "MIPS64"
1247 1248
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
1249 1250 1251

config CPU_R3000
	bool "R3000"
1252
	select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
1253 1254 1255 1256 1257 1258 1259 1260 1261 1262
	help
	  Please make sure to pick the right CPU type. Linux/MIPS is not
	  designed to be generic, i.e. Kernels compiled for R3000 CPUs will
	  *not* work on R4000 machines and vice versa.  However, since most
	  of the supported machines have an R4000 (or similar) CPU, R4x00
	  might be a safe bet.  If the resulting kernel does not work,
	  try to recompile with R3000.

config CPU_TX39XX
	bool "R39XX"
1263
	select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
1264 1265 1266

config CPU_VR41XX
	bool "R41xx"
1267 1268
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
1269 1270 1271 1272 1273 1274 1275 1276
	help
	  The options selects support for the NEC VR41xx series of processors.
	  Only choose this option if you have one of these processors as a
	  kernel built with this option will not run on any other type of
	  processor or vice versa.

config CPU_R4300
	bool "R4300"
1277 1278
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
1279 1280 1281 1282 1283
	help
	  MIPS Technologies R4300-series processors.

config CPU_R4X00
	bool "R4x00"
1284 1285
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
1286 1287 1288 1289 1290 1291
	help
	  MIPS Technologies R4000-series processors other than 4300, including
	  the R4000, R4400, R4600, and 4700.

config CPU_TX49XX
	bool "R49XX"
1292 1293
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
1294 1295 1296

config CPU_R5000
	bool "R5000"
1297 1298
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
1299 1300 1301 1302 1303 1304 1305 1306
	help
	  MIPS Technologies R5000-series processors other than the Nevada.

config CPU_R5432
	bool "R5432"

config CPU_R6000
	bool "R6000"
1307 1308
	depends on EXPERIMENTAL
	select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
1309 1310 1311 1312 1313 1314
	help
	  MIPS Technologies R6000 and R6000A series processors.  Note these
	  processors are extremly rare and the support for them is incomplete.

config CPU_NEVADA
	bool "RM52xx"
1315 1316
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
1317 1318 1319 1320 1321
	help
	  QED / PMC-Sierra RM52xx-series ("Nevada") processors.

config CPU_R8000
	bool "R8000"
1322 1323
	depends on EXPERIMENTAL
	select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
1324 1325 1326 1327 1328 1329
	help
	  MIPS Technologies R8000 processors.  Note these processors are
	  uncommon and the support for them is incomplete.

config CPU_R10000
	bool "R10000"
1330 1331
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
1332 1333 1334 1335 1336
	help
	  MIPS Technologies R10000-series processors.

config CPU_RM7000
	bool "RM7000"
1337 1338
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
1339 1340 1341

config CPU_RM9000
	bool "RM9000"
1342 1343
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
1344 1345 1346

config CPU_SB1
	bool "SB1"
1347 1348
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds's avatar
Linus Torvalds committed
1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443

endchoice

choice
	prompt "Kernel page size"
	default PAGE_SIZE_4KB

config PAGE_SIZE_4KB
	bool "4kB"
	help
	 This option select the standard 4kB Linux page size.  On some
	 R3000-family processors this is the only available page size.  Using
	 4kB page size will minimize memory consumption and is therefore
	 recommended for low memory systems.

config PAGE_SIZE_8KB
	bool "8kB"
	depends on EXPERIMENTAL && CPU_R8000
	help
	  Using 8kB page size will result in higher performance kernel at
	  the price of higher memory consumption.  This option is available
	  only on the R8000 processor.  Not that at the time of this writing
	  this option is still high experimental; there are also issues with
	  compatibility of user applications.

config PAGE_SIZE_16KB
	bool "16kB"
	depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
	help
	  Using 16kB page size will result in higher performance kernel at
	  the price of higher memory consumption.  This option is available on
	  all non-R3000 family processor.  Not that at the time of this
	  writing this option is still high experimental; there are also
	  issues with compatibility of user applications.

config PAGE_SIZE_64KB
	bool "64kB"
	depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
	help
	  Using 64kB page size will result in higher performance kernel at
	  the price of higher memory consumption.  This option is available on
	  all non-R3000 family processor.  Not that at the time of this
	  writing this option is still high experimental; there are also
	  issues with compatibility of user applications.

endchoice

config BOARD_SCACHE
	bool

config IP22_CPU_SCACHE
	bool
	select BOARD_SCACHE

config R5000_CPU_SCACHE
	bool
	select BOARD_SCACHE

config RM7000_CPU_SCACHE
	bool
	select BOARD_SCACHE

config SIBYTE_DMA_PAGEOPS
	bool "Use DMA to clear/copy pages"
	depends on CPU_SB1
	help
	  Instead of using the CPU to zero and copy pages, use a Data Mover
	  channel.  These DMA channels are otherwise unused by the standard
	  SiByte Linux port.  Seems to give a small performance benefit.

config CPU_HAS_PREFETCH
	bool "Enable prefetches" if CPU_SB1 && !CPU_SB1_PASS_2
	default y if CPU_MIPS32 || CPU_MIPS64 || CPU_RM7000 || CPU_RM9000 || CPU_R10000

config VTAG_ICACHE
	bool "Support for Virtual Tagged I-cache" if CPU_MIPS64 || CPU_MIPS32
	default y if CPU_SB1

config SB1_PASS_1_WORKAROUNDS
	bool
	depends on CPU_SB1_PASS_1
	default y

config SB1_PASS_2_WORKAROUNDS
	bool
	depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
	default y

config SB1_PASS_2_1_WORKAROUNDS
	bool
	depends on CPU_SB1 && CPU_SB1_PASS_2
	default y

config 64BIT_PHYS_ADDR
	bool "Support for 64-bit physical address space"
1444
	depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT
Linus Torvalds's avatar
Linus Torvalds committed
1445 1446 1447

config CPU_ADVANCED
	bool "Override CPU Options"
1448
	depends on 32BIT
Linus Torvalds's avatar
Linus Torvalds committed
1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501
	help
	  Saying yes here allows you to select support for various features
	  your CPU may or may not have.  Most people should say N here.

config CPU_HAS_LLSC
	bool "ll/sc Instructions available" if CPU_ADVANCED
	default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX
	help
	  MIPS R4000 series and later provide the Load Linked (ll)
	  and Store Conditional (sc) instructions. More information is
	  available at <http://www.go-ecs.com/mips/miptek1.htm>.

	  Say Y here if your CPU has the ll and sc instructions.  Say Y here
	  for better performance, N if you don't know.  You must say Y here
	  for multiprocessor machines.

config CPU_HAS_LLDSCD
	bool "lld/scd Instructions available" if CPU_ADVANCED
	default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX && !CPU_MIPS32
	help
	  Say Y here if your CPU has the lld and scd instructions, the 64-bit
	  equivalents of ll and sc.  Say Y here for better performance, N if
	  you don't know.  You must say Y here for multiprocessor machines.

config CPU_HAS_WB
	bool "Writeback Buffer available" if CPU_ADVANCED
	default y if !CPU_ADVANCED && CPU_R3000 && MACH_DECSTATION
	help
	  Say N here for slightly better performance.  You must say Y here for
	  machines which require flushing of write buffers in software.  Saying
	  Y is the safe option; N may result in kernel malfunction and crashes.

config CPU_HAS_SYNC
	bool
	depends on !CPU_R3000
	default y

#
# - Highmem only makes sense for the 32-bit kernel.
# - The current highmem code will only work properly on physically indexed
#   caches such as R3000, SB1, R7000 or those that look like they're virtually
#   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
#   moment we protect the user and offer the highmem option only on machines
#   where it's known to be safe.  This will not offer highmem on a few systems
#   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
#   indexed CPUs but we're playing safe.
# - We should not offer highmem for system of which we already know that they
#   don't have memory configurations that could gain from highmem support in
#   the kernel because they don't support configurations with RAM at physical
#   addresses > 0x20000000.
#
config HIGHMEM
	bool "High Memory Support"
1502
	depends on 32BIT && (CPU_R3000 || CPU_SB1 || CPU_R7000 || CPU_RM9000 || CPU_R10000) && !(MACH_DECSTATION || MOMENCO_JAGUAR_ATX)
Linus Torvalds's avatar
Linus Torvalds committed
1503

1504 1505 1506 1507 1508 1509
config ARCH_FLATMEM_ENABLE
	def_bool y
	depends on !NUMA

source "mm/Kconfig"

Linus Torvalds's avatar
Linus Torvalds committed
1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561
config SMP
	bool "Multi-Processing support"
	depends on CPU_RM9000 || (SIBYTE_SB1250 && !SIBYTE_STANDALONE) || SGI_IP27
	---help---
	  This enables support for systems with more than one CPU. If you have
	  a system with only one CPU, like most personal computers, say N. If
	  you have a system with more than one CPU, say Y.

	  If you say N here, the kernel will run on single and multiprocessor
	  machines, but will use only one CPU of a multiprocessor machine. If
	  you say Y here, the kernel will run on many, but not all,
	  singleprocessor machines. On a singleprocessor machine, the kernel
	  will run faster if you say N here.

	  People using multiprocessor machines who say Y here should also say
	  Y to "Enhanced Real Time Clock Support", below.

	  See also the <file:Documentation/smp.txt> and the SMP-HOWTO
	  available at <http://www.tldp.org/docs.html#howto>.

	  If you don't know what to do here, say N.

config NR_CPUS
	int "Maximum number of CPUs (2-64)"
	range 2 64
	depends on SMP
	default "64" if SGI_IP27
	default "2"
	help
	  This allows you to specify the maximum number of CPUs which this
	  kernel will support.  The maximum supported value is 32 for 32-bit
	  kernel and 64 for 64-bit kernels; the minimum value which makes
	  sense is 2.

	  This is purely to save memory - each supported CPU adds
	  approximately eight kilobytes to the kernel image.

config PREEMPT
	bool "Preemptible Kernel"
	help
	  This option reduces the latency of the kernel when reacting to
	  real-time or interactive events by allowing a low priority process to
	  be preempted even if it is in kernel mode executing a system call.
	  This allows applications to run more reliably even when the system is
	  under load.

config RTC_DS1742
	bool "DS1742 BRAM/RTC support"
	depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927

config MIPS_INSANE_LARGE
	bool "Support for large 64-bit configurations"
1562
	depends on CPU_R10000 && 64BIT
Linus Torvalds's avatar
Linus Torvalds committed
1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662
	help
	  MIPS R10000 does support a 44 bit / 16TB address space as opposed to
	  previous 64-bit processors which only supported 40 bit / 1TB. If you
	  need processes of more than 1TB virtual address space, say Y here.
	  This will result in additional memory usage, so it is not
	  recommended for normal users.

config RWSEM_GENERIC_SPINLOCK
	bool
	default y

endmenu

menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"

config HW_HAS_PCI
	bool

config PCI
	bool "Support for PCI controller"
	depends on HW_HAS_PCI
	help
	  Find out whether you have a PCI motherboard. PCI is the name of a
	  bus system, i.e. the way the CPU talks to the other stuff inside
	  your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
	  say Y, otherwise N.

	  The PCI-HOWTO, available from
	  <http://www.tldp.org/docs.html#howto>, contains valuable
	  information about which PCI hardware does work under Linux and which
	  doesn't.

config PCI_DOMAINS
	bool
	depends on PCI

source "drivers/pci/Kconfig"

#
# ISA support is now enabled via select.  Too many systems still have the one
# or other ISA chip on the board that users don't know about so don't expect
# users to choose the right thing ...
#
config ISA
	bool

config EISA
	bool "EISA support"
	depends on SGI_IP22 || SNI_RM200_PCI
	select ISA
	---help---
	  The Extended Industry Standard Architecture (EISA) bus was
	  developed as an open alternative to the IBM MicroChannel bus.

	  The EISA bus provided some of the features of the IBM MicroChannel
	  bus while maintaining backward compatibility with cards made for
	  the older ISA bus.  The EISA bus saw limited use between 1988 and
	  1995 when it was made obsolete by the PCI bus.

	  Say Y here if you are building a kernel for an EISA-based machine.

	  Otherwise, say N.

source "drivers/eisa/Kconfig"

config TC
	bool "TURBOchannel support"
	depends on MACH_DECSTATION
	help
	  TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
	  processors.  Documentation on writing device drivers for TurboChannel
	  is available at:
	  <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.

#config ACCESSBUS
#	bool "Access.Bus support"
#	depends on TC

config MMU
	bool
	default y

config MCA
	bool

config SBUS
	bool

source "drivers/pcmcia/Kconfig"

source "drivers/pci/hotplug/Kconfig"

endmenu

menu "Executable file formats"

source "fs/Kconfig.binfmt"

config TRAD_SIGNALS
	bool
1663
	default y if 32BIT
Linus Torvalds's avatar
Linus Torvalds committed
1664 1665 1666

config BUILD_ELF64
	bool "Use 64-bit ELF format for building"
1667
	depends on 64BIT
Linus Torvalds's avatar
Linus Torvalds committed
1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681
	help
	  A 64-bit kernel is usually built using the 64-bit ELF binary object
	  format as it's one that allows arbitrary 64-bit constructs.  For
	  kernels that are loaded within the KSEG compatibility segments the
	  32-bit ELF format can optionally be used resulting in a somewhat
	  smaller binary, but this option is not explicitly supported by the
	  toolchain and since binutils 2.14 it does not even work at all.

	  Say Y to use the 64-bit format or N to use the 32-bit one.

	  If unsure say Y.

config BINFMT_IRIX
	bool "Include IRIX binary compatibility"
1682
	depends on !CPU_LITTLE_ENDIAN && 32BIT && BROKEN
Linus Torvalds's avatar
Linus Torvalds committed
1683 1684 1685

config MIPS32_COMPAT
	bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
1686
	depends on 64BIT
Linus Torvalds's avatar
Linus Torvalds committed
1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727
	help
	  Select this option if you want Linux/MIPS 32-bit binary
	  compatibility. Since all software available for Linux/MIPS is
	  currently 32-bit you should say Y here.

config COMPAT
	bool
	depends on MIPS32_COMPAT
	default y

config MIPS32_O32
	bool "Kernel support for o32 binaries"
	depends on MIPS32_COMPAT
	help
	  Select this option if you want to run o32 binaries.  These are pure
	  32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
	  existing binaries are in this format.

	  If unsure, say Y.

config MIPS32_N32
	bool "Kernel support for n32 binaries"
	depends on MIPS32_COMPAT
	help
	  Select this option if you want to run n32 binaries.  These are
	  64-bit binaries using 32-bit quantities for addressing and certain
	  data that would normally be 64-bit.  They are used in special
	  cases.

	  If unsure, say N.

config BINFMT_ELF32
	bool
	default y if MIPS32_O32 || MIPS32_N32

config PM
	bool "Power Management support (EXPERIMENTAL)"
	depends on EXPERIMENTAL && MACH_AU1X00

endmenu

1728 1729
source "net/Kconfig"

Linus Torvalds's avatar
Linus Torvalds committed
1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751
source "drivers/Kconfig"

source "fs/Kconfig"

source "arch/mips/Kconfig.debug"

source "security/Kconfig"

source "crypto/Kconfig"

source "lib/Kconfig"

#
# Use the generic interrupt handling code in kernel/irq/:
#
config GENERIC_HARDIRQS
	bool
	default y

config GENERIC_IRQ_PROBE
	bool
	default y
1752 1753 1754 1755

config ISA_DMA_API
	bool
	default y