target/ppc: Fix timebase reset with record-replay
Timebase save uses a random number for a legacy vmstate field, which makes rr snapshot loading unbalanced. The easiest way to deal with this is just to skip the rng if record-replay is active. Reviewed-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru> Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Cédric Le Goater <clg@kaod.org>
This commit is contained in:
parent
cdab53dd22
commit
9db680f8fd
@ -32,6 +32,7 @@
|
|||||||
#include "qemu/main-loop.h"
|
#include "qemu/main-loop.h"
|
||||||
#include "qemu/error-report.h"
|
#include "qemu/error-report.h"
|
||||||
#include "sysemu/kvm.h"
|
#include "sysemu/kvm.h"
|
||||||
|
#include "sysemu/replay.h"
|
||||||
#include "sysemu/runstate.h"
|
#include "sysemu/runstate.h"
|
||||||
#include "kvm_ppc.h"
|
#include "kvm_ppc.h"
|
||||||
#include "migration/vmstate.h"
|
#include "migration/vmstate.h"
|
||||||
@ -974,8 +975,14 @@ static void timebase_save(PPCTimebase *tb)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (replay_mode == REPLAY_MODE_NONE) {
|
||||||
/* not used anymore, we keep it for compatibility */
|
/* not used anymore, we keep it for compatibility */
|
||||||
tb->time_of_the_day_ns = qemu_clock_get_ns(QEMU_CLOCK_HOST);
|
tb->time_of_the_day_ns = qemu_clock_get_ns(QEMU_CLOCK_HOST);
|
||||||
|
} else {
|
||||||
|
/* simpler for record-replay to avoid this event, compat not needed */
|
||||||
|
tb->time_of_the_day_ns = 0;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* tb_offset is only expected to be changed by QEMU so
|
* tb_offset is only expected to be changed by QEMU so
|
||||||
* there is no need to update it from KVM here
|
* there is no need to update it from KVM here
|
||||||
|
Loading…
x
Reference in New Issue
Block a user