mbox series

[for,4.2,v6,00/54] Support for TCG plugins

Message ID 20191017131615.19660-1-alex.bennee@linaro.org
Headers show
Series Support for TCG plugins | expand

Message

Alex Bennée Oct. 17, 2019, 1:15 p.m. UTC
Hi,

This is the latest iteration of the TCG plugins series. From the documentation:

  QEMU TCG plugins provide a way for users to run experiments taking
  advantage of the total system control emulation can have over a guest.
  It provides a mechanism for plugins to subscribe to events during
  translation and execution and optionally callback into the plugin
  during these events. TCG plugins are unable to change the system state
  only monitor it passively. However they can do this down to an
  individual instruction granularity including potentially subscribing
  to all load and store operations.

This is mostly a adding signoffs and some patch re-organisation and
splitting. For reference the longer notes about what API tweaks didn't
make it into this iteration can be found in the previous series:

  Subject: [PATCH for 4.2 v5 00/55] Support for TCG plugins
  Date: Mon, 14 Oct 2019 11:48:53 +0100
  Message-Id: <20191014104948.4291-1-alex.bennee@linaro.org>

Changes of note:

  - now use gmodule to load symbols instead of dlsym
  - re-jigged translator_ld to avoid creating more alias functions
  - moved configure change to final place
  - moved additional API bits to before examples
  - merged api changes to examples into final single commit versions
  - tweaked hwaddr API to talk of device_offset

Most of the checkpatch formatting complaints I think are overly picky
given the attempt to make table look nice or not wrap for the sake of
going one character over. I've included a checkpatch patch to stop
bothering me about (foo, /* empty */) comments. As ever there are more
details bellow the ---

Only a few more un-reviewed patches before I can send the PR:

   02 - trace add mmu_index to mem_info
   37 - plugin expand the plugin_init function to include
   39 - plugin add qemu_plugin_outs helper
   54 - scripts chec.pl don t complain about foo em


Alex Bennée (20):
  trace: add mmu_index to mem_info
  docs/devel: add plugins.rst design document
  plugin: add implementation of the api
  plugins: implement helpers for resolving hwaddr
  configure: add --enable-plugins
  plugin: expand the plugin_init function to include an info block
  plugin: add qemu_plugin_insn_disas helper
  plugin: add qemu_plugin_outs helper
  tests/tcg/Makefile.target: fix path to config-host.mak
  tests/tcg: set QEMU_OPTS for all cris runs
  tests/tcg: move "virtual" tests to EXTRA_TESTS
  tests/tcg: drop test-i386-fprem from TESTS when not SLOW
  tests/tcg: enable plugin testing
  tests/plugin: add a hotblocks plugin
  tests/plugin: add instruction execution breakdown
  tests/plugin: add hotpages to analyse memory access patterns
  accel/stubs: reduce headers from tcg-stub
  include/exec: wrap cpu_ldst.h in CONFIG_TCG
  .travis.yml: add --enable-plugins tests
  scripts/checkpatch.pl: don't complain about (foo, /* empty */)

Emilio G. Cota (32):
  trace: expand mem_info:size_shift to 4 bits
  cpu: introduce cpu_in_exclusive_context()
  translate-all: use cpu_in_exclusive_work_context() in tb_flush
  plugin: add user-facing API
  plugin: add core code
  queue: add QTAILQ_REMOVE_SEVERAL
  cputlb: document get_page_addr_code
  cputlb: introduce get_page_addr_code_hostp
  tcg: add tcg_gen_st_ptr
  plugin-gen: add module for TCG-related code
  atomic_template: add inline trace/plugin helpers
  tcg: let plugins instrument virtual memory accesses
  translate-all: notify plugin code of tb_flush
  *-user: notify plugin of exit
  *-user: plugin syscalls
  cpu: hook plugin vcpu events
  plugin-gen: add plugin_insn_append
  translator: add translator_ld{ub,sw,uw,l,q}
  target/arm: fetch code with translator_ld
  target/ppc: fetch code with translator_ld
  target/sh4: fetch code with translator_ld
  target/i386: fetch code with translator_ld
  target/hppa: fetch code with translator_ld
  target/m68k: fetch code with translator_ld
  target/alpha: fetch code with translator_ld
  target/riscv: fetch code with translator_ld
  target/sparc: fetch code with translator_ld
  target/xtensa: fetch code with translator_ld
  target/openrisc: fetch code with translator_ld
  translator: inject instrumentation from plugins
  plugin: add API symbols to qemu-plugins.symbols
  tests/plugin: add sample plugins

Lluís Vilanova (2):
  vl: support -plugin option
  linux-user: support -plugin option

 .travis.yml                               |  15 +
 Makefile                                  |  16 +-
 Makefile.target                           |   2 +
 accel/stubs/tcg-stub.c                    |   1 -
 accel/tcg/Makefile.objs                   |   1 +
 accel/tcg/atomic_common.inc.c             |  54 ++
 accel/tcg/atomic_template.h               |  94 ++-
 accel/tcg/cpu-exec.c                      |   8 +-
 accel/tcg/cputlb.c                        |  60 +-
 accel/tcg/plugin-gen.c                    | 932 ++++++++++++++++++++++
 accel/tcg/plugin-helpers.h                |   5 +
 accel/tcg/translate-all.c                 |  15 +-
 accel/tcg/translator.c                    |  20 +
 accel/tcg/user-exec.c                     |   3 +
 bsd-user/syscall.c                        |  24 +-
 configure                                 |  89 +++
 cpus-common.c                             |   4 +
 cpus.c                                    |  10 +
 disas.c                                   | 110 +++
 docs/devel/index.rst                      |   1 +
 docs/devel/plugins.rst                    | 112 +++
 exec.c                                    |   2 +
 hw/core/cpu.c                             |   2 +
 include/disas/disas.h                     |   2 +
 include/exec/cpu-defs.h                   |   1 +
 include/exec/cpu_ldst.h                   |  11 +
 include/exec/cpu_ldst_template.h          |  37 +-
 include/exec/cpu_ldst_useronly_template.h |  32 +-
 include/exec/exec-all.h                   |  64 +-
 include/exec/helper-gen.h                 |   1 +
 include/exec/helper-proto.h               |   1 +
 include/exec/helper-tcg.h                 |   1 +
 include/exec/plugin-gen.h                 |  71 ++
 include/exec/translator.h                 |  62 +-
 include/hw/core/cpu.h                     |  19 +
 include/qemu/log.h                        |   1 +
 include/qemu/plugin-memory.h              |  40 +
 include/qemu/plugin.h                     | 255 ++++++
 include/qemu/qemu-plugin.h                | 393 +++++++++
 include/qemu/queue.h                      |  10 +
 include/user/syscall-trace.h              |  40 +
 linux-user/exit.c                         |   1 +
 linux-user/main.c                         |  18 +
 linux-user/syscall.c                      |   7 +-
 plugins/.gitignore                        |   2 +
 plugins/Makefile.objs                     |  21 +
 plugins/api.c                             | 341 ++++++++
 plugins/core.c                            | 502 ++++++++++++
 plugins/loader.c                          | 377 +++++++++
 plugins/plugin.h                          |  97 +++
 plugins/qemu-plugins.symbols              |  40 +
 qemu-options.hx                           |  17 +
 scripts/checkpatch.pl                     |   2 +-
 scripts/tracetool/transform.py            |   1 +
 target/alpha/translate.c                  |   2 +-
 target/arm/arm_ldst.h                     |  15 +-
 target/hppa/translate.c                   |   2 +-
 target/i386/translate.c                   |  10 +-
 target/m68k/translate.c                   |   2 +-
 target/openrisc/translate.c               |   2 +-
 target/ppc/translate.c                    |   8 +-
 target/riscv/translate.c                  |   2 +-
 target/sh4/translate.c                    |   4 +-
 target/sparc/translate.c                  |   2 +-
 target/xtensa/translate.c                 |   4 +-
 tcg/tcg-op.c                              |  40 +-
 tcg/tcg-op.h                              |  16 +
 tcg/tcg-opc.h                             |   3 +
 tcg/tcg.c                                 |  22 +
 tcg/tcg.h                                 |  21 +
 tests/Makefile.include                    |  11 +-
 tests/plugin/Makefile                     |  31 +
 tests/plugin/bb.c                         |  64 ++
 tests/plugin/empty.c                      |  30 +
 tests/plugin/hotblocks.c                  | 143 ++++
 tests/plugin/hotpages.c                   | 191 +++++
 tests/plugin/howvec.c                     | 352 ++++++++
 tests/plugin/insn.c                       |  61 ++
 tests/plugin/mem.c                        |  97 +++
 tests/tcg/Makefile.target                 |  43 +-
 tests/tcg/aarch64/Makefile.softmmu-target |   2 +-
 tests/tcg/aarch64/Makefile.target         |   6 +
 tests/tcg/arm/Makefile.softmmu-target     |   1 +
 tests/tcg/arm/Makefile.target             |   6 +
 tests/tcg/cris/Makefile.target            |   2 +-
 tests/tcg/i386/Makefile.target            |  11 +-
 trace-events                              |   8 +-
 trace/mem-internal.h                      |  39 +-
 trace/mem.h                               |   7 +-
 util/log.c                                |   3 +
 vl.c                                      |  11 +
 91 files changed, 5159 insertions(+), 162 deletions(-)
 create mode 100644 accel/tcg/atomic_common.inc.c
 create mode 100644 accel/tcg/plugin-gen.c
 create mode 100644 accel/tcg/plugin-helpers.h
 create mode 100644 docs/devel/plugins.rst
 create mode 100644 include/exec/plugin-gen.h
 create mode 100644 include/qemu/plugin-memory.h
 create mode 100644 include/qemu/plugin.h
 create mode 100644 include/qemu/qemu-plugin.h
 create mode 100644 include/user/syscall-trace.h
 create mode 100644 plugins/.gitignore
 create mode 100644 plugins/Makefile.objs
 create mode 100644 plugins/api.c
 create mode 100644 plugins/core.c
 create mode 100644 plugins/loader.c
 create mode 100644 plugins/plugin.h
 create mode 100644 plugins/qemu-plugins.symbols
 create mode 100644 tests/plugin/Makefile
 create mode 100644 tests/plugin/bb.c
 create mode 100644 tests/plugin/empty.c
 create mode 100644 tests/plugin/hotblocks.c
 create mode 100644 tests/plugin/hotpages.c
 create mode 100644 tests/plugin/howvec.c
 create mode 100644 tests/plugin/insn.c
 create mode 100644 tests/plugin/mem.c

