Hey Paolo, I applied your patches to the x86 emulator in our MSHV branch. They compile cleanly (some off this we had changed on our branch already). I also performed some manual testing and didn't spot any regressions with the changes in the emulator.
magnus already). I also performed some manual testing and didn't spot any regressions with the emulator. On Mon, May 05, 2025 at 06:34:39PM +0000, Wei Liu wrote: > Magnus, can you test this series on MSHV? > > On Fri, May 02, 2025 at 11:48:37PM +0200, Paolo Bonzini wrote: > > 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 > >