[PATCH v2 07/13] virtio-scsi: perform TMFs in appropriate AioContexts

2025-03-11 Thread Stefan Hajnoczi
With IOThread Virtqueue Mapping there will be multiple AioContexts processing SCSI requests. scsi_req_cancel() and other SCSI request operations must be performed from the AioContext where the request is running. Introduce a virtio_scsi_defer_tmf_to_aio_context() function and the necessary VirtIOS

[PATCH v2 02/13] dma: use current AioContext for dma_blk_io()

2025-03-11 Thread Stefan Hajnoczi
In the past a single AioContext was used for block I/O and it was fetched using blk_get_aio_context(). Nowadays the block layer supports running I/O from any AioContext and multiple AioContexts at the same time. Remove the dma_blk_io() AioContext argument and use the current AioContext instead. Th

[PATCH v2 03/13] scsi: track per-SCSIRequest AioContext

2025-03-11 Thread Stefan Hajnoczi
Until now, a SCSIDevice's I/O requests have run in a single AioContext. In order to support multiple IOThreads it will be necessary to move to the concept of a per-SCSIRequest AioContext. Signed-off-by: Stefan Hajnoczi Reviewed-by: Kevin Wolf --- include/hw/scsi/scsi.h | 1 + hw/scsi/scsi-bus.

[PATCH v2 10/13] virtio: extract iothread-vq-mapping.h API

2025-03-11 Thread Stefan Hajnoczi
The code that builds an array of AioContext pointers indexed by the virtqueue is not specific to virtio-blk. virtio-scsi will need to do the same thing, so extract the functions. Signed-off-by: Stefan Hajnoczi Reviewed-by: Kevin Wolf --- include/hw/virtio/iothread-vq-mapping.h | 45 h

[PATCH v2 01/13] scsi-disk: drop unused SCSIDiskState->bh field

2025-03-11 Thread Stefan Hajnoczi
Commit 71544d30a6f8 ("scsi: push request restart to SCSIDevice") removed the only user of SCSIDiskState->bh. Signed-off-by: Stefan Hajnoczi Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Kevin Wolf --- hw/scsi/scsi-disk.c | 1 - 1 file changed, 1 deletion(-) diff --git a/hw/scsi/scsi-disk.c

[PATCH v2 04/13] scsi: introduce requests_lock

2025-03-11 Thread Stefan Hajnoczi
SCSIDevice keeps track of in-flight requests for device reset and Task Management Functions (TMFs). The request list requires protection so that multi-threaded SCSI emulation can be implemented in commits that follow. Signed-off-by: Stefan Hajnoczi Reviewed-by: Kevin Wolf --- include/hw/scsi/sc

[PATCH v2 09/13] virtio-blk: tidy up iothread_vq_mapping functions

2025-03-11 Thread Stefan Hajnoczi
Use noun_verb() function naming instead of verb_noun() because the former is the most common naming style for APIs. The next commit will move these functions into a header file so that virtio-scsi can call them. Shorten iothread_vq_mapping_apply()'s iothread_vq_mapping_list argument to just "list"

[PATCH v2 08/13] virtio-blk: extract cleanup_iothread_vq_mapping() function

