Annotation of www/sparc.html, Revision 1.56
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.50 jason 13: <body bgcolor="#FFFFFF" text="#000000" link="#23238E">
1.3 fn 14:
1.50 jason 15: <img alt="[OpenBSD]" src="images/bsd_small.gif">
1.1 deraadt 16:
1.3 fn 17: <hr>
1.50 jason 18:
19: <p>
20: OpenBSD/sparc runs on most of the 32bit Sun SPARC workstations, including
21: the sun4, sun4c, and sun4m architectures
22: (not the 64bit <a href="sparc64.html">Ultra SPARC</a> computers).
23: The current port maintainer is
24: Jason Wright (<a href="mailto:jason@openbsd.org">jason@openbsd.org</a>).
1.56 ! aaron 25: Others are definitely welcome to contribute!
1.50 jason 26: </p>
27:
1.38 downsj 28: <img align=right vspace=5 hspace=5 src="images/sparc.gif">
1.37 deraadt 29: <h3><font color=#0000e0><i>Table of contents</i></font></h3>
1.29 downsj 30: <p>
31: <ul>
1.50 jason 32: <li><a href="#history">Past history of the port</a>
33: <li><a href="#status">Current status</a>
34: <li><a href="#info">Where to get it</a>
35: <li><a href="#hardware">Supported hardware list</a>
36: <li><a href="#projects">Project list</a>
1.29 downsj 37: </ul>
38: </p>
39:
40: <hr>
41: <a name=history>
1.37 deraadt 42: <h3><font color=#0000e0><strong>History:</strong></font></h3>
1.3 fn 43:
44: <p>
1.1 deraadt 45: The original BSD4.4 port was done by Chris Torek as a contract to
1.50 jason 46: LBL. The code was released by Chris in mid-1993, and Theo de Raadt
1.1 deraadt 47: worked it into shape for the NetBSD tree. Theo and Markus Wild worked
48: on improving Chris' original SunOS compatibility code into a highly
49: complete and reliable emulation. Chuck Cranor ported the sun4c code to
50: the 8KB pagesized Sun4 architecture, and Theo merged this code in a
51: way that would allow the same kernel and programs to run on either
52: sun4c or sun4 machines (unlike Sun's seperate kernel environments).
53: This last change also required a rewrite of the device configuration
1.25 johns 54: code. Just after the NetBSD/sparc 1.0 release, Peter Galbavy wrote an
55: ESP scsi device driver as a replacement for Chris' sparc-specific scsi
1.50 jason 56: code, this new driver unfortunately had some problems and was eventually
57: replaced.
1.3 fn 58: </p>
1.1 deraadt 59:
60: <p>
61: At this point a conflict emerged between Theo and the other people he
62: started the NetBSD project with, and Theo was forced by the core group
63: to resign from NetBSD. After Theo left NetBSD, a few people in the
64: NetBSD group did some other things for the port: Paul Kranenburg
65: ported a floppy driver and started writing support for the 4/400.
66: Chuck spent many long hours working on the ie, xy, xd device drivers.
1.3 fn 67: </p>
1.1 deraadt 68:
69: <p>
70: Theo continued working independently, and made a number of additions:
71: P4 support, flexible boot strategy, a few graphics drivers with help
72: from John Stone, and masses of bug fixes. Many people will be most
73: interested that the ESP scsi driver has been completely replaced by
74: Theo, and that it supports disconnect/reconnect.
1.3 fn 75: </p>
1.1 deraadt 76:
77: <p>
1.25 johns 78: Work on porting OpenBSD/sparc to the sun4m platform was started by Theo,
1.36 todd 79: but tendinitis problems with his wrists and the problems with the NetBSD
1.7 deraadt 80: core conspired, and he stopped work. Theo passed his initial sun4m work
81: to Aaron Brown of Harvard, who was paid out of Margo Seltzer's research
82: funds. This initial stuff consisted mostly of a few attempts at building
1.8 deraadt 83: pmap structure that could support all 3 MMU types efficiently. Also,
1.50 jason 84: David Miller of the S/Linux project got a little bit involved.
1.7 deraadt 85: </p>
86:
87: <p>
1.27 downsj 88: Theo and Jason Downs merged the NetBSD sparc code back into OpenBSD, making
1.50 jason 89: OpenBSD/sparc usable again. Jason Wright wrote a few new SBus Ethernet
90: drivers with information from the S/Linux project and has merged a few bits
91: from NetBSD sources to improve the stability of this architecture.
92: </p>
93:
94: <p>
95: And work continues...
1.3 fn 96: </p>
1.1 deraadt 97:
1.28 downsj 98: <hr>
1.29 downsj 99: <a name=status>
1.37 deraadt 100: <h3><font color=#0000e0><strong>Current Status:</strong></font></h3>
1.28 downsj 101:
1.1 deraadt 102: <p>
1.50 jason 103: The people working the most on OpenBSD/sparc are
104: Jason Wright, Theo de Raadt, and Todd Fries.
105: </p>
106:
107: <p>
1.34 johns 108: Email may be sent to the maintainers and users of the OpenBSD/sparc port at
109: <a href="mailto:sparc@openbsd.org">sparc@openbsd.org</a>.
110: To join the OpenBSD/sparc mailing list, send a message body of <b>"help"</b>
111: to <a href="mailto:majordomo@OpenBSD.org">majordomo@OpenBSD.org</a>
1.50 jason 112: and you will receive a reply outlining all of your options.
1.6 downsj 113: </p>
114:
115: <p>
1.25 johns 116: An important note about OpenBSD/sparc is that it is designed so that
1.30 downsj 117: a single kernel can run on <b>ALL SUPPORTED</b> sparc machines. Whereas
1.26 downsj 118: SunOS and Solaris have always had separate `kernel architectures', ie. sun4,
119: sun4c, and sun4m, the same `GENERIC' OpenBSD kernel will run on all the
120: supported models.
1.15 grr 121: </p>
122:
123: <p>
1.50 jason 124: Most of the problems with OpenBSD/sparc are believed to stem from the wide
125: variety of sparc processor and cache implementations along with their
126: undocumented bugs, rather then general kernel problems.
1.15 grr 127: Feedback on which models do and do not work reliably is
128: appreciated, particularly with the newer sun4m implementations like the
129: Fujitsu TurboSparc and Ross HyperSparc based systems and upgrades.
130: </p>
131:
132: <p>
1.17 johns 133: The installation tools and process as of the 2.1 release are greatly
1.50 jason 134: improved over previous releases of OpenBSD, and more work has been done
135: with each successive release. OpenBSD/sparc can be installed
1.17 johns 136: or upgraded via floppy boot images on sun4c and sun4m, miniroot images
1.50 jason 137: for machines without floppies (and sun4 machines), as well as network
138: and diskless installs.
1.3 fn 139: </p>
140:
141: <hr>
1.29 downsj 142: <a name=info>
1.37 deraadt 143: <h3><font color=#0000e0><strong>Where to get it:</strong></font></h3>
1.29 downsj 144:
1.1 deraadt 145: <p>
1.22 johns 146: <ul>
147: <li><a href=ftp.html>Snapshots are made available from time to time.</a>
1.50 jason 148: <li><a href=ftp://ftp3.usa.openbsd.org/pub/OpenBSD/2.3/sparc/INSTALL.sparc>Installation information for the 2.3 release of OpenBSD/sparc</a>
1.22 johns 149: </ul>
150: </p>
1.3 fn 151:
1.22 johns 152: <p>
1.3 fn 153: <hr>
1.29 downsj 154: <a name=hardware>
1.50 jason 155: <h3><font color=#0000e0><strong>Supported hardware list:</strong></font></h3>
1.1 deraadt 156:
1.25 johns 157: <h4>OpenBSD/sparc runs on the following classes of machines:</h4>
1.3 fn 158: <ul>
1.50 jason 159: <li> sun4: 4/100, 4/200, and 4/300
160: <li> sun4c: SS1, SS1+, IPC, SLC, SS2, IPX, and ELC. (<strong>Please note
161: that SBus DMA peripherals do not work in some of the slots of an
1.49 deraadt 162: SS1 or SS1+</strong>).
1.50 jason 163: <li> sun4m: at least the LC, LX, 4, 5, 10, and 20. A few cpu
1.17 johns 164: combinations do not work reliably, as well as a few odd memory
165: configurations.
1.50 jason 166: <li> Typically it works on faithful clones of these machines
1.3 fn 167: </ul>
1.50 jason 168:
169: <h4>Supported devices</h4>
170:
171: <p> This list of basically declares that any `stock' sun4c or sun4m
172: "sparcstation" or "sparcserver" machine will probably work; for sun4 machines
173: one must be more careful.
174:
1.3 fn 175: <ul>
1.19 johns 176: <li> Sun keyboard and mouse
1.50 jason 177: <ul>
178: <li> Type 2, 3, 4, and 5 keyboards with several layouts
179: </ul>
1.19 johns 180:
181: <li> Floppy drives:
182: <ul>
1.50 jason 183: <li> sun4c and sun4m floppy disk drive
1.19 johns 184: </ul>
185:
186: <li> Serial ports:
187: <ul>
1.50 jason 188: <li> ttya and ttyb on-board serial ports (can be used as console if needed)
189: <li> 4/300 ttyc and ttyd on-board serial ports
190: <li> SBus magma serial port cards, including: 4Sp, 8Sp, 12Sp, 16Sp, LC2+1Sp,
1.43 deraadt 191: 2+1Sp, 4+1Sp, and 8+2Sp.
1.19 johns 192: </ul>
193:
194:
195: <li> Audio support:
196: <ul>
1.55 aaron 197: <li>on-board audio support for systems with AMD79C30 8-bit audio chips
198: (this includes sun4c models and the SPARCclassic), but on-board audio
199: for other sun4m systems is not supported
1.19 johns 200: </ul>
201:
202: <li> Framebuffers:
203: <ul>
1.33 downsj 204: <li>SBus, MBus and sun4c/sun4m on-board video:
1.19 johns 205: <ul>
1.50 jason 206: <li>bwtwo - black and white.
207: <li>cgthree - 8-bit color, unaccelerated.
208: <br>The cgthree driver also supports the cgRDI, an onboard
209: cgthree-like framebuffer found in some laptops.
210: <li>cgsix - 8-bit color, accelerated (GX, GX+, TGX, TGX+).
211: <br>This should work with most faithful emulations/clones of the
212: SBus cgsix.
213: <li>cgfourteen - 8-bit color (24-bit MBus accelerated card, but the
214: driver only properly emulates a cgthree).
215: <li>TCX - 8-bit color (24-bit, but driver currently emulates a cgthree).
1.19 johns 216: </ul>
217:
218: <li> 4/200 on-board bwtwo
219:
220: <li> P4 video (4/100 and 4/300):
221: <ul>
1.50 jason 222: <li> bwtwo - black and white
223: <li> cgthree - 8-bit color, unaccelerated
224: <li> cgfour - 8-bit color, 1-bit overlay, unaccelerated
225: <li> cgsix - 8-bit color, accelerated
226: <li> cgeight - 24-bit color, 1-bit overlay, unaccelerated
1.19 johns 227: </ul>
228:
229: <li> VME video (sun4):
230: <ul>
1.50 jason 231: <li> cgtwo - black and white
232: <li> cgthree - 8-bit color, unaccelerated
233: <li> cgsix - 8-bit color, accelerated
1.19 johns 234: </ul>
235: </ul>
236:
237: <li> Ethernet adapters:
238: <ul>
1.50 jason 239: <li> on-board AMD Lance Ethernet
240: <li> SBus AMD Lance Ethernet cards
241: <li> SBus cards containing both AMD Lance and "esp" scsi
242: <li> on-board Intel 82586 Ethernet (ie0 on 4/100 and 4/200)
243: <li> VME Intel 82586 Ethernet cards
1.52 jason 244: <li> SBus 10/100Mbit qec+be found on Sun FastEthernet cards (SUNW,270-2450)
1.54 jason 245: (aka. Sun Fast Ethernet 1.x)
246: <li> SBus Quad 10Mbit qec+qe found on Sun Quad Ethernet cards (SUNW,595-3198)
247: <li> SBus 10/100Mbit hme found on SunSwift cards
248: (aka. Sun Fast Ethernet 2.x)
249: <li> SBus Quad 10/100Mbit qfe found on Quad Fast Ethernet cards
250: (aka. Sun Quad Fast Ethernet 2.x)
1.19 johns 251: </ul>
252:
253: <li> SCSI controllers:
254: <ul>
1.50 jason 255: <li> on-board "esp" SCSI controller (sun4c, sun4m, and 4/300)
256: <li> SBus "esp" SCSI controller (Also works with several 3rd party
1.41 deraadt 257: esp compatible boards)
1.50 jason 258: <li> SBus cards containing both AMD Lance and "esp" scsi
259: <li> VME "SUN-3"/"si" SCSI controller (interrupt driven DMA)
260: <li> 4/110 "SCSI Weird"/"sw" on-board controller (polled DMA)
1.19 johns 261: </ul>
262:
263: <li> SMD and other disk controllers
264: <ul>
1.50 jason 265: <li> Xylogics 7053 VME/SMD disk controller ("xd")
266: <li> Xylogics 450/451 VME disk controller ("xy")
1.19 johns 267: </ul>
268:
1.3 fn 269: </ul>
1.1 deraadt 270:
1.25 johns 271: <h4>OpenBSD/sparc does *not* run on these machines (yet):</h4>
1.3 fn 272: <ul>
1.50 jason 273: <li> sun4: 4/400 (lacks support for the I/O cache, and has Ethernet problems)
274: <li> sun4m: older systems with Viking (TMS390Z55) processor modules
275: without external cache chips, aka SuperCache, aka MXCC, aka PAC.
276: <li> sun4m: model 4/600 -- uses auxio registers, sun4m VME, I/O cache?
277: <li> sun4m: with Ross HyperSparc processor modules
278: <li> sun4d: SPARC Server 1000, SPARC Center 2000 -- XD-Bus vs. M-Bus,
279: MP issues.
280: <li> sun4u (<a href="sparc64.html">sparc64</a>): UltraSPARC 64-bit machines.
281: <li> It does not work on most Solbourne machines, which are quite different.
1.3 fn 282: </ul>
1.19 johns 283:
1.15 grr 284: <p>
1.50 jason 285: OpenBSD/sparc on the 4c/4m machines is critically dependent on configuration
286: information returned by the OpenBoot PROM. A sparc clone that differs
1.15 grr 287: substantially from the Sun model as far as device names and properties will
288: require additional work in this area.
1.1 deraadt 289:
290: <h4>Unsupported Devices. First of all, there are MANY unsupported devices.
291: A comprehensive list can probably not be written.</h4>
1.3 fn 292: <ul>
1.50 jason 293: <li> Serial Cards:
1.19 johns 294: <ul>
1.50 jason 295: <li> VME mti 16-port serial card
296: <li> VME alm2 16-port serial card
297: <li> VME mcp 4-port serial card (or is it 8 port)
1.19 johns 298: </ul>
299:
1.50 jason 300: <li>Disk Controllers:
1.19 johns 301: <ul>
1.50 jason 302: <li> VME "sc" SCSI controller
303: <li> VME IPI controller
1.19 johns 304: </ul>
305:
1.50 jason 306: <li> Framebuffers:
1.19 johns 307: <ul>
1.50 jason 308: <li> VME cgfive, 8-bit color, 1-bit overlay, double-buffered,
309: unaccelerated without GP/GP2
310: <li> VME cgnine, 24-bit color, 1-bit overlay, double-buffered,
311: unaccelerated without GP/GP2
312: <li> VME GP/GP2 Graphics Processor (drives a cgfive or cgnine)
313: <li> SBus cgeight 24-bit color, unaccelerated
314: (note: SBus cgeight is quite different from VME/P4 cgeight)
315: <li> SBus GS, 24-bit color, 8-bit color, overlay planes, double-buffered,
316: 3-D acceleration (aka cgtwelve)
317: <li> SBus GT, 24-bit color, 8-bit color, overlay planes, double-buffered,
318: 3-D acceleration (aka Graphics Tower)
319: <li> SBus ZX, 24-bit color, 8-bit color, overlay planes, double-buffered,
320: 3-D acceleration (aka Leo)
321: </ul>
322:
323: <li> SBus cards other those listed above
324: <li> On-board Audio and ISDN hardware present on some sun4m systems
325: <li> Multiple Processors/Modules in sun4m systems
326: (OpenBSD will not currently boot on machines with multiple processors.)
1.3 fn 327: </ul>
1.1 deraadt 328:
1.3 fn 329: <hr>
1.29 downsj 330: <a name=projects>
1.50 jason 331: <h3><font color=#0000e0>Project list:</font></h3>
1.21 johns 332: <ul>
1.50 jason 333: <li>Merge in useful NetBSD work.
334: <li>Start work on device drivers for unsupported framebuffers.
1.51 jason 335: <li>SUNW,CS4231 (sparc4 and sparc5 onboard audio)
336: <li>SUNW,bpp (parallel port driver)
1.21 johns 337: </ul>
338:
339: <hr>
1.26 downsj 340:
1.44 pauls 341: <a href=plat.html><img height=24 width=24 src=back.gif border=0 alt=OpenBSD></a>
1.1 deraadt 342: <a href=mailto:www@openbsd.org>www@openbsd.org</a>
1.3 fn 343: <br>
1.56 ! aaron 344: <small>$OpenBSD: sparc.html,v 1.55 1998/10/29 23:42:40 aaron Exp $</small>
1.3 fn 345:
346: </body>
347: </html>