[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] accel/tcg: Expose translation block flags to plugins
From: |
Alex Bennée |
Subject: |
Re: [PATCH] accel/tcg: Expose translation block flags to plugins |
Date: |
Tue, 12 Dec 2023 12:23:19 +0000 |
User-agent: |
mu4e 1.11.26; emacs 29.1 |
Mikhail Tyutin <m.tyutin@yadro.com> writes:
> In system mode emulation, some of translation blocks could be
> interrupted on memory I/O operation. That leads to artificial
> construction of another translation block that contains memory
> operation only. If TCG plugin is not aware of that TB kind, it
> attempts to insert execution callbacks either on translation
> block or instruction, which is silently ignored.
That was the intention - the instrumented instructions have already been
executed. The only thing that matters now is the memory access:
/*
* Exit the loop and potentially generate a new TB executing the
* just the I/O insns. We also limit instrumentation to memory
* operations only (which execute after completion) so we don't
* double instrument the instruction.
*/
cpu->cflags_next_tb = curr_cflags(cpu) | CF_MEMI_ONLY | n;
> As the result
> it leads to potentially inconsistent processing of execution and
> memory callbacks by the plugin.
> Exposing appropriate translation block flag allows plugins to
> handle "memory only" blocks in appropriate way.
We don't want to expose internal details to the plugin. It shouldn't
need to care.
Do you have a test case where you missed counting the execution of the
instruction?
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
- Re: [PATCH] accel/tcg: Expose translation block flags to plugins,
Alex Bennée <=