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

File: [local] / www / mvme88k.html (download) (as text)

Revision 1.115, Mon May 18 02:49:31 2020 UTC (3 years, 11 months ago) by dtucker
Branch: MAIN
CVS Tags: HEAD
Changes since 1.114: +2 -1 lines

badabada mirror is gone, link to archive.org instead.

<!doctype html>
<html lang=en id=platform>
<meta charset=utf-8>

<title>OpenBSD/mvme88k</title>
<meta name="description" content="the OpenBSD/mvme88k page">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="openbsd.css">
<link rel="canonical" href="https://www.openbsd.org/mvme88k.html">


<h2 id=OpenBSD>
<a href="index.html">
<i>Open</i><b>BSD</b></a>
mvme88k
</h2>
<hr>

<table><tr><td>
<p>
OpenBSD/mvme88k is a port of OpenBSD to the systems built upon
Motorola's 88xxx-based VME motherboard family.

<p>
<strong>The OpenBSD/mvme88k port has been discontinued after the 5.5 release.</strong>
</table>

<hr>

<h3 id="history"><strong>History:</strong></h3>

<p>
The Motorola 88k processor is said to be the best RISC processor ever
devised.  Its simplicity and elegance combine to make the mvme88k a
hearty, robust platform.

<p>
Unfortunately, the first generation designs (88100) made use of companion chips
for cache and virtual memory management, making hardware designs painfully
complex (and expensive, at that time).  The second generation (88110) addressed
this issue, but was plagued with reliability issues.  Eventually, Motorola
seized the opportunity to drop the 88000 line in favour of the PowerPC as soon
as possible, although some parts of the 88110 still exist in the PowerPC family
processors today.

<p>
Nivas Madhur started the initial mvme88k port for the MVME187 card, building
upon the CMU Mach code running on the 88100-based Omron Luna88k systems.
However, he moved on to another employer before his work was ready to be
imported into the OpenBSD source tree.

<p>
This integration work was completed by Dale Rahn, but he did not have enough
time to continue working on the port.  Steve Murphree, Jr., stepped up, and
eventually completed the port to the MVME187 in November 1998.

<p>
Unfortunately, at the same time, a compiler upgrade from gcc 2.8.1 to
egcs exposed a lot of problems in the mvme88k support in gcc, which
could not be fixed in time for mvme88k to be a supported OpenBSD 2.5
release.

<p>
The lack of an in-tree toolchain did not prevent further work on the port,
and a lot of changes were made to the codebase, such as revamped autoconf
and on-board SCSI driver, greatly expanded VME bus support, a working
install process that correctly creates a Motorola VID block on the disks,
and support for MVME188 as well as improving support for MVME197.

<p>
During summer 2003, an effort to fix the toolchain eventually produced a
working gcc 2.95 compiler, and allowed the port to be self-hosting again.
With the help of Mark Kettenis, the toolchain effort eventually produced
working binutils and gdb in late may 2004.

<p>
Work towards multiprocessor support on the MVME188 boards started in
summer 2005 and, after a lot of tedious bugfixing, was eventually
completed shortly after the 4.2 release in november 2007.

<p>
The next step was getting the 88110-based MVME197 designs to work.
Single-processor kernels started to run reliably in december 2007;
multiprocessor support was completed in march 2009, but kept triggering
obscure bugs which eventually got tracked down to a processor errata,
fixed for good in april 2010.

<p>
The long-awaited switch from the a.out binary format to ELF happened after the
5.3 release, with a compiler upgrade to gcc 3.3.6.  This work paved the way
for ELF shared libraries support.

<hr>
<h3 id="status"><strong>Current status:</strong></h3>

<p>
Currently, MVME181, MVME187, MVME188 and MVME197 boards, as well as similar
designs, are booting multi-user, supporting most of the on-board devices.
There are still a few caveats; depending on your exact hardware setup,
your mileage may vary.

<hr>
<h3 id="hardware"><strong>Supported hardware:</strong></h3>

<h4>Supported processor boards</h4>

<ul>
<li><strong>MVME180 <i>"Angelfire"</i> and MVME181</strong><br>
A low-cost, entry level board, featuring a single 88100 processor, two 88200
CMMUs and two on-board serial ports.<br>
<li><strong>MVME187</strong><br>
A single 88100 processor-based version of the <a href="mvme68k.html">mvme68k</a>
MVME167 and MVME177 boards. Features two 88200 CMMUs with 16KB cache
each, SRAM, and on-board ethernet and SCSI controllers, as well as four serial
ports and one parallel port.<br>
<li><strong>MVME188 and MVME188A</strong><br>
Contrary to the other MVME processor boards, this board has no on-board
devices; it just acts as a container for an <i>HYPERmodule</i> which provides
one, two or four 88100 processors, and two or four 88200 (16KB cache) or 88204
(64KB cache) CMMUs per processor.<br>
All HYPERmodules combinations are supported, but M88200 1P128 and 1P512 have
not been tested.<br>
External cards specific to the MVME188 family provide memory and serial ports.
<br>
Multi-processor kernels are supported on these boards.
<li><strong>MVME197LE</strong><br>
An entry-level design similar to the MVME187, but based on the 88110 processor
with integrated MMU and cache controller.<br>
<li><strong>MVME197SP and MVME197DP</strong><br>
Improved versions of the MVME197LE, with one (SP) or two (DP) 88110 processors,
and one 88410 external cache controller per processor.<br>
Multi-processor kernels are supported on these boards.
</ul>

