Annotation of www/mvme88k.html, Revision 1.96
1.29 miod 1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2: "http://www.w3.org/TR/html4/loose.dtd">
1.3 fn 3: <html>
1.1 deraadt 4: <head>
5: <title>OpenBSD/mvme88k</title>
1.29 miod 6: <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
1.3 fn 7: <meta name="resource-type" content="document">
8: <meta name="description" content="the OpenBSD/mvme88k page">
9: <meta name="keywords" content="openbsd,mvme88k">
10: <meta name="distribution" content="global">
1.95 miod 11: <meta name="copyright" content="This document copyright 1996-2014 by OpenBSD.">
1.3 fn 12: </head>
13:
1.29 miod 14: <body bgcolor="#ffffff" text="#000000" link="#23238e">
15: <a href="index.html"><img alt="[OpenBSD]" height="30" width="141" src="images/smalltitle.gif" border="0"></a>
16: <p>
17: <h2><font color="#e00000">OpenBSD/mvme88k</font></h2>
18:
19: <hr>
1.3 fn 20:
1.29 miod 21: <p>
1.80 miod 22: OpenBSD/mvme88k is a port of OpenBSD to the systems built upon
23: Motorola's 88xxx-based VME motherboard family.
1.95 miod 24:
25: <p>
26: <strong>The OpenBSD/mvme88k port will be discontinued after the 5.5 release.</strong>
27: </p>
1.1 deraadt 28:
1.29 miod 29: <p>
1.64 miod 30: A mailing list for m88k-based ports is available at
31: <u><font color="#23238e">m88k@openbsd.org</font></u>.
32: To join the OpenBSD/m88k mailing list, send a message body of
33: <b>"subscribe m88k"</b> to
34: <a href="mailto:majordomo@openbsd.org">majordomo@openbsd.org</a>.
35: Please be sure to check our <a href="mail.html">mailing list policy</a> before
36: subscribing.
37:
1.67 nick 38: <a name="toc"></a>
1.29 miod 39: <h3><font color="#0000e0"><i>Table of contents</i></font></h3>
1.3 fn 40: <p>
1.13 smurph 41: <ul>
1.31 jufi 42: <li><a href="#history">History of the port</a>
1.29 miod 43: <li><a href="#status">Current status</a>
44: <li><a href="#projects">Project list</a>
1.56 nick 45: <li><a href="#hardware">Supported hardware</a>
1.29 miod 46: <li><a href="#install">Getting and installing OpenBSD/mvme88k</a>
47: <li><a href="#details">Hardware details</a>
1.13 smurph 48: </ul>
49:
50: <hr>
1.29 miod 51: <a name="history"></a>
52: <h3><font color="#0000e0"><strong>History:</strong></font></h3>
1.13 smurph 53:
54: <p>
1.16 smurph 55: The Motorola 88k processor is said to be the best RISC processor ever
1.17 deraadt 56: devised. Its simplicity and elegance combine to make the mvme88k a
1.89 miod 57: hearty, robust platform.
1.29 miod 58:
1.13 smurph 59: <p>
1.89 miod 60: Unfortunately, the first generation designs (88100) made use of companion chips
61: for cache and virtual memory management, making hardware designs painfully
62: complex (and expensive, at that time). The second generation (88110) addressed
1.91 miod 63: this issue, but was plagued with reliability issues. Eventually, Motorola
1.89 miod 64: seized the opportunity to drop the 88000 line in favour of the PowerPC as soon
65: as possible, although some parts of the 88110 still exist in the PowerPC family
66: processors today.
67:
68: <p>
69: Nivas Madhur started the initial mvme88k port for the MVME187 card, building
70: upon the CMU Mach code running on the 88100-based Omron Luna88k systems.
71: However, he moved on to another employer before his work was ready to be
72: imported into the OpenBSD source tree.
73:
74: <p>
75: This integration work was completed by Dale Rahn, but he did not have enough
76: time to continue working on the port. Steve Murphree, Jr., stepped up, and
77: eventually completed the port to the MVME187 in November 1998.
1.13 smurph 78:
79: <p>
1.29 miod 80: Unfortunately, at the same time, a compiler upgrade from gcc 2.8.1 to
1.80 miod 81: egcs exposed a lot of problems in the mvme88k support in gcc, which
1.29 miod 82: could not be fixed in time for mvme88k to be a supported OpenBSD 2.5
83: release.
1.13 smurph 84:
85: <p>
1.29 miod 86: The lack of an in-tree toolchain did not prevent further work on the port,
87: and a lot of changes were made to the codebase, such as revamped autoconf
1.80 miod 88: and on-board SCSI driver, greatly expanded VME bus support, a working
89: install process that correctly creates a Motorola VID block on the disks,
1.29 miod 90: and support for MVME188 as well as improving support for MVME197.
1.13 smurph 91:
1.34 miod 92: <p>
93: During summer 2003, an effort to fix the toolchain eventually produced a
94: working gcc 2.95 compiler, and allowed the port to be self-hosting again.
1.54 miod 95: With the help of Mark Kettenis, the toolchain effort eventually produced
96: working binutils and gdb in late may 2004.
1.34 miod 97:
1.69 miod 98: <p>
99: Work towards multiprocessor support on the MVME188 boards started in
100: summer 2005 and, after a lot of tedious bugfixing, was eventually
101: completed shortly after the 4.2 release in november 2007.
102:
1.70 miod 103: <p>
104: The next step was getting the 88110-based MVME197 designs to work.
1.80 miod 105: Single-processor kernels started to run reliably in december 2007;
106: multiprocessor support was completed in march 2009, but kept triggering
107: obscure bugs which eventually got tracked down to a processor errata,
108: fixed for good in april 2010.
1.70 miod 109:
1.89 miod 110: <p>
111: The long-awaited switch from the a.out binary format to ELF happened after the
1.93 sthen 112: 5.3 release, with a compiler upgrade to gcc 3.3.6. This work paved the way
1.90 miod 113: for ELF shared libraries support.
1.89 miod 114:
1.29 miod 115: <hr>
116: <a name="status"></a>
117: <h3><font color="#0000e0"><strong>Current status:</strong></font></h3>
118:
1.13 smurph 119: <p>
1.96 ! miod 120: Currently, MVME181, MVME187, MVME188 and MVME197 boards, as well as similar
1.46 miod 121: designs, are booting multi-user, supporting most of the on-board devices.
1.39 david 122: There are still a few caveats; depending on your exact hardware setup,
123: your mileage may vary.
1.13 smurph 124:
1.29 miod 125: <hr>
126: <a name="projects"></a>
127: <h3><font color="#0000e0"><strong>Projects (in no particular order):
128: </strong></font></h3>
1.19 smurph 129:
130: <p>
131: <ul>
1.77 miod 132: <li>Work on unsupported device cards (MVME330, MVME374...).
1.19 smurph 133: </ul>
134:
1.13 smurph 135: <hr>
1.29 miod 136: <a name="hardware"></a>
137: <h3><font color="#0000e0"><strong>Supported hardware:</strong></font></h3>
1.13 smurph 138:
139: <p>
1.29 miod 140: <h4>Supported processor boards</h4>
1.13 smurph 141:
142: <p>
143: <ul>
1.96 ! miod 144: <li><strong>MVME180 <i>``Angelfire''</i> and MVME181</strong><br>
! 145: A low-cost, entry level board, featuring a single 88100 processor, two 88200
! 146: CMMUs and two on-board serial ports.<br>
1.35 miod 147: <li><strong>MVME187</strong><br>
148: A single 88100 processor-based version of the <a href="mvme68k.html">mvme68k</a>
1.36 miod 149: MVME167 and MVME177 boards. Features two 88200 CMMUs with 16KB cache
1.35 miod 150: each, SRAM, and on-board ethernet and SCSI controllers, as well as four serial
151: ports and one parallel port.<br>
1.55 miod 152: <li><strong>MVME188 and MVME188A</strong><br>
1.38 miod 153: Contrary to the other MVME processor boards, this board has no on-board
154: devices; it just acts as a container for an <i>HYPERmodule</i> which provides
1.69 miod 155: one, two or four 88100 processors, and two or four 88200 (16KB cache) or 88204
1.38 miod 156: (64KB cache) CMMUs per processor.<br>
1.55 miod 157: All HYPERmodules combinations are supported, but M88200 1P128 and 1P512 have
158: not been tested.<br>
1.38 miod 159: External cards specific to the MVME188 family provide memory and serial ports.
1.70 miod 160: <br>
1.75 miod 161: Multi-processor kernels are supported on these boards.
1.70 miod 162: <li><strong>MVME197LE</strong><br>
163: An entry-level design similar to the MVME187, but based on the 88110 processor
164: with integrated MMU and cache controller.<br>
165: <li><strong>MVME197SP and MVME197DP</strong><br>
166: Improved versions of the MVME197LE, with one (SP) or two (DP) 88110 processors,
167: and one 88410 external cache controller per processor.<br>
1.80 miod 168: Multi-processor kernels are supported on these boards.
1.13 smurph 169: </ul>
170:
1.29 miod 171: <p>
1.45 miod 172: Besides various Motorola complete systems (<strong>M8120</strong>,
1.76 miod 173: <strong>Series 900</strong>, etc), this port also runs on the
1.45 miod 174: MVME187-based <strong>Triton Dolphin System 100</strong>.
175:
176: <p>
1.29 miod 177: <h4>Supported on-board devices</h4>
1.13 smurph 178:
1.29 miod 179: <p>
1.13 smurph 180: <ul>
1.96 ! miod 181: <li><strong>MVME181</strong>
! 182: <ul>
! 183: <li>on-board serial ports (ttya-ttyb)
! 184: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=dart&manpath=OpenBSD+5.4&sektion=4&arch=mvme88k">dart</a>)
! 185: </ul>
! 186: </li>
1.70 miod 187: <li><strong>MVME187 and MVME197</strong>
1.13 smurph 188: <ul>
1.96 ! miod 189: <li>Cirrus Logic CL2400 serial ports (tty00-tty03/tty07<i>[M8120]</i>)
! 190: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=cl&manpath=OpenBSD+5.4&sektion=4&arch=mvme88k">cl</a>)
1.45 miod 191: <li>Intel 82596CA Ethernet interface
1.96 ! miod 192: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ie&manpath=OpenBSD+5.4&sektion=4&arch=mvme88k">ie</a>)
1.45 miod 193: <li>NCR53c710 SCSI Controller
1.96 ! miod 194: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=osiop&manpath=OpenBSD+5.4&sektion=4&arch=mvme88k">osiop</a>)
1.45 miod 195: <li>128KB SRAM (/dev/sram0)
196: <li>8KB NVRAM (/dev/nvram0)
1.13 smurph 197: </ul>
1.45 miod 198: </li>
199: <li><strong>MVME188</strong>
1.13 smurph 200: <ul>
1.96 ! miod 201: <li>serial ports on <i>SYSCON</i> board (ttya-ttyb)
! 202: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=dart&manpath=OpenBSD+5.4&sektion=4&arch=mvme88k">dart</a>)
1.45 miod 203: <li>2KB NVRAM (/dev/nvram0)
1.13 smurph 204: </ul>
1.45 miod 205: </li>
1.29 miod 206: </ul>
1.13 smurph 207:
1.29 miod 208: <p>
1.45 miod 209: <h4>Supported VME boards</h4>
1.13 smurph 210:
1.29 miod 211: <p>
1.13 smurph 212: <ul>
1.77 miod 213: <li><strong>MVME327A</strong> SCSI and floppy Controller
1.96 ! miod 214: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=vsbic&manpath=OpenBSD+5.4&sektion=4&arch=mvme88k">vsbic</a>),
1.77 miod 215: currently limited to the SCSI interface
1.45 miod 216: <li><strong>MVME328</strong> High Performance SCSI Controller
1.96 ! miod 217: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=vs&manpath=OpenBSD+5.4&sektion=4&arch=mvme88k">vs</a>)
1.45 miod 218: <li><strong>MVME332XT</strong> High Performance Serial I/O Controller
1.42 miod 219: (8 serial ports, 1 parallel port) (vx)
1.45 miod 220: <li><strong>MVME376</strong> Ethernet Communications Controller
1.96 ! miod 221: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=le&manpath=OpenBSD+5.4&sektion=4&arch=mvme88k">le</a>)
1.33 miod 222: </ul>
223:
1.13 smurph 224: <hr>
1.29 miod 225: <a name="install"></a>
226: <h3><font color="#0000e0">
227: <strong>Getting and installing OpenBSD/mvme88k:</strong>
228: </font></h3>
229:
230: <p>
1.52 david 231: The latest supported OpenBSD/mvme88k release is
1.93 sthen 232: <a href="54.html">OpenBSD 5.4</a>.
1.52 david 233: Here are the
1.93 sthen 234: <a href="http://ftp.OpenBSD.org/pub/OpenBSD/5.4/mvme88k/INSTALL.mvme88k">
235: OpenBSD/mvme88k 5.4 installation instructions
1.52 david 236: </a>.
237:
238: <p>
1.38 miod 239: Snapshots are made available from time to time, in
1.92 sthen 240: <a href="http://ftp.OpenBSD.org/pub/OpenBSD/snapshots/mvme88k">this location</a>
1.33 miod 241: as well as in a few
242: <a href="ftp.html">mirrors</a>.
243: Here are the
1.92 sthen 244: <a href="http://ftp.OpenBSD.org/pub/OpenBSD/snapshots/mvme88k/INSTALL.mvme88k">
1.33 miod 245: OpenBSD/mvme88k snapshot installation instructions
246: </a> as well.
1.1 deraadt 247:
1.3 fn 248: <hr>
1.30 miod 249: <a name="details"></a>
1.29 miod 250: <h3><font color="#0000e0"><strong>Hardware details:</strong></font></h3>
1.13 smurph 251:
1.14 smurph 252: <p>
1.29 miod 253: As VME hardware is quite uncommon in the average retail place, and Motorola
254: 881x0-based hardware is even more rare, this section is here to satisfy the
255: well-founded curiosity about the mvme88k hardware.
256:
1.89 miod 257: <!--
1.48 miod 258: <p>
259: A comprehensive reference about the m88k processor and the various designs
260: built upon it is being gathered by Paul Weissmann at
1.57 miod 261: <a href="http://badabada.org/">badabada</a>.
1.89 miod 262: -->
1.48 miod 263:
1.52 david 264: <a name="pics"></a>
1.29 miod 265: <p>
266: Pictures of a Motorola 900 modular chassis, with a 33MHz MVME187 CPU board,
267: 32MB RAM, 4 MVME332XT serial boards, and an Archive 250MB QIC tape drive.
1.14 smurph 268: <ul>
1.29 miod 269: <li><a href="images/mvme187-1.jpg">MVME187 Series 900 (front view)</a>
1.14 smurph 270: <li><a href="images/mvme187-2.jpg">MVME187 Series 900 (rear view)</a>
271: <li><a href="images/mvme187-3.jpg">MVME187 Series 900 (rear view w/terminal)</a>
272: <li><a href="images/mvme187-4.jpg">MVME187 Series 900 (rear view close up)</a>
273: <li><a href="images/mvme188-2.jpg">MVME188 Dual proc board</a>
274: </ul>
1.3 fn 275:
276: </body>
277: </html>