On 8/14/20 10:39 PM, Richard Henderson wrote:
> On 8/12/20 11:32 AM, Claudio Fontana wrote:
>> +static int64_t tcg_get_virtual_clock(void)
>> +{
>> +    if (icount_enabled()) {
>> +        return icount_get();
>> +    }
>> +    return cpu_get_clock();
>> +}
>> +
>> +static int64_t tcg_get_elapsed_ticks(void)
>> +{
>> +    if (icount_enabled()) {
>> +        return icount_get();
>> +    }
>> +    return cpu_get_ticks();
>> +}
>> +
>> +CpusAccel tcg_cpus = {
>> +    .create_vcpu_thread = tcg_start_vcpu_thread,
>> +    .kick_vcpu_thread = tcg_kick_vcpu_thread,
>> +    .get_virtual_clock = tcg_get_virtual_clock,
>> +    .get_elapsed_ticks = tcg_get_elapsed_ticks,
>> +};
> 
> I think this variable should be const.  Which of course means that the 
> previous
> patch needs to add const annotations.

Will add.

> 
> I think you should actually have multiple dispatch variables: with icount and
> without, with mttcg and without.  That way these methods don't have to check
> icount_enabled() or qemu_tcg_mttcg_enabled() at runtime, only at startup.

I gave it a try, it would work, however it is basically a refactoring of the 
existing qemu_tcg_init_vcpu ,

I'd do it in a separate series if possible (with some help from Alex?)

Claudio

> 
> 
> r~
> 


Reply via email to