<p>
Besides various Motorola complete systems (<strong>M8120</strong>,
<strong>Series 900</strong>, etc), this port also runs on the
MVME187-based <strong>Triton Dolphin System 100</strong>.

<h4>Supported on-board devices</h4>

<ul>
<li><strong>MVME181</strong>
  <ul>
  <li>on-board serial ports (ttya-ttyb)
(<a href="https://man.openbsd.org/OpenBSD-5.5/mvme88k/dart.4">dart</a>)
  </ul>

<li><strong>MVME187 and MVME197</strong>
  <ul>
  <li>Cirrus Logic CL2400 serial ports (tty00-tty03/tty07<i>[M8120]</i>)
(<a href="https://man.openbsd.org/OpenBSD-5.5/mvme88k/cl.4">cl</a>)
  <li>Intel 82596CA Ethernet interface
(<a href="https://man.openbsd.org/OpenBSD-5.5/mvme88k/ie.4">ie</a>)
  <li>NCR53c710 SCSI Controller
(<a href="https://man.openbsd.org/OpenBSD-5.5/mvme88k/osiop.4">osiop</a>)
  <li>128KB SRAM (/dev/sram0)
  <li>8KB NVRAM (/dev/nvram0)
  </ul>

<li><strong>MVME188</strong>
  <ul>
  <li>serial ports on <i>SYSCON</i> board (ttya-ttyb)
(<a href="https://man.openbsd.org/OpenBSD-5.5/mvme88k/dart.4">dart</a>)
  <li>2KB NVRAM (/dev/nvram0)
  </ul>

</ul>

<h4>Supported VME boards</h4>

<ul>
  <li><strong>MVME327A</strong> SCSI and floppy Controller
(<a href="https://man.openbsd.org/OpenBSD-5.5/mvme88k/vsbic.4">vsbic</a>),
currently limited to the SCSI interface
  <li><strong>MVME328</strong> High Performance SCSI Controller
(<a href="https://man.openbsd.org/OpenBSD-5.5/mvme88k/vs.4">vs</a>)
  <li><strong>MVME332XT</strong> High Performance Serial I/O Controller
	(8 serial ports, 1 parallel port) (vx)
  <li><strong>MVME376</strong> Ethernet Communications Controller
(<a href="https://man.openbsd.org/OpenBSD-5.5/mvme88k/le.4">le</a>)
</ul>

<hr>

<h3 id="install">
<strong>Getting and installing OpenBSD/mvme88k:</strong>
</h3>

<p>
The last supported OpenBSD/mvme88k release was
<a href="55.html">OpenBSD 5.5</a>.
Here are the
<a href="https://ftp.OpenBSD.org/pub/OpenBSD/5.5/mvme88k/INSTALL.mvme88k">
OpenBSD/mvme88k 5.5 installation instructions</a>.

<hr>
<h3 id="details"><strong>Hardware details:</strong></h3>

<p>
As VME hardware is quite uncommon in the average retail place, and Motorola
881x0-based hardware is even more rare, this section is here to satisfy the
well-founded curiosity about the mvme88k hardware.

<p>
A comprehensive reference about the m88k processor and the various designs
built upon has been gathered by Paul Weissmann at
<a href="http://web.archive.org/web/20110624235150/http://badabada.org/"
>badabada</a>.

<p id="pics">
Pictures of a Motorola 900 modular chassis, with a 33MHz MVME187 CPU board,
32MB RAM, 4 MVME332XT serial boards, and an Archive 250MB QIC tape drive.
<ul>
 <li><a href="images/mvme187-1.jpg">MVME187 Series 900 (front view)</a>
 <li><a href="images/mvme187-2.jpg">MVME187 Series 900 (rear view)</a>
 <li><a href="images/mvme187-3.jpg">MVME187 Series 900 (rear view w/terminal)</a>
 <li><a href="images/mvme187-4.jpg">MVME187 Series 900 (rear view close up)</a>
 <li><a href="images/mvme188-2.jpg">MVME188 Dual proc board</a>
</ul>