aboutsummaryrefslogtreecommitdiff
path: root/replay/replay.c
diff options
context:
space:
mode:
Diffstat (limited to 'replay/replay.c')
-rw-r--r--replay/replay.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/replay/replay.c b/replay/replay.c
index a0ef04f822..62e8abaadf 100644
--- a/replay/replay.c
+++ b/replay/replay.c
@@ -9,6 +9,39 @@
*
*/
+#include "qemu-common.h"
#include "sysemu/replay.h"
+#include "replay-internal.h"
+#include "qemu/timer.h"
ReplayMode replay_mode = REPLAY_MODE_NONE;
+
+ReplayState replay_state;
+
+bool replay_next_event_is(int event)
+{
+ bool res = false;
+
+ /* nothing to skip - not all instructions used */
+ if (replay_state.instructions_count != 0) {
+ assert(replay_data_kind == EVENT_INSTRUCTION);
+ return event == EVENT_INSTRUCTION;
+ }
+
+ while (true) {
+ if (event == replay_data_kind) {
+ res = true;
+ }
+ switch (replay_data_kind) {
+ default:
+ /* clock, time_t, checkpoint and other events */
+ return res;
+ }
+ }
+ return res;
+}
+
+uint64_t replay_get_current_step(void)
+{
+ return cpu_get_icount_raw();
+}