[PATCH 09/23] gdbstub: Infer number of core registers from XML

2024-02-16 Thread Alex Bennée
From: Akihiko Odaki GDBFeature has the num_regs member so use it where applicable to remove magic numbers. Signed-off-by: Akihiko Odaki Message-Id: <20240103173349.398526-34-alex.ben...@linaro.org> Message-Id: <20231213-gdb-v17-8-777047380...@daynix.com> Signed-off-by: Alex Bennée ---

[PATCH 22/23] docs/devel: document some plugin assumptions

2024-02-16 Thread Alex Bennée
While we attempt to hide implementation details from the plugin we shouldn't be totally obtuse. Let the user know what they can and can't expect with the various instrumentation options. Message-Id: <20240103173349.398526-44-alex.ben...@linaro.org> Reviewed-by: Pierrick Bouvier Signed-off-by:

[PATCH 20/23] contrib/plugins: extend execlog to track register changes

2024-02-16 Thread Alex Bennée
With the new plugin register API we can now track changes to register values. Currently the implementation is fairly dumb which will slow down if a large number of register values are being tracked. This could be improved by only instrumenting instructions which mention registers we are interested

[PATCH 14/23] plugins: fix order of init/idle/resume callback

2024-02-16 Thread Alex Bennée
From: Pierrick Bouvier We found that vcpu_init_hook was called *after* idle callback. vcpu_init is called from cpu_realize_fn, while idle/resume cb are called from qemu_wait_io_event (in vcpu thread). This change ensures we only call idle and resume cb only once a plugin was init for a given

[PATCH 15/23] cpu: call plugin init hook asynchronously

2024-02-16 Thread Alex Bennée
From: Pierrick Bouvier This ensures we run during a cpu_exec, which allows to call start/end exclusive from this init hook (needed for new scoreboard API introduced later). async work is run before any tb is translated/executed, so we can guarantee plugin init will be called before any other

[PATCH 18/23] plugins: add an API to read registers

2024-02-16 Thread Alex Bennée
We can only request a list of registers once the vCPU has been initialised so the user needs to use either call the get function on vCPU initialisation or during the translation phase. We don't expose the reg number to the plugin instead hiding it behind an opaque handle. This allows for a bit of

[PATCH 19/23] contrib/plugins: fix imatch

2024-02-16 Thread Alex Bennée
We can't directly save the ephemeral imatch from argv as that memory will get recycled. Message-Id: <20240103173349.398526-40-alex.ben...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé --- contrib/plugins/execlog.c | 2 +- 1 file

[PATCH 16/23] plugins: Use different helpers when reading registers

2024-02-16 Thread Alex Bennée
From: Akihiko Odaki This avoids optimizations incompatible when reading registers. Signed-off-by: Akihiko Odaki Reviewed-by: Pierrick Bouvier Message-Id: <20240103173349.398526-37-alex.ben...@linaro.org> Message-Id: <20231213-gdb-v17-12-777047380...@daynix.com> Signed-off-by: Alex Bennée

[PATCH 17/23] gdbstub: expose api to find registers

2024-02-16 Thread Alex Bennée
Expose an internal API to QEMU to return all the registers for a vCPU. The list containing the details required to called gdb_read_register(). Based-on: <20231025093128.33116-15-akihiko.od...@daynix.com> Cc: Akihiko Odaki Message-Id: <20240103173349.398526-38-alex.ben...@linaro.org>

Re: [PATCH v2 2/3] hw/cxl/cxl-mailbox-utils: Add device patrol scrub control feature

2024-02-16 Thread fan
On Fri, Feb 16, 2024 at 10:16:12AM +, Shiju Jose wrote: > Hi Fan, > > >-Original Message- > >From: fan > >Sent: 15 February 2024 18:47 > >To: Shiju Jose > >Cc: qemu-devel@nongnu.org; linux-...@vger.kernel.org; Jonathan Cameron > >; tanxiaofei ; > >Zengtao (B) ; Linuxarm ; >

Re: [RFC PATCH 14/14] migration: Fix return-path thread exit

2024-02-16 Thread Fabiano Rosas
Cédric Le Goater writes: > Hello Fabiano > > On 2/14/24 21:35, Fabiano Rosas wrote: >> Cédric Le Goater writes: >> >>> Hello Fabiano >>> >>> On 2/8/24 14:29, Fabiano Rosas wrote: Cédric Le Goater writes: > In case of error, close_return_path_on_source() can perform a shutdown

[PATCH 07/23] gdbstub: Change gdb_get_reg_cb and gdb_set_reg_cb

2024-02-16 Thread Alex Bennée
From: Akihiko Odaki Align the parameters of gdb_get_reg_cb and gdb_set_reg_cb with the gdb_read_register and gdb_write_register members of CPUClass to allow to unify the logic to access registers of the core and coprocessors in the future. Signed-off-by: Akihiko Odaki Reviewed-by: Alex Bennée

[PATCH 08/23] gdbstub: Simplify XML lookup

2024-02-16 Thread Alex Bennée
From: Akihiko Odaki Now we know all instances of GDBFeature that is used in CPU so we can traverse them to find XML. This removes the need for a CPU-specific lookup function for dynamic XMLs. Signed-off-by: Akihiko Odaki Reviewed-by: Alex Bennée Message-Id:

[PATCH 23/23] docs/devel: plugins can trigger a tb flush

