[PATCH v3 0/2] execlog TCG plugin to log instructions

Alexandre Iooss posted 2 patches 2 years, 10 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210702081307.1653644-1-erdnaxe@crans.org
Maintainers: "Alex Bennée" <alex.bennee@linaro.org>, Alexandre Iooss <erdnaxe@crans.org>
MAINTAINERS                |   1 +
contrib/plugins/Makefile   |   1 +
contrib/plugins/execlog.c  | 153 +++++++++++++++++++++++++++++++++++++
docs/devel/tcg-plugins.rst |  24 ++++++
4 files changed, 179 insertions(+)
create mode 100644 contrib/plugins/execlog.c
[PATCH v3 0/2] execlog TCG plugin to log instructions
Posted by Alexandre Iooss 2 years, 10 months ago
execlog is a plugin that logs executed instructions with some useful
metadata including memory access.

The output of the plugin is designed to be usable with other tools. For
example it could be used with a side-channel leakage model to create
side-channel traces from QEMU for security evaluation.

Changes since v2:
 - Fix typo "tvg-plugins" to "tcg-plugins" in commit title.
 - Add warning about plugin output size in documentation.
 - Fix user mode tracing by using a dynamic list.
 - Fix last instructions not being logged.
 - Remove empty first line in plugin output.

Changes since v1:
 - The output is now easier to parse.
 - Use QEMU logging API rather than FILE* to write output.
 - Don't reject memory information in user mode.
 - Merge memory information with instruction execution. Now one line
   means one instruction.
 - Add documentation.

Alexandre Iooss (2):
  contrib/plugins: add execlog to log instruction execution and memory
    access
  docs/devel: tcg-plugins: add execlog plugin description

 MAINTAINERS                |   1 +
 contrib/plugins/Makefile   |   1 +
 contrib/plugins/execlog.c  | 153 +++++++++++++++++++++++++++++++++++++
 docs/devel/tcg-plugins.rst |  24 ++++++
 4 files changed, 179 insertions(+)
 create mode 100644 contrib/plugins/execlog.c

-- 
2.31.1


Re: [PATCH v3 0/2] execlog TCG plugin to log instructions
Posted by Alex Bennée 2 years, 9 months ago
Alexandre Iooss <erdnaxe@crans.org> writes:

> execlog is a plugin that logs executed instructions with some useful
> metadata including memory access.
>
> The output of the plugin is designed to be usable with other tools. For
> example it could be used with a side-channel leakage model to create
> side-channel traces from QEMU for security evaluation.

Queued to plugins/next, thanks.

>
> Changes since v2:
>  - Fix typo "tvg-plugins" to "tcg-plugins" in commit title.
>  - Add warning about plugin output size in documentation.
>  - Fix user mode tracing by using a dynamic list.
>  - Fix last instructions not being logged.
>  - Remove empty first line in plugin output.
>
> Changes since v1:
>  - The output is now easier to parse.
>  - Use QEMU logging API rather than FILE* to write output.
>  - Don't reject memory information in user mode.
>  - Merge memory information with instruction execution. Now one line
>    means one instruction.
>  - Add documentation.
>
> Alexandre Iooss (2):
>   contrib/plugins: add execlog to log instruction execution and memory
>     access
>   docs/devel: tcg-plugins: add execlog plugin description
>
>  MAINTAINERS                |   1 +
>  contrib/plugins/Makefile   |   1 +
>  contrib/plugins/execlog.c  | 153 +++++++++++++++++++++++++++++++++++++
>  docs/devel/tcg-plugins.rst |  24 ++++++
>  4 files changed, 179 insertions(+)
>  create mode 100644 contrib/plugins/execlog.c


-- 
Alex Bennée