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

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

Revision 1.40, Wed Mar 4 11:28:23 1998 UTC (26 years, 2 months ago) by johns
Branch: MAIN
Changes since 1.39: +2 -2 lines

We also work with 3rd party SBus "esp" boards, such as those made by Artecon.
dmesg for one of the artecon boards:
dma2 at sbus0 slot 3 offset 0x100000: rev 1+
esp2 at sbus0 slot 3 offset 0x200000 pri 5: ESP200, 40MHz, SCSI ID 7

<!DOCTYPE HTML PUBLIC  "-//IETF//DTD HTML Strict//EN">
<html>
<head>
<title>OpenBSD/sparc</title>
<link rev=made href=mailto:www@openbsd.org>
<meta name="resource-type" content="document">
<meta name="description" content="the OpenBSD/sparc page">
<meta name="keywords" content="openbsd,sparc">
<meta name="distribution" content="global">
<meta name="copyright" content="This document copyright 1996 by OpenBSD">
</head>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#23238E">

<img alt="[OpenBSD]" SRC="images/bsd_small.gif">

<hr>
<img align=right vspace=5 hspace=5 src="images/sparc.gif">
<h3><font color=#0000e0><i>Table of contents</i></font></h3>
<p>
<ul>
  <li><a href="#history">Past history of the port</a>
  <li><a href="#status">Current status</a>
  <li><a href="#info">Where to get the port</a>
  <li><a href="#hardware">Supported hardware list</a>
  <li><a href="#projects">Project list</a>
</ul>
</p>

<hr>
<a name=history>
<h3><font color=#0000e0><strong>History:</strong></font></h3>

