cpus: check cpu->running in cpu_get_icount_raw()

The lifetime of current_cpu is now the lifetime of the vCPU thread.
However get_icount_raw() can apply a fudge factor if called while code
is running to take into account the current executed instruction
count.

To ensure this is always the case we also check cpu->running.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <rth@twiddle.net>
This commit is contained in:
Alex Bennée 2017-03-30 18:49:22 +01:00
parent bf51c7206f
commit 243c5f77f6

2
cpus.c
View File

@ -229,7 +229,7 @@ int64_t cpu_get_icount_raw(void)
CPUState *cpu = current_cpu;
icount = timers_state.qemu_icount;
if (cpu) {
if (cpu && cpu->running) {
if (!cpu->can_do_io) {
fprintf(stderr, "Bad icount read\n");
exit(1);