Re: Math emulator

From: Andrew Valencia <vandys_at_nospam.org>
Date: Mon Oct 18 1993 - 09:27:34 PDT

[Peter Holzer <hp@quasi.vmars.tuwien.ac.at> writes:]

>How about using a soft-float library? If our shared-lib plans ever take
>off, this library could use 387 instructions on machines which have one,
>and 386 instructions on other machines. Sure this is not as fast as
>using inline code, but I think it is a fair compromise if you want to
>distribute binaries (If you really want speed, you probably want to
>recompile with -mi486 or something, anyway).

My reaction is that we may as well use the default in-line code, with
the reasoning being that if you're running FP on a non-FP-equipped machine,
you're really not getting performance anyway.

>GCC 1.37 for Minix used the SIGFPE trampoline and it was really slow (of
>course signal delivery is somewhat complicated in Minix. Don't know
>about VSTa in this respect).

My plan is to use the Plan9-style of signal handling. Because this
specifies that signal handling completion happen with an explicit
call (as opposed to UNIX, where you do a subroutine return), there is
no need to do that trampoline hackery.

>Hmm, different idea: Can the 387-missing interrupt be redirected to the
>offending process without kernel interaction? This would make 387
>emulation very easy and fast. Best of both worlds.

Since the FPU-not-present exception gets its own vector, it really
shouldn't be too hard to point this back into the ring3 code somewhere.
Adding this would be a nice part of the overall 387 support work.

                                        Andy
Received on Mon Oct 18 09:35:57 1993

This archive was generated by hypermail 2.1.8 : Wed Sep 21 2005 - 19:37:12 PDT