On 2/3/21 11:11 AM, Alex Bennée wrote: > > Claudio Fontana <cfont...@suse.de> writes: > >> From: Eduardo Habkost <ehabk...@redhat.com> >> >> Signed-off-by: Eduardo Habkost <ehabk...@redhat.com> >> >> [claudio: wrapped target code in CONFIG_TCG] >> Signed-off-by: Claudio Fontana <cfont...@suse.de> >> --- >> include/hw/core/cpu.h | 20 +++++++++++--------- >> accel/tcg/cpu-exec.c | 4 ++-- >> target/arm/cpu.c | 4 +++- >> target/avr/cpu.c | 2 +- >> target/hppa/cpu.c | 2 +- >> target/i386/tcg/tcg-cpu.c | 2 +- >> target/microblaze/cpu.c | 2 +- >> target/mips/cpu.c | 4 +++- >> target/riscv/cpu.c | 2 +- >> target/rx/cpu.c | 2 +- >> target/sh4/cpu.c | 2 +- >> target/sparc/cpu.c | 2 +- >> target/tricore/cpu.c | 2 +- >> 13 files changed, 28 insertions(+), 22 deletions(-) >> >> diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h >> index d0b17dcc4c..b9803885e5 100644 >> --- a/include/hw/core/cpu.h >> +++ b/include/hw/core/cpu.h >> @@ -86,6 +86,17 @@ typedef struct TcgCpuOperations { >> * Called when the first CPU is realized. >> */ >> void (*initialize)(void); >> + /** >> + * @synchronize_from_tb: Synchronize state from a TCG #TranslationBlock >> + * >> + * This is called when we abandon execution of a TB before >> + * starting it, and must set all parts of the CPU state which >> + * the previous TB in the chain may not have updated. This >> + * will need to do more. If this hook is not implemented then >> + * the default is to call @set_pc(tb->pc). >> + */ >> + void (*synchronize_from_tb)(CPUState *cpu, >> + const struct TranslationBlock *tb); > > Did you miss my comment last time or just not think it flowed better? > > ...TB in the chain may not have updated. By default when no hook is > defined a call is made to @set_pc(tb->pc). If more state needs to be > restored the front-end must provide a hook function and restore all the > state there. > > Either way: > > Reviewed-by: Alex Bennée <alex.ben...@linaro.org> >
Hi Alex, sorry for missing this change, can add it for the next respin, and thanks for looking at this, Ciao, Claudio