[PATCH v6 02/54] trace: add mmu_index to mem_info

2019-10-17 Thread Alex Bennée
We are going to re-use mem_info later for plugins and will need to track the mmu_idx for softmmu code. Signed-off-by: Alex Bennée --- v5 - fix up shifts v6 - use get_mmuidx(oi) for ATOMIC_MMU_IDX - use MMU_USER_IDX for user templates instead of 0 - fix line wrapping on ATOMIC wrappers an

Re: [PATCH v1] s390x/mmu: Remove duplicate check for MMU_DATA_STORE

2019-10-17 Thread Richard Henderson
On 10/17/19 5:20 AM, David Hildenbrand wrote: > On 17.10.19 14:19, David Hildenbrand wrote: >> No need to double-check if we have a write. >> >> Found by Coverity (CID: 1381016). > > Copy and past error, it's 1406404. > >> >> Fixes: 31b59419069e ("target/s390x: Return exception from >> mmu_trans

[PATCH v6 21/54] plugin-gen: add plugin_insn_append

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" By adding it to plugin-gen's header file, we can export is as an inline, since tcg.h is included in the header (we need tcg_ctx). Signed-off-by: Emilio G. Cota [AJB: use g_byte_array] Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson --- v3 - use g_byte_array

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

2019-10-17 Thread Alex Bennée
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 t

[PATCH v6 08/54] plugin: add implementation of the api

2019-10-17 Thread Alex Bennée
[AJB: split from the core code commit] Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson --- v4 - add qemu_plugin_ram_addr_from_host - remove _haddr api calls v5 - remove stray #if 0 v6 - drop hwaddr queries from initial api (in later patch) --- include/qemu/qemu-plugin.h |

[PATCH v6 11/54] cputlb: introduce get_page_addr_code_hostp

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" This will be used by plugins to get the host address of instructions. Signed-off-by: Emilio G. Cota Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson --- accel/tcg/cputlb.c | 14 +- include/exec/exec-all.h | 38 +

[PATCH v6 06/54] plugin: add user-facing API

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" Add the API first to ease review. Signed-off-by: Emilio G. Cota Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson --- v3 - merge in changes to plugin install/reset/uninstall - split api file v4 - s/is/it/ - more docstrings - remove qemu_plugin_register

[PATCH v6 09/54] queue: add QTAILQ_REMOVE_SEVERAL

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" This is faster than removing elements one by one. Will gain a user soon. Signed-off-by: Emilio G. Cota Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson --- include/qemu/queue.h | 10 ++ 1 file changed, 10 insertions(+) diff --git a/include/qemu/queue

[PATCH 0/2] Convert sparc devices to new ptimer API

2019-10-17 Thread Peter Maydell
This patchset converts the devices used by sparc machines to the new ptimer API. Currently the ptimer design uses a QEMU bottom-half as its mechanism for calling back into the device model using the ptimer when the timer has expired. Unfortunately this design is fatally flawed, because it means t

[PATCH v6 07/54] plugin: add core code

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" Signed-off-by: Emilio G. Cota [AJB: moved directory and merged various fixes] Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson --- v3 - moved to plugins/ - merged plugin: remove uninstall_cb_t and just use simple_cb_t plugin: handle uninstall when !c

[PATCH v6 19/54] *-user: plugin syscalls

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" To avoid too much duplication add a wrapper that the existing trace and the new plugin calls can live in. We could move the -strace code here as well but that is left for a future series as the code is subtly different between the bsd and linux. Signed-off-by: Emilio G. Co

[PATCH v6 47/54] tests/tcg: enable plugin testing

2019-10-17 Thread Alex Bennée
If CONFIG_PLUGINS is enabled then lets enable testing for all our TCG targets. This is a simple smoke test that ensure we don't crash or otherwise barf out by running each plugin against each test. There is a minor knock on effect for additional runners which need specialised QEMU_OPTS which will

[PATCH v6 10/54] cputlb: document get_page_addr_code

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" Suggested-by: Alex Bennée Signed-off-by: Emilio G. Cota Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson --- include/exec/exec-all.h | 24 +--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/include/exec/exec-all.h b/include

[PATCH v6 24/54] target/ppc: fetch code with translator_ld

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" Signed-off-by: Emilio G. Cota Reviewed-by: Richard Henderson Acked-by: David Gibson Signed-off-by: Alex Bennée --- target/ppc/translate.c | 8 +++- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/target/ppc/translate.c b/target/ppc/translate.c index a

[PATCH v6 23/54] target/arm: fetch code with translator_ld

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" Now the arm_ld*_code functions are only used at translate time we can just pass down to translator_ld functions. Signed-off-by: Emilio G. Cota [AJB: convert from plugin_insn_append to translator_ld] Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson --- v4 - us

[PATCH 0/3] Convert ppc and microblaze devices to new ptimer API

