75bbe5e5ec
vCPU execution should be suspended when new BH is scheduled. This is needed to avoid guest timeouts caused by the long cycles of the execution. In replay mode execution may hang when vCPU sleeps and block event comes to the queue. This patch adds notification which wakes up vCPU or interrupts execution of guest code. Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> -- v2: changed first_cpu to current_cpu (suggested by Richard Henderson) v4: moved vCPU notification to aio_bh_enqueue (suggested by Paolo Bonzini) Message-Id: <165364837317.688121.17680519919871405281.stgit@pasha-ThinkPad-X280> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
50 lines
735 B
C
50 lines
735 B
C
#include "qemu/osdep.h"
|
|
#include "qapi/error.h"
|
|
#include "sysemu/cpu-timers.h"
|
|
|
|
/* icount - Instruction Counter API */
|
|
|
|
int use_icount;
|
|
|
|
void icount_update(CPUState *cpu)
|
|
{
|
|
abort();
|
|
}
|
|
void icount_configure(QemuOpts *opts, Error **errp)
|
|
{
|
|
/* signal error */
|
|
error_setg(errp, "cannot configure icount, TCG support not available");
|
|
}
|
|
int64_t icount_get_raw(void)
|
|
{
|
|
abort();
|
|
return 0;
|
|
}
|
|
int64_t icount_get(void)
|
|
{
|
|
abort();
|
|
return 0;
|
|
}
|
|
int64_t icount_to_ns(int64_t icount)
|
|
{
|
|
abort();
|
|
return 0;
|
|
}
|
|
int64_t icount_round(int64_t count)
|
|
{
|
|
abort();
|
|
return 0;
|
|
}
|
|
void icount_start_warp_timer(void)
|
|
{
|
|
abort();
|
|
}
|
|
void icount_account_warp_timer(void)
|
|
{
|
|
abort();
|
|
}
|
|
|
|
void icount_notify_exit(void)
|
|
{
|
|
}
|