2024-02-16 Thread Alex Bennée
From: Pierrick Bouvier When scoreboards need to be reallocated. Signed-off-by: Pierrick Bouvier Reviewed-by: Richard Henderson Message-Id: <20240213094009.150349-8-pierrick.bouv...@linaro.org> Signed-off-by: Alex Bennée --- docs/devel/multi-thread-tcg.rst | 1 + 1 file changed, 1

[PATCH 21/23] docs/devel: lift example and plugin API sections up

2024-02-16 Thread Alex Bennée
This makes them a bit more visible in the TCG emulation menu rather than hiding them away bellow the ToC limit. Message-Id: <20240103173349.398526-43-alex.ben...@linaro.org> Reviewed-by: Pierrick Bouvier Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé ---

RE: [PATCH v3 1/3] Hexagon (target/hexagon) Pass P0 explicitly to helpers that need it

2024-02-16 Thread Brian Cain
> -Original Message- > From: Taylor Simpson > Sent: Tuesday, February 13, 2024 10:27 PM > To: qemu-devel@nongnu.org > Cc: Brian Cain ; Matheus Bernardino (QUIC) > ; Sid Manning ; Marco > Liebel (QUIC) ; richard.hender...@linaro.org; > phi...@linaro.org; a...@rev.ng; a...@rev.ng;

RE: [PATCH v3 2/3] Hexagon (target/hexagon) Pass SP explicitly to helpers that need it

2024-02-16 Thread Brian Cain
> -Original Message- > From: Taylor Simpson > Sent: Tuesday, February 13, 2024 10:27 PM > To: qemu-devel@nongnu.org > Cc: Brian Cain ; Matheus Bernardino (QUIC) > ; Sid Manning ; Marco > Liebel (QUIC) ; richard.hender...@linaro.org; > phi...@linaro.org; a...@rev.ng; a...@rev.ng;

RE: [PATCH v3 2/3] Hexagon (target/hexagon) Pass SP explicitly to helpers that need it

2024-02-16 Thread Brian Cain
> -Original Message- > From: Taylor Simpson > Sent: Tuesday, February 13, 2024 10:27 PM > To: qemu-devel@nongnu.org > Cc: Brian Cain ; Matheus Bernardino (QUIC) > ; Sid Manning ; Marco > Liebel (QUIC) ; richard.hender...@linaro.org; > phi...@linaro.org; a...@rev.ng; a...@rev.ng;

Re: [PATCH 3/3] misc: ppc/spapr: replace qemu_system_reset_request() calls with watchdog_perform_action()

2024-02-16 Thread atp exp
I will exclude this patch from the series for now. According to the discussions, the current code honours the guest's preference. Will wait for the enhancements needed in watchdog QAPI. Abhiram On Fri, 16 Feb 2024 at 20:24, Peter Maydell wrote: > On Fri, 16 Feb 2024 at 13:56, Abhiram Tilak

Re: [PATCH v3 1/3] hw/cxl/cxl-mailbox-utils: Add support for feature commands (8.2.9.6)

2024-02-16 Thread fan
On Thu, Feb 15, 2024 at 07:01:44PM +0800, shiju.j...@huawei.com wrote: > From: Shiju Jose > > CXL spec 3.1 section 8.2.9.6 describes optional device specific features. > CXL devices supports features with changeable attributes. > Get Supported Features retrieves the list of supported device

Re: [PATCH v3 3/3] hw/cxl/cxl-mailbox-utils: Add device DDR5 ECS control feature

2024-02-16 Thread fan
On Thu, Feb 15, 2024 at 07:01:46PM +0800, shiju.j...@huawei.com wrote: > 56.china.huawei.com (7.191.161.198) > Status: O > Content-Length: 7949 > Lines: 181 > > From: Shiju Jose > > CXL spec 3.1 section 8.2.9.9.11.2 describes the DDR5 Error Check Scrub (ECS) > control feature. > > The

Re: [PATCH v2 3/3] target/riscv/translate.c: set vstart_eq_zero in mark_vs_dirty()

2024-02-16 Thread Richard Henderson
On 2/16/24 03:57, Daniel Henrique Barboza wrote: The 'vstart_eq_zero' flag which is used to determine if some insns, like vector reductor operations, should SIGILL. At this moment the flag is being updated only during cpu_get_tb_cpu_state(), at the start of each translation block. This cadence

Re: [PATCH v2 1/3] trans_rvv.c.inc: write CSRs must call mark_vs_dirty() too

2024-02-16 Thread Richard Henderson
On 2/16/24 03:57, Daniel Henrique Barboza wrote: In the Vector spec section 3.2 [1]: "When mstatus.VS is set to Initial or Clean, executing any instruction that changes vector state, including the vector CSRs, will change mstatus.VS to Dirty." ldst_us_trans(), ldst_stride_trans(),

Re: [PATCH v4 00/10] Optimize buffer_is_zero

2024-02-16 Thread Alexander Monakov
On Thu, 15 Feb 2024, Richard Henderson wrote: > On 2/15/24 13:37, Alexander Monakov wrote: > > Ah, I guess you might be running at low perf_event_paranoid setting that > > allows unprivileged sampling of kernel events? In our submissions the > > percentage was for perf_event_paranoid=2, i.e.

[PATCH] configure: do not require gcc runtime library for firmwares

