qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v15 04/23] cpu: Move synchronize_from_tb() to tcg_ops


From: Claudio Fontana
Subject: Re: [PATCH v15 04/23] cpu: Move synchronize_from_tb() to tcg_ops
Date: Wed, 3 Feb 2021 13:31:55 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0

On 2/3/21 11:11 AM, Alex Bennée wrote:
> 
> Claudio Fontana <cfontana@suse.de> writes:
> 
>> From: Eduardo Habkost <ehabkost@redhat.com>
>>
>> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
>>
>> [claudio: wrapped target code in CONFIG_TCG]
>> Signed-off-by: Claudio Fontana <cfontana@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.bennee@linaro.org>
> 

Hi Alex, sorry for missing this change, can add it for the next respin,

and thanks for looking at this,

Ciao,

Claudio






reply via email to

[Prev in Thread] Current Thread [Next in Thread]