2019-10-17 Thread Peter Maydell
This patchset converts the devices used by ppc and microblaze machines to the new ptimer API. (xilinx_timer is used by both, hence putting both archs in the same patchset). Currently the ptimer design uses a QEMU bottom-half as its mechanism for calling back into the device model using the ptimer

[PATCH v6 37/54] plugin: expand the plugin_init function to include an info block

2019-10-17 Thread Alex Bennée
This provides a limited amount of info to plugins about the guest system that will allow them to make some additional decisions on setup. Signed-off-by: Alex Bennée --- v6 - split and move to pre example plugins - checkpatch fixes --- include/qemu/qemu-plugin.h | 26

[PATCH v6 42/54] tests/plugin: add sample plugins

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" Pass arguments with -plugin=libfoo.so,arg=bar,arg=baz Signed-off-by: Emilio G. Cota Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson --- v4 - tweaks for hwaddr API v6 - init/outs api updates --- configure | 1 + tests/plugin/Makefile | 28 ++

[PATCH 1/3] hw/net/fsl_etsec/etsec.c: Switch to transaction-based ptimer API

2019-10-17 Thread Peter Maydell
Switch the fsl_etsec code away from bottom-half based ptimers to the new transaction-based ptimer API. This just requires adding begin/commit calls around the various places that modify the ptimer state, and using the new ptimer_init() function to create the timer. Signed-off-by: Peter Maydell -

[PATCH v6 13/54] plugin-gen: add module for TCG-related code

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" We first inject empty instrumentation from translator_loop. After translation, we go through the plugins to see what they want to register for, filling in the empty instrumentation. If if turns out that some instrumentation remains unused, we remove it. This approach suppo

[PATCH 0/8] Convert misc-arch devices to new ptimer API

2019-10-17 Thread Peter Maydell
This patchset converts the devices used by the miscellaneous minor architecture machines to the new ptimer API. More specifically: cris: hw/timer/etraxfs_timer.c lm32: hw/timer/lm32_timer.c hw/timer/milkymist-sysctl.c nios2: hw/timer/altera_timer.c sh4: hw/timer/sh_timer.c unicore32: hw/

[PATCH 2/2] hw/timer/slavio_timer.c: Switch to transaction-based ptimer API

2019-10-17 Thread Peter Maydell
Switch the slavio_timer code away from bottom-half based ptimers to the new transaction-based ptimer API. This just requires adding begin/commit calls around the various places that modify the ptimer state, and using the new ptimer_init() function to create the timer. Signed-off-by: Peter Maydell

[PATCH 0/3] Convert ppc and microblaze devices to new ptimer API

2019-10-17 Thread Peter Maydell
This patchset converts the devices used by ppc and microblaze machines to the new ptimer API. (xilinx_timer is used by both, hence putting both archs in the same patchset). Currently the ptimer design uses a QEMU bottom-half as its mechanism for calling back into the device model using the ptimer

[PATCH 2/8] hw/timer/sh_timer: Switch to transaction-based ptimer API

2019-10-17 Thread Peter Maydell
Switch the sh_timer code away from bottom-half based ptimers to the new transaction-based ptimer API. This just requires adding begin/commit calls around the various places that modify the ptimer state, and using the new ptimer_init() function to create the timer. Signed-off-by: Peter Maydell --

[PATCH v6 39/54] plugin: add qemu_plugin_outs helper

2019-10-17 Thread Alex Bennée
Having the plugins grab stdout and spew stuff there is a bit ugly and certainly makes the tests look ugly. Provide a hook back into QEMU which can be redirected as needed. Signed-off-by: Alex Bennée --- v6 - split and move to pre example plugins --- include/qemu/log.h | 1 + include

Re: [PATCH v2 4/7] libqos: add MSI-X callbacks to QVirtioPCIDevice

2019-10-17 Thread Thomas Huth
On 11/10/2019 10.56, Stefan Hajnoczi wrote: > The MSI-X vectors are programmed differently in the VIRTIO 1.0 and > Legacy interfaces. Introduce callbacks so different implementations can > be used depending on the interface version. > > Signed-off-by: Stefan Hajnoczi > --- > tests/libqos/virtio

[PATCH 2/3] hw/timer/xilinx_timer.c: Switch to transaction-based ptimer API

2019-10-17 Thread Peter Maydell
Switch the xilinx_timer code away from bottom-half based ptimers to the new transaction-based ptimer API. This just requires adding begin/commit calls around the various places that modify the ptimer state, and using the new ptimer_init() function to create the timer. Signed-off-by: Peter Maydell

[PATCH 4/8] hw/watchdog/milkymist-sysctl.c: Switch to transaction-based ptimer API

2019-10-17 Thread Peter Maydell
Switch the milkymist-sysctl code away from bottom-half based ptimers to the new transaction-based ptimer API. This just requires adding begin/commit calls around the various places that modify the ptimer state, and using the new ptimer_init() function to create the timer. Signed-off-by: Peter May