-- 
2.20.1

Comments

no-reply@patchew.org Oct. 17, 2019, 7:25 p.m. UTC | #1
Patchew URL: https://patchew.org/QEMU/20191017131615.19660-1-alex.bennee@linaro.org/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Subject: [PATCH for 4.2 v6 00/54] Support for TCG plugins
Type: series
Message-id: 20191017131615.19660-1-alex.bennee@linaro.org

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 * [new tag]         patchew/20191017185110.539-1-richard.henderson@linaro.org -> patchew/20191017185110.539-1-richard.henderson@linaro.org
Switched to a new branch 'test'
424fada scripts/checkpatch.pl: don't complain about (foo, /* empty */)
e435145 .travis.yml: add --enable-plugins tests
800ea86 include/exec: wrap cpu_ldst.h in CONFIG_TCG
cace239 accel/stubs: reduce headers from tcg-stub
17ea011 tests/plugin: add hotpages to analyse memory access patterns
d1e0501 tests/plugin: add instruction execution breakdown
5e851ac tests/plugin: add a hotblocks plugin
031417f tests/tcg: enable plugin testing
cd80d32 tests/tcg: drop test-i386-fprem from TESTS when not SLOW
836d35e tests/tcg: move "virtual" tests to EXTRA_TESTS
e58c3d7 tests/tcg: set QEMU_OPTS for all cris runs
afdfac7 tests/tcg/Makefile.target: fix path to config-host.mak
efa9ea6 tests/plugin: add sample plugins
c996ea3 linux-user: support -plugin option
78836ba vl: support -plugin option
a1403cc plugin: add qemu_plugin_outs helper
55a654e plugin: add qemu_plugin_insn_disas helper
1aece9d plugin: expand the plugin_init function to include an info block
247bda5 plugin: add API symbols to qemu-plugins.symbols
d6b63ea configure: add --enable-plugins
3aee2bc translator: inject instrumentation from plugins
c521ff1 target/openrisc: fetch code with translator_ld
afb1f51 target/xtensa: fetch code with translator_ld
d5c9d50 target/sparc: fetch code with translator_ld
9d57fb8 target/riscv: fetch code with translator_ld
7aa7c68 target/alpha: fetch code with translator_ld
8d6a86c target/m68k: fetch code with translator_ld
6568577 target/hppa: fetch code with translator_ld
50cf013 target/i386: fetch code with translator_ld
01c5eeb target/sh4: fetch code with translator_ld
907646f target/ppc: fetch code with translator_ld
9526a0d target/arm: fetch code with translator_ld
3fe9ad0 translator: add translator_ld{ub,sw,uw,l,q}
81c8125 plugin-gen: add plugin_insn_append
bd1b9b0 cpu: hook plugin vcpu events
7fa995f *-user: plugin syscalls
c2af9e4 *-user: notify plugin of exit
3d94758 translate-all: notify plugin code of tb_flush
d9a108b plugins: implement helpers for resolving hwaddr
81e3a25 tcg: let plugins instrument virtual memory accesses
fe8a752 atomic_template: add inline trace/plugin helpers
87cdf09 plugin-gen: add module for TCG-related code
85a2f31 tcg: add tcg_gen_st_ptr
0f2859a cputlb: introduce get_page_addr_code_hostp
3f80bfe cputlb: document get_page_addr_code
f922c60 queue: add QTAILQ_REMOVE_SEVERAL
2b99a40 plugin: add implementation of the api
7530e15 plugin: add core code
5a3bcca plugin: add user-facing API
2edfb61 docs/devel: add plugins.rst design document
047e572 translate-all: use cpu_in_exclusive_work_context() in tb_flush
115a3d6 cpu: introduce cpu_in_exclusive_context()
31eb5a5 trace: add mmu_index to mem_info
02b2b09 trace: expand mem_info:size_shift to 4 bits

=== OUTPUT BEGIN ===
1/54 Checking commit 02b2b09bb33a (trace: expand mem_info:size_shift to 4 bits)
2/54 Checking commit 31eb5a5236bf (trace: add mmu_index to mem_info)
3/54 Checking commit 115a3d682ea4 (cpu: introduce cpu_in_exclusive_context())
4/54 Checking commit 047e57223d83 (translate-all: use cpu_in_exclusive_work_context() in tb_flush)
5/54 Checking commit 2edfb615818c (docs/devel: add plugins.rst design document)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#24: 
new file mode 100644

total: 0 errors, 1 warnings, 116 lines checked

Patch 5/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
6/54 Checking commit 5a3bcca9a3f2 (plugin: add user-facing API)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#15: 
new file mode 100644

WARNING: architecture specific defines should be avoided
#41: FILE: include/qemu/qemu-plugin.h:22:
+#if defined _WIN32 || defined __CYGWIN__

WARNING: architecture specific defines should be avoided
#49: FILE: include/qemu/qemu-plugin.h:30:
+  #if __GNUC__ >= 4

total: 0 errors, 3 warnings, 351 lines checked

Patch 6/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/54 Checking commit 7530e151b9fd (plugin: add core code)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#99: 
new file mode 100644

ERROR: externs should be avoided in .c files
#947: FILE: plugins/loader.c:63:
+extern struct qemu_plugin_state plugin;

