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

Annotation of www/mvme88k.html, Revision 1.89

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: <link rev="made" href="mailto:www@openbsd.org">
                      7: <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
1.3       fn          8: <meta name="resource-type" content="document">
                      9: <meta name="description" content="the OpenBSD/mvme88k page">
                     10: <meta name="keywords" content="openbsd,mvme88k">
                     11: <meta name="distribution" content="global">
1.88      miod       12: <meta name="copyright" content="This document copyright 1996-2013 by OpenBSD.">
1.3       fn         13: </head>
                     14:
1.29      miod       15: <body bgcolor="#ffffff" text="#000000" link="#23238e">
                     16: <a href="index.html"><img alt="[OpenBSD]" height="30" width="141" src="images/smalltitle.gif" border="0"></a>
                     17: <p>
                     18: <h2><font color="#e00000">OpenBSD/mvme88k</font></h2>
                     19:
                     20: <hr>
1.3       fn         21:
1.29      miod       22: <p>
1.80      miod       23: OpenBSD/mvme88k is a port of OpenBSD to the systems built upon
                     24: Motorola's 88xxx-based VME motherboard family.
1.1       deraadt    25:
1.29      miod       26: <p>
1.64      miod       27: A mailing list for m88k-based ports is available at
                     28: <u><font color="#23238e">m88k@openbsd.org</font></u>.
                     29: To join the OpenBSD/m88k mailing list, send a message body of
                     30: <b>"subscribe m88k"</b> to
                     31: <a href="mailto:majordomo@openbsd.org">majordomo@openbsd.org</a>.
                     32: Please be sure to check our <a href="mail.html">mailing list policy</a> before
                     33: subscribing.
                     34:
1.67      nick       35: <a name="toc"></a>
1.29      miod       36: <h3><font color="#0000e0"><i>Table of contents</i></font></h3>
1.3       fn         37: <p>
1.13      smurph     38: <ul>
1.31      jufi       39:   <li><a href="#history">History of the port</a>
1.29      miod       40:   <li><a href="#status">Current status</a>
                     41:   <li><a href="#projects">Project list</a>
1.56      nick       42:   <li><a href="#hardware">Supported hardware</a>
1.29      miod       43:   <li><a href="#install">Getting and installing OpenBSD/mvme88k</a>
                     44:   <li><a href="#details">Hardware details</a>
1.13      smurph     45: </ul>
                     46:
                     47: <hr>
1.29      miod       48: <a name="history"></a>
                     49: <h3><font color="#0000e0"><strong>History:</strong></font></h3>
1.13      smurph     50:
                     51: <p>
1.16      smurph     52: The Motorola 88k processor is said to be the best RISC processor ever
1.17      deraadt    53: devised.  Its simplicity and elegance combine to make the mvme88k a
1.89    ! miod       54: hearty, robust platform.
1.29      miod       55:
1.13      smurph     56: <p>
1.89    ! miod       57: Unfortunately, the first generation designs (88100) made use of companion chips
        !            58: for cache and virtual memory management, making hardware designs painfully
        !            59: complex (and expensive, at that time).  The second generation (88110) addressed
        !            60: this issue, but was plagued with reliability issue.  Eventually, Motorola
        !            61: seized the opportunity to drop the 88000 line in favour of the PowerPC as soon
        !            62: as possible, although some parts of the 88110 still exist in the PowerPC family
        !            63: processors today.
        !            64:
        !            65: <p>
        !            66: Nivas Madhur started the initial mvme88k port for the MVME187 card, building
        !            67: upon the CMU Mach code running on the 88100-based Omron Luna88k systems.
        !            68: However, he moved on to another employer before his work was ready to be
        !            69: imported into the OpenBSD source tree.
        !            70:
        !            71: <p>
        !            72: This integration work was completed by Dale Rahn, but he did not have enough
        !            73: time to continue working on the port.  Steve Murphree, Jr., stepped up, and
        !            74: eventually completed the port to the MVME187 in November 1998.
1.13      smurph     75:
                     76: <p>
1.29      miod       77: Unfortunately, at the same time, a compiler upgrade from gcc 2.8.1 to
1.80      miod       78: egcs exposed a lot of problems in the mvme88k support in gcc, which
1.29      miod       79: could not be fixed in time for mvme88k to be a supported OpenBSD 2.5
                     80: release.
