[OpenBSD]

OpenBSD/mvme88k


OpenBSD/mvme88k is an effort to port OpenBSD to the systems built upon Motorola's 881x0-based VME motherboard family.

The current port maintainer is Miodrag Vallat (miod@openbsd.org), with the help of Steve Murphree. Others are definitely welcome to contribute!

Table of contents


History:

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.

Nivas Madhur started the initial mvme88k port for the MVME187 card, but has since moved on to another employer. The port was brought in the OpenBSD tree by Dale Rahn, but he did not have enough time to work on it. Steve Murphree, Jr. eventually completed the port to the MVME187 in November 1998.

Unfortunately, at the same time, a compiler upgrade from gcc 2.8.1 to egcs revealed 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.

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, working install process that correctly creates a Motorola VID block on the disks, and support for MVME188 as well as improving support for MVME197.

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.


Current status:

Currently, only the MVME187 and MVME188 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. Work is on progress to fix the remaining problems and reliably support more boards.


Projects (in no particular order):


Supported hardware:

Supported processor boards

Besides various Motorola complete systems (M8120, MVME187-based series 900, etc), this port also runs on the MVME187-based Triton Dolphin System 100.

Supported on-board devices

Supported VME boards

Unsupported processor boards

These boards are currently not supported. However, code for some of them exists in the tree, and is currently being debugged.


Getting and installing OpenBSD/mvme88k:

The latest supported OpenBSD/mvme88k release is OpenBSD 3.5. Here are the OpenBSD/mvme88k 3.5 installation instructions .

Snapshots are made available from time to time, in this location as well as in a few mirrors. Here are the OpenBSD/mvme88k snapshot installation instructions as well.


Hardware details:

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.

A comprehensive reference about the m88k processor and the various designs built upon it is being gathered by Paul Weissmann at badabada.

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.

This is a boot log of an MVME187 system.

CPU0 is attached with 2 MC88200 CMMUs
CPU0 is master CPU
[ using 164336 bytes of bsd a.out symbol table ]
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2003 OpenBSD. All rights reserved.  http://www.OpenBSD.org

OpenBSD 3.4-current (GENERIC) #339: Thu Dec 25 20:53:33 GMT 2003
    miod@ramade.gentiane.org:/usr/src/sys/arch/mvme88k/compile/GENERIC
real mem  = 33554432
avail mem = 28024832 (6842 pages)
using 435 buffers containing 1781760 bytes of memory
mainbus0 (root): Motorola MVME187, 25MHz
cpu0: M88100 rev 0x3, 2 CMMU
cpu0: M88200 (16K) rev 0x9, global Icache, M88200 (16K) rev 0x9, global Dcache
bugtty0 at mainbus0 addr 0xfff45000: fallback console
pcctwo0 at mainbus0 addr 0xfff00000: rev 0
clock0 at pcctwo0 ipl 5
memc0 at pcctwo0 offset 0x43000: MEMC040 rev 1
nvram0 at pcctwo0 offset 0xc0000: MK48T08 len 8192
cl0 at pcctwo0 offset 0x45000 ipl 3 console 
ssh0 at pcctwo0 offset 0x47000 ipl 2: version 0 target 7
scsibus0 at ssh0: 8 targets
vme0 at pcctwo0 offset 0x40000: vector base 0x80, system controller
vme0: using BUG parameters
vme0: 1phys 0x02000000-0xefff0000 to VME 0x02000000-0xefff0000
vme0: 2phys 0xff000000-0xff7f0000 to VME 0xff000000-0xff7f0000
vme0: 3phys 0x00000000-0x00000000 to VME 0x00000000-0x00000000
vme0: 4phys 0x00000000-0x00000000 to VME 0x00000000-0x00000000
vme0: vme to cpu irq level 1:1
vmes0 at vme0
vx0 at vmes0 addr 0xff780000 vaddr 0x3ad0000 vec 0x80 ipl 3
vx0: created channel 1
vs0 at vmes0 addr 0xffff9000 vaddr 0x3ae0000 vec 0x81 ipl 2: target 7
scsibus1 at vs0: 8 targets
sd0 at scsibus1 targ 0 lun 0: <COMPAQPC, DCAS-32160, S6CA> SCSI2 0/direct fixed
sd0: 2006MB, 8188 cyl, 3 head, 167 sec, 512 bytes/sec, 4110000 sec total
vmel0 at vme0
ie0 at pcctwo0 offset 0x46000 ipl 1: address 08:00:3e:21:07:25
boot device: sd0
root on sd0a
rootdev=0x400 rrootdev=0x800 rawdev=0x802
Automatic boot in progress: starting file system checks.
/dev/rsd0a: file system is clean; not checking
/dev/rsd0d: file system is clean; not checking
/dev/rsd0e: file system is clean; not checking
/dev/rsd0f: file system is clean; not checking
/dev/rsd0g: file system is clean; not checking
/dev/rsd0h: file system is clean; not checking
/dev/rsd0i: file system is clean; not checking
setting tty flags
ddb.console: 0 -> 1
kern.splassert: 0 -> 2
starting network
add net default: gateway odyssee
starting system logger
starting rpc daemons: portmap ypbind rdate timed.
savecore: no core dump
checking quotas: done.
building ps databases: kvm dev.
clearing /tmp
starting pre-securelevel daemons:.
setting kernel security level: kern.securelevel: 0 -> 1
preserving editor files
creating runtime link editor directory cache.
starting network daemons: sendmail inetd sshd.
starting local daemons:.
standard daemons: cron.
Sat Jan  3 22:58:54 GMT 2004

OpenBSD/mvme88k (ramade.gentiane.org) (console)

login:  

Supported platforms
www@openbsd.org
$OpenBSD: mvme88k.html,v 1.55 2004/08/03 21:27:55 miod Exp $