From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Cy8U5-0007gM-Oz for qemu-devel@nongnu.org; Mon, 07 Feb 2005 07:59:21 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Cy8Tz-0007Wj-Q5 for qemu-devel@nongnu.org; Mon, 07 Feb 2005 07:59:15 -0500 Received: from [129.104.30.34] (helo=mx1.polytechnique.org) by monty-python.gnu.org with esmtp (Exim 4.34) id 1Cy82k-0006zL-G0 for qemu-devel@nongnu.org; Mon, 07 Feb 2005 07:31:06 -0500 Received: from [84.99.204.237] (237.204.99-84.rev.gaoland.net [84.99.204.237]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ssl.polytechnique.org (Postfix) with ESMTP id 2903333163 for ; Mon, 7 Feb 2005 13:31:05 +0100 (CET) Message-ID: <42075FC4.70700@bellard.org> Date: Mon, 07 Feb 2005 13:32:04 +0100 From: Fabrice Bellard MIME-Version: 1.0 Subject: Re: [Qemu-devel] ARM: Adding Maverick FPU support References: <1107544087.23911.8.camel@jmcmullan> <200502042200.32185.paul@codesourcery.com> In-Reply-To: <200502042200.32185.paul@codesourcery.com> Content-Type: text/plain; charset=us-ascii; format=flowed 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 Paul Brook wrote: > On Friday 04 February 2005 19:08, Jason McMullan wrote: > >>So, I'm working on an emulation environment for the Cirrus Logic EP93xx >>processors with the Maverick Crunch(tm) FPUs. >> >>What files do I need to touch to add support for these instructions? > > > At minimum target-arm/op.c, target-arm/translate.c, and target-arm/cpu.h. > > Note that that FPA is implemented differently. I uses the same emulator as the > linux kernel, hooked up to the undefined instruction interrupt. I wouldn't > advise doing this as performance is really awful. It's approximately 2x > slower than target soft-float, and I guess about 20x slower than a native > implementation. Just to give more information, the idea was not to integrate the FPA emulation in the CPU itself because I believed it was mostly implemented as a software FPU. The real directory of FPA should be qemu/linux-user/arm/nwfpe and _not_ qemu/target-arm/nwfpe. I left it in target-arm because of the CVS legacy... Now if real ARM FPUs are implemented, I agree they should go in op.c and translate.c (an helper.c can be added too). There must be a way to disable it so that the exact emulated ARM CPU core can be selected with a command line option. Fabrice.