Cell port
Peter Grehan
grehan at freebsd.org
Thu Sep 6 10:48:45 PDT 2007
Hi Décio,
> If you have the spare time to produce a detailed checklist of what needs
> to be done and provide some guidance as required, I'm willing to put the
> effort to see this port through.
Here's my thoughts:
- the Cell CPU is 64-bit whilst FreeBSD/ppc is 32-bit. I don't think
the Cell has the 'bridge mode' features that the G5 (aka 970) has, so
the MMU would have to use a segment table. Doing it this way is probably
a good thing since it would allow ports to other 64-bit PPC's (e.g. the
PA-Semi).
A full 64-bit port of FreeBSD is a large undertaking, and not really
necessary for the PS3 which doesn't have a lot of RAM.
- the IBM Cell simulator would be the best place to start. It's
OpenFirmware-based so the existing OFW code may be usable. This would
allow the generic PPC code, such as vector and MMU processing, to get
sorted out in an environment that allows easy debug.
- For the PS3, the first step would be to get the FreeBSD loader
ported, either directly booted from the hypervisor (similar to how kboot
works), or to get kboot to load it using kexec. For the latter, kboot
itself could be modified, or the loader could be built to look like a
linux/ppc kernel.
- the existing FreeBSD/ppc code is heavily dependent on OpenFirmware.
For running on the PS3, this dependency would have to be removed.
- the PS3 hypervisor interface would need to be extracted from Linux
source code. I've seen some preliminary attempts at documenting the
hypervisor on a gaming site, but I think you would have to dig through
source. This also brings up the issue of GPL contamination: you DO NOT
want to use Linux source code, but only use it as a reference.
Probably lots of other things I've forgotten or more likely don't know
about, but that should get you started.
later,
Peter.
More information about the freebsd-ppc
mailing list