U1E and U2 are supported system?

Scott Long scottl at samsco.org
Sun Aug 29 20:57:11 PDT 2004

David O'Brien wrote:
> On Mon, Aug 30, 2004 at 01:34:52AM +0200, Brad Knowles wrote:
>>At 11:55 PM -0400 2004-08-28, Ken Smith wrote:
>>>Despite what the page had said before I think "U1E" is actually a
>>>common name for one of two different versions of the Ultra-1 machines.
>>	I've been looking at the hardware specs for the U2 at 
>><http://sunsolve.sun.com/handbook_pub/Systems/U2/spec.html>, and 
>>comparing the pages at 
>>I didn't find a page for the U2E, however.
>>	However, looking at these pages, it's not obvious to me what the 
>>precise hardware differences are between the different sub-models.
> For all practical purposes (or at least FreeBSD's purposes), U2 and U1E
> are identical from a SCSI and NIC stand point.  Think of them as a
> difference between Pentium and 2P Pentum-III. :-)  The U2's CPU's are
> cartridges and a U2 is a 2P machine.  The U1E's CPU's are directly
> attached to the mobo (and is "standard" modern looking CPU).  A U1E has
> the same CPU as the same speed U1.
>>	The Lance Ethernet chip should be easy enough to support.  If we 
>>don't have it, I'm sure NetBSD and OpenBSD do -- how hard would it be 
>>to port them?
> Its all a issue of someone doing the work -- it isn't rocket science.
> Besides 'lnc(4)' we also had a 2nd Lance Ethernet driver in the tree --
> you can find it here src/sys/alpha/tc/Attic/if_le*.  Since this one was
> ported from NetBSD, another approach would be to resurrect it and grab the
> PCI attachment code from NetBSD.
>>	I'm more concerned about the SCSI controller, however.  Does 
>>anyone have any ideas which specific controllers are included with 
>>which machines, and how they are different?
> Scottl has looked extensively into this.  I also gave him a U1 to play
> with supporting the SCSI if he gets spare moments.
>>	Speaking only for myself, I'd like to do what I can to try to 
>>help FreeBSD/SPARC64 support all the UltraSPARC machines, including 
>>all variants of U1, U2, etc....
> There is still so much polishing to do (especially in ports) for U2 and
> U1E machines that there is plenty you can contribute to and still not
> worry 1 bit about the U1.
> If ports isn't your cup of tea; there is still work to just support all
> the devices on U2 and U1E.  That's not even including the whole syscon
> issue so people could use the framebuffer on U2/U1E.

Ok, let's back up a bit.....

The Ultra1 variant that has a FEPS chip (Fast Ethernet/Parallel
Port/Scsi is what that stands for, btw) is fully supported by FreeBSD.
It is the same chip as is in the Ultra2.  Fully supported.  Well, maybe
not the parallel port, but that would be trivial if someone wanted to
tackle it.

The Ultra1 variant that has a Lance Ethernet chip and an ESP100 Fast
SCSI chip (not wide) is not supported.  Let me explain:

Lance - the FreeBSD lnc driver is highly i386 specific.  It has 
attachments for ISA, CBUS, and PCI, so you might think that it would
be trivial to write an Sbus attachment.  Unfortunately, the DMA logic
is radically different.  I have a work-in-progress on this, but it's
not really looking good.  I'm actually considering porting the NetBSD
le(4) driver as a replacement.

ESP100 - the esp(4) driver that I ported for the Ultra2 will support
this, but there are some technical problems with the way that the
SCSI core and DMA core attach that makes this really hard right now.
I ignored a lot of glue in the NetBSD driver related to this when I
ported it, and it'll need to be revisited.

Both Lance and ESP100 require a lot of work to the SBus infrastructure.
Both are compound devices that have children, but FreeBSD really doesn't
have a very good concept of SBus children having children of their own.
There are ways to hack this, but I want to avoid going that route.  The
better solution is to make use of the newbus subclassing mechanism and
create a base SBus class that these drivers can use for thier children.
Again, I have some work in progress in this area, but it's not making a
whole lot of progress at the moment.  In reality, it's hard to get 
excited about putting this much work into a machine that is only 167MHz.
The Ultra2 is fairly useable but is still pretty slow at basic things
like 'buildworld'.  I can't possibly imagine waiting for an Ultra1 to
complete this task.  However, if someone wants to lend a hand, I'd be
happy to share my notes and point you in the right direction.


More information about the freebsd-sparc64 mailing list