mbox series

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

Message ID 20210702081307.1653644-1-erdnaxe@crans.org (mailing list archive)
Headers show
Series execlog TCG plugin to log instructions | expand

Message

Alexandre IOOSS July 2, 2021, 8:13 a.m. UTC
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

Comments

Alex Bennée July 5, 2021, 3:29 p.m. UTC | #1
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