[PATCH v6 48/54] tests/plugin: add a hotblocks plugin

2019-10-17 Thread Alex Bennée
This is a simple plugin to track which translation blocks are call most often. As we don't have a view of the internals of TCG we can only work by the address of the start of the block so we also need to tracks how often the address is translated. As there will be multiple blocks starting at the s

[PATCH v6 50/54] tests/plugin: add hotpages to analyse memory access patterns

2019-10-17 Thread Alex Bennée
This plugin gives a summary of access patterns grouped by "pages" and showing read/write patterns by vCPUS. Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson --- v4 - tweaks for new hwaddr api - add sorting and pagesize selection args v6 - init api update - plugin_outs update

[PATCH 3/3] hw/dma/xilinx_axidma.c: Switch to transaction-based ptimer API

2019-10-17 Thread Peter Maydell
Switch the xilinx_axidma code away from bottom-half based ptimers to the new transaction-based ptimer API. This just requires adding begin/commit calls around the various places that modify the ptimer state, and using the new ptimer_init() function to create the timer. Signed-off-by: Peter Maydel

[PATCH 5/8] hw/timer/altera_timer.c: Switch to transaction-based ptimer API

2019-10-17 Thread Peter Maydell
Switch the altera_timer code away from bottom-half based ptimers to the new transaction-based ptimer API. This just requires adding begin/commit calls around the various places that modify the ptimer state, and using the new ptimer_init() function to create the timer. Signed-off-by: Peter Maydell

[PATCH v6 18/54] *-user: notify plugin of exit

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" Reviewed-by: Alex Bennée Signed-off-by: Emilio G. Cota Reviewed-by: Richard Henderson Signed-off-by: Alex Bennée --- bsd-user/syscall.c | 3 +++ linux-user/exit.c | 1 + 2 files changed, 4 insertions(+) diff --git a/bsd-user/syscall.c b/bsd-user/syscall.c index 1ee61

[PATCH v6 29/54] target/alpha: fetch code with translator_ld

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" Signed-off-by: Emilio G. Cota Reviewed-by: Richard Henderson Signed-off-by: Alex Bennée --- target/alpha/translate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/alpha/translate.c b/target/alpha/translate.c index a69f58bf65..f7f1ed0f41 1006

[PATCH v2 02/23] iotests.py: Store socket files in $SOCK_DIR

2019-10-17 Thread Max Reitz
iotests.py itself does not store socket files, but machine.py and qtest.py do. iotests.py needs to pass the respective path to them, and they need to adhere to it. Signed-off-by: Max Reitz Reviewed-by: Eric Blake Reviewed-by: Thomas Huth --- python/qemu/machine.py| 15 ---

[PATCH v6 36/54] plugin: add API symbols to qemu-plugins.symbols

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" Signed-off-by: Emilio G. Cota [AJB: moved into plugins] Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson --- v3 - moved to plugins/ - include qemu_plugin_reset v5 - re-trigger configure if symbols are updated - wrap ld checks inside if static = no --- M

[PATCH v6 15/54] tcg: let plugins instrument virtual memory accesses

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" To capture all memory accesses we need hook into all the various helper functions that are involved in memory operations as well as the injected inline helper calls. A later commit will allow us to resolve the actual guest HW addresses by replaying the lookup. Signed-off-b

[PATCH v2 04/23] iotests: Filter $SOCK_DIR

2019-10-17 Thread Max Reitz
Signed-off-by: Max Reitz Reviewed-by: Eric Blake --- tests/qemu-iotests/common.filter | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/qemu-iotests/common.filter b/tests/qemu-iotests/common.filter index 9f418b4881..0ee6042524 100644 --- a/tests/qemu-iotests/common.f

[PATCH 1/2] hw/timer/grlib_gptimer.c: Switch to transaction-based ptimer API

2019-10-17 Thread Peter Maydell
Switch the grlib_gptimer code away from bottom-half based ptimers to the new transaction-based ptimer API. This just requires adding begin/commit calls around the various places that modify the ptimer state, and using the new ptimer_init() function to create the timer. Signed-off-by: Peter Maydel

[PATCH v6 54/54] scripts/checkpatch.pl: don't complain about (foo, /* empty */)

2019-10-17 Thread Alex Bennée
It's quite common to have a mini comment inside braces to acknowledge we know it's empty. Expand the inline detection to allow closing braces before the end of line. Signed-off-by: Alex Bennée --- scripts/checkpatch.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/c

[PATCH v6 33/54] target/openrisc: fetch code with translator_ld

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" Signed-off-by: Emilio G. Cota Reviewed-by: Richard Henderson Signed-off-by: Alex Bennée --- target/openrisc/translate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/openrisc/translate.c b/target/openrisc/translate.c index 6addbac8d6..8dd28d

