Daemon News Ezine BSD News BSD Mall BSD Support Forum BSD Advocacy BSD Updates

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Porting FreeBSD to Niagara



Hi,

Sun released three documents today, the UltraSPARC 2005 ISA document,
the UltraSPARC T1 extensions to the ISA, and the Hypervisor 1.0
specification.  They
can be downloaded from http://opensparc.sunsource.net/nonav/opensparct1.html.

As a long-time FreeBSD (10 years) user and a Sun employee working on Hypervisor,
I got really jazzed when I saw what Sun disclosed to the public today.
 Is there any
interest among those on this list to get FreeBSD running on Niagara?

The most important aspect of this particular port is that the Hypervisor layer
virtualizes CPU, Memory, and I/O.  This means that all we'd have to do
is get things
working based on the one published reference architecture to capture
all current and future platforms based on sun4v.  The amount of work
here will be somewhat
daunting:

1) Port FreeBSD's sparc64 code to work on sun4v.
2) Ensure a proper SPARCv9 interface to application software is maintained.
3) Produce several leaf and nexus drivers for virtual PCI.
4) Produce a driver for Fire (the PCI-Express) hardware on all
shipping sun4v products.
5) Produce drivers for FreeBSD that will allow each logical domain to
communicate
     with other logical domains.
6) Write code to take advantage of the new error and interrupt
handling architecture.
    (Currently optimized for Sun's fault management arch.)
7) Write code to utilize the cryptographic support in sun4v.
8) Integrate a versioning system into FreeBSD for different HV APIs.
8) ......

I have not done any tinkering with the FreeBSD kernel, so I'm a
neophyte in that
regard.  I've also done almost all my kernel work in Solaris.  Having
said all that,
I'm pretty excited about the prospect of booting a FreeBSD partition
in a Logical
Domain, and I'm a quick study.  Is there any interest?  How can I
help?  At the very
least, I might be able to come up with some donated equipment towards
this effort.

Thanks for all your work on the current sparc64 port.
Josh Pincus