Annotation of www/mvme88k.html, Revision 1.60
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.47 jose 12: <meta name="copyright" content="This document copyright 1996-2004 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.45 miod 23: OpenBSD/mvme88k is an effort to port OpenBSD to the systems built upon
24: Motorola's 881x0-based VME motherboard family.
1.1 deraadt 25:
1.29 miod 26: <p>
1.60 ! miod 27: The current port maintainer is Miod Vallat
1.37 miod 28: (<a href="mailto:miod@openbsd.org">miod@openbsd.org</a>), with the help of
29: Steve Murphree. Others are definitely welcome to contribute!
1.3 fn 30:
1.29 miod 31: <a href="#toc"></a>
32: <h3><font color="#0000e0"><i>Table of contents</i></font></h3>
1.3 fn 33: <p>
1.13 smurph 34: <ul>
1.31 jufi 35: <li><a href="#history">History of the port</a>
1.29 miod 36: <li><a href="#status">Current status</a>
37: <li><a href="#projects">Project list</a>
1.56 nick 38: <li><a href="#hardware">Supported hardware</a>
1.29 miod 39: <li><a href="#install">Getting and installing OpenBSD/mvme88k</a>
40: <li><a href="#details">Hardware details</a>
1.13 smurph 41: </ul>
42:
43: <hr>
1.29 miod 44: <a name="history"></a>
45: <h3><font color="#0000e0"><strong>History:</strong></font></h3>
1.13 smurph 46:
47: <p>
1.16 smurph 48: The Motorola 88k processor is said to be the best RISC processor ever
1.17 deraadt 49: devised. Its simplicity and elegance combine to make the mvme88k a
1.16 smurph 50: hearty, robust platform.
1.29 miod 51:
1.13 smurph 52: <p>
1.29 miod 53: Nivas Madhur started the initial mvme88k port for the MVME187 card, but
54: has since moved on to another employer.
55: The port was brought in the OpenBSD tree by Dale Rahn, but he did not
56: have enough time to work on it.
57: Steve Murphree, Jr. eventually completed the port to the MVME187 in
58: November 1998.
1.13 smurph 59:
60: <p>
1.29 miod 61: Unfortunately, at the same time, a compiler upgrade from gcc 2.8.1 to
62: egcs revealed a lot of problems in the mvme88k support in gcc, which
63: could not be fixed in time for mvme88k to be a supported OpenBSD 2.5
64: release.
1.13 smurph 65:
66: <p>
1.29 miod 67: The lack of an in-tree toolchain did not prevent further work on the port,
68: and a lot of changes were made to the codebase, such as revamped autoconf
69: and on-board SCSI driver, greatly expanded VME bus support, working install
70: process that correctly creates a Motorola VID block on the disks,
71: and support for MVME188 as well as improving support for MVME197.
1.13 smurph 72:
1.34 miod 73: <p>
74: During summer 2003, an effort to fix the toolchain eventually produced a
75: working gcc 2.95 compiler, and allowed the port to be self-hosting again.
1.54 miod 76: With the help of Mark Kettenis, the toolchain effort eventually produced
77: working binutils and gdb in late may 2004.
1.34 miod 78:
1.29 miod 79: <hr>
80: <a name="status"></a>
81: <h3><font color="#0000e0"><strong>Current status:</strong></font></h3>
82:
1.13 smurph 83: <p>
1.55 miod 84: Currently, only the MVME187 and MVME188 boards, as well as similar
1.46 miod 85: designs, are booting multi-user, supporting most of the on-board devices.
1.39 david 86: There are still a few caveats; depending on your exact hardware setup,
87: your mileage may vary.
1.37 miod 88: Work is on progress to fix the remaining problems and reliably support more
89: boards.
1.13 smurph 90:
1.29 miod 91: <hr>
92: <a name="projects"></a>
93: <h3><font color="#0000e0"><strong>Projects (in no particular order):
94: </strong></font></h3>
1.19 smurph 95:
96: <p>
97: <ul>
1.38 miod 98: <li>MVME197 support.
1.37 miod 99: <li>Work on unsupported device cards (MVME327, MVME374...).
100: <li>Write code for new binutils (and gdb), switch to ELF and, later,
1.32 miod 101: shared libraries.
1.19 smurph 102: </ul>
103:
1.13 smurph 104: <hr>
1.29 miod 105: <a name="hardware"></a>
106: <h3><font color="#0000e0"><strong>Supported hardware:</strong></font></h3>
1.13 smurph 107:
108: <p>
1.29 miod 109: <h4>Supported processor boards</h4>
1.13 smurph 110:
111: <p>
112: <ul>
1.35 miod 113: <li><strong>MVME187</strong><br>
114: A single 88100 processor-based version of the <a href="mvme68k.html">mvme68k</a>
1.36 miod 115: MVME167 and MVME177 boards. Features two 88200 CMMUs with 16KB cache
1.35 miod 116: each, SRAM, and on-board ethernet and SCSI controllers, as well as four serial
117: ports and one parallel port.<br>
1.55 miod 118: <li><strong>MVME188 and MVME188A</strong><br>
1.38 miod 119: Contrary to the other MVME processor boards, this board has no on-board
120: devices; it just acts as a container for an <i>HYPERmodule</i> which provides
121: one, two or four 88110 processors, and two or four 88200 (16KB cache) or 88204
122: (64KB cache) CMMUs per processor.<br>
1.55 miod 123: All HYPERmodules combinations are supported, but M88200 1P128 and 1P512 have
124: not been tested.<br>
1.38 miod 125: External cards specific to the MVME188 family provide memory and serial ports.
1.13 smurph 126: </ul>
127:
1.29 miod 128: <p>
1.45 miod 129: Besides various Motorola complete systems (<strong>M8120</strong>,
130: MVME187-based <strong>series 900</strong>, etc), this port also runs on the
131: MVME187-based <strong>Triton Dolphin System 100</strong>.
132:
133: <p>
1.29 miod 134: <h4>Supported on-board devices</h4>
1.13 smurph 135:
1.29 miod 136: <p>
1.13 smurph 137: <ul>
1.45 miod 138: <li><strong>MVME187</strong>
1.13 smurph 139: <ul>
1.49 miod 140: <li>Cirrus Logic CL2400 serial ports (tty00-tty03/tty07<i>[M8120]</i>) (cl)
1.45 miod 141: <li>Intel 82596CA Ethernet interface
1.43 miod 142: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ie&sektion=4&arch=mvme88k">ie</a>)
1.45 miod 143: <li>NCR53c710 SCSI Controller
1.53 miod 144: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=osiop&sektion=4&arch=mvme88k">osiop</a>)
1.45 miod 145: <li>128KB SRAM (/dev/sram0)
146: <li>8KB NVRAM (/dev/nvram0)
1.13 smurph 147: </ul>
1.45 miod 148: </li>
149: <li><strong>MVME188</strong>
1.13 smurph 150: <ul>
1.45 miod 151: <li>serial ports on <i>SYSCON</i> board (ttya-ttyb) (dart)
152: <li>2KB NVRAM (/dev/nvram0)
1.13 smurph 153: </ul>
1.45 miod 154: </li>
1.29 miod 155: </ul>
1.13 smurph 156:
1.29 miod 157: <p>
1.45 miod 158: <h4>Supported VME boards</h4>
1.13 smurph 159:
1.29 miod 160: <p>
1.13 smurph 161: <ul>
1.45 miod 162: <li><strong>MVME328</strong> High Performance SCSI Controller
1.43 miod 163: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=vs&sektion=4&arch=mvme88k">vs</a>)
1.45 miod 164: <li><strong>MVME332XT</strong> High Performance Serial I/O Controller
1.42 miod 165: (8 serial ports, 1 parallel port) (vx)
1.45 miod 166: <li><strong>MVME376</strong> Ethernet Communications Controller
1.44 miod 167: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=le&sektion=4&arch=mvme88k">le</a>)
1.13 smurph 168: </ul>
169:
1.33 miod 170: <p>
171: <h4>Unsupported processor boards</h4>
172: <p>
173:
174: <p>
1.37 miod 175: These boards are currently not supported. However, code for some of them exists
176: in the tree, and is currently being debugged.
1.33 miod 177: <ul>
1.48 miod 178: <li><strong>MVME180 <i>``Angelfire''</i> and MVME181</strong><br>
179: A low-cost, entry level board, featuring a single 88100 processor, two 88200
180: CMMUs and two on-board serial ports.
1.35 miod 181: <li><strong>MVME197LE</strong><br>
182: An entry-level design similar to the MVME187, but based on the 88110 processor
1.37 miod 183: with integrated MMU and cache controller.
1.46 miod 184: <li><strong>MVME197SP and MVME197DP</strong><br>
185: Improved versions of the MVME197LE, with one or two 88110 processors, and
186: one 88410 external cache controller per processor.
1.33 miod 187: </ul>
188:
1.13 smurph 189: <hr>
1.29 miod 190: <a name="install"></a>
191: <h3><font color="#0000e0">
192: <strong>Getting and installing OpenBSD/mvme88k:</strong>
193: </font></h3>
194:
195: <p>
1.52 david 196: The latest supported OpenBSD/mvme88k release is
1.58 miod 197: <a href="36.html">OpenBSD 3.6</a>.
1.52 david 198: Here are the
1.58 miod 199: <a href="ftp://ftp.OpenBSD.org/pub/OpenBSD/3.6/mvme88k/INSTALL.mvme88k">
200: OpenBSD/mvme88k 3.6 installation instructions
1.52 david 201: </a>.
202:
203: <p>
1.38 miod 204: Snapshots are made available from time to time, in
1.52 david 205: <a href="ftp://ftp.OpenBSD.org/pub/OpenBSD/snapshots/mvme88k">this location</a>
1.33 miod 206: as well as in a few
207: <a href="ftp.html">mirrors</a>.
208: Here are the
1.52 david 209: <a href="ftp://ftp.OpenBSD.org/pub/OpenBSD/snapshots/mvme88k/INSTALL.mvme88k">
1.33 miod 210: OpenBSD/mvme88k snapshot installation instructions
211: </a> as well.
1.1 deraadt 212:
1.3 fn 213: <hr>
1.30 miod 214: <a name="details"></a>
1.29 miod 215: <h3><font color="#0000e0"><strong>Hardware details:</strong></font></h3>
1.13 smurph 216:
1.14 smurph 217: <p>
1.29 miod 218: As VME hardware is quite uncommon in the average retail place, and Motorola
219: 881x0-based hardware is even more rare, this section is here to satisfy the
220: well-founded curiosity about the mvme88k hardware.
221:
1.48 miod 222: <p>
223: A comprehensive reference about the m88k processor and the various designs
224: built upon it is being gathered by Paul Weissmann at
1.57 miod 225: <a href="http://badabada.org/">badabada</a>.
1.48 miod 226:
1.52 david 227: <a name="pics"></a>
1.29 miod 228: <p>
229: Pictures of a Motorola 900 modular chassis, with a 33MHz MVME187 CPU board,
230: 32MB RAM, 4 MVME332XT serial boards, and an Archive 250MB QIC tape drive.
1.14 smurph 231: <ul>
1.29 miod 232: <li><a href="images/mvme187-1.jpg">MVME187 Series 900 (front view)</a>
1.14 smurph 233: <li><a href="images/mvme187-2.jpg">MVME187 Series 900 (rear view)</a>
234: <li><a href="images/mvme187-3.jpg">MVME187 Series 900 (rear view w/terminal)</a>
235: <li><a href="images/mvme187-4.jpg">MVME187 Series 900 (rear view close up)</a>
236: <li><a href="images/mvme188-2.jpg">MVME188 Dual proc board</a>
237: </ul>
1.15 smurph 238:
1.19 smurph 239: <p>
1.33 miod 240: This is a boot log of an MVME187 system.
1.19 smurph 241: <pre>
1.33 miod 242: CPU0 is attached with 2 MC88200 CMMUs
1.21 miod 243: CPU0 is master CPU
1.43 miod 244: [ using 164336 bytes of bsd a.out symbol table ]
1.21 miod 245: Copyright (c) 1982, 1986, 1989, 1991, 1993
1.33 miod 246: The Regents of the University of California. All rights reserved.
247: Copyright (c) 1995-2003 OpenBSD. All rights reserved. http://www.OpenBSD.org
1.21 miod 248:
1.43 miod 249: OpenBSD 3.4-current (GENERIC) #339: Thu Dec 25 20:53:33 GMT 2003
250: miod@ramade.gentiane.org:/usr/src/sys/arch/mvme88k/compile/GENERIC
251: real mem = 33554432
252: avail mem = 28024832 (6842 pages)
253: using 435 buffers containing 1781760 bytes of memory
254: mainbus0 (root): Motorola MVME187, 25MHz
1.38 miod 255: cpu0: M88100 rev 0x3, 2 CMMU
256: cpu0: M88200 (16K) rev 0x9, global Icache, M88200 (16K) rev 0x9, global Dcache
257: bugtty0 at mainbus0 addr 0xfff45000: fallback console
1.33 miod 258: pcctwo0 at mainbus0 addr 0xfff00000: rev 0
1.38 miod 259: clock0 at pcctwo0 ipl 5
1.43 miod 260: memc0 at pcctwo0 offset 0x43000: MEMC040 rev 1
1.33 miod 261: nvram0 at pcctwo0 offset 0xc0000: MK48T08 len 8192
1.43 miod 262: cl0 at pcctwo0 offset 0x45000 ipl 3 console
1.38 miod 263: ssh0 at pcctwo0 offset 0x47000 ipl 2: version 0 target 7
264: scsibus0 at ssh0: 8 targets
1.33 miod 265: vme0 at pcctwo0 offset 0x40000: vector base 0x80, system controller
266: vme0: using BUG parameters
1.43 miod 267: vme0: 1phys 0x02000000-0xefff0000 to VME 0x02000000-0xefff0000
1.33 miod 268: vme0: 2phys 0xff000000-0xff7f0000 to VME 0xff000000-0xff7f0000
269: vme0: 3phys 0x00000000-0x00000000 to VME 0x00000000-0x00000000
270: vme0: 4phys 0x00000000-0x00000000 to VME 0x00000000-0x00000000
271: vme0: vme to cpu irq level 1:1
1.21 miod 272: vmes0 at vme0
1.43 miod 273: vx0 at vmes0 addr 0xff780000 vaddr 0x3ad0000 vec 0x80 ipl 3
274: vx0: created channel 1
275: vs0 at vmes0 addr 0xffff9000 vaddr 0x3ae0000 vec 0x81 ipl 2: target 7
1.38 miod 276: scsibus1 at vs0: 8 targets
277: sd0 at scsibus1 targ 0 lun 0: <COMPAQPC, DCAS-32160, S6CA> SCSI2 0/direct fixed
1.33 miod 278: sd0: 2006MB, 8188 cyl, 3 head, 167 sec, 512 bytes/sec, 4110000 sec total
1.21 miod 279: vmel0 at vme0
1.43 miod 280: ie0 at pcctwo0 offset 0x46000 ipl 1: address 08:00:3e:21:07:25
1.21 miod 281: boot device: sd0
282: root on sd0a
283: rootdev=0x400 rrootdev=0x800 rawdev=0x802
1.33 miod 284: Automatic boot in progress: starting file system checks.
285: /dev/rsd0a: file system is clean; not checking
286: /dev/rsd0d: file system is clean; not checking
287: /dev/rsd0e: file system is clean; not checking
288: /dev/rsd0f: file system is clean; not checking
289: /dev/rsd0g: file system is clean; not checking
290: /dev/rsd0h: file system is clean; not checking
291: /dev/rsd0i: file system is clean; not checking
292: setting tty flags
293: ddb.console: 0 -> 1
294: kern.splassert: 0 -> 2
295: starting network
296: add net default: gateway odyssee
297: starting system logger
298: starting rpc daemons: portmap ypbind rdate timed.
299: savecore: no core dump
300: checking quotas: done.
301: building ps databases: kvm dev.
302: clearing /tmp
303: starting pre-securelevel daemons:.
304: setting kernel security level: kern.securelevel: 0 -> 1
1.36 miod 305: preserving editor files
1.33 miod 306: creating runtime link editor directory cache.
1.36 miod 307: starting network daemons: sendmail inetd sshd.
1.33 miod 308: starting local daemons:.
309: standard daemons: cron.
1.48 miod 310: Sat Jan 3 22:58:54 GMT 2004
1.33 miod 311:
1.43 miod 312: OpenBSD/mvme88k (ramade.gentiane.org) (console)
1.33 miod 313:
314: login:
1.19 smurph 315: </pre>
316:
1.15 smurph 317: <hr>
1.29 miod 318: <a href="plat.html">
319: <img height="24" width="24" src="back.gif" border="0" alt="Supported platforms">
320: </a>
321: <br>
322: <small><a href="mailto:www@openbsd.org">www@openbsd.org</a></small>
1.3 fn 323: <br>
1.60 ! miod 324: <small>$OpenBSD: mvme88k.html,v 1.59 2004/11/03 12:36:13 saad Exp $</small>
1.3 fn 325:
326: </body>
327: </html>