Convert qemu_bh_schedule() to qemu_bh_schedule_event(), which can specify the clock type, making it compatible with record-replay.
Restarting the IDE device does affect target machine state, so it should use QEMU_CLOCK_VIRTUAL to recorded and replay the bh. This fixes hangs in record/replay when using IDE devices. Signed-off-by: Nicholas Piggin <npig...@gmail.com> --- hw/ide/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/ide/core.c b/hw/ide/core.c index c527caf3d69..500ea73c8be 100644 --- a/hw/ide/core.c +++ b/hw/ide/core.c @@ -2780,7 +2780,7 @@ static void ide_restart_cb(void *opaque, bool running, RunState state) if (!bus->bh) { bus->bh = qemu_bh_new(ide_restart_bh, bus); - qemu_bh_schedule(bus->bh); + qemu_bh_schedule_event(bus->bh, QEMU_CLOCK_VIRTUAL); } } -- 2.45.2