diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2024-05-09 17:03:59 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2024-10-17 19:41:29 +0200 |
commit | a2e2c78d2af0cfcc3d59542e70503c56d9ae7369 (patch) | |
tree | 5983b7a725198579253cae7fcc453b7b20f80f63 /module-common.c | |
parent | 10eae89937d3211ce100b7f6a3718df66324bdf5 (diff) | |
download | qemu-a2e2c78d2af0cfcc3d59542e70503c56d9ae7369.zip qemu-a2e2c78d2af0cfcc3d59542e70503c56d9ae7369.tar.gz qemu-a2e2c78d2af0cfcc3d59542e70503c56d9ae7369.tar.bz2 |
target/i386: decode address before going back to translate.c
There are now relatively few unconverted opcodes in translate.c (there
are 13 of them including 8 for x87), and all of them have the same
format with a mod/rm byte and no immediate. A good next step is
to remove the early bail out to disas_insn_x87/disas_insn_old,
instead giving these legacy translator functions the same prototype
as the other gen_* functions.
To do this, the X86DecodeInsn can be passed down to the places that
used to fetch address bytes from the instruction stream. To make
sure that everything is done cleanly, the CPUX86State* argument is
removed.
As part of the unification, the gen_lea_modrm() name is now free,
so rename gen_load_ea() to gen_lea_modrm(). This is as good a name
and it makes the changes to translate.c easier to review.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'module-common.c')
0 files changed, 0 insertions, 0 deletions