<ul>
Since I didn't get a reply I'll try to be more specific.
Where can I for example find the Schizo documentation?
I'd love to get my hands on a copy so that we can make OpenBSD run on these machines.
</ul>
And we'd be delighted to see OpenBSD running on these machines!"The more, the merrier".
Apparently the right people weren't monitoring the forum when you posted it the first time... So I'll offer an initial response plus have forwarded a message to others who might be able to directly respond to the chipset docs question.
My initial response is, if I was porting an OS to run on existing
platforms (e.g. Sun's T1000 and T2000 boxes) and future platforms along
the same line,
I would port the OS to the
<a HREF="http://opensparc.sunsource.net/specs/Hypervisor-api-current-draft.pdf"> ;]
Hypervisor API spec </a>, not to the bare hardware.
The
<a HREF="http://opensparc.sunsource.net/specs/Hypervisor-api-current-draft.pdf"> ;]
Hypervisor API spec </a>
is downloadable from the
<a HREF="http://opensparc.sunsource.net/nonav/opensparct1.html"> OpenSPARC T1 home page</a> via the "UltraSPARC T1
Hypervisor API Specification" link).
If you port to the Hypervisor API, the OS port won't be any
more difficult than porting to bare hardware. In fact, might well be easier** -- for one thing, you won't have to read up on all the mind-numbing details of low-level devices and handling hardware errors. The effort of doing an OS port to run on top of the Hypervisor will only have to be done once to cover many generations of systems. The OS port
will continue to run on many later-generation hardware platforms -- much as application software can run across multiple generations of OS versions if it follows a specified API for the OS.
Once anyone understands about the Hypervisor, I'm not sure why they
would want to port to "bare hardware" on a T1000/T2000 platform, given
that all the low-level work has already been done for them (in the
Hypervisor firmware). On the T1000/T2000, porting an OS to bare hardware
when the Hypervisor API exists is akin to porting an appplication
software package to run on bare hardware when a fully-functional OS with
a robust API is already available on that harware to port the
application to.
...Note that this response is different than if the same question was
asked even 6 months ago. Back then, it would have been about porting an OS to
older UltraSPARC(up through UltraSPARC IV+)-based systems. Those
processors do not support hyperprivileged mode or hypervisor software,
so doing a port to a Hypervisor API was not an option back then -- a messier "bare hardware port" was the only option.
If there are strong motivations to do a "bare hardware" OS port (perhaps
to an OpenSPARC derivative other than UltraSPARC T1?), then yes you
would need chipset info to go with that particular processor.
Re Sun chipset info, I've sent a message to some folks who might be able to respond to that ...
= Dave
** you might have heard that one open-source OS already has a functional kernel, running on top of Hypervisor, after less than 2 months of effort ... there's more work to be done, but the core OS appears to be working well, from what I've read. So there's some initial anecdotal evidence that porting to Hypervisor isn't too painful :-)
I should have been a little less terse in my description.
We are aware of the hypervisor technology but that does not help us bringing OpenBSD to UltraSPARC 3 and 4. We have not been able to make OpenBSD work on these CPUs due to a lack of relevant documentation (notably the Schizo docs). The open source community will always be behind on the development curve and likely on the low end side of things. The machines that we currently want to support, because those are the ones we have available, are UltraSPARC 3 & 4 based. To be exact, we would love to make the Blade 2000 work for starters. I was unable to find any hypervisor docs for that box.
Besides all this obviously writing an OS that runs on the bare metal is a lot more fun than relying on the vendor firmware abstraction. While people might consider this odd, we do this for fun! On a serious note, what if sun gets the hypervisor layer wrong on a machine that is EOL? At that point the open source community is at the mercy of sun to provide a fix. I am fully aware that using engineering resources to put out a patch that warrants little to no benefit to sun makes no business sense. Please just let us help ourselves.
I don't understand your reply. You start off by saying that you would love to see OpenBSD running on machines using schizo, and then you go on to say you don't see the point.
I would like to point out that Sun is selling more than just T1000 and T2000's. All the other UltraSparc systems for sale from Sun are based around chips that lack the hypervisor. To run on those we need to talk to the bare metal. This is especially true of the UltraSparc workstations (man, I'd love one of those), and of all the currently deployed Sun systems.
The range of Suns systems seems to reflect the reality that one solution doesn't fulfil everyones problems. To use a metaphor, square pegs wont necessarily fit in a round hole. So Sun sells both round and square pegs.
However, hardware is only part of a solution, the software you run is part of it too. By giving the community the chipset docs you're giving them the opportunity to have a wider choice in software to use. To continue the metaphor: you'll have more pegs to fit into all those different holes.
Ah-hah, now I see where we had a "disconnect"...You're asking for chipset documentation for systems based on UltraSPARC III and UltraSPARC IV -- but you posted the request in a forum for OpenSPARC T1.OpenSPARC T1 has a Hypervisor which makes underlying chipsets irrelevant to guest OSs.(UltraSPARC III and UltraSPARC IV did not have a hyperprivileged mode, therefore do not run a Hypervisor layer of software that insulates OSs from low-level hardware details)
I do understand your desire to "play" with the underlying hardware, though.(Do you also write your own boot PROM?)
Regarding "what if sun gets the Hypervisor layer wrong?" ... that's akin to asking "what if there is a hardware bug in the processor?", or, more accurately, "what if there is a bug in the boot PROM?". Hypervisor code ships with the system as firmware (it does not ship as separate software like an OS).However, if necessary the hypervisor firmware (like the boot PROM) could be updated to fix a bug or provide enhanced features.
My area of expertise is SPARC architectural issues (and in this forum, specifically OpenSPARC T1), which doesn't really extend to chipsets. Nonetheless, I have initiated inquiries about Schizo docs that were mentioned and will post back any response I hear.
= Dave
Quick update -- I've received confirmation that Hypervisor code resides in flash memory on the T1000/T2000 platforms.An update can be downloaded (e.g. via FTP) and installed on the system via a special command (presumably a boot PROM command).
So yes, Hypervisor code can indeed be updated ... but such an event is expected to be rare (if ever) on most systems.
> Ah-hah, now I see where we had a "disconnect"...
> You're asking for chipset documentation for systems
> ms based on UltraSPARC III and UltraSPARC
> IV -- but you posted the request in a forum for
> OpenSPARC T1.OpenSPARC T1 has a Hypervisor
> which makes underlying chipsets irrelevant to guest
> OSs.
Yeah, I can see that now too :(
However, Marco probably saw this as the most receptive forum to ask for schizo docs. The rest of the forums I can see are about software, or specific software on sun hardware. The opensparc forums seem to be more about getting other software running on the hardware.
*bump*
It's been a couple of months and I was really hoping Marco would have gotten the docs he was after. I am an occasional Sun customer, and also an OpenBSD user. I had to stop buying Sun hardware for the most part because the OpenBSD developers weren't getting the documentation that they needed from Sun, and I really prefer not to run Solaris.
OpenBSD for some time had a reputation in the OpenSource community for being the best Solaris alternative on SPARC architecture hardware, even better than Linux. Unfortunately not even Linux is well supported on SPARC, let alone OpenBSD. Since the OpenBSD developers are clearly so interested in getting caught up on SPARC support, I truly hope that Sun will give them any and all documentation they need to support the hardware. I'd love to stop buying PC class workstations & servers and go back to Sun hardware.