total: 1 errors, 1 warnings, 1284 lines checked

Patch 7/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

8/54 Checking commit 2b99a4056e5e (plugin: add implementation of the api)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#36: 
new file mode 100644

ERROR: "foo * bar" should be "foo *bar"
#295: FILE: plugins/api.c:255:
+static MachineState * get_ms(void)

total: 1 errors, 1 warnings, 290 lines checked

Patch 8/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

9/54 Checking commit f922c60682c5 (queue: add QTAILQ_REMOVE_SEVERAL)
WARNING: Block comments use a leading /* on a separate line
#32: FILE: include/qemu/queue.h:431:
+    } while (/*CONSTCOND*/0)

total: 0 errors, 1 warnings, 16 lines checked

Patch 9/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
10/54 Checking commit 3f80bfe2f96d (cputlb: document get_page_addr_code)
11/54 Checking commit 0f2859a5487c (cputlb: introduce get_page_addr_code_hostp)
12/54 Checking commit 85a2f31fc0d0 (tcg: add tcg_gen_st_ptr)
13/54 Checking commit 87cdf0983ce9 (plugin-gen: add module for TCG-related code)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#48: 
new file mode 100644

total: 0 errors, 1 warnings, 1123 lines checked

Patch 13/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
14/54 Checking commit fe8a752ceac1 (atomic_template: add inline trace/plugin helpers)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#15: 
new file mode 100644

total: 0 errors, 1 warnings, 299 lines checked

Patch 14/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
15/54 Checking commit 81e3a259f840 (tcg: let plugins instrument virtual memory accesses)
WARNING: line over 80 characters
#111: FILE: include/exec/cpu_ldst_template.h:91:
+    uint16_t meminfo = trace_mem_build_info(SHIFT, false, MO_TE, false, mmu_idx);

total: 0 errors, 1 warnings, 325 lines checked

Patch 15/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
16/54 Checking commit d9a108ba74c8 (plugins: implement helpers for resolving hwaddr)
ERROR: line over 90 characters
#61: FILE: accel/tcg/cputlb.c:1279:
+            data->v.io.section = iotlb_to_section(cpu, iotlbentry->addr, iotlbentry->attrs);

WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#78: 
new file mode 100644

WARNING: line over 80 characters
#137: FILE: include/qemu/qemu-plugin.h:294:
+uint64_t qemu_plugin_hwaddr_device_offset(const struct qemu_plugin_hwaddr *haddr);

WARNING: line over 80 characters
#193: FILE: plugins/api.c:279:
+uint64_t qemu_plugin_hwaddr_device_offset(const struct qemu_plugin_hwaddr *haddr)

WARNING: line over 80 characters
#198: FILE: plugins/api.c:284:
+            ram_addr_t ram_addr = qemu_ram_addr_from_host((void *) haddr->v.ram.hostaddr);

WARNING: line over 80 characters
#200: FILE: plugins/api.c:286:
+                error_report("Bad ram pointer %"PRIx64"", haddr->v.ram.hostaddr);

total: 1 errors, 5 warnings, 174 lines checked

Patch 16/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

17/54 Checking commit 3d94758e07c4 (translate-all: notify plugin code of tb_flush)
18/54 Checking commit c2af9e46b38b (*-user: notify plugin of exit)
19/54 Checking commit 7fa995fbf335 (*-user: plugin syscalls)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#93: 
new file mode 100644

total: 0 errors, 1 warnings, 127 lines checked

Patch 19/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
20/54 Checking commit bd1b9b025e4d (cpu: hook plugin vcpu events)
21/54 Checking commit 81c8125e35cd (plugin-gen: add plugin_insn_append)
22/54 Checking commit 3fe9ad03d7aa (translator: add translator_ld{ub,sw,uw,l,q})
ERROR: space prohibited before that close parenthesis ')'
#118: FILE: include/exec/translator.h:198:
+GEN_TRANSLATOR_LD(translator_ldub, ldb, ldub, uint8_t, 0, /* no swap */ )

total: 1 errors, 0 warnings, 95 lines checked

Patch 22/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

23/54 Checking commit 9526a0da1e1c (target/arm: fetch code with translator_ld)
24/54 Checking commit 907646f9be4b (target/ppc: fetch code with translator_ld)
25/54 Checking commit 01c5eebe48bf (target/sh4: fetch code with translator_ld)
26/54 Checking commit 50cf013b7e17 (target/i386: fetch code with translator_ld)
27/54 Checking commit 656857780e94 (target/hppa: fetch code with translator_ld)
28/54 Checking commit 8d6a86c77096 (target/m68k: fetch code with translator_ld)
29/54 Checking commit 7aa7c680b9f8 (target/alpha: fetch code with translator_ld)
30/54 Checking commit 9d57fb88230d (target/riscv: fetch code with translator_ld)
31/54 Checking commit d5c9d509ef57 (target/sparc: fetch code with translator_ld)
32/54 Checking commit afb1f511a450 (target/xtensa: fetch code with translator_ld)
33/54 Checking commit c521ff16b95d (target/openrisc: fetch code with translator_ld)
34/54 Checking commit 3aee2bc39a59 (translator: inject instrumentation from plugins)
35/54 Checking commit d6b63ea4d0f2 (configure: add --enable-plugins)
36/54 Checking commit 247bda5f4517 (plugin: add API symbols to qemu-plugins.symbols)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#136: 
new file mode 100644

total: 0 errors, 1 warnings, 166 lines checked

Patch 36/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
37/54 Checking commit 1aece9df1a24 (plugin: expand the plugin_init function to include an info block)
ERROR: line over 90 characters
#84: FILE: plugins/loader.c:65:
+typedef int (*qemu_plugin_install_func_t)(qemu_plugin_id_t, const qemu_info_t *, int, char **);

total: 1 errors, 0 warnings, 100 lines checked

Patch 37/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

38/54 Checking commit 55a654edc5a1 (plugin: add qemu_plugin_insn_disas helper)
39/54 Checking commit a1403cc00e88 (plugin: add qemu_plugin_outs helper)
40/54 Checking commit 78836bac5a5a (vl: support -plugin option)
41/54 Checking commit c996ea306b37 (linux-user: support -plugin option)
42/54 Checking commit efa9ea66c152 (tests/plugin: add sample plugins)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#27: 
new file mode 100644

total: 0 errors, 1 warnings, 287 lines checked

Patch 42/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
43/54 Checking commit afdfac7a7739 (tests/tcg/Makefile.target: fix path to config-host.mak)
44/54 Checking commit e58c3d7ecfbe (tests/tcg: set QEMU_OPTS for all cris runs)
45/54 Checking commit 836d35ed6625 (tests/tcg: move "virtual" tests to EXTRA_TESTS)
46/54 Checking commit cd80d326a9ea (tests/tcg: drop test-i386-fprem from TESTS when not SLOW)
47/54 Checking commit 031417f8a076 (tests/tcg: enable plugin testing)
48/54 Checking commit 5e851ac30abd (tests/plugin: add a hotblocks plugin)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#33: 
new file mode 100644

