QEMU-Devel Archive mirror
 help / color / mirror / Atom feed
From: Richard Henderson <richard.henderson@linaro.org>
To: qemu-devel@nongnu.org
Subject: [PATCH v2 21/33] target/s390x: Fix translator_fake_ld length
Date: Wed, 24 Apr 2024 16:31:19 -0700	[thread overview]
Message-ID: <20240424233131.988727-22-richard.henderson@linaro.org> (raw)
In-Reply-To: <20240424233131.988727-1-richard.henderson@linaro.org>

The ilen value extracted from ex_value is the length of the
EXECUTE instruction itself, and so is the increment to the pc.
However, the length of the synthetic insn is located in the
opcode like all other instructions.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 target/s390x/tcg/translate.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/target/s390x/tcg/translate.c b/target/s390x/tcg/translate.c
index 2eb787e401..95d4d6ebc3 100644
--- a/target/s390x/tcg/translate.c
+++ b/target/s390x/tcg/translate.c
@@ -6200,11 +6200,11 @@ static const DisasInsn *extract_insn(CPUS390XState *env, DisasContext *s)
         /* Extract the values saved by EXECUTE.  */
         insn = s->ex_value & 0xffffffffffff0000ull;
         ilen = s->ex_value & 0xf;
+        op = insn >> 56;
 
         /* Register insn bytes with translator so plugins work. */
         be_insn = cpu_to_be64(insn);