2024-02-16 Thread Marek Marczykowski-Górecki
probe_target_compiler() when checking for multilib support checks if -nostdlib works together with -lgcc. It isn't necessary for building various components in pc-bios/optionrom, as evidenced by looking at actually used link flags there. Alpine Linux for x86_64 does not ship with 32bit libgcc, but

Re: [PATCH] .gitlab-ci/windows.yml: Don't install libusb or spice packages on 32-bit

2024-02-16 Thread Alex Bennée
Peter Maydell writes: > On Fri, 16 Feb 2024 at 11:29, Alex Bennée wrote: >> >> Peter Maydell writes: >> >> > When msys2 updated their libusb packages to libusb 1.0.27, they >> > dropped support for building them for mingw32, leaving only mingw64 >> > packages. This broke our CI job, as the

[PATCH 00/23] maintainer updates for 9.0 pre-PR (tests, plugin register support)

2024-02-16 Thread Alex Bennée
The test patch is a simple house keeping one to clean up some inadvertent GPLv3 tagging to GPLv2-or-later. The main bulk of this series is register reading support for TCG plugins. The main change to the API is that the get/read_register functions are now implicitly vCPU context only so have

[PATCH 02/23] target/arm: Use GDBFeature for dynamic XML

2024-02-16 Thread Alex Bennée
From: Akihiko Odaki In preparation for a change to use GDBFeature as a parameter of gdb_register_coprocessor(), convert the internal representation of dynamic feature from plain XML to GDBFeature. Signed-off-by: Akihiko Odaki Acked-by: Richard Henderson Message-Id:

[PATCH 01/23] tests/tcg: update licenses to GPLv2 as intended

2024-02-16 Thread Alex Bennée
My default header template is GPLv3 but for QEMU code we really should stick to GPLv2-or-later (allowing others to up-license it if they wish). While this is test code we should still be consistent on the source distribution. I wrote all of this code so its not a problem. However there remains

[PATCH 13/23] plugins: add qemu_plugin_num_vcpus function

2024-02-16 Thread Alex Bennée
From: Pierrick Bouvier We now keep track of how many vcpus were started. This way, a plugin can easily query number of any vcpus at any point of execution, which unifies user and system mode workflows. Signed-off-by: Pierrick Bouvier Reviewed-by: Richard Henderson Message-Id:

Re: [PATCH 1/6] hw/arm: Inline sysbus_create_simple(PL110 / PL111)

2024-02-16 Thread BALATON Zoltan
On Fri, 16 Feb 2024, Philippe Mathieu-Daudé wrote: We want to set another qdev property (a link) for the pl110 and pl111 devices, we can not use sysbus_create_simple() which only passes sysbus base address and IRQs as arguments. Inline it so we can set the link property in the next commit.

[RFC] Convert VMWARE vmdk (snapshot) to raw disk

2024-02-16 Thread Jinpu Wang
Hi, We want to convert some VMWARE VM to KVM, and to reduce the VM down time, we want to do it in two steps copy approach: 1. a snapshot is taken - source VM continues to run on VMware => diff creates 2. snapshot is available for download as vmdk - we need a software to copy snapshot to target

Re: [PATCH v3 2/3] hw/cxl/cxl-mailbox-utils: Add device patrol scrub control feature

2024-02-16 Thread fan
On Thu, Feb 15, 2024 at 07:01:45PM +0800, shiju.j...@huawei.com wrote: > From: Shiju Jose > > CXL spec 3.1 section 8.2.9.9.11.1 describes the device patrol scrub control > feature. The device patrol scrub proactively locates and makes corrections > to errors in regular cycle. The patrol scrub

[PATCH v2 0/2] Misc: Make watchdog devices using qemu_system_reset_request() use watchdog_perfom_action()

2024-02-16 Thread Abhiram Tilak
A few watchdog devices use qemu_system_reset_request(). This is not ideal since behaviour of watchdog-expiry can't be changed by QMP using `watchdog_action`. As stated in BiteSizedTasks wiki page, instead of using qemu_system_reset_request() to reset when a watchdog timer expires, let

[PATCH v2 2/2] misc: pxa2xx_timer: replace qemu_system_reset_request() call with watchdog_perform_action()

2024-02-16 Thread Abhiram Tilak
A few watchdog devices use qemu_system_reset_request(). This is not ideal since behaviour of watchdog-expiry can't be changed by QMP using `watchdog_action`. As stated in BiteSizedTasks wiki page, instead of using qemu_system_reset_request() to reset when a watchdog timer expires, let

[PATCH v2 1/2] misc: m48t59: replace qemu_system_reset_request() call with watchdog_perform_action()

2024-02-16 Thread Abhiram Tilak
A few watchdog devices use qemu_system_reset_request(). This is not ideal since behaviour of watchdog-expiry can't be changed by QMP using `watchdog_action`. As stated in BiteSizedTasks wiki page, instead of using qemu_system_reset_request() to reset when a watchdog timer expires, let

Re: [PATCH v4 00/18] TCG Plugin inline operation enhancement

2024-02-16 Thread Alex Bennée
Pierrick Bouvier writes: > This series adds a new thread-safe API to declare inline operation > inside plugins. As well, it removes the existing non thread-safe API, > and migrates all existing plugins to use it. > > Tested on Linux (user, system) for i386, x86_64 and aarch64. > > Pierrick

[PATCH 11/23] gdbstub: Add members to identify registers to GDBFeature

