1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
The never decreasing list of things to do:
------------------------------------------
- Fix the memory leak when running the queen problem... (MMX-emu bug ?)
Seems that %esp is touched by the emulation, when it shouldn't...
- Test Cyrix' EMMX, and AMD's 3DNow! (especially transcendental functions).
- Use a union type (cf mmx_types.h) in the emulation functions ?
- About the look-ahead, should it be disabled automatically when tracing ?
NB: FPU_lookahead = 1;
if (current->flags & PF_PTRACED)
FPU_lookahead = 0;
- What about support for multi-threaded code ? Is the emulator re-entrant ?
Anyway, which thread[s] gets the SIGILL in this case ?
- About "struct sigcontext[_struct]". With Glibc2, we only need:
#include <sigcontext.h>
without asm/...
But it breaks compatibility with libc5, so we keep the current solution.
- Extend the emulation to MMX2 ? FPU ?
- Port MMX-Emu to FreeBSD. It should not be too hard I guess.
First install the beast ;-)
- Finish the detection of the 3 features correctly (if CPUID doesn't
exist, nothing exists...).
For speed:
----------
- Benchmark the thing, give indicative timings.
- Tune CFLAGS in the Makefile.
|