NetBSD/i386 on IBM PS/2

About MCA and IBM PS/2

Some early IBM Personal System/2 machines are equipped with MCA bus, IBM proprietary bus technology comparable to speed and features with e.g. PCI, VESA or EISA. This project aims at supporting these i386-based PS/2 machines.

MicroChannel Architecture (MCA) was developed by IBM as full featured system bus for use on theirs servers and personal computers. Besides being used in PS/2, RS/6000 and AS/400, NCR and Apricot also made MCA clones. There is also MCA-based Tandy Model 5000.

However, MCA failed to become significant industry standard (partly due to IBM keeping the technology proprietary) and other vendors went with EISA and eventually with PCI. This bus technology is now considered dead and is not used in any new machines anymore.

MCA supports plug-and-play well, has quite advanced bus mastering capability (to some regard better than PCI), supports up to 65280 device addresses. Supported transfer speeds are up to 160 MBytes/sec on 32-bit MCA.

Original support for MCA-based IBM PS/2 machines was written by Scott D. Telford. His code was used also in several non-NetBSD MCA activities, namely for MCA Linux Project and on FreeBSD. Gregory McGarry was also involved in NetBSD MCA development. Current maintainer of NetBSD MCA is Jaromir Dolecek.

Supported Models

Following models were reported to work so far. It should work on other IBM PS/2 models just fine, provided the machine has at least the 80386 processor (neither 80286 nor 8086/8088 are supported). If you confirm it's working on other models, please let us know, possibly by sending a report to

  • IBM PS/2 model 55
  • IBM PS/2 model 70, revision 03 (80386, 80486)
  • IBM PS/2 model 9595
  • IBM PS/2 model 90/95 E (80586 - P60)

Supported Hardware

Standard on-board devices are supported - this includes:

  • serial port (com)
  • parallel port (lpt)
  • PS/2 keyboard (pckbd)
  • PS/2 mouse (pms, pmsi)
  • integrated VGA (vga)
  • floppy disk controller (fd, fdc)

List of supported MCA devices is on separate page.

If no native MCA driver exists and an ISA variant of the card is supported (check supported ISA devices), it might still work if you configure your kernel appropriately, giving correct I/O and/or memory address and IRQ number. An ultimate goal is to have MCA drivers for all MCA hardware, but this may help you get off ground.

Unsupported hardware

Following is list of devices, which are not supported at the moment, but we get lots of queries about and are likely to be supported "soon":

  • IBM PS/2 MCA SCSI Adapter (have docs and hw, work on driver begun)

There is also other hardware we would like to support, but we lack either the hardware or necessary documentation to write the driver. If you'd be willing to contribute either, let us know via Optionally, you can e-mail maintainers directly.

  • any unsupported non-IBM SCSI cards
  • Olicom 2335 Ethernet Adapter
  • 3Com EtherLink/MC 32 (3c527)
  • DEC EtherWORKS DE210/212 (DEPCA) and similar cards
  • NE/2 clones - Arco Ethernet Adapter AE/2, Compex ENET-16 MC/P (not Novell Ethernet Adapter NE/2 - already have one)
  • D-Link DE-320CT Ethernet Adapter
  • IBM LAN Adapter/A for Ethernet

PS/2 and MCA documentation would be very welcome too, particularly:

  • Personal System/2 and Personal Computer BIOS Interface Technical Reference, IBM Corporation. Second Edition 1988. Order number S68X2341 and supplement 15F2161.
  • Personal System/2 Hardware Interface Technical Reference, IBM Corporation. 1988. Order number 68X2330 with 1991 update number 04G3281.

Generally we would like to support as much different hardware as possible, so please let us know even when you'd be willing to contribute hardware which is not on this list.

Running NetBSD/i386 on a PS/2

IBM PS/2 MCA support is in NetBSD tree since 2000/05/11 and it's being further improved since then. The IBM PS/2 support was greatly enhanced during 2001, and installation bits have been added to i386 sysinst by October 2001. NetBSD 1.6 (released 2002/09/14) includes the IBM PS/2 support. The bits to bootblocks to be able to boot 1.44MB floppies from 2.88MB floppy drives were added to -current on 2002/12/04, and will appear in next release.

If you got problems, ask on mailing list. If you find something working incorrectly, please let us know about the problem e.g. via send-pr.

Back to NetBSD/i386 Port Page