2024-02-16 Thread Alex Bennée
From: Akihiko Odaki These members will be used to help plugins to identify registers. The added members in instances of GDBFeature dynamically generated by CPUs will be filled in later changes. Signed-off-by: Akihiko Odaki Message-Id: <20240103173349.398526-36-alex.ben...@linaro.org>

[PATCH 12/23] plugins: remove previous n_vcpus functions from API

2024-02-16 Thread Alex Bennée
From: Pierrick Bouvier This information is already accessible using qemu_info_t during plugin install. We will introduce another function (qemu_plugin_num_vcpus) which represent how many cpus were enabled, by tracking new cpu indexes. It's a breaking change, so we bump API version.

[PATCH 03/23] target/ppc: Use GDBFeature for dynamic XML

2024-02-16 Thread Alex Bennée
From: Akihiko Odaki In preparation for a change to use GDBFeature as a parameter of gdb_register_coprocessor(), convert the internal representation of dynamic feature from plain XML to GDBFeature. Signed-off-by: Akihiko Odaki Reviewed-by: Richard Henderson Message-Id:

Re: [PATCH 1/3] misc: m48t59: replace qemu_system_reset_request() call with watchdog_perform_action()

2024-02-16 Thread atp exp
I agree, comment here is redundant, i will fix it in the next patch. Abhiram On Fri, 16 Feb 2024 at 20:19, Peter Maydell wrote: > On Fri, 16 Feb 2024 at 13:56, Abhiram Tilak wrote: > > > > A few watchdog devices use qemu_system_reset_request(). This is not > ideal since > > behaviour of

Re: [PATCH v3 3/6] target/arm: Adjust and validate mtedesc sizem1

2024-02-16 Thread Richard Henderson
On 2/16/24 05:12, Michael Tokarev wrote: 07.02.2024 05:52, Richard Henderson : When we added SVE_MTEDESC_SHIFT, we effectively limited the maximum size of MTEDESC.  Adjust SIZEM1 to consume the remaining bits (32 - 10 - 5 - 12 == 5).  Assert that the data to be stored fits within the field

Re: [PATCH 1/6] hw/arm: Inline sysbus_create_simple(PL110 / PL111)

2024-02-16 Thread Philippe Mathieu-Daudé
On 16/2/24 18:14, BALATON Zoltan wrote: On Fri, 16 Feb 2024, Philippe Mathieu-Daudé wrote: We want to set another qdev property (a link) for the pl110 and pl111 devices, we can not use sysbus_create_simple() which only passes sysbus base address and IRQs as arguments. Inline it so we can set

[PATCH 06/23] gdbstub: Use GDBFeature for GDBRegisterState

2024-02-16 Thread Alex Bennée
From: Akihiko Odaki Simplify GDBRegisterState by replacing num_regs and xml members with one member that points to GDBFeature. Signed-off-by: Akihiko Odaki Reviewed-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20240103173349.398526-31-alex.ben...@linaro.org> Message-Id:

[PATCH 10/23] hw/core/cpu: Remove gdb_get_dynamic_xml member

2024-02-16 Thread Alex Bennée
From: Akihiko Odaki This function is no longer used. Signed-off-by: Akihiko Odaki Reviewed-by: Alex Bennée Message-Id: <20240103173349.398526-35-alex.ben...@linaro.org> Message-Id: <20231213-gdb-v17-9-777047380...@daynix.com> Signed-off-by: Alex Bennée --- include/hw/core/cpu.h | 4

[PATCH 05/23] gdbstub: Use GDBFeature for gdb_register_coprocessor

2024-02-16 Thread Alex Bennée
From: Akihiko Odaki This is a tree-wide change to introduce GDBFeature parameter to gdb_register_coprocessor(). The new parameter just replaces num_regs and xml parameters for now. GDBFeature will be utilized to simplify XML lookup in a following change. Signed-off-by: Akihiko Odaki Acked-by:

[PATCH 04/23] target/riscv: Use GDBFeature for dynamic XML

2024-02-16 Thread Alex Bennée
From: Akihiko Odaki In preparation for a change to use GDBFeature as a parameter of gdb_register_coprocessor(), convert the internal representation of dynamic feature from plain XML to GDBFeature. Signed-off-by: Akihiko Odaki Message-Id: <20240103173349.398526-29-alex.ben...@linaro.org>

Re: [PATCH v3 04/11] {linux,bsd}-user: Pass pid to fork_end()

2024-02-16 Thread Alex Bennée
Ilya Leoshkevich writes: > The upcoming follow-fork-mode child support requires knowing the child > pid. Pass it down. > > Signed-off-by: Ilya Leoshkevich > --- > bsd-user/freebsd/os-proc.h | 6 +++--- > bsd-user/main.c | 4 +++- > bsd-user/qemu.h | 2 +- >

Re: [PATCH v3 01/11] gdbstub: Support disablement in a multi-threaded process

2024-02-16 Thread Alex Bennée
Ilya Leoshkevich writes: > The upcoming follow-fork-mode child support will require disabling > gdbstub in the parent process, which may have multiple threads (which > are represented as CPUs). > > Loop over all CPUs in order to remove breakpoints and disable > single-step. Move the respective

Re: [PATCH v3 02/11] {linux,bsd}-user: Update ts_tid after fork()