WARNING: line over 80 characters
#101: FILE: tests/plugin/hotblocks.c:64:
+            g_string_append_printf(report, "%#016"PRIx64", %d, %ld, %"PRId64"\n",

total: 0 errors, 2 warnings, 150 lines checked

Patch 48/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
49/54 Checking commit d1e0501fbbde (tests/plugin: add instruction execution breakdown)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#27: 
new file mode 100644

ERROR: space required after that ',' (ctx:VxV)
#100: FILE: tests/plugin/howvec.c:69:
+    { "  Add/Sub (imm,tags)","asit",   0x1f800000, 0x11800000, COUNT_CLASS},
                             ^

ERROR: space required after that ',' (ctx:VxV)
#123: FILE: tests/plugin/howvec.c:92:
+    { "  AdvSimd ldstmult++","advlsmp",0xbfb00000, 0x0c800000, COUNT_CLASS},
                             ^

ERROR: space required after that ',' (ctx:VxV)
#123: FILE: tests/plugin/howvec.c:92:
+    { "  AdvSimd ldstmult++","advlsmp",0xbfb00000, 0x0c800000, COUNT_CLASS},
                                       ^

ERROR: space required after that ',' (ctx:VxV)
#125: FILE: tests/plugin/howvec.c:94:
+    { "  AdvSimd ldst++",    "advlssp",0xbf800000, 0x0d800000, COUNT_CLASS},
                                       ^

ERROR: space required after that ',' (ctx:VxV)
#129: FILE: tests/plugin/howvec.c:98:
+    { "  ldst noalloc pair", "ldstnap",0x3b800000, 0x28000000, COUNT_CLASS},
                                       ^

ERROR: space required after that ',' (ctx:VxV)
#133: FILE: tests/plugin/howvec.c:102:
+    { "  ldst reg (reg off)","ldstro", 0x3b200b00, 0x38200800, COUNT_CLASS},
                             ^

WARNING: line over 80 characters
#154: FILE: tests/plugin/howvec.c:123:
+    { "Unclassified",        "unclas", 0x00000000, 0x00000000, COUNT_INDIVIDUAL},

WARNING: line over 80 characters
#163: FILE: tests/plugin/howvec.c:132:
+    { "Unclassified",        "unclas", 0x00000000, 0x00000000, COUNT_INDIVIDUAL},

WARNING: line over 80 characters
#168: FILE: tests/plugin/howvec.c:137:
+    { "Unclassified",        "unclas", 0x00000000, 0x00000000, COUNT_INDIVIDUAL},

ERROR: that open brace { should be on the previous line
#178: FILE: tests/plugin/howvec.c:147:
+static ClassSelector class_tables[] =
+{

WARNING: line over 80 characters
#213: FILE: tests/plugin/howvec.c:182:
+            g_string_append_printf(report, "Class: %-24s\tcounted individually\n",

ERROR: space required after that ',' (ctx:VxV)
#229: FILE: tests/plugin/howvec.c:198:
+        g_string_append_printf(report,"Individual Instructions:\n");
                                      ^

WARNING: line over 80 characters
#235: FILE: tests/plugin/howvec.c:204:
+            g_string_append_printf(report, "Instr: %-24s\t(%ld hits)\t(op=%#08x/%s)\n",

ERROR: "foo * bar" should be "foo *bar"
#259: FILE: tests/plugin/howvec.c:228:
+static uint64_t * find_counter(struct qemu_plugin_insn *insn)

WARNING: line over 80 characters
#295: FILE: tests/plugin/howvec.c:264:
+                                                       GUINT_TO_POINTER(opcode));

total: 9 errors, 7 warnings, 359 lines checked

Patch 49/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

50/54 Checking commit 17ea0115341e (tests/plugin: add hotpages to analyse memory access patterns)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#27: 
new file mode 100644

WARNING: line over 80 characters
#107: FILE: tests/plugin/hotpages.c:76:
+    g_autoptr(GString) report = g_string_new("Addr, RCPUs, Reads, WCPUs, Writes\n");

total: 0 errors, 2 warnings, 198 lines checked

Patch 50/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
51/54 Checking commit cace23961aa9 (accel/stubs: reduce headers from tcg-stub)
52/54 Checking commit 800ea86d70fb (include/exec: wrap cpu_ldst.h in CONFIG_TCG)
53/54 Checking commit e435145d5f74 (.travis.yml: add --enable-plugins tests)
54/54 Checking commit 424fada85333 (scripts/checkpatch.pl: don't complain about (foo, /* empty */))
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20191017131615.19660-1-alex.bennee@linaro.org/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
no-reply@patchew.org Oct. 18, 2019, 7:07 a.m. UTC | #2
Patchew URL: https://patchew.org/QEMU/20191017131615.19660-1-alex.bennee@linaro.org/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Subject: [PATCH for 4.2 v6 00/54] Support for TCG plugins
Type: series
Message-id: 20191017131615.19660-1-alex.bennee@linaro.org

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
9847f1b scripts/checkpatch.pl: don't complain about (foo, /* empty */)
e3fa8e1 .travis.yml: add --enable-plugins tests
b4a5f84 include/exec: wrap cpu_ldst.h in CONFIG_TCG
8462b2e accel/stubs: reduce headers from tcg-stub
66d6663 tests/plugin: add hotpages to analyse memory access patterns
cf354fc tests/plugin: add instruction execution breakdown
161670c tests/plugin: add a hotblocks plugin
31bb5d8 tests/tcg: enable plugin testing
32fae30 tests/tcg: drop test-i386-fprem from TESTS when not SLOW
9813370 tests/tcg: move "virtual" tests to EXTRA_TESTS
f932394 tests/tcg: set QEMU_OPTS for all cris runs
2d34307 tests/tcg/Makefile.target: fix path to config-host.mak
96c806e tests/plugin: add sample plugins
8d459e7 linux-user: support -plugin option
557e7e9 vl: support -plugin option
3547a90 plugin: add qemu_plugin_outs helper
fa5672e plugin: add qemu_plugin_insn_disas helper
cc752d2 plugin: expand the plugin_init function to include an info block
13aaf71 plugin: add API symbols to qemu-plugins.symbols
c7db739 configure: add --enable-plugins
09d36aa translator: inject instrumentation from plugins
7faedce target/openrisc: fetch code with translator_ld
734b011 target/xtensa: fetch code with translator_ld
b95a23d target/sparc: fetch code with translator_ld
83ca1d2 target/riscv: fetch code with translator_ld
97da0dd target/alpha: fetch code with translator_ld
3e3734e target/m68k: fetch code with translator_ld
f040316 target/hppa: fetch code with translator_ld
0af56b7 target/i386: fetch code with translator_ld
2227803 target/sh4: fetch code with translator_ld
59646df target/ppc: fetch code with translator_ld
271b6d3 target/arm: fetch code with translator_ld
7f001d1 translator: add translator_ld{ub,sw,uw,l,q}
233c92e plugin-gen: add plugin_insn_append
1b9cb4f cpu: hook plugin vcpu events
55bc125 *-user: plugin syscalls
b2b9b3e *-user: notify plugin of exit
ede8e39 translate-all: notify plugin code of tb_flush
6730862 plugins: implement helpers for resolving hwaddr
d925699 tcg: let plugins instrument virtual memory accesses
602641a atomic_template: add inline trace/plugin helpers
2bcb790 plugin-gen: add module for TCG-related code
ef984a5 tcg: add tcg_gen_st_ptr
3ed6ebb cputlb: introduce get_page_addr_code_hostp
f845fd4 cputlb: document get_page_addr_code
0994f5f queue: add QTAILQ_REMOVE_SEVERAL
c47e85c plugin: add implementation of the api
5591d65 plugin: add core code
8bba1274 plugin: add user-facing API
4197e2a docs/devel: add plugins.rst design document
2266562 translate-all: use cpu_in_exclusive_work_context() in tb_flush
51bbfa6 cpu: introduce cpu_in_exclusive_context()
0512852 trace: add mmu_index to mem_info
2e4704f trace: expand mem_info:size_shift to 4 bits

=== OUTPUT BEGIN ===
1/54 Checking commit 2e4704f0a0e9 (trace: expand mem_info:size_shift to 4 bits)
2/54 Checking commit 0512852c1418 (trace: add mmu_index to mem_info)
3/54 Checking commit 51bbfa6c73b6 (cpu: introduce cpu_in_exclusive_context())
4/54 Checking commit 22665627c396 (translate-all: use cpu_in_exclusive_work_context() in tb_flush)
5/54 Checking commit 4197e2a049aa (docs/devel: add plugins.rst design document)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#24: 
new file mode 100644

total: 0 errors, 1 warnings, 116 lines checked

Patch 5/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
6/54 Checking commit 8bba1274c903 (plugin: add user-facing API)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#15: 
new file mode 100644

WARNING: architecture specific defines should be avoided
#41: FILE: include/qemu/qemu-plugin.h:22:
+#if defined _WIN32 || defined __CYGWIN__

WARNING: architecture specific defines should be avoided
#49: FILE: include/qemu/qemu-plugin.h:30:
+  #if __GNUC__ >= 4

total: 0 errors, 3 warnings, 351 lines checked

Patch 6/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/54 Checking commit 5591d65608db (plugin: add core code)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#99: 
new file mode 100644

ERROR: externs should be avoided in .c files
#947: FILE: plugins/loader.c:63:
+extern struct qemu_plugin_state plugin;

total: 1 errors, 1 warnings, 1284 lines checked

Patch 7/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

8/54 Checking commit c47e85c5df67 (plugin: add implementation of the api)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#36: 
new file mode 100644

ERROR: "foo * bar" should be "foo *bar"
#295: FILE: plugins/api.c:255:
+static MachineState * get_ms(void)

total: 1 errors, 1 warnings, 290 lines checked

Patch 8/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

9/54 Checking commit 0994f5f73013 (queue: add QTAILQ_REMOVE_SEVERAL)
WARNING: Block comments use a leading /* on a separate line
#32: FILE: include/qemu/queue.h:431:
+    } while (/*CONSTCOND*/0)

total: 0 errors, 1 warnings, 16 lines checked

Patch 9/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
10/54 Checking commit f845fd41993a (cputlb: document get_page_addr_code)
11/54 Checking commit 3ed6ebbbaecb (cputlb: introduce get_page_addr_code_hostp)
12/54 Checking commit ef984a5e29b7 (tcg: add tcg_gen_st_ptr)
13/54 Checking commit 2bcb790e7f11 (plugin-gen: add module for TCG-related code)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#48: 
new file mode 100644

total: 0 errors, 1 warnings, 1123 lines checked

Patch 13/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
14/54 Checking commit 602641abf4fb (atomic_template: add inline trace/plugin helpers)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#15: 
new file mode 100644

total: 0 errors, 1 warnings, 299 lines checked

Patch 14/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
15/54 Checking commit d925699870d6 (tcg: let plugins instrument virtual memory accesses)
WARNING: line over 80 characters
#111: FILE: include/exec/cpu_ldst_template.h:91:
+    uint16_t meminfo = trace_mem_build_info(SHIFT, false, MO_TE, false, mmu_idx);

total: 0 errors, 1 warnings, 325 lines checked

Patch 15/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
16/54 Checking commit 6730862552c5 (plugins: implement helpers for resolving hwaddr)
ERROR: line over 90 characters
#61: FILE: accel/tcg/cputlb.c:1279:
+            data->v.io.section = iotlb_to_section(cpu, iotlbentry->addr, iotlbentry->attrs);

WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#78: 
new file mode 100644

WARNING: line over 80 characters
#137: FILE: include/qemu/qemu-plugin.h:294:
+uint64_t qemu_plugin_hwaddr_device_offset(const struct qemu_plugin_hwaddr *haddr);

WARNING: line over 80 characters
#193: FILE: plugins/api.c:279:
+uint64_t qemu_plugin_hwaddr_device_offset(const struct qemu_plugin_hwaddr *haddr)

WARNING: line over 80 characters
#198: FILE: plugins/api.c:284:
+            ram_addr_t ram_addr = qemu_ram_addr_from_host((void *) haddr->v.ram.hostaddr);

WARNING: line over 80 characters
#200: FILE: plugins/api.c:286:
+                error_report("Bad ram pointer %"PRIx64"", haddr->v.ram.hostaddr);

total: 1 errors, 5 warnings, 174 lines checked

Patch 16/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

17/54 Checking commit ede8e39d51a3 (translate-all: notify plugin code of tb_flush)
18/54 Checking commit b2b9b3e4e24c (*-user: notify plugin of exit)
19/54 Checking commit 55bc125e674e (*-user: plugin syscalls)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#93: 
new file mode 100644

total: 0 errors, 1 warnings, 127 lines checked

Patch 19/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
20/54 Checking commit 1b9cb4fb0263 (cpu: hook plugin vcpu events)
21/54 Checking commit 233c92ef07f9 (plugin-gen: add plugin_insn_append)
22/54 Checking commit 7f001d1e4075 (translator: add translator_ld{ub,sw,uw,l,q})
ERROR: space prohibited before that close parenthesis ')'
#118: FILE: include/exec/translator.h:198:
+GEN_TRANSLATOR_LD(translator_ldub, ldb, ldub, uint8_t, 0, /* no swap */ )

total: 1 errors, 0 warnings, 95 lines checked

Patch 22/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

23/54 Checking commit 271b6d3a545c (target/arm: fetch code with translator_ld)
24/54 Checking commit 59646dfc5ebe (target/ppc: fetch code with translator_ld)
25/54 Checking commit 2227803dcdf4 (target/sh4: fetch code with translator_ld)
26/54 Checking commit 0af56b74d847 (target/i386: fetch code with translator_ld)
27/54 Checking commit f040316a74fb (target/hppa: fetch code with translator_ld)
28/54 Checking commit 3e3734ecf4c9 (target/m68k: fetch code with translator_ld)
29/54 Checking commit 97da0ddcb54b (target/alpha: fetch code with translator_ld)
30/54 Checking commit 83ca1d283609 (target/riscv: fetch code with translator_ld)
31/54 Checking commit b95a23da9d9e (target/sparc: fetch code with translator_ld)
32/54 Checking commit 734b011c095d (target/xtensa: fetch code with translator_ld)
33/54 Checking commit 7faedce22090 (target/openrisc: fetch code with translator_ld)
34/54 Checking commit 09d36aae7994 (translator: inject instrumentation from plugins)
35/54 Checking commit c7db739152f7 (configure: add --enable-plugins)
36/54 Checking commit 13aaf71d1d48 (plugin: add API symbols to qemu-plugins.symbols)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#136: 
new file mode 100644

total: 0 errors, 1 warnings, 166 lines checked

Patch 36/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
37/54 Checking commit cc752d2a4831 (plugin: expand the plugin_init function to include an info block)
ERROR: line over 90 characters
#84: FILE: plugins/loader.c:65:
+typedef int (*qemu_plugin_install_func_t)(qemu_plugin_id_t, const qemu_info_t *, int, char **);

total: 1 errors, 0 warnings, 100 lines checked

Patch 37/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

38/54 Checking commit fa5672ef3129 (plugin: add qemu_plugin_insn_disas helper)
39/54 Checking commit 3547a9081a3d (plugin: add qemu_plugin_outs helper)
40/54 Checking commit 557e7e9a8eb5 (vl: support -plugin option)
41/54 Checking commit 8d459e73e5ac (linux-user: support -plugin option)
42/54 Checking commit 96c806e269da (tests/plugin: add sample plugins)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#27: 
new file mode 100644

total: 0 errors, 1 warnings, 287 lines checked

Patch 42/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
43/54 Checking commit 2d34307f8535 (tests/tcg/Makefile.target: fix path to config-host.mak)
44/54 Checking commit f932394c2aaf (tests/tcg: set QEMU_OPTS for all cris runs)
45/54 Checking commit 98133707f51e (tests/tcg: move "virtual" tests to EXTRA_TESTS)
46/54 Checking commit 32fae30ee9b2 (tests/tcg: drop test-i386-fprem from TESTS when not SLOW)
47/54 Checking commit 31bb5d82b265 (tests/tcg: enable plugin testing)
48/54 Checking commit 161670c31d4e (tests/plugin: add a hotblocks plugin)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#33: 
new file mode 100644

WARNING: line over 80 characters
#101: FILE: tests/plugin/hotblocks.c:64:
+            g_string_append_printf(report, "%#016"PRIx64", %d, %ld, %"PRId64"\n",

total: 0 errors, 2 warnings, 150 lines checked

Patch 48/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
49/54 Checking commit cf354fc713ef (tests/plugin: add instruction execution breakdown)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#27: 
new file mode 100644

ERROR: space required after that ',' (ctx:VxV)
#100: FILE: tests/plugin/howvec.c:69:
+    { "  Add/Sub (imm,tags)","asit",   0x1f800000, 0x11800000, COUNT_CLASS},
                             ^

ERROR: space required after that ',' (ctx:VxV)
#123: FILE: tests/plugin/howvec.c:92:
+    { "  AdvSimd ldstmult++","advlsmp",0xbfb00000, 0x0c800000, COUNT_CLASS},
                             ^

ERROR: space required after that ',' (ctx:VxV)
#123: FILE: tests/plugin/howvec.c:92:
+    { "  AdvSimd ldstmult++","advlsmp",0xbfb00000, 0x0c800000, COUNT_CLASS},
                                       ^

ERROR: space required after that ',' (ctx:VxV)
#125: FILE: tests/plugin/howvec.c:94:
+    { "  AdvSimd ldst++",    "advlssp",0xbf800000, 0x0d800000, COUNT_CLASS},
                                       ^

ERROR: space required after that ',' (ctx:VxV)
#129: FILE: tests/plugin/howvec.c:98:
+    { "  ldst noalloc pair", "ldstnap",0x3b800000, 0x28000000, COUNT_CLASS},
                                       ^

ERROR: space required after that ',' (ctx:VxV)
#133: FILE: tests/plugin/howvec.c:102:
+    { "  ldst reg (reg off)","ldstro", 0x3b200b00, 0x38200800, COUNT_CLASS},
                             ^

WARNING: line over 80 characters
#154: FILE: tests/plugin/howvec.c:123:
+    { "Unclassified",        "unclas", 0x00000000, 0x00000000, COUNT_INDIVIDUAL},

WARNING: line over 80 characters
#163: FILE: tests/plugin/howvec.c:132:
+    { "Unclassified",        "unclas", 0x00000000, 0x00000000, COUNT_INDIVIDUAL},

WARNING: line over 80 characters
#168: FILE: tests/plugin/howvec.c:137:
+    { "Unclassified",        "unclas", 0x00000000, 0x00000000, COUNT_INDIVIDUAL},

ERROR: that open brace { should be on the previous line
#178: FILE: tests/plugin/howvec.c:147:
+static ClassSelector class_tables[] =
+{

WARNING: line over 80 characters
#213: FILE: tests/plugin/howvec.c:182:
+            g_string_append_printf(report, "Class: %-24s\tcounted individually\n",

ERROR: space required after that ',' (ctx:VxV)
#229: FILE: tests/plugin/howvec.c:198:
+        g_string_append_printf(report,"Individual Instructions:\n");
                                      ^

WARNING: line over 80 characters
#235: FILE: tests/plugin/howvec.c:204:
+            g_string_append_printf(report, "Instr: %-24s\t(%ld hits)\t(op=%#08x/%s)\n",

ERROR: "foo * bar" should be "foo *bar"
#259: FILE: tests/plugin/howvec.c:228:
+static uint64_t * find_counter(struct qemu_plugin_insn *insn)

WARNING: line over 80 characters
#295: FILE: tests/plugin/howvec.c:264:
+                                                       GUINT_TO_POINTER(opcode));

total: 9 errors, 7 warnings, 359 lines checked

Patch 49/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

50/54 Checking commit 66d6663792b9 (tests/plugin: add hotpages to analyse memory access patterns)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#27: 
new file mode 100644

WARNING: line over 80 characters
#107: FILE: tests/plugin/hotpages.c:76:
+    g_autoptr(GString) report = g_string_new("Addr, RCPUs, Reads, WCPUs, Writes\n");

total: 0 errors, 2 warnings, 198 lines checked

Patch 50/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
51/54 Checking commit 8462b2eb9a43 (accel/stubs: reduce headers from tcg-stub)
52/54 Checking commit b4a5f84e57f8 (include/exec: wrap cpu_ldst.h in CONFIG_TCG)
53/54 Checking commit e3fa8e1cc1d2 (.travis.yml: add --enable-plugins tests)
54/54 Checking commit 9847f1b9e9f0 (scripts/checkpatch.pl: don't complain about (foo, /* empty */))
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20191017131615.19660-1-alex.bennee@linaro.org/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
no-reply@patchew.org Oct. 18, 2019, 5:43 p.m. UTC | #3
Patchew URL: https://patchew.org/QEMU/20191017131615.19660-1-alex.bennee@linaro.org/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Subject: [PATCH for 4.2 v6 00/54] Support for TCG plugins
Type: series
Message-id: 20191017131615.19660-1-alex.bennee@linaro.org

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Switched to a new branch 'test'
d836eae scripts/checkpatch.pl: don't complain about (foo, /* empty */)
6a6189b .travis.yml: add --enable-plugins tests
b648611 include/exec: wrap cpu_ldst.h in CONFIG_TCG
52b9c19 accel/stubs: reduce headers from tcg-stub
4d74b4e tests/plugin: add hotpages to analyse memory access patterns
8ef1ff4 tests/plugin: add instruction execution breakdown
abb472d tests/plugin: add a hotblocks plugin
20457aa tests/tcg: enable plugin testing
7b1a7a4 tests/tcg: drop test-i386-fprem from TESTS when not SLOW
4cb0cf5 tests/tcg: move "virtual" tests to EXTRA_TESTS
81c8812 tests/tcg: set QEMU_OPTS for all cris runs
0a8a37a tests/tcg/Makefile.target: fix path to config-host.mak
18cb7f9 tests/plugin: add sample plugins
bc1a966 linux-user: support -plugin option
089f2f2 vl: support -plugin option
bf99ebb plugin: add qemu_plugin_outs helper
ee2763a plugin: add qemu_plugin_insn_disas helper
9f3330f plugin: expand the plugin_init function to include an info block
f0f4fc1 plugin: add API symbols to qemu-plugins.symbols
1ec6198 configure: add --enable-plugins
1e03ebf translator: inject instrumentation from plugins
82417cf target/openrisc: fetch code with translator_ld
00499c8 target/xtensa: fetch code with translator_ld
f876786 target/sparc: fetch code with translator_ld
a85500f target/riscv: fetch code with translator_ld
ff9b482 target/alpha: fetch code with translator_ld
cd5e198 target/m68k: fetch code with translator_ld
0dd9382 target/hppa: fetch code with translator_ld
abddb18 target/i386: fetch code with translator_ld
cf525e9 target/sh4: fetch code with translator_ld
21f7317 target/ppc: fetch code with translator_ld
e57f15c target/arm: fetch code with translator_ld
7268524 translator: add translator_ld{ub,sw,uw,l,q}
bb715ab plugin-gen: add plugin_insn_append
a99cb36 cpu: hook plugin vcpu events
87f6ee8 *-user: plugin syscalls
d1149f5 *-user: notify plugin of exit
d04ce7b translate-all: notify plugin code of tb_flush
80caa08 plugins: implement helpers for resolving hwaddr
9639665 tcg: let plugins instrument virtual memory accesses
3a440fd atomic_template: add inline trace/plugin helpers
3075615 plugin-gen: add module for TCG-related code
d12bc8c tcg: add tcg_gen_st_ptr
0acadc3 cputlb: introduce get_page_addr_code_hostp
a1d7d7f cputlb: document get_page_addr_code
ae7c047 queue: add QTAILQ_REMOVE_SEVERAL
d7b743f plugin: add implementation of the api
fdcaec1 plugin: add core code
9aa3f8b plugin: add user-facing API
274e91a docs/devel: add plugins.rst design document
dcbc372 translate-all: use cpu_in_exclusive_work_context() in tb_flush
9ef9697 cpu: introduce cpu_in_exclusive_context()
5f2168d trace: add mmu_index to mem_info
ec66990 trace: expand mem_info:size_shift to 4 bits

=== OUTPUT BEGIN ===
1/54 Checking commit ec6699058f0d (trace: expand mem_info:size_shift to 4 bits)
2/54 Checking commit 5f2168d69198 (trace: add mmu_index to mem_info)
3/54 Checking commit 9ef9697395c6 (cpu: introduce cpu_in_exclusive_context())
4/54 Checking commit dcbc37211913 (translate-all: use cpu_in_exclusive_work_context() in tb_flush)
5/54 Checking commit 274e91ac8058 (docs/devel: add plugins.rst design document)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#24: 
new file mode 100644

total: 0 errors, 1 warnings, 116 lines checked

Patch 5/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
6/54 Checking commit 9aa3f8bc190f (plugin: add user-facing API)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#15: 
new file mode 100644

WARNING: architecture specific defines should be avoided
#41: FILE: include/qemu/qemu-plugin.h:22:
+#if defined _WIN32 || defined __CYGWIN__

WARNING: architecture specific defines should be avoided
#49: FILE: include/qemu/qemu-plugin.h:30:
+  #if __GNUC__ >= 4

total: 0 errors, 3 warnings, 351 lines checked

Patch 6/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/54 Checking commit fdcaec175fc9 (plugin: add core code)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#99: 
new file mode 100644

ERROR: externs should be avoided in .c files
#947: FILE: plugins/loader.c:63:
+extern struct qemu_plugin_state plugin;

total: 1 errors, 1 warnings, 1284 lines checked

Patch 7/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

8/54 Checking commit d7b743fa06bc (plugin: add implementation of the api)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#36: 
new file mode 100644

ERROR: "foo * bar" should be "foo *bar"
#295: FILE: plugins/api.c:255:
+static MachineState * get_ms(void)

total: 1 errors, 1 warnings, 290 lines checked

Patch 8/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

9/54 Checking commit ae7c047d61b8 (queue: add QTAILQ_REMOVE_SEVERAL)
WARNING: Block comments use a leading /* on a separate line
#32: FILE: include/qemu/queue.h:431:
+    } while (/*CONSTCOND*/0)

total: 0 errors, 1 warnings, 16 lines checked

Patch 9/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
10/54 Checking commit a1d7d7f7a0e1 (cputlb: document get_page_addr_code)
11/54 Checking commit 0acadc319972 (cputlb: introduce get_page_addr_code_hostp)
12/54 Checking commit d12bc8c3e2dd (tcg: add tcg_gen_st_ptr)
13/54 Checking commit 307561543fb6 (plugin-gen: add module for TCG-related code)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#48: 
new file mode 100644

total: 0 errors, 1 warnings, 1123 lines checked

Patch 13/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
14/54 Checking commit 3a440fd23537 (atomic_template: add inline trace/plugin helpers)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#15: 
new file mode 100644

total: 0 errors, 1 warnings, 299 lines checked

Patch 14/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
15/54 Checking commit 9639665cd1db (tcg: let plugins instrument virtual memory accesses)
WARNING: line over 80 characters
#111: FILE: include/exec/cpu_ldst_template.h:91:
+    uint16_t meminfo = trace_mem_build_info(SHIFT, false, MO_TE, false, mmu_idx);

total: 0 errors, 1 warnings, 325 lines checked

Patch 15/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
16/54 Checking commit 80caa08b83b6 (plugins: implement helpers for resolving hwaddr)
ERROR: line over 90 characters
#61: FILE: accel/tcg/cputlb.c:1279:
+            data->v.io.section = iotlb_to_section(cpu, iotlbentry->addr, iotlbentry->attrs);

WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#78: 
new file mode 100644

WARNING: line over 80 characters
#137: FILE: include/qemu/qemu-plugin.h:294:
+uint64_t qemu_plugin_hwaddr_device_offset(const struct qemu_plugin_hwaddr *haddr);

WARNING: line over 80 characters
#193: FILE: plugins/api.c:279:
+uint64_t qemu_plugin_hwaddr_device_offset(const struct qemu_plugin_hwaddr *haddr)

WARNING: line over 80 characters
#198: FILE: plugins/api.c:284:
+            ram_addr_t ram_addr = qemu_ram_addr_from_host((void *) haddr->v.ram.hostaddr);

WARNING: line over 80 characters
#200: FILE: plugins/api.c:286:
+                error_report("Bad ram pointer %"PRIx64"", haddr->v.ram.hostaddr);

total: 1 errors, 5 warnings, 174 lines checked

Patch 16/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

17/54 Checking commit d04ce7b13bb6 (translate-all: notify plugin code of tb_flush)
18/54 Checking commit d1149f5a33f4 (*-user: notify plugin of exit)
19/54 Checking commit 87f6ee8a1d85 (*-user: plugin syscalls)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#93: 
new file mode 100644

total: 0 errors, 1 warnings, 127 lines checked

Patch 19/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
20/54 Checking commit a99cb36d7222 (cpu: hook plugin vcpu events)
21/54 Checking commit bb715ab2fc98 (plugin-gen: add plugin_insn_append)
22/54 Checking commit 7268524a6762 (translator: add translator_ld{ub,sw,uw,l,q})
ERROR: space prohibited before that close parenthesis ')'
#118: FILE: include/exec/translator.h:198:
+GEN_TRANSLATOR_LD(translator_ldub, ldb, ldub, uint8_t, 0, /* no swap */ )

total: 1 errors, 0 warnings, 95 lines checked

Patch 22/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

23/54 Checking commit e57f15caee2c (target/arm: fetch code with translator_ld)
24/54 Checking commit 21f731780d7b (target/ppc: fetch code with translator_ld)
25/54 Checking commit cf525e9be4d8 (target/sh4: fetch code with translator_ld)
26/54 Checking commit abddb18720b0 (target/i386: fetch code with translator_ld)
27/54 Checking commit 0dd938267652 (target/hppa: fetch code with translator_ld)
28/54 Checking commit cd5e198a31a3 (target/m68k: fetch code with translator_ld)
29/54 Checking commit ff9b48215642 (target/alpha: fetch code with translator_ld)
30/54 Checking commit a85500f99f2d (target/riscv: fetch code with translator_ld)
31/54 Checking commit f876786c16ea (target/sparc: fetch code with translator_ld)
32/54 Checking commit 00499c8b0294 (target/xtensa: fetch code with translator_ld)
33/54 Checking commit 82417cf6c045 (target/openrisc: fetch code with translator_ld)
34/54 Checking commit 1e03ebf398a6 (translator: inject instrumentation from plugins)
35/54 Checking commit 1ec6198f7f3e (configure: add --enable-plugins)
36/54 Checking commit f0f4fc1fdc51 (plugin: add API symbols to qemu-plugins.symbols)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#136: 
new file mode 100644

total: 0 errors, 1 warnings, 166 lines checked

Patch 36/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
37/54 Checking commit 9f3330fdf451 (plugin: expand the plugin_init function to include an info block)
ERROR: line over 90 characters
#84: FILE: plugins/loader.c:65:
+typedef int (*qemu_plugin_install_func_t)(qemu_plugin_id_t, const qemu_info_t *, int, char **);

total: 1 errors, 0 warnings, 100 lines checked

Patch 37/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

38/54 Checking commit ee2763ab0cda (plugin: add qemu_plugin_insn_disas helper)
39/54 Checking commit bf99ebbeef7d (plugin: add qemu_plugin_outs helper)
40/54 Checking commit 089f2f2dd71d (vl: support -plugin option)
41/54 Checking commit bc1a966d26f6 (linux-user: support -plugin option)
42/54 Checking commit 18cb7f912d0d (tests/plugin: add sample plugins)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#27: 
new file mode 100644

total: 0 errors, 1 warnings, 287 lines checked

Patch 42/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
43/54 Checking commit 0a8a37a897c6 (tests/tcg/Makefile.target: fix path to config-host.mak)
44/54 Checking commit 81c8812c0f34 (tests/tcg: set QEMU_OPTS for all cris runs)
45/54 Checking commit 4cb0cf55517d (tests/tcg: move "virtual" tests to EXTRA_TESTS)
46/54 Checking commit 7b1a7a48e5b5 (tests/tcg: drop test-i386-fprem from TESTS when not SLOW)
47/54 Checking commit 20457aac4f30 (tests/tcg: enable plugin testing)
48/54 Checking commit abb472dc5c7d (tests/plugin: add a hotblocks plugin)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#33: 
new file mode 100644

WARNING: line over 80 characters
#101: FILE: tests/plugin/hotblocks.c:64:
+            g_string_append_printf(report, "%#016"PRIx64", %d, %ld, %"PRId64"\n",

total: 0 errors, 2 warnings, 150 lines checked

Patch 48/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
49/54 Checking commit 8ef1ff47fded (tests/plugin: add instruction execution breakdown)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#27: 
new file mode 100644

ERROR: space required after that ',' (ctx:VxV)
#100: FILE: tests/plugin/howvec.c:69:
+    { "  Add/Sub (imm,tags)","asit",   0x1f800000, 0x11800000, COUNT_CLASS},
                             ^

ERROR: space required after that ',' (ctx:VxV)
#123: FILE: tests/plugin/howvec.c:92:
+    { "  AdvSimd ldstmult++","advlsmp",0xbfb00000, 0x0c800000, COUNT_CLASS},
                             ^

ERROR: space required after that ',' (ctx:VxV)
#123: FILE: tests/plugin/howvec.c:92:
+    { "  AdvSimd ldstmult++","advlsmp",0xbfb00000, 0x0c800000, COUNT_CLASS},
                                       ^

ERROR: space required after that ',' (ctx:VxV)
#125: FILE: tests/plugin/howvec.c:94:
+    { "  AdvSimd ldst++",    "advlssp",0xbf800000, 0x0d800000, COUNT_CLASS},
                                       ^

ERROR: space required after that ',' (ctx:VxV)
#129: FILE: tests/plugin/howvec.c:98:
+    { "  ldst noalloc pair", "ldstnap",0x3b800000, 0x28000000, COUNT_CLASS},
                                       ^

ERROR: space required after that ',' (ctx:VxV)
#133: FILE: tests/plugin/howvec.c:102:
+    { "  ldst reg (reg off)","ldstro", 0x3b200b00, 0x38200800, COUNT_CLASS},
                             ^

WARNING: line over 80 characters
#154: FILE: tests/plugin/howvec.c:123:
+    { "Unclassified",        "unclas", 0x00000000, 0x00000000, COUNT_INDIVIDUAL},

WARNING: line over 80 characters
#163: FILE: tests/plugin/howvec.c:132:
+    { "Unclassified",        "unclas", 0x00000000, 0x00000000, COUNT_INDIVIDUAL},

WARNING: line over 80 characters
#168: FILE: tests/plugin/howvec.c:137:
+    { "Unclassified",        "unclas", 0x00000000, 0x00000000, COUNT_INDIVIDUAL},

ERROR: that open brace { should be on the previous line
#178: FILE: tests/plugin/howvec.c:147:
+static ClassSelector class_tables[] =
+{

WARNING: line over 80 characters
#213: FILE: tests/plugin/howvec.c:182:
+            g_string_append_printf(report, "Class: %-24s\tcounted individually\n",

ERROR: space required after that ',' (ctx:VxV)
#229: FILE: tests/plugin/howvec.c:198:
+        g_string_append_printf(report,"Individual Instructions:\n");
                                      ^

WARNING: line over 80 characters
#235: FILE: tests/plugin/howvec.c:204:
+            g_string_append_printf(report, "Instr: %-24s\t(%ld hits)\t(op=%#08x/%s)\n",

ERROR: "foo * bar" should be "foo *bar"
#259: FILE: tests/plugin/howvec.c:228:
+static uint64_t * find_counter(struct qemu_plugin_insn *insn)

WARNING: line over 80 characters
#295: FILE: tests/plugin/howvec.c:264:
+                                                       GUINT_TO_POINTER(opcode));

total: 9 errors, 7 warnings, 359 lines checked

Patch 49/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

50/54 Checking commit 4d74b4e6c3af (tests/plugin: add hotpages to analyse memory access patterns)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#27: 
new file mode 100644

WARNING: line over 80 characters
#107: FILE: tests/plugin/hotpages.c:76:
+    g_autoptr(GString) report = g_string_new("Addr, RCPUs, Reads, WCPUs, Writes\n");

total: 0 errors, 2 warnings, 198 lines checked

Patch 50/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
51/54 Checking commit 52b9c194674d (accel/stubs: reduce headers from tcg-stub)
52/54 Checking commit b64861116da7 (include/exec: wrap cpu_ldst.h in CONFIG_TCG)
53/54 Checking commit 6a6189babbbe (.travis.yml: add --enable-plugins tests)
54/54 Checking commit d836eaec1f37 (scripts/checkpatch.pl: don't complain about (foo, /* empty */))
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20191017131615.19660-1-alex.bennee@linaro.org/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
Alex Bennée Oct. 22, 2019, 11:37 a.m. UTC | #4
Alex Bennée <alex.bennee@linaro.org> writes:

> Hi,

>

> This is the latest iteration of the TCG plugins series. From the documentation:

>

>   QEMU TCG plugins provide a way for users to run experiments taking

>   advantage of the total system control emulation can have over a guest.

>   It provides a mechanism for plugins to subscribe to events during

>   translation and execution and optionally callback into the plugin

>   during these events. TCG plugins are unable to change the system state

>   only monitor it passively. However they can do this down to an

>   individual instruction granularity including potentially subscribing

>   to all load and store operations.

>

> This is mostly a adding signoffs and some patch re-organisation and

> splitting. For reference the longer notes about what API tweaks didn't

> make it into this iteration can be found in the previous series:

>

>   Subject: [PATCH for 4.2 v5 00/55] Support for TCG plugins

>   Date: Mon, 14 Oct 2019 11:48:53 +0100

>   Message-Id: <20191014104948.4291-1-alex.bennee@linaro.org>

>

> Changes of note:

>

>   - now use gmodule to load symbols instead of dlsym

>   - re-jigged translator_ld to avoid creating more alias functions

>   - moved configure change to final place

>   - moved additional API bits to before examples

>   - merged api changes to examples into final single commit versions

>   - tweaked hwaddr API to talk of device_offset

>

> Most of the checkpatch formatting complaints I think are overly picky

> given the attempt to make table look nice or not wrap for the sake of

> going one character over. I've included a checkpatch patch to stop

> bothering me about (foo, /* empty */) comments. As ever there are more

> details bellow the ---

>

> Only a few more un-reviewed patches before I can send the PR:

>

>    02 - trace add mmu_index to mem_info

>    37 - plugin expand the plugin_init function to include

>    39 - plugin add qemu_plugin_outs helper

>    54 - scripts chec.pl don t complain about foo em


Ping?

I've made two minor changes which you can currently see in:

  https://github.com/stsquad/qemu/tree/plugins/plugins-v7

I've made a tweak to translator_ld which takes advantage of the cputlb
cleanup:

  Subject: [PATCH v2] cputlb: ensure _cmmu helper functions follow the naming standard
  Date: Mon, 21 Oct 2019 16:09:10 +0100
  Message-Id: <20191021150910.23216-1-alex.bennee@linaro.org>

and I've added a MAINTAINERS entry. I didn't think it was worth spamming
the list before I sent my PR. Let me know if you want a final v7
posting to the list.

--
Alex Bennée