This patch adds replay.json file. It will be
used for adding record/replay-related data structures and commands.
Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
--
v10:
- minor changes
---
MAINTAINERS | 1 +
Makefile.objs | 4 ++--
include/sysemu/replay.h | 2 +-
qapi/misc.json | 18 ------------------
qapi/qapi-schema.json | 1 +
qapi/replay.json | 26 ++++++++++++++++++++++++++
6 files changed, 31 insertions(+), 21 deletions(-)
create mode 100644 qapi/replay.json
diff --git a/MAINTAINERS b/MAINTAINERS
index b334b53..9c2493c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2132,6 +2132,7 @@ F: net/filter-replay.c
F: include/sysemu/replay.h
F: docs/replay.txt
F: stubs/replay.c
+F: qapi/replay.json
IOVA Tree
M: Peter Xu <peterx@redhat.com>
diff --git a/Makefile.objs b/Makefile.objs
index 67a054b..098691f 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -1,6 +1,6 @@
QAPI_MODULES = block-core block char common crypto introspect job migration
-QAPI_MODULES += misc net rdma rocker run-state sockets tpm trace transaction
-QAPI_MODULES += ui
+QAPI_MODULES += misc net rdma replay rocker run-state sockets tpm trace
+QAPI_MODULES += transaction ui
#######################################################################
# Common libraries for tools and emulators
diff --git a/include/sysemu/replay.h b/include/sysemu/replay.h
index b3f593f..3fe14b5 100644
--- a/include/sysemu/replay.h
+++ b/include/sysemu/replay.h
@@ -13,7 +13,7 @@
*/
#include "sysemu.h"
-#include "qapi/qapi-types-misc.h"
+#include "qapi/qapi-types-replay.h"
#include "qapi/qapi-types-ui.h"
/* replay clock kinds */
diff --git a/qapi/misc.json b/qapi/misc.json
index 426274e..8eef451 100644
--- a/qapi/misc.json
+++ b/qapi/misc.json
@@ -3161,24 +3161,6 @@
'data': { 'offset': 'int' } }
##
-# @ReplayMode:
-#
-# Mode of the replay subsystem.
-#
-# @none: normal execution mode. Replay or record are not enabled.
-#
-# @record: record mode. All non-deterministic data is written into the
-# replay log.
-#
-# @play: replay mode. Non-deterministic data required for system execution
-# is read from the log.
-#
-# Since: 2.5
-##
-{ 'enum': 'ReplayMode',
- 'data': [ 'none', 'record', 'play' ] }
-
-##
# @xen-load-devices-state:
#
# Load the state of all devices from file. The RAM and the block devices
diff --git a/qapi/qapi-schema.json b/qapi/qapi-schema.json
index 3bbdfce..6d3fa9f 100644
--- a/qapi/qapi-schema.json
+++ b/qapi/qapi-schema.json
@@ -94,4 +94,5 @@
{ 'include': 'transaction.json' }
{ 'include': 'trace.json' }
{ 'include': 'introspect.json' }
+{ 'include': 'replay.json' }
{ 'include': 'misc.json' }
diff --git a/qapi/replay.json b/qapi/replay.json
new file mode 100644
index 0000000..9e13551
--- /dev/null
+++ b/qapi/replay.json
@@ -0,0 +1,26 @@
+# -*- Mode: Python -*-
+#
+
+##
+# = Record/replay
+##
+
+{ 'include': 'common.json' }
+
+##
+# @ReplayMode:
+#
+# Mode of the replay subsystem.
+#
+# @none: normal execution mode. Replay or record are not enabled.
+#
+# @record: record mode. All non-deterministic data is written into the
+# replay log.
+#
+# @play: replay mode. Non-deterministic data required for system execution
+# is read from the log.
+#
+# Since: 2.5
+##
+{ 'enum': 'ReplayMode',
+ 'data': [ 'none', 'record', 'play' ] }