Annotation of www/sparc.html, Revision 1.35
1.3 fn 1: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML Strict//EN">
2: <html>
1.1 deraadt 3: <head>
1.25 johns 4: <title>OpenBSD/sparc</title>
1.3 fn 5: <link rev=made href=mailto:www@openbsd.org>
6: <meta name="resource-type" content="document">
1.25 johns 7: <meta name="description" content="the OpenBSD/sparc page">
1.3 fn 8: <meta name="keywords" content="openbsd,sparc">
9: <meta name="distribution" content="global">
1.16 deraadt 10: <meta name="copyright" content="This document copyright 1996 by OpenBSD">
1.3 fn 11: </head>
12:
1.20 johns 13: <BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#23238E">
1.3 fn 14:
1.30 downsj 15: <img alt="[OpenBSD]" SRC="images/smalltitle.gif">
1.1 deraadt 16:
1.3 fn 17: <hr>
1.30 downsj 18: <img align=right vspace=5 hspace=5 src="images/Sparc.gif">
1.29 downsj 19: <h3><i>Table of contents</i></h3>
20: <p>
21: <ul>
22: <li><a href="#history">Past history of the port</a>
23: <li><a href="#status">Current status</a>
24: <li><a href="#info">Where to get the port</a>
25: <li><a href="#hardware">Supported hardware list</a>
26: <li><a href="#projects">Project list</a>
27: </ul>
28: </p>
29:
1.30 downsj 30: <p>
31: <small><em>"Sparc" logo by Gary Snow.</em></small>
32:
1.29 downsj 33: <hr>
34: <a name=history>
35: <h3><strong>History:</strong></h3>
1.3 fn 36:
37: <p>
1.1 deraadt 38: The original BSD4.4 port was done by Chris Torek as a contract to
39: LBL. The code was released by Chris in mid-93, and Theo de Raadt
40: worked it into shape for the NetBSD tree. Theo and Markus Wild worked
41: on improving Chris' original SunOS compatibility code into a highly
42: complete and reliable emulation. Chuck Cranor ported the sun4c code to
43: the 8KB pagesized Sun4 architecture, and Theo merged this code in a
44: way that would allow the same kernel and programs to run on either
45: sun4c or sun4 machines (unlike Sun's seperate kernel environments).
46: This last change also required a rewrite of the device configuration
1.25 johns 47: code. Just after the NetBSD/sparc 1.0 release, Peter Galbavy wrote an
48: ESP scsi device driver as a replacement for Chris' sparc-specific scsi
1.1 deraadt 49: code, this new driver unfortunately had some problems.
1.3 fn 50: </p>
1.1 deraadt 51:
52: <p>
53: At this point a conflict emerged between Theo and the other people he
54: started the NetBSD project with, and Theo was forced by the core group
55: to resign from NetBSD. After Theo left NetBSD, a few people in the
56: NetBSD group did some other things for the port: Paul Kranenburg
57: ported a floppy driver and started writing support for the 4/400.
58: Chuck spent many long hours working on the ie, xy, xd device drivers.
1.3 fn 59: </p>
1.1 deraadt 60:
61: <p>
62: Theo continued working independently, and made a number of additions:
63: P4 support, flexible boot strategy, a few graphics drivers with help
64: from John Stone, and masses of bug fixes. Many people will be most
65: interested that the ESP scsi driver has been completely replaced by
66: Theo, and that it supports disconnect/reconnect.
1.3 fn 67: </p>
1.1 deraadt 68:
69: <p>
1.25 johns 70: Work on porting OpenBSD/sparc to the sun4m platform was started by Theo,
1.7 deraadt 71: but tendonitis problems with his wrists and the problems with the NetBSD
72: core conspired, and he stopped work. Theo passed his initial sun4m work
73: to Aaron Brown of Harvard, who was paid out of Margo Seltzer's research
74: funds. This initial stuff consisted mostly of a few attempts at building
1.8 deraadt 75: pmap structure that could support all 3 MMU types efficiently. Also,
1.25 johns 76: David Miller of the Sparclinux project got a little bit involved.
1.7 deraadt 77: </p>
78:
79: <p>
1.27 downsj 80: Theo and Jason Downs merged the NetBSD sparc code back into OpenBSD, making
81: OpenBSD/sparc usable again. There are still a few OpenBSD/sparc features
82: from older source trees that need to be re-integrated; these will likely
83: surface soon.
1.3 fn 84: </p>
1.1 deraadt 85:
1.28 downsj 86: <hr>
1.29 downsj 87: <a name=status>
88: <h3><strong>Current Status:</strong></h3>
1.28 downsj 89:
1.1 deraadt 90: <p>
1.25 johns 91: The people working the most on OpenBSD/sparc are Jason Downs, George Robbins,
1.27 downsj 92: and John Stone.
1.28 downsj 93: <br>
1.34 johns 94: Email may be sent to the maintainers and users of the OpenBSD/sparc port at
95: <a href="mailto:sparc@openbsd.org">sparc@openbsd.org</a>.
96: To join the OpenBSD/sparc mailing list, send a message body of <b>"help"</b>
97: to <a href="mailto:majordomo@OpenBSD.org">majordomo@OpenBSD.org</a>
98: and you will receive a reply outlining all your options.
1.6 downsj 99: </p>
100:
101: <p>
1.25 johns 102: An important note about OpenBSD/sparc is that it is designed so that
1.30 downsj 103: a single kernel can run on <b>ALL SUPPORTED</b> sparc machines. Whereas
1.26 downsj 104: SunOS and Solaris have always had separate `kernel architectures', ie. sun4,
105: sun4c, and sun4m, the same `GENERIC' OpenBSD kernel will run on all the
106: supported models.
1.15 grr 107: </p>
108:
109: <p>
1.25 johns 110: OpenBSD/sparc can be reasonably described as a continuation of the
111: NetBSD/sparc development with improvements. The current status is
1.17 johns 112: somewhere between under development and ready for general use, in that
1.15 grr 113: it does support many of the Sparc based systems and their peripherals,
114: and can be quite reliable depending on the system configuration and
115: usage.
116: </p>
117:
118: <p>
1.25 johns 119: Most of the problems are believed to stem from the wide variety of sparc
1.15 grr 120: processor and cache implementations along with their undocumented bugs,
1.24 johns 121: rather then general kernel problems.
1.15 grr 122: Feedback on which models do and do not work reliably is
123: appreciated, particularly with the newer sun4m implementations like the
124: Fujitsu TurboSparc and Ross HyperSparc based systems and upgrades.
125: </p>
126:
127: <p>
1.17 johns 128: The installation tools and process as of the 2.1 release are greatly
1.25 johns 129: improved over previous releases of OpenBSD. OpenBSD/sparc can be installed
1.17 johns 130: or upgraded via floppy boot images on sun4c and sun4m, miniroot images
131: for machines without floppies (and sun4 machines).
1.3 fn 132: </p>
133:
134: <hr>
1.29 downsj 135: <a name=info>
136: <h3><strong>Where to get it:</strong></h3>
137:
1.1 deraadt 138: <p>
1.22 johns 139: <ul>
140: <li><a href=ftp.html>Snapshots are made available from time to time.</a>
1.34 johns 141: <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>
1.22 johns 142: </ul>
143: </p>
1.3 fn 144:
1.22 johns 145: <p>
1.3 fn 146: <hr>
1.29 downsj 147: <a name=hardware>
1.3 fn 148: <h3><strong>What hardware is supported?</strong></h3>
1.1 deraadt 149:
1.25 johns 150: <h4>OpenBSD/sparc runs on the following classes of machines:</h4>
1.3 fn 151: <ul>
1.19 johns 152: <li> sun4: 4/100, 4/200, and 4/300
153: <li> sun4c: SS1, SS1+, IPC, SLC, SS2, IPX, and ELC
154: <li> sun4m: at least the LC, LX, 4, 5, 10, and 20. A few cpu
1.17 johns 155: combinations do not work reliably, as well as a few odd memory
156: configurations.
1.15 grr 157: <li> Typically it works on faithful clones of these machines
1.3 fn 158: </ul>
159: <h4>Supported devices. This list of basically declares that any `stock' sun4c
160: "sparcstation" machine will probably work; for sun4 machines one must be more
161: careful.</h4>
162: <ul>
1.19 johns 163: <li> Sun keyboard and mouse
164:
165: <li> Floppy drives:
166: <ul>
1.26 downsj 167: <li> sun4c and sun4m floppy disk drive
1.19 johns 168: </ul>
169:
170: <li> Serial ports:
171: <ul>
172: <li> ttya and ttyb on-board serial ports (can be used as console if needed)
173: <li> 4/300 ttyc and ttyd on-board serial ports
174: </ul>
175:
176:
177: <li> Audio support:
178: <ul>
179: <li> sun4c on-board audio
180: </ul>
181:
182: <li> Framebuffers:
183: <ul>
1.33 downsj 184: <li>SBus, MBus and sun4c/sun4m on-board video:
1.19 johns 185: <ul>
1.33 downsj 186: <li>bwtwo - black and white.
187: <li>cgthree - 8-bit color, unaccelerated.
188: <br>The cgthree driver also supports the cgRDI, an onboard cgthree-like
189: framebuffer found in some laptops.
190: <li>cgsix - 8-bit color, accelerated (GX, GX+, TGX, TGX+).
191: <br>This should work with most faithful emulations/clones of the SBus
192: cgsix.
193: <li>cgfourteen - 8-bit color (24-bit MBus accelerated card, but the driver
194: only properly emulates a cgthree).
1.35 ! johns 195: <li>TCX - 8-bit color (24-bit, but driver currently emulates a cgthree).
1.19 johns 196: </ul>
197:
198: <li> 4/200 on-board bwtwo
199:
200: <li> P4 video (4/100 and 4/300):
201: <ul>
202: <li> bwtwo - black and white
203: <li> cgthree - 8-bit color, unaccelerated
204: <li> cgfour - 8-bit color, 1-bit overlay, unaccelerated
205: <li> cgsix - 8-bit color, accelerated
206: <li> cgeight - 24-bit color, 1-bit overlay, unaccelerated
207: </ul>
208:
209: <li> VME video (sun4):
210: <ul>
211: <li> cgtwo - black and white
212: <li> cgthree - 8-bit color, unaccelerated
213: <li> cgsix - 8-bit color, accelerated
214: </ul>
215: </ul>
216:
217: <li> Ethernet adapters:
218: <ul>
219: <li> on-board AMD Lance ethernet
220: <li> SBus AMD Lance ethernet cards
221: <li> on-board Intel 82586 ethernet (ie0 on 4/100 and 4/200)
222: <li> VME Intel 82586 ethernet cards
223: </ul>
224:
225: <li> SCSI controllers:
226: <ul>
227: <li> on-board "esp" SCSI controller (sun4c, sun4m, and 4/300)
228: <li> SBus "esp" SCSI controller
229: <li> VME "SUN-3"/"si" SCSI controller (polled mode only, slow)
230: <li> 4/110 "SCSI Weird"/"sw" on-board controller (slow, polled mode)
231: </ul>
232:
233: <li> SMD and other disk controllers
234: <ul>
235: <li> Xylogics 7053 VME/SMD disk controller ("xd")
236: <li> Xylogics 450/451 VME disk controller ("xy")
237: </ul>
238:
1.3 fn 239: </ul>
1.1 deraadt 240:
1.25 johns 241: <h4>OpenBSD/sparc does *not* run on these machines (yet):</h4>
1.3 fn 242: <ul>
1.19 johns 243: <li> sun4: 4/400 (lacks support for the I/O cache, and has ethernet problems)
244: <li> sun4m: older systems with Viking (TMS390Z55) processor modules without external cache chips, aka SuperCache, aka MXCC, aka PAC.
245: <li> sun4m: model 4/600 -- uses auxio registers, sun4m VME, I/O cache?
246: <li> sun4d: SPARC Server 1000, SPARC Center 2000 -- XD-Bus vs. M-Bus, MP issues.
247: <li> sun4u: UltraSPARC 64-bit machines.
1.1 deraadt 248: <li> It does not work on most Solbourne machines, which are quite different.
1.3 fn 249: </ul>
1.19 johns 250:
1.15 grr 251: <p>
252: OpenBSD/Sparc on the 4c/4m machines is criticaly dependent on configuration
1.25 johns 253: information returned by the openboot prom. A sparc clone that differs
1.15 grr 254: substantially from the Sun model as far as device names and properties will
255: require additional work in this area.
1.1 deraadt 256:
257: <h4>Unsupported Devices. First of all, there are MANY unsupported devices.
258: A comprehensive list can probably not be written.</h4>
1.3 fn 259: <ul>
1.19 johns 260: <li> Serial Cards:
261: <ul>
262: <li> VME mti 16-port serial card
263: <li> VME alm2 16-port serial card
264: <li> VME mcp 4-port serial card (or is it 8 port)
265: </ul>
266:
267: <li>Disk Controllers:
268: <ul>
269: <li> VME "sc" SCSI controller
270: <li> VME IPI controller
271: </ul>
272:
273: <li> Framebuffers:
274: <ul>
275: <li> VME cgfive, 8-bit color, 1-bit overlay, double-buffered, unaccelerated without GP/GP2
276: <li> VME cgnine, 24-bit color, 1-bit overlay, double-buffered, unaccelerated without GP/GP2
277: <li> VME GP/GP2 Graphics Processor (drives a cgfive or cgnine)
278: <li> SBus cgeight 24-bit color, unaccelerated (note: SBus cgeight is quite different from VME/P4 cgeight)
279: <li> SBus GS, 24-bit color, 8-bit color, overlay planes, double-buffered, 3-D acceleration (aka cgtwelve)
280: <li> SBus GT, 24-bit color, 8-bit color, overlay planes, double-buffered, 3-D acceleration (aka Graphics Tower)
281: <li> SBus ZX, 24-bit color, 8-bit color, overlay planes, double-buffered, 3-D acceleration (aka Leo)
282: </ul>
283:
1.17 johns 284: <li> SBus cards other than the standard video/scsi/ethernet listed above
1.15 grr 285: <li> On-board Audio and ISDN hardware present on some sun4m systems
286: <li> Multiple Processors/Modules in sun4m systems (OpenBSD will run, but only uses one processor)
1.3 fn 287: </ul>
1.1 deraadt 288:
1.3 fn 289: <hr>
1.29 downsj 290: <a name=projects>
1.25 johns 291: <h3>OpenBSD/sparc Projects:</h3>
1.21 johns 292: <ul>
293: <li>Improve sun4m stability.
294: <li>Merge in useful NetBSD work.
295: <li>Start work on device drivers for unsupported framebuffers.
1.25 johns 296: <li>Bring back OpenBSD/sparc features from older code.
1.21 johns 297: </ul>
298:
299: <hr>
1.26 downsj 300:
1.11 deraadt 301: <a href=plat.html><img src=back.gif border=0 alt=OpenBSD></a>
1.1 deraadt 302: <a href=mailto:www@openbsd.org>www@openbsd.org</a>
1.3 fn 303: <br>
1.35 ! johns 304: <small>$OpenBSD: sparc.html,v 1.34 1997/10/07 06:17:31 johns Exp $</small>
1.3 fn 305:
306: </body>
307: </html>