[PATCH v2 05/23] iotests: Let common.nbd create socket in $SOCK_DIR

2019-10-17 Thread Max Reitz
In addition, drop the nbd_unix_socket assignment in 241 because it does not really do anything. Signed-off-by: Max Reitz Reviewed-by: Eric Blake --- tests/qemu-iotests/241| 2 -- tests/qemu-iotests/common.nbd | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/qe

[PATCH 1/8] hw/timer/puv3_ost.c: Switch to transaction-based ptimer API

2019-10-17 Thread Peter Maydell
Switch the puv3_ost code away from bottom-half based ptimers to the new transaction-based ptimer API. This just requires adding begin/commit calls around the various places that modify the ptimer state, and using the new ptimer_init() function to create the timer. Signed-off-by: Peter Maydell --

[PATCH v6 25/54] target/sh4: fetch code with translator_ld

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" There is a small wrinkle with the gUSA instruction. The translator effectively treats a (known) gUSA sequence as a single instruction. For the purposes of the plugin we end up with a long multi-instruction qemu_plugin_insn. If the known sequence isn't detected we shall nev

[PATCH v6 46/54] tests/tcg: drop test-i386-fprem from TESTS when not SLOW

2019-10-17 Thread Alex Bennée
This is a very slow running test which we only enable explicitly. However having it in the TESTS lists would confuse additional tests like the plugins test which want to run on all currently enabled tests. Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson --- tests/tcg/i386/Makefile.tar

[PATCH v2 07/23] iotests/140: Create socket in $SOCK_DIR

2019-10-17 Thread Max Reitz
Signed-off-by: Max Reitz Reviewed-by: Eric Blake Reviewed-by: Thomas Huth --- tests/qemu-iotests/140 | 8 tests/qemu-iotests/140.out | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/qemu-iotests/140 b/tests/qemu-iotests/140 index b965b1dd5d..8d2ce5d9e3 1

[PATCH 6/8] hw/watchdog/etraxfs_timer.c: Switch to transaction-based ptimer API

2019-10-17 Thread Peter Maydell
Switch the etraxfs_timer code away from bottom-half based ptimers to the new transaction-based ptimer API. This just requires adding begin/commit calls around the various places that modify the ptimer state, and using the new ptimer_init() function to create the timer. Signed-off-by: Peter Maydel

[PATCH v6 34/54] translator: inject instrumentation from plugins

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" Signed-off-by: Emilio G. Cota Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson --- v4 - note we can't inject instrumentation if ! DISAS_NEXT --- accel/tcg/translator.c | 20 1 file changed, 20 insertions(+) diff --git a/accel/tcg/transla

[PATCH v2 16/23] iotests/205: Create socket in $SOCK_DIR

2019-10-17 Thread Max Reitz
Signed-off-by: Max Reitz Reviewed-by: Eric Blake --- tests/qemu-iotests/205 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/qemu-iotests/205 b/tests/qemu-iotests/205 index 76f6c5fa2b..4bb2c21e8b 100755 --- a/tests/qemu-iotests/205 +++ b/tests/qemu-iotests/205 @@ -24,7 +

[PATCH 7/8] hw/m68k/mcf5206.c: Switch to transaction-based ptimer API

2019-10-17 Thread Peter Maydell
Switch the mcf5206 code away from bottom-half based ptimers to the new transaction-based ptimer API. This just requires adding begin/commit calls around the various places that modify the ptimer state, and using the new ptimer_init() function to create the timer. Signed-off-by: Peter Maydell ---

[PATCH v2 01/23] iotests: Introduce $SOCK_DIR

