On 26/11/2014 11:39, Pavel Dovgalyuk wrote:
> +int64_t cpu_get_instructions_counter(void)
> +{
> + /* This function calls are synchnonized to timer changes,
> + calling cpu_get_instructions_counter_locked without lock is safe */
> + int64_t icount = timers_state.qemu_icount;
> + CPUState *cpu = current_cpu;
> +
> + if (cpu) {
> + icount -= (cpu->icount_decr.u16.low + cpu->icount_extra);
> + }
> + return icount;
Why do you need to do this if !cpu_can_do_io(cpu)?
Perhaps a better name for the functions is
- cpu_get_instructions_counter_locked -> cpu_get_icount_raw
- cpu_get_instructions_counter -> cpu_get_icount_raw_nocheck
This makes it clear that cpu_get_instructions_counter should raise
questions to a reviewer.
Paolo