-        translator_fake_ld(&s->base, &be_insn, ilen);
-        op = insn >> 56;
+        translator_fake_ld(&s->base, &be_insn, get_ilen(op));
     } else {
         insn = ld_code2(env, s, pc);
         op = (insn >> 8) & 0xff;
-- 
2.34.1



  parent reply	other threads:[~2024-04-24 23:33 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-24 23:30 [PATCH v2 00/33] accel/tcg: Improve disassembly for target and plugin Richard Henderson
2024-04-24 23:30 ` [PATCH v2 01/33] accel/tcg: Use vaddr in translator_ld* Richard Henderson
2024-04-24 23:31 ` [PATCH v2 02/33] accel/tcg: Hide in_same_page outside of a target-specific context Richard Henderson
2024-04-24 23:31 ` [PATCH v2 03/33] accel/tcg: Pass DisasContextBase to translator_fake_ldb Richard Henderson
2024-04-24 23:31 ` [PATCH v2 04/33] accel/tcg: Reorg translator_ld* Richard Henderson
2024-05-06 22:47   ` Philippe Mathieu-Daudé
2024-05-07 16:49     ` Richard Henderson
2024-05-08  8:18       ` Philippe Mathieu-Daudé
2024-04-24 23:31 ` [PATCH v2 05/33] accel/tcg: Cap the translation block when we encounter mmio Richard Henderson
2024-04-24 23:31 ` [PATCH v2 06/33] accel/tcg: Record mmio bytes during translation Richard Henderson
2024-04-29 10:34   ` Philippe Mathieu-Daudé
2024-04-24 23:31 ` [PATCH v2 07/33] accel/tcg: Record when translator_fake_ldb is used Richard Henderson
2024-04-29 10:36   ` Philippe Mathieu-Daudé
2024-04-24 23:31 ` [PATCH v2 08/33] accel/tcg: Record DisasContextBase in tcg_ctx for plugins Richard Henderson
2024-05-03 15:11   ` Philippe Mathieu-Daudé
2024-04-24 23:31 ` [PATCH v2 09/33] plugins: Copy memory in qemu_plugin_insn_data Richard Henderson
2024-04-29 10:40   ` Philippe Mathieu-Daudé
2024-04-24 23:31 ` [PATCH v2 10/33] accel/tcg: Implement translator_st Richard Henderson
2024-05-08 15:20   ` Philippe Mathieu-Daudé
2024-04-24 23:31 ` [PATCH v2 11/33] plugins: Use translator_st for qemu_plugin_insn_data Richard Henderson
2024-04-29 10:44   ` Philippe Mathieu-Daudé
2024-04-24 23:31 ` [PATCH v2 12/33] plugins: Read mem_only directly from TB cflags Richard Henderson
2024-04-29 10:45   ` Philippe Mathieu-Daudé
2024-04-24 23:31 ` [PATCH v2 13/33] plugins: Use DisasContextBase for qemu_plugin_insn_haddr Richard Henderson
2024-05-13 14:18   ` Philippe Mathieu-Daudé
2024-05-13 18:16   ` Pierrick Bouvier
2024-04-24 23:31 ` [PATCH v2 14/33] plugins: Use DisasContextBase for qemu_plugin_tb_vaddr Richard Henderson
2024-04-24 23:31 ` [PATCH v2 15/33] plugins: Merge alloc_tcg_plugin_context into plugin_gen_tb_start Richard Henderson
2024-05-06 22:38   ` Philippe Mathieu-Daudé
2024-04-24 23:31 ` [PATCH v2 16/33] accel/tcg: Provide default implementation of disas_log Richard Henderson
2024-04-24 23:31 ` [PATCH v2 17/33] accel/tcg: Return bool from TranslatorOps.disas_log Richard Henderson
2024-04-24 23:31 ` [PATCH v2 18/33] disas: Split disas.c Richard Henderson
2024-05-08 15:26   ` Philippe Mathieu-Daudé
2024-05-10  9:42     ` Richard Henderson
2024-04-24 23:31 ` [PATCH v2 19/33] disas: Use translator_st to get disassembly data Richard Henderson
2024-05-08 15:33   ` Philippe Mathieu-Daudé
2024-04-24 23:31 ` [PATCH v2 20/33] accel/tcg: Introduce translator_fake_ld Richard Henderson
2024-04-24 23:31 ` Richard Henderson [this message]
2024-05-08 16:33   ` [PATCH v2 21/33] target/s390x: Fix translator_fake_ld length Philippe Mathieu-Daudé
2024-04-24 23:31 ` [PATCH v2 22/33] target/s390x: Disassemble EXECUTEd instructions Richard Henderson
2024-05-08 16:31   ` Philippe Mathieu-Daudé
2024-04-24 23:31 ` [PATCH v2 23/33] target/hexagon: Use translator_ldl in pkt_crosses_page Richard Henderson
2024-04-29 10:47   ` Philippe Mathieu-Daudé
2024-04-24 23:31 ` [PATCH v2 24/33] target/microblaze: Use translator_ldl Richard Henderson
2024-04-24 23:31 ` [PATCH v2 25/33] target/i386: Use translator_ldub for everything Richard Henderson
2024-04-24 23:31 ` [PATCH v2 26/33] target/avr: Use translator_lduw Richard Henderson
2024-04-24 23:31 ` [PATCH v2 27/33] target/cris: Use translator_ld* in cris_fetch Richard Henderson
2024-04-24 23:31 ` [PATCH v2 28/33] target/cris: Use cris_fetch in translate_v10.c.inc Richard Henderson
2024-04-24 23:31 ` [PATCH v2 29/33] target/riscv: Use translator_ld* for everything Richard Henderson
2024-04-29 10:55   ` Philippe Mathieu-Daudé
2024-05-08 16:31   ` Philippe Mathieu-Daudé
2024-05-14  6:25   ` Alistair Francis
2024-04-24 23:31 ` [PATCH v2 30/33] target/rx: Use translator_ld* Richard Henderson
2024-04-24 23:31 ` [PATCH v2 31/33] target/xtensa: Use translator_ldub in xtensa_insn_len Richard Henderson
2024-04-24 23:31 ` [PATCH v2 32/33] target/s390x: Use translator_lduw in get_next_pc Richard Henderson
2024-05-06 22:41   ` Philippe Mathieu-Daudé
2024-04-24 23:31 ` [PATCH v2 33/33] accel/tcg: Remove cpu_ldsb_code / cpu_ldsw_code Richard Henderson
2024-04-29 10:52 ` [PATCH v2 00/33] accel/tcg: Improve disassembly for target and plugin Philippe Mathieu-Daudé

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240424233131.988727-22-richard.henderson@linaro.org \
    --to=richard.henderson@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).