From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LjIzH-00015X-Rw for qemu-devel@nongnu.org; Mon, 16 Mar 2009 16:00:39 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LjIzC-00013V-Pz for qemu-devel@nongnu.org; Mon, 16 Mar 2009 16:00:39 -0400 Received: from [199.232.76.173] (port=48807 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LjIzC-00013K-JM for qemu-devel@nongnu.org; Mon, 16 Mar 2009 16:00:34 -0400 Received: from e9.ny.us.ibm.com ([32.97.182.139]:54443) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LjIzC-0005IJ-6v for qemu-devel@nongnu.org; Mon, 16 Mar 2009 16:00:34 -0400 Received: from d01relay04.pok.ibm.com (d01relay04.pok.ibm.com [9.56.227.236]) by e9.ny.us.ibm.com (8.13.1/8.13.1) with ESMTP id n2GJpdI7013196 for ; Mon, 16 Mar 2009 15:51:39 -0400 Received: from d01av04.pok.ibm.com (d01av04.pok.ibm.com [9.56.224.64]) by d01relay04.pok.ibm.com (8.13.8/8.13.8/NCO v9.2) with ESMTP id n2GK0Sg4169494 for ; Mon, 16 Mar 2009 16:00:28 -0400 Received: from d01av04.pok.ibm.com (loopback [127.0.0.1]) by d01av04.pok.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id n2GK0Sxx015652 for ; Mon, 16 Mar 2009 16:00:28 -0400 Received: from [9.53.41.194] (pc-009053041194.austin.ibm.com [9.53.41.194]) by d01av04.pok.ibm.com (8.12.11.20060308/8.12.11) with ESMTP id n2GK0RPp015587 for ; Mon, 16 Mar 2009 16:00:27 -0400 Subject: Re: [Qemu-devel] Re: 440 emulation? From: Hollis Blanchard In-Reply-To: <200903161441.29554.rob@landley.net> References: <200903161405.37420.rob@landley.net> <1237230906.3591.36.camel@slate.austin.ibm.com> <200903161441.29554.rob@landley.net> Content-Type: text/plain Date: Mon, 16 Mar 2009 15:00:27 -0500 Message-Id: <1237233627.3591.45.camel@slate.austin.ibm.com> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org On Mon, 2009-03-16 at 14:41 -0500, Rob Landley wrote: > On Monday 16 March 2009 14:15:06 Hollis Blanchard wrote: > > On Mon, 2009-03-16 at 14:05 -0500, Rob Landley wrote: > > > I'm trying to come up with a working 440 toolchain and root filesystem, > > > and I think I've built one (--with-cpu=440 for the binutils and gcc > > > config seems to be the magic), but my attempt to test it under qemu with > > > -M bamboo led to an "Unable to initialize CPU" message, because > > > apparently the 440 isn't actually supported. > > > > Correct, 440 is not supported by TCG, so I'm not sure what you're trying > > to do? > > Test a 440 toolchain on an emulated bamboo board. I discovered that it wasn't > supported when I got the "Unable to initialize CPU" message, and investigated. > I was hoping that either another processor could run 440 code (ala armv5 > running armv4 code), or that 440 support was pending and simply hadn't been > merged yet. Couldn't find anything about it in the archives, so I asked. > (Not particularly coherently, as it turns out.) While Power Architecture allows you to run userspace code across different cores, the same is not true for supervisor code. As far as I know, nobody is working on 440 TCG emulation. I think the most difficult part would be the new MMU model; there are some other changes relative to 405 but I think they're pretty simple. > > > I tried feeding in "-cpu 405" in hopes of getting something to at least > > > launch (that's what the source code does when it's using kvm, anyway), > > > but it still said it couldn't initialize the cpu. > > > > As you can see from quick inspection, none of the code involved pays any > > attention to your -cpu option. If you want to make that work, it should > > simply be a matter of plumbing 'cpu_model' through ppc440ep_init(). > > I might take a stab at that... As long as you know you're testing 405 support, not 440. If you build a 405 Linux kernel with device tree support, it might just work. > > > Presumably this works for somebody, but I dunno how to get it to do > > > anything interesting. What is the status of the bamboo board? > > > > It works, as long as you can provide working core emulation. > > I take it the only way to do this currently is to run kvm on actual 440 > hardware? Yes; KVM doesn't translate instruction sets. (In theory you could do a little intra-architecture emulation to e.g. run a 405 guest on 440 host, but this has not been implemented.) -- Hollis Blanchard IBM Linux Technology Center