2025-03-11 Thread Stefan Hajnoczi
This is the cleanup function that must be called after apply_iothread_vq_mapping() succeeds. virtio-scsi will need this function too, so extract it. Signed-off-by: Stefan Hajnoczi Reviewed-by: Kevin Wolf --- hw/block/virtio-blk.c | 27 +-- 1 file changed, 21 insertions(+

[PATCH v2 12/13] virtio-scsi: handle ctrl virtqueue in main loop

2025-03-11 Thread Stefan Hajnoczi
Previously the ctrl virtqueue was handled in the AioContext where SCSI requests are processed. When IOThread Virtqueue Mapping was added things become more complicated because SCSI requests could run in other AioContexts. Simplify by handling the ctrl virtqueue in the main loop where reset operati

Re: [PULL 11/13] ui/console: Remove dpy_cursor_define_supported()

2025-03-11 Thread Michael Weiser
Hi everyone, On Thu, Jan 09, 2025 at 09:34:41AM -0500, Hank Knox wrote: > > commit 4bba839808bb1c4f500a11462220a687b4d9ab25 > > Author: Akihiko Odaki > > Date: Mon Jul 15 14:25:45 2024 +0900 > > > > ui/console: Remove dpy_cursor_define_supported() > > > > > > Apparently this commit made w

Re: [PATCH v2 18/18] hw/rtc: Add Ricoh RS5C372 RTC emulation

2025-03-11 Thread Philippe Mathieu-Daudé
On 11/3/25 08:34, Bernhard Beschow wrote: Am 7. März 2025 19:18:34 UTC schrieb Bernhard Beschow : Am 4. März 2025 18:53:10 UTC schrieb Bernhard Beschow : Am 23. Februar 2025 11:47:08 UTC schrieb Bernhard Beschow : The implementation just allows Linux to determine date and time. Signed-o

Re: [PATCH v2 09/21] hw/vfio/pci: Convert CONFIG_KVM check to runtime one

2025-03-11 Thread Philippe Mathieu-Daudé
On 10/3/25 13:54, BALATON Zoltan wrote: On Mon, 10 Mar 2025, Eric Auger wrote: Hi Philippe, On 3/9/25 12:09 AM, Philippe Mathieu-Daudé wrote: Use the runtime kvm_enabled() helper to check whether KVM is available or not. Miss the "why" of this patch. By the way I fail to remember/see where

Re: [PATCH v3 59/63] qapi/parser: add undocumented stub members to all_sections

2025-03-11 Thread Markus Armbruster
Markus Armbruster writes: > John Snow writes: > >> This helps simplify the new doc generator if it doesn't have to check >> for undocumented members, it can just blindly operate on a sequence of >> QAPIDoc.Section instances. >> >> NB: If there is no existing 'member' section, these undocumented

Re: [PATCH v2] QIOChannelSocket: Flush zerocopy socket error queue on ENOBUF failure for sendmsg

2025-03-11 Thread Daniel P . Berrangé
On Mon, Mar 10, 2025 at 04:03:26PM -0400, Peter Xu wrote: > On Mon, Mar 10, 2025 at 07:48:16PM +, Daniel P. Berrangé wrote: > > Given this is in public API, the data needs to remain reported accurately > > for the whole deprecation period. IOW, the patch to qiochannel needs to > > preserve this

Re: [PATCH 3/4] 9pfs: Introduce ftruncate file op

2025-03-11 Thread Christian Schoenebeck
On Monday, March 10, 2025 6:11:00 PM CET Greg Kurz wrote: > Add an ftruncate operation to the fs driver and use if when a fid has > a valid file descriptor. This is required to support more cases where > the client wants to do an action on an unlinked file which it still > has an open file decripto

Re: Re: [RFC] Proposal for a QEMU video subsystem for cameras and webcams

2025-03-11 Thread zhenwei pi
On 3/11/25 00:57, Thomas Huth wrote: On 10/03/2025 17.51, Alex Bennée wrote: David Milosevic writes: Dear QEMU Developers, I would like to propose the development of a video subsystem in QEMU, with the initial implementation focusing on UVC video device emulation and support for multipl

[PATCH-for-10.0 v3 5/8] hw/vfio: Compile some common objects once

2025-03-11 Thread Philippe Mathieu-Daudé
Some files don't rely on any target-specific knowledge and can be compiled once: - helpers.c - container-base.c - migration.c (removing unnecessary "exec/ram_addr.h") - migration-multifd.c - cpr.c Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Hend

[PATCH-for-10.0 v3 6/8] hw/vfio: Compile more objects once

2025-03-11 Thread Philippe Mathieu-Daudé
These files depend on the VFIO symbol in their Kconfig definition. They don't rely on target specific definitions, move them to system_ss[] to build them once. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Reviewed-by: Cédric Le Goater Revie

[PATCH-for-10.0 v3 4/8] hw/vfio/common: Get target page size using runtime helpers

2025-03-11 Thread Philippe Mathieu-Daudé
Prefer runtime helpers to get target page size. Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daudé Message-Id: <20250305153929.43687-3-phi...@linaro.org> --- hw/vfio/common.c | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/hw/vfio/common.c b/hw/vfio

Re: [PATCH 0/3] hw/net/smc91c111: Fix potential array overflows

2025-03-11 Thread Philippe Mathieu-Daudé
Hi Peter, Jason, On 28/2/25 18:47, Peter Maydell wrote: This patchset fixes some potential array overflows in the smc91c111 ethernet device model, including the one found in https://gitlab.com/qemu-project/qemu/-/issues/2742 There are two classes of bugs: * we accept packet numbers from the g

Re: [PATCH] hw/net/smc91c111: Don't allow data register access to overrun buffer

2025-03-11 Thread Philippe Mathieu-Daudé
On 28/2/25 20:16, Peter Maydell wrote: For accesses to the 91c111 data register, the address within the packet's data frame is determined by a combination of the pointer register and the offset used to access the data register, so that you can access data at effectively wider than byte width. Th

Re: [PATCH 04/12] scsi: introduce requests_lock

2025-03-11 Thread Stefan Hajnoczi
On Mon, Mar 10, 2025 at 02:37:37PM +0100, Kevin Wolf wrote: > Am 13.02.2025 um 19:00 hat Stefan Hajnoczi geschrieben: > > SCSIDevice keeps track of in-flight requests for device reset and Task > > Management Functions (TMFs). The request list requires protection so > > that multi-threaded SCSI emul

Re: [PATCH 00/12] virtio-scsi: add iothread-vq-mapping parameter

2025-03-11 Thread Stefan Hajnoczi
On Mon, Mar 10, 2025 at 03:43:57PM +0100, Kevin Wolf wrote: > Am 13.02.2025 um 19:00 hat Stefan Hajnoczi geschrieben: > > Implement --device virtio-scsi-pci,iothread-vq-mapping= support so that > > virtqueues can be assigned to different IOThreads. This improves SMP guest > > scalability where I/O-

Re: [PATCH v5 8/8] ppc/pnv: Update skiboot to support Power11

2025-03-11 Thread Nicholas Piggin
On Tue Mar 11, 2025 at 1:33 AM AEST, Cédric Le Goater wrote: > On 3/10/25 15:59, Aditya Gupta wrote: >> On 10/03/25 17:15, Cédric Le Goater wrote: >>> On 3/10/25 11:31, Aditya Gupta wrote: >> <...snip...> >>   pc-bios/skiboot.lid | Bin 2527328 -> 2527424 bytes >>   1 file changed, 0 ins

[PATCH for-10.1] tests/functional: Convert the SMMU test to the functional framework

2025-03-11 Thread Thomas Huth
This test was using cloudinit and a "dnf install" command in the guest to exercise the NIC with SMMU enabled. Since we don't have the cloudinit stuff in the functional framework and we should not rely on having access to external networks (once our ASSETs have been cached), we rather boot into the

[PATCH-for-10.0 v3 7/8] hw/vfio: Compile iommufd.c once

2025-03-11 Thread Philippe Mathieu-Daudé
Removing unused "exec/ram_addr.h" header allow to compile iommufd.c once for all targets. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Reviewed-by: Cédric Le Goater Reviewed-by: Eric Auger Message-Id: <20250308230917.18907-6-phi...@linaro.

[PULL 27/61] docs/qapi-domain: add XREF compatibility goop for Sphinx < 4.1

2025-03-11 Thread Markus Armbruster
From: John Snow Sphinx < 4.1 handles cross-references ... differently. Factor out and isolate the compatibility goop we need to make cross references work properly in old versions of Sphinx. Yes, it's ugly. Yes, it works. No, I don't want to talk about it. Understand that this patch exists beca

[PULL 53/61] docs/qapidoc: add intermediate output debugger

2025-03-11 Thread Markus Armbruster
From: John Snow Add debugging output for the qapidoc transmogrifier - setting DEBUG=1 will produce .ir files (one for each qapidoc directive) that write the generated rst file to disk to allow for easy debugging and verification of the generated document. Signed-off-by: John Snow Message-ID: <2

[PULL 12/61] docs/qapi-domain: add :since: directive option

2025-03-11 Thread Markus Armbruster
From: John Snow Add a little special markup for registering "Since:" information. Adding it as an option instead of generic content lets us hoist the information into the Signature bar, optionally put it in the index, etc. Signed-off-by: John Snow Message-ID: <20250311034303.75779-15-js...@redh

[PULL 01/61] docs/sphinx: create QAPI domain extension stub

2025-03-11 Thread Markus Armbruster
From: John Snow A Sphinx domain is a collection of directive and role extensions meant to facilitate the documentation of a specific language. For instance, Sphinx ships with "python" and "cpp" domains. This patch introduces a stub for the "qapi" language domain. Please see https://www.sphinx-do

[PULL 02/61] docs/sphinx: add compat.py module and nested_parse helper

2025-03-11 Thread Markus Armbruster
From: John Snow Create a compat module that handles sphinx cross-version compatibility issues. For the inaugural function, add a nested_parse_with_titles() helper that handles differences in line number tracking for nested directive body parsing. Spoilers: there are more cross-version hacks to c

Re: [PATCH 4/4] 9pfs: Introduce futimens file op

2025-03-11 Thread Christian Schoenebeck
On Monday, March 10, 2025 6:11:01 PM CET Greg Kurz wrote: > Add an futimens operation to the fs driver and use if when a fid has > a valid file descriptor. This is required to support more cases where > the client wants to do an action on an unlinked file which it still > has an open file decriptor

Re: [PATCH 2/4] 9pfs: Don't use file descriptors in core code

2025-03-11 Thread Christian Schoenebeck
On Monday, March 10, 2025 6:10:59 PM CET Greg Kurz wrote: > v9fs_getattr() currently peeks into V9fsFidOpenState to know if a fid > has a valid file descriptor or directory stream. Even though the fields > are accessible, this is an implementation detail of the local backend > that should not be ma

[PULL 15/61] docs/qapi-domain: add "Errors:" field lists

2025-03-11 Thread Markus Armbruster
From: John Snow ``:error: descr`` can now be used to document error conditions. The format of the description is not defined here; so the ability to name specific types is left to the document writer. Signed-off-by: John Snow Message-ID: <20250311034303.75779-18-js...@redhat.com> Acked-by: Mark

[PULL 29/61] docs/qapi-domain: Fix error context reporting in Sphinx 5.x and 6.x

2025-03-11 Thread Markus Armbruster
From: John Snow Sphinx 5.3.0 to Sphinx 6.2.0 has a bug where nested content in an ObjectDescription content block has its error position reported incorrectly due to an oversight when they added nested section support to this directive. (This bug is present in Sphinx's own Python and C domains; t

[PULL 30/61] qapi/parser: adjust info location for doc body section

2025-03-11 Thread Markus Armbruster
From: John Snow Instead of using the info object for the doc block as a whole (which always points to the very first line of the block), update the info pointer for each call to ensure_untagged_section when the existing section is otherwise empty. This way, Sphinx error information will match pre

[PULL 45/61] docs/qapidoc: add visit_feature() method

2025-03-11 Thread Markus Armbruster
From: John Snow This adds a simple ":feat name: lorem ipsum ..." line to the generated rST document, so at the moment it's only for "top level" features. Features not attached directly to a QAPI definition are not currently handled! This is a small regression over the prior documentation generat

[PULL 06/61] docs/qapi-domain: add QAPI xref roles

2025-03-11 Thread Markus Armbruster
From: John Snow Add domain-specific cross-reference syntax. As of this commit, that means new :qapi:any:`block-core` referencing syntax. The :any: role will find anything registered to the QAPI domain, including modules, commands, events, etc. Creating the cross-references is powered by the QAP

[PULL 38/61] qapi/source: allow multi-line QAPISourceInfo advancing

2025-03-11 Thread Markus Armbruster
From: John Snow This is for the sake of the new rST generator (the "transmogrifier") so we can advance multiple lines on occasion while keeping the generated<-->source mappings accurate. next_line now simply takes an optional n parameter which chooses the number of lines to advance. The next pa

[PULL 23/61] docs/qapi-domain: add :ifcond: directive option

2025-03-11 Thread Markus Armbruster
From: John Snow Add a special :ifcond: option that allows us to annotate the definition-level conditionals. The syntax of the argument is currently undefined, but it's possible we can apply better formatting in the future. Currently, we just display the ifcond string as preformatted text. Signe

[PULL 61/61] scripts/qapi/backend: Clean up create_backend()'s failure mode

2025-03-11 Thread Markus Armbruster
create_backend()'s caller catches QAPIError, and returns non-zero exit code on catch. The caller's caller passes the exit code to sys.exit(). create_backend() doesn't care: it reports errors to stderr and sys.exit()s. Change it to raise QAPIError instead. Signed-off-by: Markus Armbruster Messa

[PULL 16/61] docs/qapi-domain: add "Return:" field lists

2025-03-11 Thread Markus Armbruster
From: John Snow Add "Return:" field list syntax to QAPI Commands. Like "Arguments:" and "Errors:", the type name isn't currently processed for cross-referencing, but this will be addressed in a forthcoming commit. The syntax of the new field is: :return TypeName: description description con

[PULL 50/61] docs/qapidoc: add visit_entity()

2025-03-11 Thread Markus Armbruster
From: John Snow Finally, the core entry method for a qapi entity. Signed-off-by: John Snow Message-ID: <20250311034303.75779-54-js...@redhat.com> Acked-by: Markus Armbruster Signed-off-by: Markus Armbruster --- docs/sphinx/qapidoc.py | 21 + 1 file changed, 21 insertions(

[PULL 35/61] docs/qapidoc: Fix static typing on qapidoc.py

2025-03-11 Thread Markus Armbruster
From: John Snow Now that the legacy code is factored out, fix up the typing on the remaining code in qapidoc.py. Add a type ignore to qapi_legacy.py to prevent the errors there from bleeding out into qapidoc.py. Signed-off-by: John Snow Message-ID: <20250311034303.75779-38-js...@redhat.com> Ack

[PULL 22/61] docs/qapi-domain: add :unstable: directive option

2025-03-11 Thread Markus Armbruster
From: John Snow Although "unstable" is a feature (and *will* appear in the features list), add a special :unstable: option to generate an eye-catch that makes this information very hard to miss. The forthcoming Transmogrifier in qapidoc.py will add this option whenever it detects that the featur

[PULL 58/61] docs: enable qapidoc transmogrifier for QEMU QMP Reference

2025-03-11 Thread Markus Armbruster
From: John Snow We are not enabling the transmogrifier for QSD or QGA yet because we don't (yet) have a way to create separate indices, and all of the definitions will bleed together, which isn't so nice. For now, QMP is better than nothing at all! Signed-off-by: John Snow Message-ID: <2025031

[PULL 20/61] docs/qapi-domain: add qapi:object directive

2025-03-11 Thread Markus Armbruster
From: John Snow Adds the .. qapi:object:: directive, object, and :qapi:obj:`name` cross-referencing role. This directive is meant to document both structs and unions. As per usual, QAPI cross-referencing for types in the member field list will be added in a forthcoming commit. Signed-off-by: Jo

Re: [PATCH v5 8/8] ppc/pnv: Update skiboot to support Power11

2025-03-11 Thread Cédric Le Goater
+ Reza On 3/11/25 09:39, Nicholas Piggin wrote: On Tue Mar 11, 2025 at 1:33 AM AEST, Cédric Le Goater wrote: On 3/10/25 15:59, Aditya Gupta wrote: On 10/03/25 17:15, Cédric Le Goater wrote: On 3/10/25 11:31, Aditya Gupta wrote: <...snip...>   pc-bios/skiboot.lid | Bin 2527328 -> 2527424 byt

[PULL 24/61] docs/qapi-domain: add warnings for malformed field lists

2025-03-11 Thread Markus Armbruster
From: John Snow Normally, Sphinx will silently fall back to its standard field list processing if it doesn't match one of your defined fields. A lot of the time, that's not what we want - we want to be warned if we goof something up. For instance, the canonical argument field list form is: :arg

[PULL 36/61] docs/qapidoc: add transmogrifier class stub

2025-03-11 Thread Markus Armbruster
From: John Snow Add the beginnings of the Transmogrifier class by adding the rST conversion helpers that will be used to build the virtual rST document. This version of the class does not actually "do anything" yet; each individual feature is added one-at-a-time in the forthcoming commits. Sign

[PULL 28/61] docs/qapi-domain: warn when QAPI domain xrefs fail to resolve

2025-03-11 Thread Markus Armbruster
From: John Snow This patch adds a warning (which is a build failure under our current build settings) whenever a QAPI cross-reference fails to resolve. This applies to any cross-references of the form :qapi:{role}:`foo`, which covers all of the automatically generated references by the qapi doma

[PULL 34/61] docs/qapidoc: split old implementation into qapidoc_legacy.py

2025-03-11 Thread Markus Armbruster
From: John Snow This is being done primarily to be able to type check and delint the new implementation without needing to worry about fixing up the old implementation. I'm adding the new implementation into the existing file instead of into a new file so that when the dust settles, qapidoc.py w

[PULL 56/61] qapi/parser: add undocumented stub members to all_sections

2025-03-11 Thread Markus Armbruster
From: John Snow Parser and doc generator cooperate on generating stub documentation for undocumented members. The parser makes up an ArgSection with an empty description, and the doc generator makes up a description. Right now, the made-up ArgSections go into doc.args. However, the new doc gen

[PULL 59/61] docs: add qapi-domain syntax documentation

2025-03-11 Thread Markus Armbruster
From: John Snow Who documents the documentation? Me, I guess. Signed-off-by: John Snow Message-ID: <20250311034303.75779-63-js...@redhat.com> Acked-by: Markus Armbruster Signed-off-by: Markus Armbruster --- docs/devel/index-build.rst | 1 + docs/devel/qapi-domain.rst | 670 +++

[PULL 49/61] docs/qapidoc: add visit_sections() method

2025-03-11 Thread Markus Armbruster
From: John Snow Implement the actual main dispatch method that processes and handles the list of doc sections for a given QAPI entity. Process doc sections in strict source order. This is good; reordering doc text is undesirable. Improvement over the old doc generator, which can reorder doc comm

[PULL 18/61] docs/qapi-domain: add qapi:alternate directive

2025-03-11 Thread Markus Armbruster
From: John Snow Add the .. qapi:alternate:: directive, object, and qapi:alt:`name` cross-reference role. Add the "Alternatives:" field list for describing alternate choices. Like other field lists that reference QAPI types, a forthcoming commit will add cross-referencing support to this field.

[PULL 43/61] docs/qapidoc: add format_type() method

2025-03-11 Thread Markus Armbruster
From: John Snow This method is responsible for generating a type name for a given member with the correct annotations for the QAPI domain. Features and enums do not *have* types, so they return None. Everything else returns the type name with a "?" suffix if that type is optional, and ensconced i

[PULL 25/61] docs/qapi-domain: add type cross-refs to field lists

2025-03-11 Thread Markus Armbruster
From: John Snow This commit, finally, adds cross-referencing support to various field lists; modeled tightly after Sphinx's own Python domain code. Cross-referencing support is added to type names provided to :arg:, :memb:, :returns: and :choice:. :feat:, :error: and :value:, which do not take

[PULL 21/61] docs/qapi-domain: add :deprecated: directive option

2025-03-11 Thread Markus Armbruster
From: John Snow Although "deprecated" is a feature (and *will* appear in the features list), add a special :deprecated: option to generate an eye-catch that makes this information very hard to miss. The forthcoming Transmogrifier in qapidoc.py will add this option whenever it detects that the fe

Re: [PATCH v2] blockdev-backup: Add error handling option for copy-before-write jobs

2025-03-11 Thread Raman Dzehtsiar
On Tue, Mar 4, 2025 at 10:17 AM Raman Dzehtsiar wrote: > > This patch extends the blockdev-backup QMP command to allow users to specify > how to behave when IO errors occur during copy-before-write operations. > Previously, the behavior was fixed and could not be controlled by the user. > > The ne

Re: [PATCH v2 18/18] hw/rtc: Add Ricoh RS5C372 RTC emulation

2025-03-11 Thread Fabiano Rosas
Bernhard Beschow writes: > The implementation just allows Linux to determine date and time. > > Signed-off-by: Bernhard Beschow For qtest: Acked-by: Fabiano Rosas

[PULL 39/61] docs/qapidoc: add visit_freeform() method

2025-03-11 Thread Markus Armbruster
From: John Snow Add the transmogrifier implementation for converting freeform doc blocks to rST. Signed-off-by: John Snow Message-ID: <20250311034303.75779-43-js...@redhat.com> Acked-by: Markus Armbruster Signed-off-by: Markus Armbruster --- docs/sphinx/qapidoc.py | 44 ++

[PATCH v3 04/14] scsi: introduce requests_lock

2025-03-11 Thread Stefan Hajnoczi
SCSIDevice keeps track of in-flight requests for device reset and Task Management Functions (TMFs). The request list requires protection so that multi-threaded SCSI emulation can be implemented in commits that follow. Signed-off-by: Stefan Hajnoczi Reviewed-by: Kevin Wolf --- include/hw/scsi/sc

[PATCH v3 10/14] virtio: extract iothread-vq-mapping.h API

2025-03-11 Thread Stefan Hajnoczi
The code that builds an array of AioContext pointers indexed by the virtqueue is not specific to virtio-blk. virtio-scsi will need to do the same thing, so extract the functions. Signed-off-by: Stefan Hajnoczi Reviewed-by: Kevin Wolf --- include/hw/virtio/iothread-vq-mapping.h | 45 h

[PULL 41/72] hw/ppc/spapr: Restrict CONFER hypercall to TCG

2025-03-11 Thread Nicholas Piggin
From: Philippe Mathieu-Daudé KVM handles H_CONFER and does not pass it along to QEMU, so only vhyp (as used by TCG spapr) needs to handle it. [npiggin: Add changelog] Signed-off-by: Philippe Mathieu-Daudé Message-ID: <20250127102620.39159-2-phi...@linaro.org> Signed-off-by: Nicholas Piggin ---

[PULL 13/72] ppc/pnv/occ: Update pstate frequency tables

2025-03-11 Thread Nicholas Piggin
OCC pstate frequencies are in kHz, so the OCC data was 3-4MHz. Upgrade to GHz. Make each pstate have a different frequency. Signed-off-by: Nicholas Piggin --- hw/ppc/pnv_occ.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/hw/ppc/pnv_occ.c b/hw/ppc/pnv_occ.c ind

[PULL 58/72] hw/ppc/spapr: Convert DIRTY_HPTE() macro as hpte_set_dirty() method

2025-03-11 Thread Nicholas Piggin
From: Philippe Mathieu-Daudé Convert DIRTY_HPTE() macro as hpte_set_dirty() method. sPAPR data structures including the hash page table are big-endian regardless of current CPU endian mode, so use the big-endian LD/ST API to access the hash PTEs. Reviewed-by: Nicholas Piggin Signed-off-by: Phi

[PULL 71/72] ppc/amigaone: Add #defines for memory map constants

2025-03-11 Thread Nicholas Piggin
From: BALATON Zoltan Suggested-by: Nicholas Piggin Signed-off-by: BALATON Zoltan Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Nicholas Piggin Message-ID: <3b8e54ad9220d57e7b0a33f3570e880f26677ce8.1740673173.git.bala...@eik.bme.hu> Signed-off-by: Nicholas Piggin --- hw/ppc/amigaone.c |

[PATCH v3 02/14] dma: use current AioContext for dma_blk_io()

2025-03-11 Thread Stefan Hajnoczi
In the past a single AioContext was used for block I/O and it was fetched using blk_get_aio_context(). Nowadays the block layer supports running I/O from any AioContext and multiple AioContexts at the same time. Remove the dma_blk_io() AioContext argument and use the current AioContext instead. Th

[PULL 64/72] target/ppc: Wire up BookE ATB registers for e500 family

2025-03-11 Thread Nicholas Piggin
>From the Freescale PowerPC Architecture Primer: Alternate time base APU. This APU, implemented on the e500v2, defines a 64-bit time base counter that differs from the PowerPC defined time base in that it is not writable and counts at a different, and typically much higher, frequency. The

[PULL 22/72] ppc/pnv: Add a default formatted PNOR image

2025-03-11 Thread Nicholas Piggin
The default PNOR image is erased and not recognised by skiboot, so NVRAM gets disabled. This change adds a tiny pnor file that is a proper FFS image with a formatted NVRAM partition. This is recognised by skiboot and will persist across machine reboots. Signed-off-by: Nicholas Piggin --- MAINTAI

[PATCH v3 09/14] virtio-blk: tidy up iothread_vq_mapping functions

2025-03-11 Thread Stefan Hajnoczi
Use noun_verb() function naming instead of verb_noun() because the former is the most common naming style for APIs. The next commit will move these functions into a header file so that virtio-scsi can call them. Shorten iothread_vq_mapping_apply()'s iothread_vq_mapping_list argument to just "list"

[PULL 14/72] ppc/pnv/occ: Add POWER10 OCC-OPAL data format

2025-03-11 Thread Nicholas Piggin
Add POWER10 OCC-OPAL data format. POWER10 changes major version and adds a few fields. Signed-off-by: Nicholas Piggin --- hw/ppc/pnv_occ.c | 43 ++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/hw/ppc/pnv_occ.c b/hw/ppc/pnv_occ.c index 19c

[PULL 28/72] ppc/xive2: Process group backlog when pushing an OS context

2025-03-11 Thread Nicholas Piggin
From: Frederic Barrat When pushing an OS context, we were already checking if there was a pending interrupt in the IPB and sending a notification if needed. We also need to check if there is a pending group interrupt stored in the NVG table. To avoid useless backlog scans, we only scan if the NV

[PATCH v3 13/14] virtio-scsi: handle ctrl virtqueue in main loop

2025-03-11 Thread Stefan Hajnoczi
Previously the ctrl virtqueue was handled in the AioContext where SCSI requests are processed. When IOThread Virtqueue Mapping was added things become more complicated because SCSI requests could run in other AioContexts. Simplify by handling the ctrl virtqueue in the main loop where reset operati

Re: [PATCH 1/2] vfio/migration: Add also max in-flight VFIO device state buffers size limit

2025-03-11 Thread Cédric Le Goater
On 3/7/25 14:45, Maciej S. Szmigiero wrote: On 7.03.2025 13:03, Cédric Le Goater wrote: On 3/7/25 11:57, Maciej S. Szmigiero wrote: From: "Maciej S. Szmigiero" There's already a max in-flight VFIO device state buffers *count* limit, no. there isn't. Do we need both ? This is on a top of t

[RFC PATCH] tests/functional: Don't fail any precaching errors

2025-03-11 Thread Nicholas Piggin
The NetBSD archive is currently failing part-way through downloads, which results in no clean HTTP error but a short transfer and checksum error. This is treated as fatal in the precache download, and it halts an entire set of tests even if some others could run. I hacked up this patch to get a bu

[PULL 1/5] net: parameterize the removing client from nc list

2025-03-11 Thread Jason Wang
From: Eugenio Pérez This change is used in later commits so we can avoid the removal of the netclient if it is delayed. No functional change intended. Reviewed-by: Si-Wei Liu Acked-by: Jason Wang Signed-off-by: Eugenio Pérez Signed-off-by: Jason Wang --- net/net.c | 13 - 1 fil

Re: [PATCH 11/12] virtio-scsi: add iothread-vq-mapping parameter

2025-03-11 Thread Kevin Wolf
Am 10.03.2025 um 15:37 hat Peter Krempa geschrieben: > On Mon, Mar 10, 2025 at 15:33:02 +0100, Kevin Wolf wrote: > > Am 13.02.2025 um 19:00 hat Stefan Hajnoczi geschrieben: > > > Allow virtio-scsi virtqueues to be assigned to different IOThreads. This > > > makes it possible to take advantage of ho

Re: [PATCH v7 5/5] migration: add MULTIFD_RECV_SYNC migration command

2025-03-11 Thread Prasad Pandit
On Mon, 10 Mar 2025 at 20:09, Fabiano Rosas wrote: > Good point. Shutdown at random places makes it difficult to protect > against cleanup races. * Just to understand, how and where do these races occur? Thank you. --- - Prasad

[PATCH v10 08/10] docs/system: virtio-gpu: Add link to Mesa VirGL doc

2025-03-11 Thread Dmitry Osipenko
Extend virtio-gpu documentation with a link to the Mesa VirGL documentation. Suggested-by: Akihiko Odaki Reviewed-by: Akihiko Odaki Signed-off-by: Dmitry Osipenko --- docs/system/devices/virtio-gpu.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/system/devices/vi

Re: [PATCH 1/2] migration: Add some documentation for multifd

2025-03-11 Thread Fabiano Rosas
Peter Xu writes: > On Mon, Mar 10, 2025 at 11:24:15AM -0300, Fabiano Rosas wrote: >> Peter Xu writes: >> >> > On Fri, Mar 07, 2025 at 04:06:17PM -0300, Fabiano Rosas wrote: >> >> > I never tried vsock, would it be used in any use case? >> >> > >> >> >> >> I don't know, I'm going by what's in t

Re: [PATCH v2 3/3] qapi/machine: Make @dump-skeys command generic

2025-03-11 Thread Thomas Huth
On 10/03/2025 14.31, Philippe Mathieu-Daudé wrote: Reduce misc-target.json by one target specific command. Signed-off-by: Philippe Mathieu-Daudé --- qapi/machine.json | 18 ++ qapi/misc-target.json | 19 --- hw/core/machine-qmp-cmds.c | 13 +

Re: [PATCH 2/7] target/riscv: env->misa_mxl is a constant

2025-03-11 Thread Paolo Bonzini
On Fri, Mar 7, 2025 at 1:45 AM Alistair Francis wrote: > I'm not convinced that this is the thing that we should be checking > for. If someone can corrupt the migration data for an attack there are > better things to change then the MXL In principle you could have code that uses 2 << MXL to compu

Re: [PATCH 10/16] exec/ram_addr: remove dependency on cpu.h

2025-03-11 Thread Richard Henderson
On 3/9/25 21:58, Pierrick Bouvier wrote: Signed-off-by: Pierrick Bouvier --- include/exec/ram_addr.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) Reviewed-by: Richard Henderson r~

[PATCH v8 1/6] target/arm/tcg: increase cache level for cpu=max

2025-03-11 Thread Alireza Sanaee via
This patch addresses cache description in the `aarch64_max_tcg_initfn` function for cpu=max. It introduces three layers of caches and modifies the cache description registers accordingly. Signed-off-by: Alireza Sanaee Reviewed-by: Jonathan Cameron --- target/arm/tcg/cpu64.c | 13 +

Re: [PATCH 5/5] aio-posix: Separate AioPolledEvent per AioHandler

2025-03-11 Thread Kevin Wolf
Am 10.03.2025 um 11:55 hat Stefan Hajnoczi geschrieben: > On Fri, Mar 07, 2025 at 11:16:34PM +0100, Kevin Wolf wrote: > > Adaptive polling has a big problem: It doesn't consider that an event > > loop can wait for many different events that may have very different > > typical latencies. > > > > Fo

[PATCH 1/1] util/cacheflush: Make first DSB unconditional on aarch64

2025-03-11 Thread Joe Komlodi
On ARM hosts with CTR_EL0.DIC and CTR_EL0.IDC set, this would only cause an ISB to be executed during cache maintenance, which could lead to QEMU executing TBs containing garbage instructions. This seems to be because the ISB finishes executing instructions and flushes the pipeline, but the ISB do

[PATCH v10 04/10] virtio-gpu: Support asynchronous fencing

2025-03-11 Thread Dmitry Osipenko
Support asynchronous fencing feature of virglrenderer. It allows Qemu to handle fence as soon as it's signalled instead of periodically polling the fence status. This feature is required for enabling DRM context support in Qemu because legacy fencing mode isn't supported for DRM contexts in virglre

[RFC PATCH v3 2/5] hw/vfio/ap: notification handler for AP config changed event

2025-03-11 Thread Rorie Reyes
Register an event notifier handler to process AP configuration change events by queuing the event and generating a CRW to let the guest know its AP configuration has changed Signed-off-by: Rorie Reyes --- hw/vfio/ap.c | 31 +++ 1 file changed, 31 insertions(+) diff -

[PATCH v5 20/29] hw/arm/aspeed_ast27x0: Define an Array of AspeedINTCState with Two Instances

2025-03-11 Thread Jamin Lin via
Updated Aspeed27x0SoCState to include an intc[2] array instead of a single AspeedINTCState instance. Modified aspeed_soc_ast2700_get_irq and aspeed_soc_ast2700_get_irq_index to correctly reference the corresponding interrupt controller instance and OR gate index. Currently, only GIC 192 to 201 are

[PATCH 00/10] target/arm: Forbid exception returns to unimplemented AArch32 ELs

2025-03-11 Thread Peter Maydell
Apologies for the bogus subject line in the cover letter: I accidentally put a leading ' ' into the file and then git send-email interpreted that From line as the subject. Intended subject line was: [PATCH 00/10] target/arm: Forbid exception returns to unimplemented AArch32 ELs -- PMM On Thu, 6 M

[PULL 0/3] xen queue 2025-03-10

2025-03-11 Thread Anthony PERARD
The following changes since commit 5136598e2667f35ef3dc1d757616a266bd5eb3a2: Merge tag 'accel-cpus-20250309' of https://github.com/philmd/qemu into staging (2025-03-10 13:40:48 +0800) are available in the Git repository at: https://xenbits.xen.org/git-http/people/aperard/qemu-dm.git tags/p

Re: [PATCH] bcm2838: Add GIC-400 timer interupt connections

2025-03-11 Thread Sourojeet Adhikari
Hello, So far I've figured out that I need to add a member called SplitIRQ in the BCMSocPeripheralBaseState struct, which is of size defined by `BCM2835_NUM_SPLITTERS`. Then from what I can tell through reading through the codebase, I should do something similar to what happens in `exynos4210.c`

Re: [PATCH] goldfish_rtc: Fix tick_offset migration

2025-03-11 Thread Michael Tokarev
06.03.2025 09:35, Michael Tokarev wrote: Migrate the tick_offset directly, adding it as a version-dependent field to VMState. Keep the old behavior when migrating from previous versions. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2033 Is this a qemu-stable material? It is proba

Re: [PATCH 14/16] system/physmem: compilation unit is now common to all targets

2025-03-11 Thread Richard Henderson
On 3/9/25 21:58, Pierrick Bouvier wrote: Signed-off-by: Pierrick Bouvier --- system/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/meson.build b/system/meson.build index c83d80fa248..9d0b0122e54 100644 --- a/system/meson.build +++ b/system/meson.build @

Re: [qemu-riscv] Error mapping file: Invalid argument

2025-03-11 Thread Peter Maydell
On Mon, 10 Mar 2025 at 15:27, Chu, Benson wrote: > I am working on a linker for the RISC-V target, and I was trying > to use qemu-riscv32 to test my linker. > However, I have noticed that qemu-riscv32 has some restrictions > about how the program can be laid out in memory, and getting my > linker

[PATCH 5/7] hw/hyperv/syndbg: common compilation unit

2025-03-11 Thread Pierrick Bouvier
Replace TARGET_PAGE.* by runtime calls Signed-off-by: Pierrick Bouvier --- hw/hyperv/syndbg.c| 7 --- hw/hyperv/meson.build | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/hw/hyperv/syndbg.c b/hw/hyperv/syndbg.c index d3e39170772..f9382202ed3 100644 --- a/hw/hyperv

Re: [PATCH v6 30/36] vfio/migration: Multifd device state transfer support - send side

2025-03-11 Thread Avihai Horon
On 05/03/2025 0:03, Maciej S. Szmigiero wrote: External email: Use caution opening links or attachments From: "Maciej S. Szmigiero" Implement the multifd device state transfer via additional per-device thread inside save_live_complete_precopy_thread handler. Switch between doing the data t

Re: [PATCH 06/16] exec/cpu-all.h: we can now remove ld/st macros

2025-03-11 Thread Richard Henderson
On 3/9/25 21:58, Pierrick Bouvier wrote: Functions declared in bswap.h will be used instead. At this point, we finished to extract memory API from cpu-all.h, and it can be called from any common or target dependent code. Signed-off-by: Pierrick Bouvier --- include/exec/cpu-all.h | 25 ---

<    1   2   3   4   5   6   7   8   >