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 - 2026 Red Hat, Inc.