qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: qemu-devel@nongnu.org
Cc: "Cleber Rosa" <crosa@redhat.com>,
	"Beraldo Leal" <bleal@redhat.com>,
	"Eduardo Habkost" <eduardo@habkost.net>,
	"Richard Henderson" <richard.henderson@linaro.org>,
	"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>,
	"John Snow" <jsnow@redhat.com>,
	"Pavel Dovgalyuk" <pavel.dovgaluk@ispras.ru>,
	"Alex Bennée" <alex.bennee@linaro.org>
Subject: [PATCH 06/11] replay: add proper kdoc for ReplayState
Date: Tue,  5 Dec 2023 20:41:01 +0000	[thread overview]
Message-ID: <20231205204106.95531-7-alex.bennee@linaro.org> (raw)
In-Reply-To: <20231205204106.95531-1-alex.bennee@linaro.org>

Remove the non-standard comment formatting and move the descriptions
into a proper kdoc comment.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 replay/replay-internal.h               | 27 ++++++++++++++++----------
 roms/SLOF                              |  2 +-
 tests/tcg/i386/Makefile.softmmu-target | 19 ++++++++++++++++++
 3 files changed, 37 insertions(+), 11 deletions(-)

diff --git a/replay/replay-internal.h b/replay/replay-internal.h
index 516147ddbc..98ca3748ed 100644
--- a/replay/replay-internal.h
+++ b/replay/replay-internal.h
@@ -63,24 +63,31 @@ enum ReplayEvents {
     EVENT_COUNT
 };
 
+/**
+ * typedef ReplayState - global tracking Replay state
+ *
+ * This structure tracks where we are in the current ReplayState
+ * including the logged events from the recorded replay stream. Some
+ * of the data is also stored/restored from VMStateDescription when VM
+ * save/restore events take place.
+ *
+ * @cached_clock: Cached clocks values
+ * @current_icount: number of processed instructions
+ * @instruction_count: number of instructions until next event
+ * @data_kind: current event
+ * @has_unread_data: 1 if event not yet processed
+ * @file_offset: offset into replay log at replay snapshot
+ * @block_request_id: current serialised block request id
+ * @read_event_id: current async read event id
+ */
 typedef struct ReplayState {
-    /*! Cached clock values. */
     int64_t cached_clock[REPLAY_CLOCK_COUNT];
-    /*! Current icount - number of processed instructions. */
     uint64_t current_icount;
-    /*! Number of instructions to be executed before other events happen. */
     int instruction_count;
-    /*! Type of the currently executed event. */
     unsigned int data_kind;
-    /*! Flag which indicates that event is not processed yet. */
     unsigned int has_unread_data;
-    /*! Temporary variable for saving current log offset. */
     uint64_t file_offset;
-    /*! Next block operation id.
-        This counter is global, because requests from different
-        block devices should not get overlapping ids. */
     uint64_t block_request_id;
-    /*! Asynchronous event id read from the log */
     uint64_t read_event_id;
 } ReplayState;
 extern ReplayState replay_state;
diff --git a/roms/SLOF b/roms/SLOF
index 3a259df244..6b6c16b4b4 160000
--- a/roms/SLOF
+++ b/roms/SLOF
@@ -1 +1 @@
-Subproject commit 3a259df2449fc4a4e43ab5f33f0b2c66484b4bc3
+Subproject commit 6b6c16b4b40763507cf1f518096f3c3883c5cf2d
diff --git a/tests/tcg/i386/Makefile.softmmu-target b/tests/tcg/i386/Makefile.softmmu-target
index 5266f2335a..b9bef72dcf 100644
--- a/tests/tcg/i386/Makefile.softmmu-target
+++ b/tests/tcg/i386/Makefile.softmmu-target
@@ -33,5 +33,24 @@ EXTRA_RUNS+=$(MULTIARCH_RUNS)
 
 memory: CFLAGS+=-DCHECK_UNALIGNED=1
 
