Subject: Re: demand-loding etc Date: Sun, 17 Nov 1991 22:47:43 -0500 From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
> The right way to do this is to add an floating-point emulator in
>the kernel, even if shared libraries are added. This is a real b**ch.
>I'll probably take a look at the djgpp package, but I'd really rather do
>it myself (it's an interesting project). I don't really have the time
>though, so ...
Did you mean implementing a 387/487 emulator, or something specific for
the gcc soft-float routines? I was wondering what sort of speed hit you
would take (in either case) if each floating point operation required a
trap to the kernel. That's why my previous suggestion had suggested
mapping certain pages into the processes address space, so that the
calling the FP routines wouldn't require a context switch.
I was thinking, however, that another, possibly more elegant solution
would be to assign shared libraries (including the FP routines) to a
segment which would be visible to all processes. Then all the stub
routines would need to do is to do a far call to a predefined segment.
What do people think?
- Ted
P.S. Having the kernel emulating 387 instructions would still be neat;
I was just wondering if it would be too slow for normal operations.