|
@@ -25,6 +25,7 @@ static int replay_pre_save(void *opaque)
|
|
|
{
|
|
|
ReplayState *state = opaque;
|
|
|
state->file_offset = ftell(replay_file);
|
|
|
+ state->host_clock_last = qemu_clock_get_last(QEMU_CLOCK_HOST);
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -33,6 +34,7 @@ static int replay_post_load(void *opaque, int version_id)
|
|
|
{
|
|
|
ReplayState *state = opaque;
|
|
|
fseek(replay_file, state->file_offset, SEEK_SET);
|
|
|
+ qemu_clock_set_last(QEMU_CLOCK_HOST, state->host_clock_last);
|
|
|
/* If this was a vmstate, saved in recording mode,
|
|
|
we need to initialize replay data fields. */
|
|
|
replay_fetch_data_kind();
|
|
@@ -54,6 +56,7 @@ static const VMStateDescription vmstate_replay = {
|
|
|
VMSTATE_UINT32(has_unread_data, ReplayState),
|
|
|
VMSTATE_UINT64(file_offset, ReplayState),
|
|
|
VMSTATE_UINT64(block_request_id, ReplayState),
|
|
|
+ VMSTATE_UINT64(host_clock_last, ReplayState),
|
|
|
VMSTATE_END_OF_LIST()
|
|
|
},
|
|
|
};
|