Date: Thu, 06 Sep 2007 10:47:42 -0700 From: Peter Grehan <grehan@freebsd.org> To: =?ISO-8859-1?Q?D=E9cio_Luiz_Gazzoni_Filho?= <decio@decpp.net> Cc: freebsd-ppc@freebsd.org Subject: Re: Cell port Message-ID: <46E03D3E.8060504@freebsd.org> In-Reply-To: <42C14314-D3EC-460E-97D9-53830FB9CBF6@decpp.net> References: <E79BC169-E7E8-4CA2-95E8-FC806777714E@decpp.net> <46DCD1DA.5090301@freebsd.org> <42C14314-D3EC-460E-97D9-53830FB9CBF6@decpp.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46E03D3E.8060504>