[BACK]Return to mvme88k.html CVS log [TXT][DIR] Up to [local] / www

Annotation of www/mvme88k.html, Revision 1.115

1.112     bentley     1: <!doctype html>
                      2: <html lang=en id=platform>
                      3: <meta charset=utf-8>
                      4:
1.1       deraadt     5: <title>OpenBSD/mvme88k</title>
1.3       fn          6: <meta name="description" content="the OpenBSD/mvme88k page">
1.106     tb          7: <meta name="viewport" content="width=device-width, initial-scale=1">
                      8: <link rel="stylesheet" type="text/css" href="openbsd.css">
1.107     tb          9: <link rel="canonical" href="https://www.openbsd.org/mvme88k.html">
1.3       fn         10:
1.29      miod       11:
1.112     bentley    12: <h2 id=OpenBSD>
1.106     tb         13: <a href="index.html">
1.112     bentley    14: <i>Open</i><b>BSD</b></a>
                     15: mvme88k
1.106     tb         16: </h2>
1.29      miod       17: <hr>
1.112     bentley    18:
                     19: <table><tr><td>
1.106     tb         20: <p>
1.80      miod       21: OpenBSD/mvme88k is a port of OpenBSD to the systems built upon
                     22: Motorola's 88xxx-based VME motherboard family.
1.112     bentley    23:
1.105     deraadt    24: <p>
1.98      miod       25: <strong>The OpenBSD/mvme88k port has been discontinued after the 5.5 release.</strong>
1.112     bentley    26: </table>
1.1       deraadt    27:
1.105     deraadt    28: <hr>
1.13      smurph     29:
1.112     bentley    30: <h3 id="history"><strong>History:</strong></h3>
1.13      smurph     31:
                     32: <p>
1.114     deraadt    33: The Motorola 88k processor is said to be the best RISC processor ever
                     34: devised.  Its simplicity and elegance combine to make the mvme88k a
1.89      miod       35: hearty, robust platform.
1.29      miod       36:
1.13      smurph     37: <p>
1.89      miod       38: Unfortunately, the first generation designs (88100) made use of companion chips
                     39: for cache and virtual memory management, making hardware designs painfully
                     40: complex (and expensive, at that time).  The second generation (88110) addressed
1.91      miod       41: this issue, but was plagued with reliability issues.  Eventually, Motorola
1.89      miod       42: seized the opportunity to drop the 88000 line in favour of the PowerPC as soon
                     43: as possible, although some parts of the 88110 still exist in the PowerPC family
                     44: processors today.
                     45:
                     46: <p>
                     47: Nivas Madhur started the initial mvme88k port for the MVME187 card, building
                     48: upon the CMU Mach code running on the 88100-based Omron Luna88k systems.
                     49: However, he moved on to another employer before his work was ready to be
                     50: imported into the OpenBSD source tree.
                     51:
                     52: <p>
                     53: This integration work was completed by Dale Rahn, but he did not have enough
                     54: time to continue working on the port.  Steve Murphree, Jr., stepped up, and
                     55: eventually completed the port to the MVME187 in November 1998.
1.13      smurph     56:
                     57: <p>
1.29      miod       58: Unfortunately, at the same time, a compiler upgrade from gcc 2.8.1 to
1.80      miod       59: egcs exposed a lot of problems in the mvme88k support in gcc, which
1.29      miod       60: could not be fixed in time for mvme88k to be a supported OpenBSD 2.5
                     61: release.
1.13      smurph     62:
                     63: <p>
1.29      miod       64: The lack of an in-tree toolchain did not prevent further work on the port,
                     65: and a lot of changes were made to the codebase, such as revamped autoconf
1.80      miod       66: and on-board SCSI driver, greatly expanded VME bus support, a working
                     67: install process that correctly creates a Motorola VID block on the disks,
1.29      miod       68: and support for MVME188 as well as improving support for MVME197.
1.13      smurph     69:
1.34      miod       70: <p>
                     71: During summer 2003, an effort to fix the toolchain eventually produced a
                     72: working gcc 2.95 compiler, and allowed the port to be self-hosting again.
1.54      miod       73: With the help of Mark Kettenis, the toolchain effort eventually produced
                     74: working binutils and gdb in late may 2004.
1.34      miod       75:
1.69      miod       76: <p>
                     77: Work towards multiprocessor support on the MVME188 boards started in
                     78: summer 2005 and, after a lot of tedious bugfixing, was eventually
                     79: completed shortly after the 4.2 release in november 2007.
                     80:
1.70      miod       81: <p>
                     82: The next step was getting the 88110-based MVME197 designs to work.
