These are some improvements to the x86 emulator that I wrote but have no
way of testing (right now).

I tried to place them in order of importance so that, if something breaks,
it is possible to commit a subset.  I tried to compile the resulting code
on Linux but I have not run it.

Patch 1 is just to fix warnings on Linux.

Patch 2 is the most important, as it fixes some real horrors in the code.

Patch 3 makes flags handling use algorithms somewhat similar to TCG.
It should fix issues with 64-bit ALU operations, but it's also the one
where it's more likely to have a mistake.

Patch 4 is comparatively trivial, though I cannot exclude any screwups.

It should be possible to test this with both HVF and Hyper-V.

Paolo

Paolo Bonzini (4):
  target/i386/emulate: fix target_ulong format strings
  target/i386/emulate: stop overloading decode->op[N].ptr
  target/i386/emulate: mostly rewrite flags handling
  target/i386: remove lflags

 target/i386/cpu.h                |   6 -
 target/i386/emulate/x86_decode.h |   9 +-
 target/i386/emulate/x86_emu.h    |   8 +-
 target/i386/emulate/x86_flags.h  |  12 +-
 target/i386/emulate/x86_decode.c |  76 ++++++------
 target/i386/emulate/x86_emu.c    | 125 +++++++++----------
 target/i386/emulate/x86_flags.c  | 198 +++++++++++++------------------
 7 files changed, 197 insertions(+), 237 deletions(-)

-- 
2.49.0


Reply via email to