1.13      smurph     81:
                     82: <p>
1.29      miod       83: The lack of an in-tree toolchain did not prevent further work on the port,
                     84: and a lot of changes were made to the codebase, such as revamped autoconf
1.80      miod       85: and on-board SCSI driver, greatly expanded VME bus support, a working
                     86: install process that correctly creates a Motorola VID block on the disks,
1.29      miod       87: and support for MVME188 as well as improving support for MVME197.
1.13      smurph     88:
1.34      miod       89: <p>
                     90: During summer 2003, an effort to fix the toolchain eventually produced a
                     91: working gcc 2.95 compiler, and allowed the port to be self-hosting again.
1.54      miod       92: With the help of Mark Kettenis, the toolchain effort eventually produced
                     93: working binutils and gdb in late may 2004.
1.34      miod       94:
1.69      miod       95: <p>
                     96: Work towards multiprocessor support on the MVME188 boards started in
                     97: summer 2005 and, after a lot of tedious bugfixing, was eventually
                     98: completed shortly after the 4.2 release in november 2007.
                     99:
1.70      miod      100: <p>
                    101: The next step was getting the 88110-based MVME197 designs to work.
1.80      miod      102: Single-processor kernels started to run reliably in december 2007;
                    103: multiprocessor support was completed in march 2009, but kept triggering
                    104: obscure bugs which eventually got tracked down to a processor errata,
                    105: fixed for good in april 2010.
1.70      miod      106:
1.89    ! miod      107: <p>
        !           108: The long-awaited switch from the a.out binary format to ELF happened after the
        !           109: 5.2 release, with a compiler upgrade to gcc 3.3.6.  This work paved the way
        !           110: for ELF shared libraries support, which are currently being worked on, with the
        !           111: hope to be ready and reliable in time for the forthcoming 5.3 release.
        !           112:
1.29      miod      113: <hr>
                    114: <a name="status"></a>
                    115: <h3><font color="#0000e0"><strong>Current status:</strong></font></h3>
                    116:
1.13      smurph    117: <p>
1.70      miod      118: Currently, MVME187, MVME188 and MVME197 boards, as well as similar
1.46      miod      119: designs, are booting multi-user, supporting most of the on-board devices.
1.39      david     120: There are still a few caveats; depending on your exact hardware setup,
                    121: your mileage may vary.
1.74      sthen     122: Work is in progress to fix the remaining problems.
1.13      smurph    123:
1.29      miod      124: <hr>
                    125: <a name="projects"></a>
                    126: <h3><font color="#0000e0"><strong>Projects (in no particular order):
                    127: </strong></font></h3>
1.19      smurph    128:
                    129: <p>
                    130: <ul>
1.77      miod      131:   <li>Work on unsupported device cards (MVME330, MVME374...).
1.88      miod      132:   <li>Support for ELF shared libraries (in progress).
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.35      miod      144: <li><strong>MVME187</strong><br>
                    145: A single 88100 processor-based version of the <a href="mvme68k.html">mvme68k</a>
1.36      miod      146: MVME167 and MVME177 boards. Features two 88200 CMMUs with 16KB cache
1.35      miod      147: each, SRAM, and on-board ethernet and SCSI controllers, as well as four serial
                    148: ports and one parallel port.<br>
1.55      miod      149: <li><strong>MVME188 and MVME188A</strong><br>
1.38      miod      150: Contrary to the other MVME processor boards, this board has no on-board
                    151: devices; it just acts as a container for an <i>HYPERmodule</i> which provides
1.69      miod      152: one, two or four 88100 processors, and two or four 88200 (16KB cache) or 88204
1.38      miod      153: (64KB cache) CMMUs per processor.<br>
1.55      miod      154: All HYPERmodules combinations are supported, but M88200 1P128 and 1P512 have
                    155: not been tested.<br>