1.80      miod       83: Single-processor kernels started to run reliably in december 2007;
                     84: multiprocessor support was completed in march 2009, but kept triggering
                     85: obscure bugs which eventually got tracked down to a processor errata,
                     86: fixed for good in april 2010.
1.70      miod       87:
1.89      miod       88: <p>
                     89: The long-awaited switch from the a.out binary format to ELF happened after the
1.93      sthen      90: 5.3 release, with a compiler upgrade to gcc 3.3.6.  This work paved the way
1.90      miod       91: for ELF shared libraries support.
1.89      miod       92:
1.29      miod       93: <hr>
1.112     bentley    94: <h3 id="status"><strong>Current status:</strong></h3>
1.29      miod       95:
1.13      smurph     96: <p>
1.96      miod       97: Currently, MVME181, MVME187, MVME188 and MVME197 boards, as well as similar
1.46      miod       98: designs, are booting multi-user, supporting most of the on-board devices.
1.39      david      99: There are still a few caveats; depending on your exact hardware setup,
                    100: your mileage may vary.
1.19      smurph    101:
1.13      smurph    102: <hr>
1.112     bentley   103: <h3 id="hardware"><strong>Supported hardware:</strong></h3>
1.13      smurph    104:
1.29      miod      105: <h4>Supported processor boards</h4>
1.13      smurph    106:
                    107: <ul>
1.112     bentley   108: <li><strong>MVME180 <i>"Angelfire"</i> and MVME181</strong><br>
1.96      miod      109: A low-cost, entry level board, featuring a single 88100 processor, two 88200
                    110: CMMUs and two on-board serial ports.<br>
1.35      miod      111: <li><strong>MVME187</strong><br>
                    112: A single 88100 processor-based version of the <a href="mvme68k.html">mvme68k</a>
1.36      miod      113: MVME167 and MVME177 boards. Features two 88200 CMMUs with 16KB cache
1.35      miod      114: each, SRAM, and on-board ethernet and SCSI controllers, as well as four serial
                    115: ports and one parallel port.<br>
1.55      miod      116: <li><strong>MVME188 and MVME188A</strong><br>
1.38      miod      117: Contrary to the other MVME processor boards, this board has no on-board
                    118: devices; it just acts as a container for an <i>HYPERmodule</i> which provides
1.69      miod      119: one, two or four 88100 processors, and two or four 88200 (16KB cache) or 88204
1.38      miod      120: (64KB cache) CMMUs per processor.<br>
1.55      miod      121: All HYPERmodules combinations are supported, but M88200 1P128 and 1P512 have
                    122: not been tested.<br>
1.38      miod      123: External cards specific to the MVME188 family provide memory and serial ports.
1.70      miod      124: <br>
1.75      miod      125: Multi-processor kernels are supported on these boards.
1.70      miod      126: <li><strong>MVME197LE</strong><br>
                    127: An entry-level design similar to the MVME187, but based on the 88110 processor
                    128: with integrated MMU and cache controller.<br>
                    129: <li><strong>MVME197SP and MVME197DP</strong><br>
                    130: Improved versions of the MVME197LE, with one (SP) or two (DP) 88110 processors,
                    131: and one 88410 external cache controller per processor.<br>
1.80      miod      132: Multi-processor kernels are supported on these boards.
1.13      smurph    133: </ul>
                    134:
1.29      miod      135: <p>
1.45      miod      136: Besides various Motorola complete systems (<strong>M8120</strong>,
1.76      miod      137: <strong>Series 900</strong>, etc), this port also runs on the
1.45      miod      138: MVME187-based <strong>Triton Dolphin System 100</strong>.
                    139:
1.29      miod      140: <h4>Supported on-board devices</h4>
1.13      smurph    141:
                    142: <ul>
1.96      miod      143: <li><strong>MVME181</strong>
                    144:   <ul>
                    145:   <li>on-board serial ports (ttya-ttyb)
1.112     bentley   146: (<a href="https://man.openbsd.org/OpenBSD-5.5/mvme88k/dart.4">dart</a>)
1.96      miod      147:   </ul>
1.113     deraadt   148:
1.70      miod      149: <li><strong>MVME187 and MVME197</strong>
1.13      smurph    150:   <ul>
1.96      miod      151:   <li>Cirrus Logic CL2400 serial ports (tty00-tty03/tty07<i>[M8120]</i>)
1.112     bentley   152: (<a href="https://man.openbsd.org/OpenBSD-5.5/mvme88k/cl.4">cl</a>)
1.45      miod      153:   <li>Intel 82596CA Ethernet interface
1.112     bentley   154: (<a href="https://man.openbsd.org/OpenBSD-5.5/mvme88k/ie.4">ie</a>)
1.45      miod      155:   <li>NCR53c710 SCSI Controller
1.112     bentley   156: (<a href="https://man.openbsd.org/OpenBSD-5.5/mvme88k/osiop.4">osiop</a>)
1.45      miod      157:   <li>128KB SRAM (/dev/sram0)
                    158:   <li>8KB NVRAM (/dev/nvram0)
