Ultrasparc 3 support
gavin.atkinson at ury.york.ac.uk
Wed Feb 28 13:28:51 UTC 2007
On Mon, 2007-02-26 at 22:50 -0600, Nathan Whitehorn wrote:
> I've been given a pair of Sunfire v210s and a v440 (dual and quad
> UltraSPARC 3, respectively), and would love to put FreeBSD on them.
> Sadly, of course, the schizo chipset isn't supported.
> I'm planning on trying to port over OpenBSD's work in this area, but am
> somewhat out of my depth (the only work I've ever done on the FreeBSD
> kernel involves some fixes to nve(4)). Because we have no immediate need
> to put any of these systems into production (and certainly not all
> three), I currently can use any or all of them for experimentation and
> development work for at least the next few months. I believe some
> members of this list have done their own work in this regard in the
> past, and was wondering if anyone wanted to collaborate or had done
> anything that would serve as a starting point. Similarly, if anyone more
> competent than I feels they just can just do it themselves, but needs
> access to the hardware, I would be happy to provide that.
A fair bit of work has already been put into supporting the Schizo
chipset under FreeBSD, but it's a long way off being complete. With the
code that myself and Marius Strobl have published in the past, you can
get US3 based machines booting multiuser off root stored on NFS or USB
The single biggest part of the problem are the MMUs. Actually routing
read/writes and interrupts over the Schizo chipset isn't hard - but I
believe a lot of work would be needed to support the IOMMU found in
post-USII chipsets, along with the associated work to the PMAP code etc.
This is not an area I've looked into at all.
What would be interesting from my point of view is to see how well the
OpenBSD code works. I've heard a few reports that it is unusable, and a
few reports that it sort of works. Knowing whether you can use DMA
under OpenBSD may be useful as it would give us another code base to
gain information from.
More information about the freebsd-sparc64