1.38      miod      156: External cards specific to the MVME188 family provide memory and serial ports.
1.70      miod      157: <br>
1.75      miod      158: Multi-processor kernels are supported on these boards.
1.70      miod      159: <li><strong>MVME197LE</strong><br>
                    160: An entry-level design similar to the MVME187, but based on the 88110 processor
                    161: with integrated MMU and cache controller.<br>
                    162: <li><strong>MVME197SP and MVME197DP</strong><br>
                    163: Improved versions of the MVME197LE, with one (SP) or two (DP) 88110 processors,
                    164: and one 88410 external cache controller per processor.<br>
1.80      miod      165: Multi-processor kernels are supported on these boards.
1.13      smurph    166: </ul>
                    167:
1.29      miod      168: <p>
1.45      miod      169: Besides various Motorola complete systems (<strong>M8120</strong>,
1.76      miod      170: <strong>Series 900</strong>, etc), this port also runs on the
1.45      miod      171: MVME187-based <strong>Triton Dolphin System 100</strong>.
                    172:
                    173: <p>
1.29      miod      174: <h4>Supported on-board devices</h4>
1.13      smurph    175:
1.29      miod      176: <p>
1.13      smurph    177: <ul>
1.70      miod      178: <li><strong>MVME187 and MVME197</strong>
1.13      smurph    179:   <ul>
1.49      miod      180:   <li>Cirrus Logic CL2400 serial ports (tty00-tty03/tty07<i>[M8120]</i>) (cl)
1.45      miod      181:   <li>Intel 82596CA Ethernet interface
1.43      miod      182: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ie&amp;sektion=4&amp;arch=mvme88k">ie</a>)
1.45      miod      183:   <li>NCR53c710 SCSI Controller
1.53      miod      184: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=osiop&amp;sektion=4&amp;arch=mvme88k">osiop</a>)
1.45      miod      185:   <li>128KB SRAM (/dev/sram0)
                    186:   <li>8KB NVRAM (/dev/nvram0)
1.13      smurph    187:   </ul>
1.45      miod      188: </li>
                    189: <li><strong>MVME188</strong>
1.13      smurph    190:   <ul>
1.45      miod      191:   <li>serial ports on <i>SYSCON</i> board (ttya-ttyb) (dart)
                    192:   <li>2KB NVRAM (/dev/nvram0)
1.13      smurph    193:   </ul>
1.45      miod      194: </li>
1.29      miod      195: </ul>
1.13      smurph    196:
1.29      miod      197: <p>
1.45      miod      198: <h4>Supported VME boards</h4>
1.13      smurph    199:
1.29      miod      200: <p>
1.13      smurph    201: <ul>
1.77      miod      202:   <li><strong>MVME327A</strong> SCSI and floppy Controller
                    203: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=vsbic&amp;sektion=4&amp;arch=mvme88k">vsbic</a>),
                    204: currently limited to the SCSI interface
1.45      miod      205:   <li><strong>MVME328</strong> High Performance SCSI Controller
1.43      miod      206: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=vs&amp;sektion=4&amp;arch=mvme88k">vs</a>)
1.45      miod      207:   <li><strong>MVME332XT</strong> High Performance Serial I/O Controller
1.42      miod      208:        (8 serial ports, 1 parallel port) (vx)
1.45      miod      209:   <li><strong>MVME376</strong> Ethernet Communications Controller
1.44      miod      210: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=le&amp;sektion=4&amp;arch=mvme88k">le</a>)
1.13      smurph    211: </ul>
                    212:
1.33      miod      213: <p>
                    214: <h4>Unsupported processor boards</h4>
                    215: <p>
                    216:
                    217: <p>
1.70      miod      218: These boards are currently not supported. There is nothing, apart from lack
1.72      saad      219: of available hardware, preventing them from being supported eventually.
1.33      miod      220: <ul>
1.48      miod      221: <li><strong>MVME180 <i>``Angelfire''</i> and MVME181</strong><br>
                    222: A low-cost, entry level board, featuring a single 88100 processor, two 88200
                    223: CMMUs and two on-board serial ports.
1.33      miod      224: </ul>
                    225:
1.13      smurph    226: <hr>
1.29      miod      227: <a name="install"></a>
                    228: <h3><font color="#0000e0">
                    229: <strong>Getting and installing OpenBSD/mvme88k:</strong>
                    230: </font></h3>
                    231:
                    232: <p>