1.13      smurph    159:   </ul>
1.113     deraadt   160:
1.45      miod      161: <li><strong>MVME188</strong>
1.13      smurph    162:   <ul>
1.96      miod      163:   <li>serial ports on <i>SYSCON</i> board (ttya-ttyb)
1.112     bentley   164: (<a href="https://man.openbsd.org/OpenBSD-5.5/mvme88k/dart.4">dart</a>)
1.45      miod      165:   <li>2KB NVRAM (/dev/nvram0)
1.13      smurph    166:   </ul>
1.113     deraadt   167:
1.29      miod      168: </ul>
1.13      smurph    169:
1.45      miod      170: <h4>Supported VME boards</h4>
1.13      smurph    171:
                    172: <ul>
1.77      miod      173:   <li><strong>MVME327A</strong> SCSI and floppy Controller
1.112     bentley   174: (<a href="https://man.openbsd.org/OpenBSD-5.5/mvme88k/vsbic.4">vsbic</a>),
1.77      miod      175: currently limited to the SCSI interface
1.45      miod      176:   <li><strong>MVME328</strong> High Performance SCSI Controller
1.112     bentley   177: (<a href="https://man.openbsd.org/OpenBSD-5.5/mvme88k/vs.4">vs</a>)
1.45      miod      178:   <li><strong>MVME332XT</strong> High Performance Serial I/O Controller
1.42      miod      179:        (8 serial ports, 1 parallel port) (vx)
1.45      miod      180:   <li><strong>MVME376</strong> Ethernet Communications Controller
1.112     bentley   181: (<a href="https://man.openbsd.org/OpenBSD-5.5/mvme88k/le.4">le</a>)
1.33      miod      182: </ul>
                    183:
1.13      smurph    184: <hr>
1.112     bentley   185:
                    186: <h3 id="install">
1.29      miod      187: <strong>Getting and installing OpenBSD/mvme88k:</strong>
1.112     bentley   188: </h3>
1.29      miod      189:
                    190: <p>
1.110     tj        191: The last supported OpenBSD/mvme88k release was
1.98      miod      192: <a href="55.html">OpenBSD 5.5</a>.
1.52      david     193: Here are the
1.108     tb        194: <a href="https://ftp.OpenBSD.org/pub/OpenBSD/5.5/mvme88k/INSTALL.mvme88k">
1.109     tb        195: OpenBSD/mvme88k 5.5 installation instructions</a>.
1.52      david     196:
1.3       fn        197: <hr>
1.112     bentley   198: <h3 id="details"><strong>Hardware details:</strong></h3>
1.13      smurph    199:
1.14      smurph    200: <p>
1.29      miod      201: As VME hardware is quite uncommon in the average retail place, and Motorola
                    202: 881x0-based hardware is even more rare, this section is here to satisfy the
                    203: well-founded curiosity about the mvme88k hardware.
                    204:
1.48      miod      205: <p>
                    206: A comprehensive reference about the m88k processor and the various designs
1.99      miod      207: built upon has been gathered by Paul Weissmann at
1.115   ! dtucker   208: <a href="http://web.archive.org/web/20110624235150/http://badabada.org/"
        !           209: >badabada</a>.
1.48      miod      210:
1.112     bentley   211: <p id="pics">
1.29      miod      212: Pictures of a Motorola 900 modular chassis, with a 33MHz MVME187 CPU board,
                    213: 32MB RAM, 4 MVME332XT serial boards, and an Archive 250MB QIC tape drive.
1.14      smurph    214: <ul>
1.29      miod      215:  <li><a href="images/mvme187-1.jpg">MVME187 Series 900 (front view)</a>
1.14      smurph    216:  <li><a href="images/mvme187-2.jpg">MVME187 Series 900 (rear view)</a>
                    217:  <li><a href="images/mvme187-3.jpg">MVME187 Series 900 (rear view w/terminal)</a>
                    218:  <li><a href="images/mvme187-4.jpg">MVME187 Series 900 (rear view close up)</a>
                    219:  <li><a href="images/mvme188-2.jpg">MVME188 Dual proc board</a>
                    220: </ul>