From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1DFJlC-0005a9-1u for qemu-devel@nongnu.org; Sat, 26 Mar 2005 17:28:02 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1DFJl2-0005VW-34 for qemu-devel@nongnu.org; Sat, 26 Mar 2005 17:27:54 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DFJl1-0005TB-Ou for qemu-devel@nongnu.org; Sat, 26 Mar 2005 17:27:51 -0500 Received: from [62.210.158.46] (helo=teheran.magic.fr) by monty-python.gnu.org with esmtp (Exim 4.34) id 1DFJGE-0001dR-M5 for qemu-devel@nongnu.org; Sat, 26 Mar 2005 16:56:02 -0500 Received: from private2 (ppp-181.net-555.magic.fr [62.210.255.181]) by teheran.magic.fr (8.11.6/8.11.2) with ESMTP id j2QLtuA19485 for ; Sat, 26 Mar 2005 22:55:56 +0100 (CET) Subject: Re: [Qemu-devel] [patch] CPU architecture selection From: "J. Mayer" In-Reply-To: <200503262116.43664.paul@codesourcery.com> References: <200503261946.57675.paul@codesourcery.com> <1111867340.31144.65.camel@rapid> <200503262116.43664.paul@codesourcery.com> Content-Type: text/plain Date: Sat, 26 Mar 2005 22:56:00 +0100 Message-Id: <1111874160.31144.72.camel@rapid> 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 Sat, 2005-03-26 at 21:16 +0000, Paul Brook wrote: > On Saturday 26 March 2005 20:02, J. Mayer wrote: > > On Sat, 2005-03-26 at 19:46 +0000, Paul Brook wrote: > > > The attached patch adds a -cpu commandline option to qemu to allow the > > > user to select what type of CPU is emulated. It currently only does > > > anything useful for arm targets, but it should be easy to hook other > > > targets into the same mechanism. > > > > > > I implemented the selection as a bitmask. This allows users to select a > > > CPU by the features it provides, and also allows creation of convenient > > > aliases for common CPUs. > > > > there is a cpu_ppc_register function in target-ppc/translate.c which > > does what's needed for emulated PPC selection. > > The CPU is registered from the emulated board definition, ie in > > hw/ppc_prep.c or hw/ppc_chrp.c. > > Your patch conflicts with this code. > > Hmm, I hadn't spotted that. I'll see if I can merge them. > > > It seems to me that cpu selection should go in board definitions, like > > all the rest of emulated hardware selection, then have nothing to do in > > target-xxx/translate.c. > > I'm not sure what you mean. > > I guess it makes makes sense for the board to be able to specify the default > cpu. That's pretty much independent of the rest of the implementation though. > I'd have thought CPU choice should be fairly independent of the rest of the > hardware. You are wrong here: CPU choice & emulated board are strongly dependent. I'll give you a few examples: - if I want to emulate a MPC850 board, then I have to emulate the PPC850 core. No choice here. - If I want to emulate an IBM pseries machine, it's a complete nonsense to select a 32 bit CPU, as the platform is 64 bits. - if I want to emulate a Pegasos board, I need to have the choice between G3 & G4. MorphOS would surelly not run on any other PPC, but the two choices exist. Then, the CPU selection is to be done at the same level as the rest of the emulated board's hardware. > There's also user mode where we don't emulate any system hardware. This is a _very_ special case, then it has to be treated its own way (in linux-user directory). -- J. Mayer Never organized