mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00

Saving icount as a parameters of the snapshot allows navigation between them in the execution replay scenario. This information can be used for finding a specific snapshot for proceeding the recorded execution to the specific moment of the time. E.g., 'reverse step' action (introduced in one of the following patches) needs to load the nearest snapshot which is prior to the current moment of time. This patch also updates snapshot test which verifies qemu monitor output. Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru> Acked-by: Markus Armbruster <armbru@redhat.com> Acked-by: Kevin Wolf <kwolf@redhat.com> -- v4 changes: - squashed format update with test output update v7 changes: - introduced the spaces between the fields in snapshot info output - updated the test to match new field widths Message-Id: <160174518865.12451.14327573383978752463.stgit@pasha-ThinkPad-X280> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
95 lines
1.2 KiB
C
95 lines
1.2 KiB
C
#include "qemu/osdep.h"
|
|
#include "sysemu/replay.h"
|
|
|
|
ReplayMode replay_mode;
|
|
|
|
int64_t replay_save_clock(unsigned int kind, int64_t clock, int64_t raw_icount)
|
|
{
|
|
abort();
|
|
return 0;
|
|
}
|
|
|
|
int64_t replay_read_clock(unsigned int kind)
|
|
{
|
|
abort();
|
|
return 0;
|
|
}
|
|
|
|
bool replay_checkpoint(ReplayCheckpoint checkpoint)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
bool replay_events_enabled(void)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
void replay_finish(void)
|
|
{
|
|
}
|
|
|
|
void replay_register_char_driver(Chardev *chr)
|
|
{
|
|
}
|
|
|
|
void replay_chr_be_write(Chardev *s, uint8_t *buf, int len)
|
|
{
|
|
abort();
|
|
}
|
|
|
|
void replay_char_write_event_save(int res, int offset)
|
|
{
|
|
abort();
|
|
}
|
|
|
|
void replay_char_write_event_load(int *res, int *offset)
|
|
{
|
|
abort();
|
|
}
|
|
|
|
int replay_char_read_all_load(uint8_t *buf)
|
|
{
|
|
abort();
|
|
}
|
|
|
|
void replay_char_read_all_save_error(int res)
|
|
{
|
|
abort();
|
|
}
|
|
|
|
void replay_char_read_all_save_buf(uint8_t *buf, int offset)
|
|
{
|
|
abort();
|
|
}
|
|
|
|
void replay_block_event(QEMUBH *bh, uint64_t id)
|
|
{
|
|
}
|
|
|
|
uint64_t blkreplay_next_id(void)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
void replay_mutex_lock(void)
|
|
{
|
|
}
|
|
|
|
void replay_mutex_unlock(void)
|
|
{
|
|
}
|
|
|
|
void replay_save_random(int ret, void *buf, size_t len)
|
|
{
|
|
}
|
|
|
|
int replay_read_random(void *buf, size_t len)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
uint64_t replay_get_current_icount(void)
|
|
{
|
|
return 0;
|
|
}
|