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