[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 06/14] qapi: introduce replay.json for record/replay-related s
From: |
Pavel Dovgalyuk |
Subject: |
[PATCH v2 06/14] qapi: introduce replay.json for record/replay-related stuff |
Date: |
Tue, 11 Aug 2020 14:01:28 +0300 |
User-agent: |
StGit/0.17.1-dirty |
From: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
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.dovgalyuk@ispras.ru>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
---
MAINTAINERS | 1 +
include/sysemu/replay.h | 1 +
qapi/Makefile.objs | 4 ++--
qapi/misc.json | 18 ------------------
qapi/qapi-schema.json | 1 +
qapi/replay.json | 26 ++++++++++++++++++++++++++
6 files changed, 31 insertions(+), 20 deletions(-)
create mode 100644 qapi/replay.json
diff --git a/MAINTAINERS b/MAINTAINERS
index 0886eb3d2b..50fc44680c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2643,6 +2643,7 @@ F: include/sysemu/replay.h
F: docs/replay.txt
F: stubs/replay.c
F: tests/acceptance/replay_kernel.py
+F: qapi/replay.json
IOVA Tree
M: Peter Xu <peterx@redhat.com>
diff --git a/include/sysemu/replay.h b/include/sysemu/replay.h
index c9c896ae8d..e00ed2f4a5 100644
--- a/include/sysemu/replay.h
+++ b/include/sysemu/replay.h
@@ -14,6 +14,7 @@
#include "qapi/qapi-types-misc.h"
#include "qapi/qapi-types-run-state.h"
+#include "qapi/qapi-types-replay.h"
#include "qapi/qapi-types-ui.h"
#include "block/aio.h"
diff --git a/qapi/Makefile.objs b/qapi/Makefile.objs
index 4673ab7490..eff501a97d 100644
--- a/qapi/Makefile.objs
+++ b/qapi/Makefile.objs
@@ -7,8 +7,8 @@ util-obj-y += qapi-util.o
QAPI_COMMON_MODULES = audio authz block-core block char common control crypto
QAPI_COMMON_MODULES += dump error introspect job machine migration misc
-QAPI_COMMON_MODULES += net pragma qdev qom rdma rocker run-state sockets tpm
-QAPI_COMMON_MODULES += trace transaction ui
+QAPI_COMMON_MODULES += net pragma qdev qom rdma replay rocker run-state sockets
+QAPI_COMMON_MODULES += tpm trace transaction ui
QAPI_TARGET_MODULES = machine-target misc-target
QAPI_MODULES = $(QAPI_COMMON_MODULES) $(QAPI_TARGET_MODULES)
diff --git a/qapi/misc.json b/qapi/misc.json
index 9d32820dc1..87fcb90135 100644
--- a/qapi/misc.json
+++ b/qapi/misc.json
@@ -1556,24 +1556,6 @@
{ 'event': 'ACPI_DEVICE_OST',
'data': { 'info': 'ACPIOSTInfo' } }
-##
-# @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:
#
diff --git a/qapi/qapi-schema.json b/qapi/qapi-schema.json
index f03ff91ceb..2604fcf6ec 100644
--- a/qapi/qapi-schema.json
+++ b/qapi/qapi-schema.json
@@ -82,6 +82,7 @@
{ 'include': 'qdev.json' }
{ 'include': 'machine.json' }
{ 'include': 'machine-target.json' }
+{ 'include': 'replay.json' }
{ 'include': 'misc.json' }
{ 'include': 'misc-target.json' }
{ 'include': 'audio.json' }
diff --git a/qapi/replay.json b/qapi/replay.json
new file mode 100644
index 0000000000..9e13551d20
--- /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' ] }
- [PATCH v2 00/14] Reverse debugging, Pavel Dovgalyuk, 2020/08/11
- [PATCH v2 01/14] replay: don't record interrupt poll, Pavel Dovgalyuk, 2020/08/11
- [PATCH v2 02/14] replay: provide an accessor for rr filename, Pavel Dovgalyuk, 2020/08/11
- [PATCH v2 03/14] qcow2: introduce icount field for snapshots, Pavel Dovgalyuk, 2020/08/11
- [PATCH v2 04/14] migration: introduce icount field for snapshots, Pavel Dovgalyuk, 2020/08/11
- [PATCH v2 05/14] iotests: update snapshot test for new output format, Pavel Dovgalyuk, 2020/08/11
- [PATCH v2 06/14] qapi: introduce replay.json for record/replay-related stuff,
Pavel Dovgalyuk <=
- [PATCH v2 07/14] replay: introduce info hmp/qmp command, Pavel Dovgalyuk, 2020/08/11
- [PATCH v2 08/14] replay: introduce breakpoint at the specified step, Pavel Dovgalyuk, 2020/08/11
- [PATCH v2 09/14] replay: implement replay-seek command, Pavel Dovgalyuk, 2020/08/11
- [PATCH v2 10/14] replay: flush rr queue before loading the vmstate, Pavel Dovgalyuk, 2020/08/11
- [PATCH v2 11/14] gdbstub: add reverse step support in replay mode, Pavel Dovgalyuk, 2020/08/11
- [PATCH v2 12/14] gdbstub: add reverse continue support in replay mode, Pavel Dovgalyuk, 2020/08/11
- [PATCH v2 13/14] replay: describe reverse debugging in docs/replay.txt, Pavel Dovgalyuk, 2020/08/11
- [PATCH v2 14/14] tests/acceptance: add reverse debugging test, Pavel Dovgalyuk, 2020/08/11