qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] ARM: Adding Maverick FPU support
@ 2005-02-04 19:08 Jason McMullan
  2005-02-04 22:00 ` Paul Brook
  0 siblings, 1 reply; 4+ messages in thread
From: Jason McMullan @ 2005-02-04 19:08 UTC (permalink / raw)
  To: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 269 bytes --]

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?


-- 
Jason McMullan <jason.mcmullan@timesys.com>
TimeSys Corporation


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] ARM: Adding Maverick FPU support
  2005-02-04 19:08 [Qemu-devel] ARM: Adding Maverick FPU support Jason McMullan
@ 2005-02-04 22:00 ` Paul Brook
  2005-02-07 12:32   ` Fabrice Bellard
  0 siblings, 1 reply; 4+ messages in thread
From: Paul Brook @ 2005-02-04 22:00 UTC (permalink / raw)
  To: qemu-devel

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.

Paul

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] ARM: Adding Maverick FPU support
  2005-02-04 22:00 ` Paul Brook
@ 2005-02-07 12:32   ` Fabrice Bellard
  2005-02-07 12:55     ` Lennert Buytenhek
  0 siblings, 1 reply; 4+ messages in thread
From: Fabrice Bellard @ 2005-02-07 12:32 UTC (permalink / raw)
  To: qemu-devel

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.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] ARM: Adding Maverick FPU support
  2005-02-07 12:32   ` Fabrice Bellard
@ 2005-02-07 12:55     ` Lennert Buytenhek
  0 siblings, 0 replies; 4+ messages in thread
From: Lennert Buytenhek @ 2005-02-07 12:55 UTC (permalink / raw)
  To: qemu-devel

On Mon, Feb 07, 2005 at 01:32:04PM +0100, Fabrice Bellard wrote:

> >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.

This makes sense, because if you do ARM system emulation, your emulated
kernel will handle floating point emulation.


> 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.

How about an option for disabling all ARMv5(TE) instructions?


--L

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2005-02-07 13:30 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-02-04 19:08 [Qemu-devel] ARM: Adding Maverick FPU support Jason McMullan
2005-02-04 22:00 ` Paul Brook
2005-02-07 12:32   ` Fabrice Bellard
2005-02-07 12:55     ` Lennert Buytenhek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).