1.52      david     233: The latest supported OpenBSD/mvme88k release is
1.86      sthen     234: <a href="52.html">OpenBSD 5.2</a>.
1.52      david     235: Here are the
1.86      sthen     236: <a href="ftp://ftp.OpenBSD.org/pub/OpenBSD/5.2/mvme88k/INSTALL.mvme88k">
                    237: OpenBSD/mvme88k 5.2 installation instructions
1.52      david     238: </a>.
                    239:
                    240: <p>
1.38      miod      241: Snapshots are made available from time to time, in
1.52      david     242: <a href="ftp://ftp.OpenBSD.org/pub/OpenBSD/snapshots/mvme88k">this location</a>
1.33      miod      243: as well as in a few
                    244: <a href="ftp.html">mirrors</a>.
                    245: Here are the
1.52      david     246: <a href="ftp://ftp.OpenBSD.org/pub/OpenBSD/snapshots/mvme88k/INSTALL.mvme88k">
1.33      miod      247: OpenBSD/mvme88k snapshot installation instructions
                    248: </a> as well.
1.1       deraadt   249:
1.3       fn        250: <hr>
1.30      miod      251: <a name="details"></a>
1.29      miod      252: <h3><font color="#0000e0"><strong>Hardware details:</strong></font></h3>
1.13      smurph    253:
1.14      smurph    254: <p>
1.29      miod      255: As VME hardware is quite uncommon in the average retail place, and Motorola
                    256: 881x0-based hardware is even more rare, this section is here to satisfy the
                    257: well-founded curiosity about the mvme88k hardware.
                    258:
1.89    ! miod      259: <!--
1.48      miod      260: <p>
                    261: A comprehensive reference about the m88k processor and the various designs
                    262: built upon it is being gathered by Paul Weissmann at
1.57      miod      263: <a href="http://badabada.org/">badabada</a>.
1.89    ! miod      264: -->
1.48      miod      265:
1.52      david     266: <a name="pics"></a>
1.29      miod      267: <p>
                    268: Pictures of a Motorola 900 modular chassis, with a 33MHz MVME187 CPU board,
                    269: 32MB RAM, 4 MVME332XT serial boards, and an Archive 250MB QIC tape drive.
1.14      smurph    270: <ul>
1.29      miod      271:  <li><a href="images/mvme187-1.jpg">MVME187 Series 900 (front view)</a>
1.14      smurph    272:  <li><a href="images/mvme187-2.jpg">MVME187 Series 900 (rear view)</a>
                    273:  <li><a href="images/mvme187-3.jpg">MVME187 Series 900 (rear view w/terminal)</a>
                    274:  <li><a href="images/mvme187-4.jpg">MVME187 Series 900 (rear view close up)</a>
                    275:  <li><a href="images/mvme188-2.jpg">MVME188 Dual proc board</a>
                    276: </ul>
1.15      smurph    277:
1.19      smurph    278: <p>
1.80      miod      279: This is a boot log of an MVME197DP system.
1.19      smurph    280: <pre>
1.80      miod      281: [ using 205464 bytes of bsd a.out symbol table ]
1.21      miod      282: Copyright (c) 1982, 1986, 1989, 1991, 1993
1.33      miod      283:         The Regents of the University of California.  All rights reserved.
1.80      miod      284: Copyright (c) 1995-2010 OpenBSD. All rights reserved.  http://www.OpenBSD.org
1.21      miod      285:
1.80      miod      286: OpenBSD 4.7-current (GENERIC.MP) #308: Thu Apr 15 21:09:19 GMT 2010
                    287:     miod@arzon.gentiane.org:/usr/src/sys/arch/mvme88k/compile/GENERIC.MP
                    288: real mem = 134217728 (128MB)
                    289: avail mem = 125927424 (120MB)
1.71      miod      290: mainbus0 at root: Motorola MVME197, 50MHz
                    291: cpu0: M88110 version 0xf, 8K I/D caches
                    292: cpu0: external M88410 cache controller
1.80      miod      293: cpu1: M88110 version 0xf, 8K I/D caches
                    294: cpu1: external M88410 cache controller