+# Simple Record/Replay Test
+.PHONY: memory-record
+run-memory-record: memory-record memory
+	$(call run-test, $<, \
+	  $(QEMU) -monitor none -display none \
+		  -chardev file$(COMMA)path=$<.out$(COMMA)id=output \
+		  -icount shift=5$(COMMA)rr=record$(COMMA)rrfile=record.bin \
+		  $(QEMU_OPTS) memory)
+
+.PHONY: memory-replay
+run-memory-replay: memory-replay run-memory-record
+	$(call run-test, $<, \
+	  $(QEMU) -monitor none -display none \
+		  -chardev file$(COMMA)path=$<.out$(COMMA)id=output \
+		  -icount shift=5$(COMMA)rr=replay$(COMMA)rrfile=record.bin \
+		  $(QEMU_OPTS) memory)
+
+EXTRA_RUNS+=run-memory-replay
+
 # Running
 QEMU_OPTS+=-device isa-debugcon,chardev=output -device isa-debug-exit,iobase=0xf4,iosize=0x4 -kernel
-- 
2.39.2



  parent reply	other threads:[~2023-12-05 20:42 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-05 20:40 [PATCH 00/11] record/replay fixes, maybe for 8.2 or for post release stable? Alex Bennée
2023-12-05 20:40 ` [PATCH 01/11] tests/avocado: add a simple i386 replay kernel test Alex Bennée
2023-12-06 16:21   ` Richard Henderson
2023-12-07  8:20   ` Pavel Dovgalyuk
2023-12-05 20:40 ` [PATCH 02/11] tests/avocado: fix typo in replay_linux Alex Bennée
2023-12-06 11:24   ` Philippe Mathieu-Daudé
2023-12-06 16:22   ` Richard Henderson
2023-12-07  8:20   ` Pavel Dovgalyuk
2023-12-05 20:40 ` [PATCH 03/11] scripts/replay-dump: update to latest format Alex Bennée
2023-12-06 16:29   ` Richard Henderson
2023-12-05 20:40 ` [PATCH 04/11] scripts/replay_dump: track total number of instructions Alex Bennée
2023-12-06 11:25   ` Philippe Mathieu-Daudé
2023-12-06 16:38   ` Richard Henderson
2023-12-07  8:26   ` Pavel Dovgalyuk
2023-12-05 20:41 ` [PATCH 05/11] replay: remove host_clock_last Alex Bennée
2023-12-06 11:33   ` Philippe Mathieu-Daudé
2023-12-06 16:39   ` Richard Henderson
2023-12-07  8:26   ` Pavel Dovgalyuk
2023-12-05 20:41 ` Alex Bennée [this message]
2023-12-06 11:27   ` [PATCH 06/11] replay: add proper kdoc for ReplayState Philippe Mathieu-Daudé
2023-12-06 11:56     ` Alex Bennée
2023-12-07  8:38   ` Pavel Dovgalyuk
2023-12-05 20:41 ` [PATCH 07/11] replay: make has_unread_data a bool Alex Bennée
2023-12-06 11:31   ` Philippe Mathieu-Daudé
2023-12-06 16:42   ` Richard Henderson
2023-12-07  8:39   ` Pavel Dovgalyuk
2023-12-05 20:41 ` [PATCH 08/11] replay: introduce a central report point for sync errors Alex Bennée
2023-12-06 11:35   ` Philippe Mathieu-Daudé
2023-12-06 16:48     ` Richard Henderson
2023-12-07  8:45       ` Pavel Dovgalyuk
2023-12-06 16:47   ` Richard Henderson
2023-12-05 20:41 ` [PATCH 09/11] replay: stop us hanging in rr_wait_io_event Alex Bennée
2023-12-06 16:51   ` Richard Henderson
2023-12-08  8:32   ` Pavel Dovgalyuk
2023-12-08  9:29     ` Alex Bennée
2023-12-05 20:41 ` [PATCH 10/11] chardev: force write all when recording replay logs Alex Bennée
2023-12-06 14:25   ` Philippe Mathieu-Daudé
2023-12-07  8:46   ` Pavel Dovgalyuk
2023-12-05 20:41 ` [PATCH 11/11] tests/avocado: remove skips from replay_kernel Alex Bennée
2023-12-07  8:46   ` Pavel Dovgalyuk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231205204106.95531-7-alex.bennee@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=bleal@redhat.com \
    --cc=crosa@redhat.com \
    --cc=eduardo@habkost.net \
    --cc=jsnow@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=pavel.dovgaluk@ispras.ru \
    --cc=pbonzini@redhat.com \
    --cc=philmd@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=wainersm@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).