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
On 05.12.2023 23:41, Alex Bennée wrote: > 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; Reviewed-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
On 5/12/23 21:41, Alex Bennée wrote: > 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; Up to here: Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> The rest doesn't belong to this commit: > 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
Philippe Mathieu-Daudé <philmd@linaro.org> writes: > On 5/12/23 21:41, Alex Bennée wrote: >> 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; > > Up to here: > Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> > > The rest doesn't belong to this commit: Oops, I missed that when rushing this out last night... will delete. -- Alex Bennée Virtualisation Tech Lead @ Linaro
© 2016 - 2024 Red Hat, Inc.