2024-02-16 Thread Alex Bennée
Ilya Leoshkevich writes: > Currently ts_tid contains the parent tid after fork(), which is not > correct. So far it has not affected anything, but the upcoming > follow-fork-mode child support relies on the correct value, so fix it. > > Signed-off-by: Ilya Leoshkevich > --- > bsd-user/main.c

Re: [PATCH v3 03/11] gdbstub: Introduce gdbserver_fork_start()

2024-02-16 Thread Alex Bennée
Ilya Leoshkevich writes: > The upcoming follow-fork-mode child support requires knowing when > fork() is about to happen in order to initialize its state. Add a hook > for that. > > Signed-off-by: Ilya Leoshkevich Reviewed-by: Alex Bennée -- Alex Bennée Virtualisation Tech Lead @ Linaro

[PATCH] qapi: Misc cleanups to migrate QAPIs

2024-02-16 Thread Het Gala
Signed-off-by: Het Gala --- qapi/migration.json | 13 +++-- 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/qapi/migration.json b/qapi/migration.json index 5a565d9b8d..5756e650b0 100644 --- a/qapi/migration.json +++ b/qapi/migration.json @@ -1728,6 +1728,7 @@ # # -> {

[PATCH 04/13] esp.c: change esp_fifo_push() to take ESPState

2024-02-16 Thread Mark Cave-Ayland
Now that all users of esp_fifo_push() operate on the main FIFO there is no need to pass the FIFO explicitly. Signed-off-by: Mark Cave-Ayland --- hw/scsi/esp.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c index

[PATCH 01/13] esp.c: replace cmdfifo use of esp_fifo_pop_buf() in do_command_phase()

2024-02-16 Thread Mark Cave-Ayland
The aim is to restrict the esp_fifo_*() functions so that they only operate on the hardware FIFO. When reading from cmdfifo in do_command_phase() use the underlying Fifo8 functions directly. Signed-off-by: Mark Cave-Ayland --- hw/scsi/esp.c | 4 ++-- 1 file changed, 2 insertions(+), 2

[PATCH 12/13] esp.c: ensure esp_pdma_write() always calls esp_fifo_push()

2024-02-16 Thread Mark Cave-Ayland
This ensures that esp_update_drq() is called via esp_fifo_push() whenever the host uses PDMA to transfer data to a SCSI device. Signed-off-by: Mark Cave-Ayland --- hw/scsi/esp.c | 10 -- 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c index

[PATCH 00/13] esp: avoid explicit setting of DRQ within ESP state machine

2024-02-16 Thread Mark Cave-Ayland
The ESP device has a DRQ (DMA request) signal that is used to handle flow control during DMA transfers. At the moment the DRQ signal is explicitly raised and lowered at various points in the ESP state machine as required, rather than implementing the logic described in the datasheet: "DREQ will

[PATCH 05/13] esp.c: change esp_fifo_pop() to take ESPState

2024-02-16 Thread Mark Cave-Ayland
Now that all users of esp_fifo_pop() operate on the main FIFO there is no need to pass the FIFO explicitly. Signed-off-by: Mark Cave-Ayland --- hw/scsi/esp.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c index b898e43e2b..0e42ff50e7

[PATCH 03/13] esp.c: replace cmdfifo use of esp_fifo_pop() in do_message_phase()

2024-02-16 Thread Mark Cave-Ayland
Signed-off-by: Mark Cave-Ayland --- hw/scsi/esp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c index 100560244b..7a24515bb9 100644 --- a/hw/scsi/esp.c +++ b/hw/scsi/esp.c @@ -312,7 +312,8 @@ static void do_message_phase(ESPState *s)

[PATCH 09/13] esp.c: move esp_set_phase() and esp_get_phase() towards the beginning of the file

2024-02-16 Thread Mark Cave-Ayland
This allows these functions to be used earlier in the file without needing a separate forward declaration. Signed-off-by: Mark Cave-Ayland --- hw/scsi/esp.c | 36 ++-- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c

[PATCH 06/13] esp.c: use esp_fifo_push() instead of fifo8_push()

2024-02-16 Thread Mark Cave-Ayland
There are still a few places that use fifo8_push() instead of esp_fifo_push() in order to push a value into the FIFO. Update those places to use esp_fifo_push() instead. Signed-off-by: Mark Cave-Ayland --- hw/scsi/esp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git

[PATCH 08/13] esp.c: introduce esp_fifo_push_buf() function for pushing to the FIFO

2024-02-16 Thread Mark Cave-Ayland
Instead of pushing data into the FIFO directly with fifo8_push_all(), add a new esp_fifo_push_buf() function and use it accordingly. Signed-off-by: Mark Cave-Ayland --- hw/scsi/esp.c | 11 --- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c

[PATCH 02/13] esp.c: replace cmdfifo use of esp_fifo_pop_buf() in do_message_phase()

2024-02-16 Thread Mark Cave-Ayland
The aim is to restrict the esp_fifo_*() functions so that they only operate on the hardware FIFO. When reading from cmdfifo in do_message_phase() use the underlying Fifo8 functions directly. Signed-off-by: Mark Cave-Ayland --- hw/scsi/esp.c | 7 ++- 1 file changed, 6 insertions(+), 1

[PATCH 3/3] qtest: migration: Add negative validation test for 'uri' and 'channels' both set

2024-02-16 Thread Het Gala
Ideally QAPI 'migrate' and 'migrate-incoming' does not allow 'uri' and 'channels' both arguments to be present in the arguments list as they are mutually exhaustive. Add a negative test case to validate the same. Even before the migration connection is established, qmp command will error out with

