From owner-freebsd-ppc@FreeBSD.ORG Thu Sep 6 17:48:45 2007 Return-Path: Delivered-To: freebsd-ppc@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8011B16A421 for ; Thu, 6 Sep 2007 17:48:45 +0000 (UTC) (envelope-from grehan@freebsd.org) Received: from dommail.onthenet.com.au (dommail.OntheNet.com.au [203.13.70.57]) by mx1.freebsd.org (Postfix) with ESMTP id 1825013C4A3 for ; Thu, 6 Sep 2007 17:48:44 +0000 (UTC) (envelope-from grehan@freebsd.org) Received: from excfreebsd.hq.netapp.com (nat-198-95-226-228.netapp.com [198.95.226.228]) by dommail.onthenet.com.au (MOS 3.7.5a-GA) with ESMTP id DCM97808 (AUTH peterg@ptree32.com.au); Fri, 7 Sep 2007 03:47:50 +1000 (EST) Message-ID: <46E03D3E.8060504@freebsd.org> Date: Thu, 06 Sep 2007 10:47:42 -0700 From: Peter Grehan User-Agent: Thunderbird 2.0.0.0 (X11/20070525) MIME-Version: 1.0 To: =?ISO-8859-1?Q?D=E9cio_Luiz_Gazzoni_Filho?= References: <46DCD1DA.5090301@freebsd.org> <42C14314-D3EC-460E-97D9-53830FB9CBF6@decpp.net> In-Reply-To: <42C14314-D3EC-460E-97D9-53830FB9CBF6@decpp.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Cc: freebsd-ppc@freebsd.org Subject: Re: Cell port X-BeenThere: freebsd-ppc@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: grehan@freebsd.org List-Id: Porting FreeBSD to the PowerPC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Sep 2007 17:48:45 -0000 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.