<p>
The original BSD4.4 port was done by Chris Torek as a contract to
LBL. The code was released by Chris in mid-93, and Theo de Raadt
worked it into shape for the NetBSD tree.  Theo and Markus Wild worked
on improving Chris' original SunOS compatibility code into a highly
complete and reliable emulation. Chuck Cranor ported the sun4c code to
the 8KB pagesized Sun4 architecture, and Theo merged this code in a
way that would allow the same kernel and programs to run on either
sun4c or sun4 machines (unlike Sun's seperate kernel environments).
This last change also required a rewrite of the device configuration
code.  Just after the NetBSD/sparc 1.0 release, Peter Galbavy wrote an
ESP scsi device driver as a replacement for Chris' sparc-specific scsi
code, this new driver unfortunately had some problems.
</p>

<p>
At this point a conflict emerged between Theo and the other people he
started the NetBSD project with, and Theo was forced by the core group
to resign from NetBSD.  After Theo left NetBSD, a few people in the
NetBSD group did some other things for the port: Paul Kranenburg
ported a floppy driver and started writing support for the 4/400.
Chuck spent many long hours working on the ie, xy, xd device drivers.
</p>

<p>
Theo continued working independently, and made a number of additions:
P4 support, flexible boot strategy, a few graphics drivers with help
from John Stone, and masses of bug fixes.  Many people will be most
interested that the ESP scsi driver has been completely replaced by
Theo, and that it supports disconnect/reconnect.
</p>

<p>
Work on porting OpenBSD/sparc to the sun4m platform was started by Theo,
but tendinitis problems with his wrists and the problems with the NetBSD
core conspired, and he stopped work.  Theo passed his initial sun4m work 
to Aaron Brown of Harvard, who was paid out of Margo Seltzer's research
funds.  This initial stuff consisted mostly of a few attempts at building
pmap structure that could support all 3 MMU types efficiently.  Also,
David Miller of the Sparclinux project got a little bit involved.
</p>

<p>
Theo and Jason Downs merged the NetBSD sparc code back into OpenBSD, making
OpenBSD/sparc usable again.  There are still a few OpenBSD/sparc features
from older source trees that need to be re-integrated; these will likely
surface soon.
</p>

<hr>
<a name=status>
<h3><font color=#0000e0><strong>Current Status:</strong></font></h3>

<p>
The people working the most on OpenBSD/sparc are Jason Downs, George Robbins, 
and John Stone.
<br>
Email may be sent to the maintainers and users of the OpenBSD/sparc port at
<a href="mailto:sparc@openbsd.org">sparc@openbsd.org</a>.  
To join the OpenBSD/sparc mailing list, send a message body of <b>"help"</b>
to <a href="mailto:majordomo@OpenBSD.org">majordomo@OpenBSD.org</a>
and you will receive a reply outlining all your options.
</p>

<p>
An important note about OpenBSD/sparc is that it is designed so that
a single kernel can run on <b>ALL SUPPORTED</b> sparc machines.  Whereas
SunOS and Solaris have always had separate `kernel architectures', ie. sun4,
sun4c, and sun4m, the same `GENERIC' OpenBSD kernel will run on all the
supported models. 
</p>

<p>
OpenBSD/sparc can be reasonably described as a continuation of the
NetBSD/sparc development with improvements.  The current status is
somewhere between under development and ready for general use, in that
it does support many of the Sparc based systems and their peripherals,
and can be quite reliable depending on the system configuration and
usage.
</p>

<p>
Most of the problems are believed to stem from the wide variety of sparc
processor and cache implementations along with their undocumented bugs,
rather then general kernel problems.
Feedback on which models do and do not work reliably is
appreciated, particularly with the newer sun4m implementations like the
Fujitsu TurboSparc and Ross HyperSparc based systems and upgrades.
</p>

<p>
The installation tools and process as of the 2.1 release are greatly
improved over previous releases of OpenBSD.  OpenBSD/sparc can be installed
or upgraded via floppy boot images on sun4c and sun4m, miniroot images 
for machines without floppies (and sun4 machines). 
</p>

<hr>
<a name=info>
<h3><font color=#0000e0><strong>Where to get it:</strong></font></h3>

<p>
<ul>
<li><a href=ftp.html>Snapshots are made available from time to time.</a>
<li><a href=ftp://ftp3.usa.openbsd.org/pub/OpenBSD/2.1/sparc/INSTALL.sparc>Installation information for the 2.1 release of OpenBSD/sparc</a>
</ul>
</p>

<p>
<hr>
<a name=hardware>
<h3><font color=#0000e0><strong>What hardware is supported?</strong></font></h3>

<h4>OpenBSD/sparc runs on the following classes of machines:</h4>
<ul>
<li> sun4: 4/100, 4/200, and 4/300
<li> sun4c: SS1, SS1+, IPC, SLC, SS2, IPX, and ELC
<li> sun4m: at least the LC, LX, 4, 5, 10, and 20. A few cpu
	combinations do not work reliably, as well as a few odd memory
	configurations.
<li> Typically it works on faithful clones of these machines
</ul>
<h4>Supported devices.  This list of basically declares that any `stock' sun4c
"sparcstation" machine will probably work; for sun4 machines one must be more
careful.</h4>
<ul>
<li> Sun keyboard and mouse

<li> Floppy drives:
  <ul>
  <li> sun4c and sun4m floppy disk drive
  </ul>

<li> Serial ports:
  <ul>
  <li> ttya and ttyb on-board serial ports (can be used as console if needed)
  <li> 4/300 ttyc and ttyd on-board serial ports
  </ul>


<li> Audio support:
  <ul>
  <li> sun4c on-board audio
  </ul>

<li> Framebuffers:
  <ul>
  <li>SBus, MBus and sun4c/sun4m on-board video:
    <ul>
    <li>bwtwo - black and white.
    <li>cgthree - 8-bit color, unaccelerated.
	<br>The cgthree driver also supports the cgRDI, an onboard cgthree-like
framebuffer found in some laptops.
    <li>cgsix - 8-bit color, accelerated (GX, GX+, TGX, TGX+).
	<br>This should work with most faithful emulations/clones of the SBus
cgsix.
    <li>cgfourteen - 8-bit color (24-bit MBus accelerated card, but the driver
only properly emulates a cgthree).
    <li>TCX - 8-bit color (24-bit, but driver currently emulates a cgthree).
    </ul>

  <li> 4/200 on-board bwtwo

  <li> P4 video (4/100 and 4/300):
    <ul> 
    <li> bwtwo - black and white
    <li> cgthree - 8-bit color, unaccelerated
    <li> cgfour - 8-bit color, 1-bit overlay, unaccelerated
    <li> cgsix - 8-bit color, accelerated
    <li> cgeight - 24-bit color, 1-bit overlay, unaccelerated
    </ul>

  <li> VME video (sun4):
    <ul>
    <li> cgtwo - black and white
    <li> cgthree - 8-bit color, unaccelerated
    <li> cgsix - 8-bit color, accelerated
    </ul>
  </ul>

<li> Ethernet adapters:
  <ul>
  <li> on-board AMD Lance ethernet 
  <li> SBus AMD Lance ethernet cards 
  <li> on-board Intel 82586 ethernet (ie0 on 4/100 and 4/200)
  <li> VME Intel 82586 ethernet cards
  </ul>

<li> SCSI controllers:
  <ul>
  <li> on-board "esp" SCSI controller (sun4c, sun4m, and 4/300)
  <li> SBus "esp" SCSI controller (Also works with several 3rd party esp compatible boards)
  <li> VME "SUN-3"/"si" SCSI controller (polled mode only, slow)
  <li> 4/110 "SCSI Weird"/"sw" on-board controller (slow, polled mode)
  </ul>

<li> SMD and other disk controllers
  <ul>
  <li> Xylogics 7053 VME/SMD disk controller ("xd")
  <li> Xylogics 450/451 VME disk controller ("xy")
  </ul>

</ul>

<h4>OpenBSD/sparc does *not* run on these machines (yet):</h4>
<ul>
<li> sun4: 4/400 (lacks support for the I/O cache, and has ethernet problems)
<li> sun4m: older systems with Viking (TMS390Z55) processor modules without external cache chips, aka SuperCache, aka MXCC, aka PAC.
<li> sun4m: model 4/600 -- uses auxio registers, sun4m VME, I/O cache?
<li> sun4d: SPARC Server 1000, SPARC Center 2000 -- XD-Bus vs. M-Bus, MP issues.
<li> sun4u: UltraSPARC 64-bit machines.
<li> It does not work on most Solbourne machines, which are quite different.
</ul>

<p>
OpenBSD/Sparc on the 4c/4m machines is critically dependent on configuration
information returned by the openboot prom.  A sparc clone that differs
substantially from the Sun model as far as device names and properties will
require additional work in this area.

<h4>Unsupported Devices. First of all, there are MANY unsupported devices.
A comprehensive list can probably not be written.</h4>
<ul>
<li> Serial Cards:
  <ul>
  <li> VME mti 16-port serial card
  <li> VME alm2 16-port serial card
  <li> VME mcp 4-port serial card (or is it 8 port)
  </ul>

<li>Disk Controllers:
  <ul>
  <li> VME "sc" SCSI controller
  <li> VME IPI controller
  </ul>
 
<li> Framebuffers:
  <ul>
  <li> VME cgfive, 8-bit color, 1-bit overlay, double-buffered, unaccelerated without GP/GP2
  <li> VME cgnine, 24-bit color, 1-bit overlay, double-buffered, unaccelerated without GP/GP2
  <li> VME GP/GP2 Graphics Processor (drives a cgfive or cgnine)
  <li> SBus cgeight 24-bit color, unaccelerated (note: SBus cgeight is quite different from VME/P4 cgeight)
  <li> SBus GS, 24-bit color, 8-bit color, overlay planes, double-buffered, 3-D acceleration (aka cgtwelve) 
  <li> SBus GT, 24-bit color, 8-bit color, overlay planes, double-buffered, 3-D acceleration (aka Graphics Tower)
  <li> SBus ZX, 24-bit color, 8-bit color, overlay planes, double-buffered, 3-D acceleration (aka Leo)
  </ul>

<li> SBus cards other than the standard video/scsi/ethernet listed above
<li> On-board Audio and ISDN hardware present on some sun4m systems
<li> Multiple Processors/Modules in sun4m systems (OpenBSD will not currently boot on machines with multiple processors.)
</ul>

<hr>
<a name=projects>
<h3><font color=#0000e0>OpenBSD/sparc Projects:</font></h3>
<ul>
<li>Improve sun4m stability.
<li>Merge in useful NetBSD work.
<li>Start work on device drivers for unsupported framebuffers.
<li>Bring back OpenBSD/sparc features from older code.
</ul>

<hr>

<a href=plat.html><img src=back.gif border=0 alt=OpenBSD></a> 
<a href=mailto:www@openbsd.org>www@openbsd.org</a>
<br>
<small>$OpenBSD: sparc.html,v 1.40 1998/03/04 11:28:23 johns Exp $</small>

</body>
</html>