[PATCH 0/3] qtest: migration: Add validation tests for 'channels' argument in migrate QAPIs

2024-02-16 Thread Het Gala
With recent migrate QAPI changes enabling direct use of the 'channels' argument, avoiding redundant string parsing of the URI is achieved. To ensure backward compatibility, both 'uri' and 'channels' arguments are now optional in migration QMP commands. However, they are mutually exclusive,

[PATCH 2/3] qtest: migration: Introduce 'connect_channels' in MigrateCommon struct

2024-02-16 Thread Het Gala
migration QAPIs can now work with either 'channels' or 'uri' as their argument. Signed-off-by: Het Gala --- tests/qtest/migration-test.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c index e7f2719dcf..0bc69b1943 100644 ---

Re: [RFC PATCH v4 10/10] util/bufferiszero: Add sve acceleration for aarch64

2024-02-16 Thread Alex Bennée
Richard Henderson writes: > Signed-off-by: Richard Henderson > --- > > RFC because I've not benchmarked this on real hw, only run it > through qemu for validation. I think we have an a64fx is the TCWG lab you could probably run the tests on if you want. Otherwise I might be able to spin up a

RE: [PATCH v2 2/3] hw/cxl/cxl-mailbox-utils: Add device patrol scrub control feature

2024-02-16 Thread Shiju Jose via
Hi Fan, >-Original Message- >From: fan >Sent: 15 February 2024 18:47 >To: Shiju Jose >Cc: qemu-devel@nongnu.org; linux-...@vger.kernel.org; Jonathan Cameron >; tanxiaofei ; >Zengtao (B) ; Linuxarm ; >fan...@samsung.com >Subject: Re: [PATCH v2 2/3] hw/cxl/cxl-mailbox-utils: Add device

Re: [PATCH] docs/system/ppc: Document running Linux on AmigaNG machines

2024-02-16 Thread Thomas Huth
On 16/02/2024 01.10, BALATON Zoltan wrote: Documentation on how to run Linux on the amigaone, pegasos2 and sam460ex machines is currently burried in the depths of the qemu-devel s/burried/buried/ mailing list and in the source code. Let's collect the information in the QEMU handbook for a

Re: [PATCH v4 0/3] Initial support for SPDM Responders

2024-02-16 Thread Alistair Francis
On Fri, Feb 16, 2024 at 6:52 PM Klaus Jensen wrote: > > On Feb 15 14:44, Jonathan Cameron wrote: > > On Tue, 13 Feb 2024 12:44:00 +1000 > > Alistair Francis wrote: > > > > Hi All, > > > > Just wanted to add that back in v2 Klaus Jensen stated: > > > > "I have no problem with picking this up for

Re: [PATCH 2/6] libqos/virtio.c: fix 'avail_event' offset in qvring_init()

2024-02-16 Thread Thomas Huth
On 13/02/2024 20.17, Daniel Henrique Barboza wrote: In qvring_init() we're writing vq->used->avail_event at "vq->used + 2 + array_size". The struct pointed by vq->used is, from virtio_ring.h Linux header): * // A ring of used descriptor heads with free-running index. * __virtio16

Re: [PATCH 1/4] target/riscv: Add CSR tcontrol of debug trigger module

2024-02-16 Thread Daniel Henrique Barboza
On 2/16/24 03:13, Alvin Chang wrote: The RISC-V debug specification defines an optional CSR "tcontrol" within the trigger module. This commit adds its read/write operations and related bit-field definitions. Signed-off-by: Alvin Chang --- target/riscv/cpu.h | 1 +

Re: [PATCH 1/4] Add ivshmem-flat device

2024-02-16 Thread Philippe Mathieu-Daudé
On 27/11/23 06:20, Gustavo Romero wrote: Add a new device, ivshmem-flat, which is similar to the ivshmem PCI but does not require a PCI bus. It's meant to be used on machines like those with Cortex-M MCUs, which usually lack a PCI/PCIe bus, e.g. lm3s6965evb and mps2-an385. The device currently

Re: [PATCH] target: hppa: Fix unaligned double word accesses for hppa64

2024-02-16 Thread Charlie Jenkins
On Thu, Feb 15, 2024 at 09:34:15PM -0800, Guenter Roeck wrote: > Unaligned 64-bit accesses were found in Linux to clobber carry bits, > resulting in bad results if an arithmetic operation involving a > carry bit was executed after an unaligned 64-bit operation. > > hppa 2.0 defines additional

Re: [PATCH v2] hw/hppa/Kconfig: Fix building with "configure --without-default-devices"