1.71      miod      295: bussw0 at mainbus0 addr 0xfff00000: rev 4
                    296: pcctwo0 at bussw0 offset 0x0: rev 0
                    297: nvram0 at pcctwo0 offset 0xc0000: MK48T08
                    298: cl0 at pcctwo0 offset 0x45000 ipl 3: console
1.80      miod      299: osiop0 at pcctwo0 offset 0x47000 ipl 2: NCR53C710 rev 2, 50MHz
                    300: scsibus0 at osiop0: 8 targets, initiator 7
                    301: osiop0: target 0 now using 8 bit 10 MHz 8 REQ/ACK offset xfers
                    302: sd0 at scsibus0 targ 0 lun 0: &lt;SAMSUNG, WN34324U (gm030), 0105&gt; SCSI2 0/direct fixed
                    303: sd0: 4120MB, 512 bytes/sec, 8438976 sec total
                    304: osiop0: target 1 now using 8 bit 10 MHz 8 REQ/ACK offset xfers
                    305: sd1 at scsibus0 targ 1 lun 0: &lt;QUANTUM, FIREBALL_TM3200S, 300X&gt; SCSI2 0/direct fixed
                    306: sd1: 3067MB, 512 bytes/sec, 6281856 sec total
                    307: vme0 at pcctwo0 offset 0x40000
1.33      miod      308: vme0: using BUG parameters
1.80      miod      309: vme0: 1phys 0x08000000-0xefff0000 to VME 0x08000000-0xefff0000
1.33      miod      310: vme0: vme to cpu irq level 1:1
1.21      miod      311: vmes0 at vme0
                    312: vmel0 at vme0
1.71      miod      313: ie0 at pcctwo0 offset 0x46000 ipl 3: address 08:00:3e:23:ed:e8
1.80      miod      314: vscsi0 at root
                    315: scsibus1 at vscsi0: 256 targets
1.71      miod      316: softraid0 at root
1.21      miod      317: boot device: sd0
1.71      miod      318: root on sd0a swap on sd0b dump on sd0b
1.33      miod      319: Automatic boot in progress: starting file system checks.
                    320: /dev/rsd0a: file system is clean; not checking
1.80      miod      321: /dev/rsd0f: file system is clean; not checking
                    322: /dev/rsd1a: file system is clean; not checking
1.33      miod      323: /dev/rsd0d: file system is clean; not checking
1.80      miod      324: /dev/rsd0h: file system is clean; not checking
1.33      miod      325: /dev/rsd0e: file system is clean; not checking
                    326: /dev/rsd0g: file system is clean; not checking
                    327: setting tty flags
                    328: ddb.console: 0 -&gt; 1
1.71      miod      329: kern.splassert: 1 -&gt; 2
1.33      miod      330: starting network
                    331: starting system logger
1.80      miod      332: starting initial daemons: portmap ypbind rdate ntpd.
1.33      miod      333: savecore: no core dump
                    334: checking quotas: done.
                    335: building ps databases: kvm dev.
                    336: clearing /tmp
                    337: starting pre-securelevel daemons:.
                    338: setting kernel security level: kern.securelevel: 0 -&gt; 1
1.71      miod      339: creating runtime link editor directory cache.
1.80      miod      340: preserving editor files.
1.36      miod      341: starting network daemons: sendmail inetd sshd.
1.33      miod      342: starting local daemons:.
                    343: standard daemons: cron.
1.80      miod      344: Thu Apr 15 21:12:51 GMT 2010
1.33      miod      345:
1.80      miod      346: OpenBSD/mvme88k (arzon.gentiane.org) (console)
1.33      miod      347:
1.80      miod      348: login:
1.19      smurph    349: </pre>
                    350:
1.15      smurph    351: <hr>
1.29      miod      352: <a href="plat.html">
                    353: <img height="24" width="24" src="back.gif" border="0" alt="Supported platforms">
                    354: </a>
                    355: <br>
                    356: <small><a href="mailto:www@openbsd.org">www@openbsd.org</a></small>
1.3       fn        357: <br>
1.89    ! miod      358: <small>$OpenBSD: mvme88k.html,v 1.88 2013/01/20 23:15:57 miod Exp $</small>
1.3       fn        359:
                    360: </body>
                    361: </html>