diff options
| author | Richard Henderson <richard.henderson@linaro.org> | 2024-04-02 19:46:33 -1000 |
|---|---|---|
| committer | Richard Henderson <richard.henderson@linaro.org> | 2024-05-15 08:54:32 +0200 |
| commit | ba3fb2a735963cf3988ef9476d134a8418baa436 (patch) | |
| tree | 4bd315a692a8f8a12b575c19a598d247ed88f8df /include | |
| parent | ddfa9f11766c532209d4ce848c12761d28730338 (diff) | |
| download | focaccia-qemu-ba3fb2a735963cf3988ef9476d134a8418baa436.tar.gz focaccia-qemu-ba3fb2a735963cf3988ef9476d134a8418baa436.zip | |
accel/tcg: Record mmio bytes during translation
This will be able to replace plugin_insn_append, and will be usable for disassembly. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/exec/translator.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/exec/translator.h b/include/exec/translator.h index 348985c3a3..4a86907ecc 100644 --- a/include/exec/translator.h +++ b/include/exec/translator.h @@ -90,6 +90,18 @@ typedef struct DisasContextBase { bool plugin_enabled; struct TCGOp *insn_start; void *host_addr[2]; + + /* + * Record insn data that we cannot read directly from host memory. + * There are only two reasons we cannot use host memory: + * (1) We are executing from I/O, + * (2) We are executing a synthetic instruction (s390x EX). + * In both cases we need record exactly one instruction, + * and thus the maximum amount of data we record is limited. + */ + int record_start; + int record_len; + uint8_t record[32]; } DisasContextBase; /** |