2024-02-16 Thread Paolo Bonzini
On Fri, Feb 16, 2024 at 10:16 AM Thomas Huth wrote: > > When running "configure" with "--without-default-devices", building > of qemu-system-hppa currently fails with: > > /usr/bin/ld: libqemu-hppa-softmmu.fa.p/hw_hppa_machine.c.o: in function > `machine_HP_common_init_tail': >

Re: [PATCH v3 3/6] target/arm: Adjust and validate mtedesc sizem1

2024-02-16 Thread Michael Tokarev
07.02.2024 05:52, Richard Henderson : When we added SVE_MTEDESC_SHIFT, we effectively limited the maximum size of MTEDESC. Adjust SIZEM1 to consume the remaining bits (32 - 10 - 5 - 12 == 5). Assert that the data to be stored fits within the field (expecting 8 * 4 - 1 == 31, exact fit). Cc:

[PATCH 13/13] esp.c: remove explicit setting of DRQ within ESP state machine

2024-02-16 Thread Mark Cave-Ayland
Now the esp_update_drq() is called for all reads/writes to the FIFO, there is no need to manually raise and lower the DRQ signal. Signed-off-by: Mark Cave-Ayland Fixes: https://gitlab.com/qemu-project/qemu/-/issues/611 Fixes: https://gitlab.com/qemu-project/qemu/-/issues/1831 --- hw/scsi/esp.c

[PATCH 11/13] esp.c: update esp_fifo_{push, pop}() to call esp_update_drq()

2024-02-16 Thread Mark Cave-Ayland
This ensures that the DRQ line is always set correctly when reading/writing single bytes to/from the FIFO. Signed-off-by: Mark Cave-Ayland --- hw/scsi/esp.c | 14 ++ 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c index

[PATCH 10/13] esp.c: introduce esp_update_drq() and update esp_fifo_{push, pop}_buf() to use it

2024-02-16 Thread Mark Cave-Ayland
This new function sets the DRQ line correctly according to the current transfer mode, direction and FIFO contents. Update esp_fifo_push_buf() and esp_fifo_pop_buf() to use it so that DRQ is always set correctly when reading/writing multiple bytes to/from the FIFO. Signed-off-by: Mark

[PATCH] iotests: adapt to output change for recently introduced 'detached header' field

2024-02-16 Thread Fiona Ebner
Failure was noticed when running the tests for the qcow2 image format. Fixes: 0bd779e27e ("crypto: Introduce 'detached-header' field in QCryptoBlockInfoLUKS") Signed-off-by: Fiona Ebner --- tests/qemu-iotests/198.out | 2 ++ tests/qemu-iotests/206.out | 1 + 2 files changed, 3 insertions(+)

Re: [PATCH 1/6] libqos/virtio.c: init all elems in qvring_indirect_desc_setup()

2024-02-16 Thread Thomas Huth
On 13/02/2024 20.17, Daniel Henrique Barboza wrote: The loop isn't setting the values for the last element. Every other element is being initialized with addr = 0, flags = VRING_DESC_F_NEXT and next = i + 1. The last elem is never touched. This became a problem when enabling a RISC-V 'virt'

[PATCH 15/21] hw/core/register: Prefer object_initialize_child over object_initialize

2024-02-16 Thread Philippe Mathieu-Daudé
When the QOM parent is available, prefer object_initialize_child() over object_initialize(), since it create the parent relationship. Signed-off-by: Philippe Mathieu-Daudé --- hw/core/register.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/core/register.c

[PATCH 19/21] hw/s390x/zpci-bus: Add QOM parentship relation with zPCI devices

2024-02-16 Thread Philippe Mathieu-Daudé
QDev objects created with qdev_*new() need to manually add their parent relationship with object_property_add_child(). Signed-off-by: Philippe Mathieu-Daudé --- hw/s390x/s390-pci-bus.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c index

Re: QEMU 8.2.0 aarch64 sve ldff1b returning 1 byte when 16 are expected

2024-02-16 Thread Alex Bennée
Mark Charney OS writes: > Using QEMU v8.2.0 (and also the HEAD of the git master branch), I > encountered an unexpected situation: an ldff1b is returning 1 byte > when I run with the QEMU user level plugin (and setting FFR as if > there was a fault). > > However the ldff1b actually loads 16

[PATCH v3 07/11] gdbstub: Introduce gdb_handle_query_supported_user()

2024-02-16 Thread Ilya Leoshkevich
The upcoming follow-fork-mode child support requires advertising the fork-events feature, which is user-specific. Introduce a user-specific hook for this. Signed-off-by: Ilya Leoshkevich --- gdbstub/gdbstub.c | 12 +--- gdbstub/internals.h | 1 + gdbstub/user.c | 4 3

[PATCH v3 01/11] gdbstub: Support disablement in a multi-threaded process

2024-02-16 Thread Ilya Leoshkevich
The upcoming follow-fork-mode child support will require disabling gdbstub in the parent process, which may have multiple threads (which are represented as CPUs). Loop over all CPUs in order to remove breakpoints and disable single-step. Move the respective code into a separate function.

[PATCH v3 02/11] {linux,bsd}-user: Update ts_tid after fork()

2024-02-16 Thread Ilya Leoshkevich
Currently ts_tid contains the parent tid after fork(), which is not correct. So far it has not affected anything, but the upcoming follow-fork-mode child support relies on the correct value, so fix it. Signed-off-by: Ilya Leoshkevich --- bsd-user/main.c | 1 + linux-user/main.c | 1 + 2 files

[PATCH 0/3] Misc: Make watchdog devices using qemu_system_reset_request() use watchdog_perfom_action()

2024-02-16 Thread Abhiram Tilak
A few watchdog devices use qemu_system_reset_request(). This is not ideal since behaviour of watchdog-expiry can't be changed by QMP using `watchdog_action`. As stated in BiteSizedTasks wiki page, instead of using qemu_system_reset_request() to reset when a watchdog timer expires, let

[PATCH 06/16] qapi: Improve error position for bogus invalid "Returns" section

2024-02-16 Thread Markus Armbruster
When something other than a command has a "Returns" section, the error message points to the beginning of the definition comment. Point to the "Returns" section instead. Signed-off-by: Markus Armbruster --- scripts/qapi/parser.py | 10 +++---

[PATCH 14/16] qapi: Rewrite doc comment parser

2024-02-16 Thread Markus Armbruster
QAPISchemaParser is a conventional recursive descent parser. Except QAPISchemaParser.get_doc() delegates most of the doc comment parsing work to a state machine in QAPIDoc. The state machine doesn't get tokens like a recursive descent parser, it is fed tokens. I find this state machine rather

[PATCH 6/6] hw/sysbus: Remove now unused sysbus_address_space()

2024-02-16 Thread Philippe Mathieu-Daudé
sysbus_address_space() is not more used, remove it. Signed-off-by: Philippe Mathieu-Daudé --- include/hw/sysbus.h | 1 - hw/core/sysbus.c| 5 - 2 files changed, 6 deletions(-) diff --git a/include/hw/sysbus.h b/include/hw/sysbus.h index 3564b7b6a2..01d4a400c6 100644 ---

[PATCH 4/6] hw/display/exynos4210_fimd: Pass frame buffer memory region as link

2024-02-16 Thread Philippe Mathieu-Daudé
Add the Exynos4210fimdState::'framebuffer-memory' property. Have the board set it. We don't need to call sysbus_address_space() anymore. Signed-off-by: Philippe Mathieu-Daudé --- hw/display/exynos4210_fimd.c | 19 --- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git

[PATCH 1/6] hw/arm: Inline sysbus_create_simple(PL110 / PL111)

2024-02-16 Thread Philippe Mathieu-Daudé
We want to set another qdev property (a link) for the pl110 and pl111 devices, we can not use sysbus_create_simple() which only passes sysbus base address and IRQs as arguments. Inline it so we can set the link property in the next commit. Signed-off-by: Philippe Mathieu-Daudé ---

[PATCH 5/6] hw/i386/kvmvapic: Inline sysbus_address_space()

2024-02-16 Thread Philippe Mathieu-Daudé
sysbus_address_space(...) is a simple wrapper to get_system_memory(). Use it in place, since KVM VAPIC doesn't distinct address spaces. Rename the 'as' variable as 'mr' since it is a MemoryRegion type, not an AddressSpace one. Signed-off-by: Philippe Mathieu-Daudé --- hw/i386/kvmvapic.c | 12

RE: [PATCH v2 1/3] hw/cxl/cxl-mailbox-utils: Add support for feature commands (8.2.9.6)

2024-02-16 Thread Shiju Jose via
Hi Fan, Thanks for the feedbacks. >-Original Message- >From: fan >Sent: 15 February 2024 18:06 >To: Shiju Jose >Cc: qemu-devel@nongnu.org; linux-...@vger.kernel.org; Jonathan Cameron >; tanxiaofei ; >Zengtao (B) ; Linuxarm >Subject: Re: [PATCH v2 1/3] hw/cxl/cxl-mailbox-utils: Add

[RFC 3/4] mirror: move some checks to qmp

2024-02-16 Thread Fiona Ebner
From: Fabian Grünbichler and assert the passing conditions in block/mirror.c. while incremental mode was never available for drive-mirror, it makes the interface more uniform w.r.t. backup block jobs. Signed-off-by: Fabian Grünbichler Signed-off-by: Thomas Lamprecht [FE: rebase for 9.0]

[RFC 4/4] iotests: add test for bitmap mirror

2024-02-16 Thread Fiona Ebner
From: Fabian Grünbichler heavily based on/practically forked off iotest 257 for bitmap backups, but: - no writes to filter node 'mirror-top' between completion and finalization, as those seem to deadlock? - no inclusion of not-yet-available full/top sync modes in combination with bitmaps -

[RFC 0/4] mirror: implement incremental and bitmap modes

2024-02-16 Thread Fiona Ebner
Previous discussion from when this was sent upstream [0] (it's been a while). I rebased the patches and re-ordered and squashed like suggested back then [1]. This implements two new mirror modes: - bitmap mirror mode with always/on-success/never bitmap sync mode - incremental mirror mode as

[RFC 1/4] drive-mirror: add support for sync=bitmap mode=never

2024-02-16 Thread Fiona Ebner
From: John Snow This patch adds support for the "BITMAP" sync mode to drive-mirror and blockdev-mirror. It adds support only for the BitmapSyncMode "never," because it's the simplest mode. This mode simply uses a user-provided bitmap as an initial copy manifest, and then does not clear any bits

[RFC 2/4] drive-mirror: add support for conditional and always bitmap sync modes

2024-02-16 Thread Fiona Ebner
From: John Snow Teach mirror two new tricks for using bitmaps: Always: no matter what, we synchronize the copy_bitmap back to the sync_bitmap. In effect, this allows us resume a failed mirror at a later date. Conditional: On success only, we sync the bitmap. This is akin to incremental backup

Re: [PATCH v5 0/3] linux-user: Allow gdbstub to ignore page protection

2024-02-16 Thread Alex Bennée
Ilya Leoshkevich writes: > v4: https://lists.gnu.org/archive/html/qemu-devel/2024-01/msg05857.html > v4 -> v5: Fix the probe_proc_self_mem vs probe_proc_self_mem() typo. > Add Alex's R-b and A-b. I was going to pull this and realised it already went in via Richard's tcg-next. Did this

  1   2   3   >