2019-10-17 Thread Max Reitz
Unix sockets generally have a maximum path length. Depending on your $TEST_DIR, it may be exceeded and then all tests that create and use Unix sockets there may fail. Circumvent this by adding a new scratch directory specifically for Unix socket files. It defaults to a temporary directory (mktem

[PATCH v6 26/54] target/i386: fetch code with translator_ld

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" Signed-off-by: Emilio G. Cota Reviewed-by: Richard Henderson Signed-off-by: Alex Bennée --- target/i386/translate.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/target/i386/translate.c b/target/i386/translate.c index 868b0acafe..77e932d

[PATCH] hw/timer/arm_mptimer.c: Undo accidental rename of arm_mptimer_init()

2019-10-17 Thread Peter Maydell
In commit b01422622b we did an automated rename of the ptimer_init() function to ptimer_init_with_bh(). Unfortunately this caught the unrelated arm_mptimer_init() function. Undo that accidental renaming. Fixes: b01422622b7c7293196fdaf1dbb4f495af44ecf9 Signed-off-by: Peter Maydell --- hw/timer/

[PATCH v2 03/23] iotests.py: Add @base_dir to FilePaths etc.

2019-10-17 Thread Max Reitz
Specifying this optional parameter allows creating temporary files in other directories than the test_dir; for example in sock_dir. Signed-off-by: Max Reitz Reviewed-by: Eric Blake --- tests/qemu-iotests/iotests.py | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a

[PATCH v2 08/23] iotests/143: Create socket in $SOCK_DIR

2019-10-17 Thread Max Reitz
Signed-off-by: Max Reitz Reviewed-by: Eric Blake Reviewed-by: Thomas Huth --- tests/qemu-iotests/143 | 6 +++--- tests/qemu-iotests/143.out | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/qemu-iotests/143 b/tests/qemu-iotests/143 index 92249ac8da..f649b36195 100

[PATCH v6 14/54] atomic_template: add inline trace/plugin helpers

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" In preparation for plugin support. Signed-off-by: Emilio G. Cota Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson --- v4 - move common stuff to atomic_common.inc.c - fix ups for widened uint16_t info - drop haddr in helpers - fix wide lines v6 - rebas

Re: [QEMU][PATCH v2] ssi: xilinx_spips: Skip update of cs and fifo releated to spips in gqspi

2019-10-17 Thread Francisco Iglesias
Hi Sai, On [2019 Oct 17] Thu 15:47:54, Sai Pavan Boddu wrote: > GQSPI handles chip selects and fifos in a different way compared to > spips. So skip update of cs and fifos related to spips in gqspi mode. > > Signed-off-by: Sai Pavan Boddu > --- > Changes for V2: > Just skip update of spips c

[PATCH v2 10/23] iotests/181: Create socket in $SOCK_DIR

2019-10-17 Thread Max Reitz
Signed-off-by: Max Reitz Reviewed-by: Eric Blake Reviewed-by: Thomas Huth --- tests/qemu-iotests/181 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/qemu-iotests/181 b/tests/qemu-iotests/181 index e317e63422..378c2899d1 100755 --- a/tests/qemu-iotests/181 +++ b/tests/q

[PATCH 3/8] hw/timer/lm32_timer: Switch to transaction-based ptimer API

2019-10-17 Thread Peter Maydell
Switch the lm32_timer code away from bottom-half based ptimers to the new transaction-based ptimer API. This just requires adding begin/commit calls around the various places that modify the ptimer state, and using the new ptimer_init() function to create the ytimer. Signed-off-by: Peter Maydell

[PATCH v6 22/54] translator: add translator_ld{ub,sw,uw,l,q}

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" We don't bother with replicating the fast path (tlb_hit) of the old cpu_ldst helpers as it has no measurable effect on performance. This probably indicates we should consider flattening the whole set of helpers but that is out of scope for this change. Suggested-by: Richar

[PATCH v2 06/23] iotests/083: Create socket in $SOCK_DIR

2019-10-17 Thread Max Reitz
Signed-off-by: Max Reitz Reviewed-by: Eric Blake Reviewed-by: Thomas Huth --- tests/qemu-iotests/083 | 6 +++--- tests/qemu-iotests/083.out | 34 +- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/tests/qemu-iotests/083 b/tests/qemu-iotests/

[PATCH v2 12/23] iotests/183: Create socket in $SOCK_DIR

2019-10-17 Thread Max Reitz
Signed-off-by: Max Reitz Reviewed-by: Eric Blake Reviewed-by: Thomas Huth --- tests/qemu-iotests/183 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/qemu-iotests/183 b/tests/qemu-iotests/183 index 04fb344d08..bced83fae0 100755 --- a/tests/qemu-iotests/183 +++ b/tests/q

[PATCH 8/8] hw/m68k/mcf5208.c: Switch to transaction-based ptimer API

2019-10-17 Thread Peter Maydell
Switch the mcf5208 code away from bottom-half based ptimers to the new transaction-based ptimer API. This just requires adding begin/commit calls around the various places that modify the ptimer state, and using the new ptimer_init() function to create the timer. Signed-off-by: Peter Maydell ---

[PATCH v6 30/54] target/riscv: fetch code with translator_ld

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" Signed-off-by: Emilio G. Cota Reviewed-by: Richard Henderson Signed-off-by: Alex Bennée Reviewed-by: Alistair Francis --- target/riscv/translate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/riscv/translate.c b/target/riscv/translate.c in

[PATCH v2 15/23] iotests/201: Create socket in $SOCK_DIR

2019-10-17 Thread Max Reitz
Signed-off-by: Max Reitz Reviewed-by: Eric Blake --- tests/qemu-iotests/201 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/qemu-iotests/201 b/tests/qemu-iotests/201 index 7abf740fe4..86fa37e714 100755 --- a/tests/qemu-iotests/201 +++ b/tests/qemu-iotests/201 @@ -24,7 +

[PATCH v2 09/23] iotests/147: Create socket in $SOCK_DIR

2019-10-17 Thread Max Reitz
Signed-off-by: Max Reitz Reviewed-by: Eric Blake Reviewed-by: Thomas Huth --- tests/qemu-iotests/147 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/qemu-iotests/147 b/tests/qemu-iotests/147 index ab8480b9a4..03fc2fabcf 100755 --- a/tests/qemu-iotests/147 +++ b/tests/q

Re: [PATCH 0/3] Convert ppc and microblaze devices to new ptimer API

2019-10-17 Thread Peter Maydell
On Thu, 17 Oct 2019 at 14:21, Peter Maydell wrote: > > This patchset converts the devices used by ppc and microblaze > machines to the new ptimer API. (xilinx_timer is used by both, > hence putting both archs in the same patchset). Apologies for the duplicate cover-letter: messed up the git-send-

[PATCH v2 18/23] iotests/209: Create socket in $SOCK_DIR

2019-10-17 Thread Max Reitz
Signed-off-by: Max Reitz Reviewed-by: Eric Blake --- tests/qemu-iotests/209 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/qemu-iotests/209 b/tests/qemu-iotests/209 index 259e991ec6..e0f464bcbe 100755 --- a/tests/qemu-iotests/209 +++ b/tests/qemu-iotests/209 @@ -24,7

[PATCH v2 11/23] iotests/182: Create socket in $SOCK_DIR

2019-10-17 Thread Max Reitz
Signed-off-by: Max Reitz Reviewed-by: Eric Blake Reviewed-by: Thomas Huth --- tests/qemu-iotests/182 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/qemu-iotests/182 b/tests/qemu-iotests/182 index 7f494eb9bb..1ccb850055 100755 --- a/tests/qemu-iotests/182 +++ b/tes

Re: [RFC 5/5] spapr: Work around spurious warnings from vfio INTx initialization

2019-10-17 Thread Cédric Le Goater
On 17/10/2019 10:43, Cédric Le Goater wrote: > On 17/10/2019 07:42, David Gibson wrote: >> Traditional PCI INTx for vfio devices can only perform well if using >> an in-kernel irqchip. Therefore, vfio_intx_update() issues a warning >> if an in kernel irqchip is not available. >> >> We usually do h

[PATCH v2 00/23] iotests: Add and use $SOCK_DIR

2019-10-17 Thread Max Reitz
Hi, Perhaps the main reason we cannot run important tests such as 041 in CI is that when they care Unix sockets in $TEST_DIR, the path may become too long to connect to them. To get by this problem, this series lets the check script create a new temporary directory (mktemp -d) and then makes the

[PATCH v2 14/23] iotests/194: Create sockets in $SOCK_DIR

2019-10-17 Thread Max Reitz
Signed-off-by: Max Reitz Reviewed-by: Eric Blake --- tests/qemu-iotests/194 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/qemu-iotests/194 b/tests/qemu-iotests/194 index d746ab1e21..72e47e8833 100755 --- a/tests/qemu-iotests/194 +++ b/tests/qemu-iotests/194 @@ -26

[PATCH v2 17/23] iotests/208: Create socket in $SOCK_DIR

2019-10-17 Thread Max Reitz
Signed-off-by: Max Reitz Reviewed-by: Eric Blake --- tests/qemu-iotests/208 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/qemu-iotests/208 b/tests/qemu-iotests/208 index 1e202388dc..546eb1de3e 100755 --- a/tests/qemu-iotests/208 +++ b/tests/qemu-iotests/208 @@ -26,7 +

[PATCH v2 21/23] iotests/240: Create socket in $SOCK_DIR

2019-10-17 Thread Max Reitz
Signed-off-by: Max Reitz Reviewed-by: Eric Blake --- tests/qemu-iotests/240 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/qemu-iotests/240 b/tests/qemu-iotests/240 index f73bc07d80..8b4337b58d 100755 --- a/tests/qemu-iotests/240 +++ b/tests/qemu-iotests/240 @@ -29

[PATCH v2 13/23] iotests/192: Create socket in $SOCK_DIR

2019-10-17 Thread Max Reitz
Signed-off-by: Max Reitz Reviewed-by: Eric Blake --- tests/qemu-iotests/192 | 4 ++-- tests/qemu-iotests/192.out | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/qemu-iotests/192 b/tests/qemu-iotests/192 index 034432272f..d2ba55dd90 100755 --- a/tests/qemu-iotests

[PATCH v2 22/23] iotests/267: Create socket in $SOCK_DIR

2019-10-17 Thread Max Reitz
Signed-off-by: Max Reitz Reviewed-by: Eric Blake --- tests/qemu-iotests/267 | 4 ++-- tests/qemu-iotests/267.out | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/qemu-iotests/267 b/tests/qemu-iotests/267 index d37a67c012..170e173c0a 100755 --- a/tests/qemu-iotests

[PATCH v2 20/23] iotests/223: Create socket in $SOCK_DIR

2019-10-17 Thread Max Reitz
Signed-off-by: Max Reitz Reviewed-by: Eric Blake --- tests/qemu-iotests/223 | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/qemu-iotests/223 b/tests/qemu-iotests/223 index 2ba3d8124b..b5a80e50bb 100755 --- a/tests/qemu-iotests/223 +++ b/tests/qemu-iotests

QMP netdev_add multiple dnssearch values

2019-10-17 Thread Alex Kirillov
Hi, I'm trying to create a user (slirp) interface with several `dnssearch` values using QMP. But every variant I pass can't do that. According to the QAPI schema it should be like: {     "execute": "netdev_add",     "arguments": {         "id": "netdev0",         "type": "user",         "dnssea

[PATCH v6 20/54] cpu: hook plugin vcpu events

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" Signed-off-by: Emilio G. Cota Reviewed-by: Richard Henderson Signed-off-by: Alex Bennée --- cpus.c| 10 ++ exec.c| 2 ++ hw/core/cpu.c | 2 ++ 3 files changed, 14 insertions(+) diff --git a/cpus.c b/cpus.c index 367f0657c5..cdd2798c0a 100644 -

[PATCH v2 19/23] iotests/222: Create socket in $SOCK_DIR

2019-10-17 Thread Max Reitz
Signed-off-by: Max Reitz Reviewed-by: Eric Blake --- tests/qemu-iotests/222 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/qemu-iotests/222 b/tests/qemu-iotests/222 index 0ead56d574..3f9f934ad8 100644 --- a/tests/qemu-iotests/222 +++ b/tests/qemu-iotests/222 @@ -48,7 +

[PATCH v2 23/23] iotests: Drop TEST_DIR filter from _filter_nbd

2019-10-17 Thread Max Reitz
Sockets should be placed into $SOCK_DIR instead of $TEST_DIR, so remove the $TEST_DIR filter from _filter_nbd. Signed-off-by: Max Reitz Reviewed-by: Eric Blake --- tests/qemu-iotests/common.filter | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/qemu-iotests/common.filter b/tests/qemu-i

[PATCH v6 35/54] configure: add --enable-plugins

2019-10-17 Thread Alex Bennée
This adds the basic boilerplate feature enable option for the build. We shall expand it later. [AJB: split from larger patch] Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson --- configure | 13 + 1 file changed, 13 insertions(+) diff --git a/configure b/configure index 41

[PATCH v6 43/54] tests/tcg/Makefile.target: fix path to config-host.mak

2019-10-17 Thread Alex Bennée
Since moving where the tests are run the path to config-host.mak has been wrong. This doesn't affect much but things like the time fallback for CONFIG_DEBUG_TCG and will also get in the way of checking for PLUGINS support. Fixes: fc76c56d3f4 Signed-off-by: Alex Bennée Reviewed-by: Richard Henders

[PATCH v6 32/54] target/xtensa: fetch code with translator_ld

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" Signed-off-by: Emilio G. Cota Reviewed-by: Richard Henderson Signed-off-by: Alex Bennée --- target/xtensa/translate.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/xtensa/translate.c b/target/xtensa/translate.c index d20e60ce77..a99f5296

Re: [Qemu-devel] [PATCH v1 8/8] target/avr: Register AVR support with the rest of QEMU, the build system, and the MAINTAINERS file

2019-10-17 Thread Sarah Harris
Hi Philippe, I've checked and yes, I can make time to review patches. This is part of my current paid work, so when my contract eventually ends I will likely have to step down as reviewer. I'll have notice of that happening some time before, so I can pass that along when it comes. This message

[PATCH v6 52/54] include/exec: wrap cpu_ldst.h in CONFIG_TCG

2019-10-17 Thread Alex Bennée
This gets around a build problem with --disable-tcg. Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson --- include/exec/exec-all.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h index eadcf29d0c..d85e610e85 100644 --- a/include/ex

[PATCH v6 40/54] vl: support -plugin option

2019-10-17 Thread Alex Bennée
From: Lluís Vilanova Signed-off-by: Lluís Vilanova [ cota: s/instrument/plugin ] Signed-off-by: Emilio G. Cota Reviewed-by: Richard Henderson Signed-off-by: Alex Bennée --- qemu-options.hx | 17 + vl.c| 11 +++ 2 files changed, 28 insertions(+) diff --git

[PATCH v6 44/54] tests/tcg: set QEMU_OPTS for all cris runs

2019-10-17 Thread Alex Bennée
This will important for ensuring the plugin test variants will also work. Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson --- tests/tcg/cris/Makefile.target | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/tcg/cris/Makefile.target b/tests/tcg/cris/Makefile.tar

[PATCH v6 31/54] target/sparc: fetch code with translator_ld

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" Signed-off-by: Emilio G. Cota Reviewed-by: Richard Henderson Signed-off-by: Alex Bennée --- target/sparc/translate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/sparc/translate.c b/target/sparc/translate.c index c68bf4a2e4..edc23a7c40 1006

[PATCH v6 53/54] .travis.yml: add --enable-plugins tests

2019-10-17 Thread Alex Bennée
check-tcg will automatically run the plugins against most TCG tests if it is enabled in the build. We exclude sparc64-linux-user for now as there are pending patches that need to be merged fixing it's fork implementation. Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson --- .travis.yml

[PATCH v6 41/54] linux-user: support -plugin option

2019-10-17 Thread Alex Bennée
From: Lluís Vilanova Signed-off-by: Lluís Vilanova [ cota: s/instrument/plugin ] Signed-off-by: Emilio G. Cota Reviewed-by: Richard Henderson Signed-off-by: Alex Bennée --- linux-user/main.c | 18 ++ 1 file changed, 18 insertions(+) diff --git a/linux-user/main.c b/linux-use

Re: [PATCH 1/3] hw/net/fsl_etsec/etsec.c: Switch to transaction-based ptimer API

2019-10-17 Thread Richard Henderson
On 10/17/19 6:21 AM, Peter Maydell wrote: > Switch the fsl_etsec code away from bottom-half based ptimers to > the new transaction-based ptimer API. This just requires adding > begin/commit calls around the various places that modify the ptimer > state, and using the new ptimer_init() function to

[PATCH v6 17/54] translate-all: notify plugin code of tb_flush

2019-10-17 Thread Alex Bennée
From: "Emilio G. Cota" Plugins might allocate per-TB data that then they get passed each time a TB is executed (via the *userdata pointer). Notify plugin code every time a code cache flush occurs, so that plugins can then reclaim the memory of the per-TB data. Reviewed-by: Alex Bennée Signed-o

[PATCH v6 16/54] plugins: implement helpers for resolving hwaddr

2019-10-17 Thread Alex Bennée
We need to keep a local per-cpu copy of the data as other threads may be running. Currently we can provide insight as to if the access was IO or not and give the offset into a given device (usually the main RAMBlock). We store enough information to get details such as the MemoryRegion which might b

[PATCH v6 51/54] accel/stubs: reduce headers from tcg-stub

2019-10-17 Thread Alex Bennée
We don't need much for these. However I do wonder why these aren't just null inlines in exec-all.h Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson --- accel/stubs/tcg-stub.c | 1 - 1 file changed, 1 deletion(-) diff --git a/accel/stubs/tcg-stub.c b/accel/stubs/tcg-stub.c index e2d23e

Re: [PATCH 2/3] hw/timer/xilinx_timer.c: Switch to transaction-based ptimer API

2019-10-17 Thread Richard Henderson
On 10/17/19 6:21 AM, Peter Maydell wrote: > Switch the xilinx_timer code away from bottom-half based ptimers to > the new transaction-based ptimer API. This just requires adding > begin/commit calls around the various places that modify the ptimer > state, and using the new ptimer_init() function

Re: [PULL 33/36] block/backup: use backup-top instead of write notifiers

2019-10-17 Thread Vladimir Sementsov-Ogievskiy
17.10.2019 15:04, Peter Maydell wrote: > On Thu, 10 Oct 2019 at 12:44, Max Reitz wrote: >> >> From: Vladimir Sementsov-Ogievskiy >> >> Drop write notifiers and use filter node instead. > > Hi; after this change Coverity complains about dead code in > backup_job_create() (CID 1406402): Oops, I'm

Re: [PATCH] aspeed: Add an AST2600 eval board

2019-10-17 Thread Peter Maydell
On Thu, 17 Oct 2019 at 07:33, Joel Stanley wrote: > > On Wed, 16 Oct 2019 at 09:08, Cédric Le Goater wrote: > > > > Define the board with 1 GiB of RAM but some boards can have up to 2 > > GiB. > > > > Signed-off-by: Cédric Le Goater > > Reviewed-by: Joel Stanley > > --- > > > > Changes since A

Re: [PATCH 3/3] hw/dma/xilinx_axidma.c: Switch to transaction-based ptimer API

2019-10-17 Thread Richard Henderson
On 10/17/19 6:21 AM, Peter Maydell wrote: > Switch the xilinx_axidma code away from bottom-half based ptimers to > the new transaction-based ptimer API. This just requires adding > begin/commit calls around the various places that modify the ptimer > state, and using the new ptimer_init() function

[PATCH v6 45/54] tests/tcg: move "virtual" tests to EXTRA_TESTS

2019-10-17 Thread Alex Bennée
Otherwise clever expanders like the plugins test get unstuck. Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson --- tests/tcg/Makefile.target | 4 +++- tests/tcg/aarch64/Makefile.softmmu-target | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/

<    1   2   3   4   5   >