[PATCH v2 06/16] codebase: prepare to remove cpu.h from exec/exec-all.h

2025-03-10 Thread Pierrick Bouvier
Reviewed-by: Richard Henderson Signed-off-by: Pierrick Bouvier --- include/tcg/tcg-op.h | 1 + target/ppc/helper_regs.h | 2 ++ hw/ppc/spapr_nested.c | 1 + hw/sh4/sh7750.c| 1 + page-vary-target.c | 2 +- target/riscv/bitmanip_helper.c | 2 +-

Re: [PATCH 3/7] hw/ppc: Handle stash command in PowerNV SBE

2025-03-10 Thread Harsh Prateek Bora
On 2/17/25 12:49, Aditya Gupta wrote: Earlier since the SBE_CMD_STASH_MPIPL_CONFIG command was not handled, so skiboot used to not get any response from SBE: [ 106.350742821,3] SBE: Message timeout [chip id = 0], cmd = d7, subcmd = 7 [ 106.352067746,3] SBE: Failed to send stash M

Re: [PATCH v2 0/3] ppc: Remove ref405ep

2025-03-10 Thread Nicholas Piggin
On Tue Feb 4, 2025 at 6:06 PM AEST, Cédric Le Goater wrote: > Hello, > > The PPC 405 CPU and ref405ep machine was deprecated in QEMU 9.1 > because there are no known users, firmware images are not available, > OpenWRT dropped support in 2019, U-Boot in 2017, and Linux in 2024. > > Continue the phas

[PATCH v3 34/63] qapi/schema: add __repr__ to QAPIDoc.Section

2025-03-10 Thread John Snow
Makes debugging far more pleasant when you can just print(section) and get something reasonable to display. Signed-off-by: John Snow --- scripts/qapi/parser.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/qapi/parser.py b/scripts/qapi/parser.py index 94d5322f8af..11c11bb09e5 10

Re: [PATCH v2 00/15] target/ppc: Move TCG code from excp_helper.c to tcg-excp_helper.c

2025-03-10 Thread Nicholas Piggin
On Mon Jan 27, 2025 at 8:26 PM AEST, Philippe Mathieu-Daudé wrote: > Since v1: > - Keep ppc_tcg_hv_emu() within TARGET_PPC64 (patch #10) > > Hi, > > This series is a simply a cleanup restricting TCG specific > exception-related code to TCG, by moving code to a new unit > named 'tcg-excp_helper.c'.

Re: [PULL v2 0/3] Migration patches for 2025-03-10

2025-03-10 Thread Stefan Hajnoczi
Applied, thanks. Please update the changelog at https://wiki.qemu.org/ChangeLog/10.0 for any user-visible changes. signature.asc Description: PGP signature

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

2025-03-10 Thread Paolo Bonzini
Il lun 10 mar 2025, 23:18 Alistair Francis ha scritto: > On Tue, Mar 11, 2025 at 3:34 AM Paolo Bonzini wrote: > > > > 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 migratio

Re: [PATCH v2 45/62] docs/qapidoc: add visit_errors() method

2025-03-10 Thread Markus Armbruster
John Snow writes: > On Sun, Mar 9, 2025 at 5:05 PM Markus Armbruster wrote: > >> John Snow writes: >> >> > Notably, this method does not currently address the formatting issues >> > present with the "errors" section in QAPIDoc and just vomits the text >> > verbatim into the rST doc, with somewh

Re: [PATCH 7/7] hw/ppc: Implement MPIPL in PowerNV

2025-03-10 Thread Harsh Prateek Bora
On 2/17/25 12:49, Aditya Gupta wrote: Linux expect a "ibm,opal/dump" node to know whether MPIPL (aka fadump) is supported on the hardware. Export the "ibm,opal/dump" node in QEMU's device tree for Linux to know that PowerNV supports MPIPL. With the commit, kernel boots thinking fadump is sup

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

2025-03-10 Thread Pierrick Bouvier
Reviewed-by: Richard Henderson 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 @@ -2,7 +2,6 @

[PATCH v3 54/63] docs/qapidoc: implement transmogrify() method

2025-03-10 Thread John Snow
This is the true top-level processor for the new transmogrifier; responsible both for generating the intermediate rST and then running the nested parse on that generated document to produce the final docutils tree that is then - very finally - postprocessed by sphinx for final rendering to HTML &c.

Re: [PATCH 02/16] exec/memory_ldst_phys: extract memory_ldst_phys declarations from cpu-all.h

2025-03-10 Thread Pierrick Bouvier
On 3/9/25 21:58, Pierrick Bouvier wrote: They are now accessible through exec/memory.h instead, and we make sure all variants are available for common or target dependent code. To allow this, we need to implement address_space_st{*}_cached, simply forwarding the calls to _cached_slow variants.

Re: [PATCH 15/16] system/memory: make compilation unit common

2025-03-10 Thread Pierrick Bouvier
On 3/10/25 11:27, Philippe Mathieu-Daudé wrote: On 10/3/25 19:04, Pierrick Bouvier wrote: On 3/10/25 10:58, Richard Henderson wrote: On 3/10/25 10:47, Pierrick Bouvier wrote: Maybe better as    MemOp mop = (target_words_bigendian() ? MO_BE : MO_LE) | size_memop(size);    adjust_endi

Re: [PATCH 4/7] hw/ppc: Add MDST/MDDT/MDRT table structures and offsets

2025-03-10 Thread Harsh Prateek Bora
On 2/17/25 12:49, Aditya Gupta wrote: Add the MDST, MDDT, MDRT tables offsets and structures as per current skiboot upstream: commit bc7b85db1e7e ("opal-ci: Remove centos7") These structures will be later populated when preserving memory regions for MPIPL Signed-off-by: Aditya Gupta -

Re: Building QEMU as a Shared Library

2025-03-10 Thread Saanjh Sengupta
Hi, Thank you for your inputs. Let me check with the information you provided. Will let you know if I am stuck with something. Regards Saanjh Sengupta From: Pierrick Bouvier Sent: Wednesday, March 5, 2025 5:20:38 AM To: Saanjh Sengupta ; Philippe Mathieu-Daudé

[PATCH v3 15/63] docs/qapi-domain: add "Arguments:" field lists

2025-03-10 Thread John Snow
This adds special rendering for Sphinx's typed info field lists. This patch does not add any QAPI-aware markup, rendering, or cross-referencing for the type names, yet. That feature requires a subclass to TypedField which will happen in its own commit quite a bit later in this series; after all th

[RFC PATCH] vfio/pci-quirks: Exclude non-ioport BAR from ATI quirk

2025-03-10 Thread Vasilis Liaskovitis
The ATI BAR4 quirk is targeting an ioport BAR. Older devices may have a BAR4 which is not an ioport, causing a segfault here. Test the BAR type to skip these devices. Similar to "8f419c5b: vfio/pci-quirks: Exclude non-ioport BAR from NVIDIA quirk" Untested, as I don't have the card to test. Reso

[PATCH v3 50/63] docs/qapidoc: add visit_returns() method

2025-03-10 Thread John Snow
Generates :return: fields for explicit returns statements. Note that this does not presently handle undocumented returns, which is handled in a later commit. Signed-off-by: John Snow --- docs/sphinx/qapidoc.py | 15 +++ 1 file changed, 15 insertions(+) diff --git a/docs/sphinx/qapid

Re: [PULL 0/5] Net patches

2025-03-10 Thread Stefan Hajnoczi
Applied, thanks. Please update the changelog at https://wiki.qemu.org/ChangeLog/10.0 for any user-visible changes. signature.asc Description: PGP signature

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

2025-03-10 Thread Stefan Hajnoczi
Applied, thanks. Please update the changelog at https://wiki.qemu.org/ChangeLog/10.0 for any user-visible changes. signature.asc Description: PGP signature

Re: [PULL v2 00/31] testing, plugin and maintainer updates

2025-03-10 Thread Stefan Hajnoczi
Applied, thanks. Please update the changelog at https://wiki.qemu.org/ChangeLog/10.0 for any user-visible changes. signature.asc Description: PGP signature

[PATCH v3 06/63] docs/qapi-domain: add QAPI index

2025-03-10 Thread John Snow
Use the QAPI object registry to generate a special index just for QAPI definitions. The index can show entries both by definition type and all together, alphabetically. The index can be linked from anywhere in the QEMU manual by using the reference `qapi-index`. Signed-off-by: John Snow --- doc

Re: [PATCH 2/7] hw/ppc: Implement S0 SBE interrupt as cpu_pause then host reset

2025-03-10 Thread Harsh Prateek Bora
On 2/17/25 12:49, Aditya Gupta wrote: SBE's implementation of S0 seems to be basically "stop all clocks" and then "host reset" Nearest equivalent to the stop clocks seems to be 'pause_all_vcpus' in QEMU, Then reset the host, which is 'SHUTDOWN_CAUSE_GUEST_RESET' in QEMU. Implement the S0 in

Re: [PATCH 09/16] exec/memory-internal: remove dependency on cpu.h

2025-03-10 Thread Richard Henderson
On 3/9/25 21:58, Pierrick Bouvier wrote: Signed-off-by: Pierrick Bouvier --- include/exec/memory-internal.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/include/exec/memory-internal.h b/include/exec/memory-internal.h index 100c1237ac2..b729f3b25ad 100644 --- a/include/exec/memory-inte

Re: [PATCH 1/7] hw/ppc: Log S0/S1 Interrupt triggers by OPAL

2025-03-10 Thread Harsh Prateek Bora
On 2/17/25 12:49, Aditya Gupta wrote: During MPIPL (aka fadump), OPAL triggers the S0 SBE interrupt to trigger MPIPL. Currently QEMU treats it as "Unimplemented", handle the interrupts by just logging that the interrupt happened. Signed-off-by: Aditya Gupta --- hw/ppc/pnv_sbe.c | 13 +

[PATCH v3 37/63] docs/qapidoc: Fix static typing on qapidoc.py

2025-03-10 Thread 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 --- docs/sphinx/qapidoc.py| 40 ++-

[PATCH v2 01/16] exec/tswap: target code can use TARGET_BIG_ENDIAN instead of target_words_bigendian()

2025-03-10 Thread Pierrick Bouvier
Reviewed-by: Richard Henderson Signed-off-by: Pierrick Bouvier --- include/exec/tswap.h | 11 ++- cpu-target.c | 1 + 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/include/exec/tswap.h b/include/exec/tswap.h index ecd4faef015..2683da0adb7 100644 --- a/include/ex

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

2025-03-10 Thread John Snow
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 stub members will be inserted directly after the leading section.

[PATCH v3 56/63] docs/qapidoc: add intermediate output debugger

2025-03-10 Thread 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 --- docs/sphinx/qapidoc.py | 41

[PATCH v2 16/16] system/ioport: make compilation unit common

2025-03-10 Thread Pierrick Bouvier
Reviewed-by: Richard Henderson Signed-off-by: Pierrick Bouvier --- system/ioport.c| 1 - system/meson.build | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/system/ioport.c b/system/ioport.c index 55c2a752396..89daae9d602 100644 --- a/system/ioport.c +++ b/system/ioport.

[PATCH v2 09/16] exec/ram_addr: remove dependency on cpu.h

2025-03-10 Thread Pierrick Bouvier
Reviewed-by: Richard Henderson Signed-off-by: Pierrick Bouvier --- include/exec/ram_addr.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h index 3d8df4edf15..7c011fadd11 100644 --- a/include/exec/ram_addr.h +++ b/include/exe

[PATCH v2 12/16] hw/xen: add stubs for various functions

2025-03-10 Thread Pierrick Bouvier
Those functions are used by system/physmem.c, and are called only if xen is enabled (which happens only if CONFIG_XEN is not set). So we can crash in case those are called. Acked-by: Richard Henderson Signed-off-by: Pierrick Bouvier --- hw/xen/xen_stubs.c | 56 +

[PATCH v2 02/16] exec/tswap: implement {ld, st}.*_p as functions instead of macros

2025-03-10 Thread Pierrick Bouvier
Defining functions allows to use them from common code, by not depending on TARGET_BIG_ENDIAN. Remove previous macros from exec/cpu-all.h. By moving them out of cpu-all.h, we'll be able to break dependency on cpu.h for memory related functions coming in next commits. Signed-off-by: Pierrick Bouvie

[PATCH v2 03/16] exec/memory_ldst: extract memory_ldst declarations from cpu-all.h

2025-03-10 Thread Pierrick Bouvier
They are now accessible through exec/memory.h instead, and we make sure all variants are available for common or target dependent code. Signed-off-by: Pierrick Bouvier --- include/exec/cpu-all.h | 12 include/exec/memory_ldst.h.inc | 4 2 files changed, 16 deletions(-)

[PATCH v2 08/16] exec/memory-internal: remove dependency on cpu.h

2025-03-10 Thread Pierrick Bouvier
Reviewed-by: Richard Henderson Signed-off-by: Pierrick Bouvier --- include/exec/memory-internal.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/include/exec/memory-internal.h b/include/exec/memory-internal.h index 100c1237ac2..b729f3b25ad 100644 --- a/include/exec/memory-internal.h +++ b/

[PATCH v2 10/16] system/kvm: make kvm_flush_coalesced_mmio_buffer() accessible for common code

2025-03-10 Thread Pierrick Bouvier
This function is used by system/physmem.c will be turn into common code in next commit. Reviewed-by: Richard Henderson Signed-off-by: Pierrick Bouvier --- include/system/kvm.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/system/kvm.h b/include/system/kvm.h i

[PATCH v2 07/16] exec/exec-all: remove dependency on cpu.h

2025-03-10 Thread Pierrick Bouvier
Reviewed-by: Richard Henderson Signed-off-by: Pierrick Bouvier --- include/exec/exec-all.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h index dd5c40f2233..19b0eda44a7 100644 --- a/include/exec/exec-all.h +++ b/include/exec/exec-all.h @@ -20

[PATCH v3 19/63] docs/qapi-domain: add qapi:enum directive

2025-03-10 Thread John Snow
Add the .. qapi:enum:: directive, object, and :qapi:enum:`name` cross-reference role. Add the :value name: field list for documenting Enum values. Of note, also introduce a new "type" role that is intended to be used by other QAPI object directives to cross-reference arbitrary QAPI type names, bu

[PATCH v2 04/16] exec/memory_ldst_phys: extract memory_ldst_phys declarations from cpu-all.h

2025-03-10 Thread Pierrick Bouvier
They are now accessible through exec/memory.h instead, and we make sure all variants are available for common or target dependent code. Move stl_phys_notdirty function as well. Cached endianness agnostic version rely on st/ld*_p, which is available through tswap.h. Signed-off-by: Pierrick Bouvier

[PATCH v2 11/16] exec/ram_addr: call xen_hvm_modified_memory only if xen is enabled

2025-03-10 Thread Pierrick Bouvier
Reviewed-by: Richard Henderson Signed-off-by: Pierrick Bouvier --- include/exec/ram_addr.h | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h index 7c011fadd11..098fccb5835 100644 --- a/include/exec/ram_addr.h +++ b/inclu

[PATCH v2 00/16] make system memory API available for common code

2025-03-10 Thread Pierrick Bouvier
The main goal of this series is to be able to call any memory ld/st function from code that is *not* target dependent. As a positive side effect, we can turn related system compilation units into common code. The first 5 patches remove dependency of memory API to cpu headers and remove dependency

[PATCH v3 46/63] docs/qapidoc: add format_type() method

2025-03-10 Thread 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 in [brackets] if it

[PATCH v3 23/63] docs/qapi-domain: add :deprecated: directive option

2025-03-10 Thread 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 features list attach

[PATCH v3 57/63] docs/qapidoc: Add "the members of" pointers

2025-03-10 Thread John Snow
Add "the members of ..." pointers to Members and Arguments lists where appropriate, with clickable cross-references - so it's a slight improvement over the old system :) This patch is meant to be a temporary solution until we can review and merge the inliner. The implementation of this patch is a

[PATCH v3 42/63] docs/qapidoc: add visit_freeform() method

2025-03-10 Thread John Snow
Add the transmogrifier implementation for converting freeform doc blocks to rST. Signed-off-by: John Snow --- docs/sphinx/qapidoc.py | 44 ++ 1 file changed, 44 insertions(+) diff --git a/docs/sphinx/qapidoc.py b/docs/sphinx/qapidoc.py index 6de8c900543..

[PATCH v3 60/63] docs: disambiguate cross-references

2025-03-10 Thread John Snow
The next patch will engage the qapidoc transmogrifier, which creates a lot of cross-reference targets. Some of the existing targets ("migration", "qom", "replay") will become ambiguous as a result. Nail them down more explicitly to prevent ambiguous cross-reference warnings. Signed-off-by: John Sn

[PATCH v3 21/63] docs/qapi-domain: add qapi:event directive

2025-03-10 Thread John Snow
Adds the .. qapi:event:: directive, object, and :qapi:event:`name` cross-referencing role. Adds the :memb type name: field list syntax for documenting event data members. As this syntax and phrasing will be shared with Structs and Unions as well, add the field list definition to a shared abstract

[PATCH v3 47/63] docs/qapidoc: add add_field() and generate_field() helper methods

2025-03-10 Thread John Snow
These are simple rST generation methods that assist in getting the types and formatting correct for a field list entry. add_field() is a more raw, direct call while generate_field() is intended to be used for generating the correct field from a member object. Signed-off-by: John Snow --- docs/sp

[PATCH v3 58/63] docs/qapidoc: generate entries for undocumented members

2025-03-10 Thread John Snow
Presently, we never have any empty text entries for members. The next patch will explicitly generate such sections, so enable support for it in advance. The parser will generate placeholder sections to indicate undocumented members, but it's the qapidoc generator that's responsible for deciding wh

[PATCH v3 48/63] docs/qapidoc: add visit_feature() method

2025-03-10 Thread 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 generator that will be ad

[PATCH v3 52/63] docs/qapidoc: add visit_sections() method

2025-03-10 Thread John Snow
Implement the actual main dispatch method that processes and handles the list of doc sections for a given QAPI entity. Signed-off-by: John Snow --- docs/sphinx/qapidoc.py | 25 + 1 file changed, 25 insertions(+) diff --git a/docs/sphinx/qapidoc.py b/docs/sphinx/qapidoc.p

[PATCH v3 55/63] docs/qapidoc: process @foo into ``foo``

2025-03-10 Thread John Snow
Add support for the special QAPI doc syntax to process @references as ``preformatted text``. At the moment, there are no actual cross-references for individual members, so there is nothing to link against. For now, process it identically to how we did in the old qapidoc system. Signed-off-by: John

[PATCH v3 14/63] docs/qapi-domain: add :since: directive option

2025-03-10 Thread 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 --- docs/sphinx/qapi_domain.py | 14 +- 1 file chang

[PATCH v3 30/63] docs/qapi-domain: warn when QAPI domain xrefs fail to resolve

2025-03-10 Thread 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 domain, and any such r

[PATCH v3 03/63] docs/sphinx: create QAPI domain extension stub

2025-03-10 Thread 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-doc.org/en/master/us

[PATCH v3 41/63] qapi/source: allow multi-line QAPISourceInfo advancing

2025-03-10 Thread 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 patch will use this

[PATCH v3 61/63] docs: enable qapidoc transmogrifier for QEMU QMP Reference

2025-03-10 Thread 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 --- docs/interop/qemu-qmp-ref.rst | 1

[PATCH v3 53/63] docs/qapidoc: add visit_entity()

2025-03-10 Thread John Snow
Finally, the core entry method for a qapi entity. Signed-off-by: John Snow --- docs/sphinx/qapidoc.py | 21 + 1 file changed, 21 insertions(+) diff --git a/docs/sphinx/qapidoc.py b/docs/sphinx/qapidoc.py index 83022b15ca2..aaf5b6e22bc 100644 --- a/docs/sphinx/qapidoc.py +++

[PATCH v3 08/63] docs/qapi-domain: add QAPI xref roles

2025-03-10 Thread 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 QAPIXRefRole class; r

[PATCH v3 45/63] docs/qapidoc: add visit_errors() method

2025-03-10 Thread John Snow
Notably, this method does not currently address the formatting issues present with the "errors" section in QAPIDoc and just vomits the text verbatim into the rST doc, with somewhat inconsistent results. To be addressed in a future patch. Signed-off-by: John Snow --- docs/sphinx/qapidoc.py | 6 +

[PATCH v3 35/63] docs/qapidoc: add transmogrifier stub

2025-03-10 Thread John Snow
This commit adds a stubbed option to the qapi-doc directive that opts-in to the new rST generator; the implementation of which will follow in subsequent commits. Once all QAPI documents have been converted, this option and the old qapidoc implementation can be dropped. Note that moving code outsi

[PATCH v3 28/63] docs/qapi-domain: add CSS styling

2025-03-10 Thread John Snow
Improve the general look and feel of generated QAPI docs. Attempt to limit line lengths to offer a more comfortable measure on maximized windows, and improve some margin and spacing for field lists. Signed-off-by: Harmonie Snow Signed-off-by: John Snow --- docs/sphinx-static/theme_overrides.cs

[PATCH v3 51/63] docs/qapidoc: add visit_member() method

2025-03-10 Thread John Snow
This method is used for generating the "members" of a wide variety of things, including structs, unions, enums, alternates, etc. The field name it uses to do so is dependent on the type of entity the "member" belongs to. Currently, IF conditionals for individual members are not handled or rendered

[PATCH v3 36/63] docs/qapidoc: split old implementation into qapidoc_legacy.py

2025-03-10 Thread 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 will contain the fu

[PATCH v3 26/63] docs/qapi-domain: add warnings for malformed field lists

2025-03-10 Thread 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 type name: descr

[PATCH v3 17/63] docs/qapi-domain: add "Errors:" field lists

2025-03-10 Thread 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 --- docs/sphinx/qapi_domain.py | 9 - 1 file changed, 8 insertions(+), 1 delet

[PATCH v3 05/63] docs/qapi-domain: add QAPI domain object registry

2025-03-10 Thread John Snow
This is the first step towards QAPI domain cross-references and a QAPI reference index. This patch just creates the object registry, and updates the merge_domaindata stub method now that we have actual data we may need to merge. Note that how to handle merge conflict resolution is unhandled, as t

[PATCH v3 29/63] docs/qapi-domain: add XREF compatibility goop for Sphinx < 4.1

2025-03-10 Thread 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 because of the overflo

[PATCH v3 38/63] do-not-merge

2025-03-10 Thread John Snow
Add strict typing to qapidoc.py for the remainder of this series. Signed-off-by: John Snow --- scripts/qapi-lint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/qapi-lint.sh b/scripts/qapi-lint.sh index 7534ab0df98..cbad92c15b4 100755 --- a/scripts/qapi-lint.sh +++

[PATCH v3 22/63] docs/qapi-domain: add qapi:object directive

2025-03-10 Thread 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: John Snow --- docs

[PATCH v3 39/63] docs/qapidoc: add transmogrifier class stub

2025-03-10 Thread 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. Signed-off-by: John Sn

[PATCH v3 20/63] docs/qapi-domain: add qapi:alternate directive

2025-03-10 Thread 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. Signed-off-by: Joh

[PATCH v3 49/63] docs/qapidoc: prepare to record entity being transmogrified

2025-03-10 Thread John Snow
Prepare to keep a record of which entity we're working on documenting for the purposes of being able to change certain generative features conditionally and create stronger assertions. If you find yourself asking: "Wait, but where does the current entity actually get recorded?!", you're right! Tha

[PATCH v3 13/63] docs/qapi-domain: add qapi:command directive

2025-03-10 Thread John Snow
This commit adds a stubbed version of QAPICommand that utilizes the QAPIObject class, the qapi:command directive, the :qapi:cmd: cross-reference role, and the "command" object type in the QAPI object registry. They don't do anything *particularly* interesting yet, but that will come in forthcoming

[PATCH v3 31/63] docs/qapi-domain: Fix error context reporting in Sphinx 5.x and 6.x

2025-03-10 Thread 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; test it yourself by

[PATCH v3 24/63] docs/qapi-domain: add :unstable: directive option

2025-03-10 Thread 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 features list attached t

[PATCH v3 27/63] docs/qapi-domain: add type cross-refs to field lists

2025-03-10 Thread 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 type names, do not

[PATCH v3 11/63] docs/qapi-domain: add qapi:module directive

2025-03-10 Thread John Snow
This adds the qapi:module directive, which just notes the current module being documented and performs a nested parse of the content block, if present. This code is based pretty heavily on Sphinx's PyModule directive, but with unnecessary features excised. For example: .. qapi:module:: block-cor

[PATCH v3 12/63] docs/qapi-domain: add QAPIObject class

2025-03-10 Thread John Snow
This patch adds another abstract class that describes "a QAPI thingie". The main difference here is that this class will be generating visible documentation, unlike the QAPIDescription class. Signed-off-by: John Snow --- docs/sphinx/qapi_domain.py | 64 ++ 1 f

[PATCH v3 10/63] docs/qapi-domain: Add QAPIDescription abstract class

2025-03-10 Thread John Snow
This class is a generic, top-level directive for documenting some kind of QAPI thingamajig that we expect to go into the Index. This class doesn't do much by itself, and it isn't yet associated with any particular directive. handle_signature(), _object_hierarchy_parts() and _toc_entry_name() are d

[PATCH v3 00/63] docs: Add new QAPI transmogrifier

2025-03-10 Thread John Snow
This series is a "minimum viable" version of the new QAPI documentation system. It does the bare minimum under the new framework, saving the fancy features like the inliner for later. This version does add cross-references for all QAPI definitions and a shiny new QAPI Index. Patches 3-31 implement

[PATCH v3 07/63] docs/qapi-domain: add resolve_any_xref()

2025-03-10 Thread John Snow
Add the ability to resolve cross-references using the `any` cross-reference syntax. Adding QAPI-specific cross-reference roles will be added in a forthcoming commit, and will share the same find_obj() helper. (There's less code needed for the generic cross-reference resolver, so it comes first in

[PATCH v3 02/63] qapi: shush pylint up

2025-03-10 Thread John Snow
Sh! This patch can be dropped from the PR and I'll clean it up later. It's just here to help me establish a linting baseline. It isn't really needed for the series itself. Signed-off-by: John Snow --- scripts/qapi/backend.py | 2 ++ scripts/qapi/main.py| 8 +++- 2 files changed, 5 i

[PATCH 03/16] mcd: Implement target initialization API

2025-03-10 Thread Mario Fleischmann
The target initialization API ensures that the requested and provided MCD versions are compatible. * implement mcd_initialize_f and mcd_qry_error_info_f in mcdserver * implement QMP stub functionality * add QTest Thanks to the QMP integration in QTest, function arguments and results can be (de)se

Re: [RFC PATCH v2 1/5] linux-headers: NOTFORMERGE - placeholder uapi updates for AP config change

2025-03-10 Thread Cédric Le Goater
Hello Rorie, On 3/10/25 15:20, Rorie Reyes wrote: On 2/5/25 3:38 AM, Cédric Le Goater wrote: Are the kernel changes planned for 6.14 ? FYI, QEMU 10.0 hard freeze is scheduled for 2025-03-18 which is approximately when 6.14-rc7 will be released. Thanks, C. Vasily - Since you applied my

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

2025-03-10 Thread Kevin Wolf
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 host multi-queue block layer > scalability by assigning virtqueues that have affinity with vCPUs to > different IOThreads that

[PULL 0/1] Tracing patches

2025-03-10 Thread Stefan Hajnoczi
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://gitlab.com/stefanha/qemu.git tags/tracing-pull-request for

Re: [PULL 8/8] migration: Add qtest for migration over RDMA

2025-03-10 Thread Zhijian Li (Fujitsu)
On 10/03/2025 22:36, Peter Xu wrote: > On Mon, Mar 10, 2025 at 08:33:14AM +, Zhijian Li (Fujitsu) wrote: >> Hi Stefan, >> >> Copied to gitlab CI, >> >> On 08/03/2025 16:42, Stefan Hajnoczi wrote: >>> On Sat, Mar 8, 2025 at 2:01 PM Philippe Mathieu-Daudé >>> wrote: Hi, On

[PATCH v6] migration: Add qtest for migration over RDMA

2025-03-10 Thread Li Zhijian via
This qtest requires there is a RDMA(RoCE) link in the host. In order to make the test work smoothly, introduce a scripts/rdma-migration-helper.sh to detect existing RoCE link before running the test. Test will be skipped if there is no available RoCE link. # Start of rdma tests # Running /x86_64

Re: [PATCH v6] migration: Add qtest for migration over RDMA

2025-03-10 Thread Zhijian Li (Fujitsu)
Hi Fabiano, A minor improvement inline below, On 11/03/2025 10:42, Li Zhijian wrote: > This qtest requires there is a RDMA(RoCE) link in the host. > In order to make the test work smoothly, introduce a > scripts/rdma-migration-helper.sh to detect existing RoCE link before > running the test. >

QEMU 10.0 soft freeze

2025-03-10 Thread Stefan Hajnoczi
Hi, Today is the QEMU 10.0 soft freeze: Only bug fixes after this point. All feature changes must be already in a sub maintainer tree and all pull requests from submaintainers must have been sent to the list by this date. https://wiki.qemu.org/Planning/10.0 This is a good time to review th

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

2025-03-10 Thread Stefan Hajnoczi
On Mon, Mar 10, 2025 at 12:11:44PM +0100, Kevin Wolf wrote: > 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 ev

Re: [PATCH 05/16] qemu/bswap: implement {ld,st}.*_p as functions

2025-03-10 Thread BALATON Zoltan
On Mon, 10 Mar 2025, Pierrick Bouvier wrote: On 3/10/25 09:53, Richard Henderson wrote: On 3/10/25 09:43, Pierrick Bouvier wrote: On 3/10/25 09:37, Richard Henderson wrote: On 3/10/25 09:14, Pierrick Bouvier wrote: On 3/10/25 09:08, Richard Henderson wrote: On 3/9/25 21:58, Pierrick Bouvier

Re: [PATCH] trace/control-target: cleanup headers and make compilation unit common

2025-03-10 Thread Stefan Hajnoczi
On Tue, Mar 04, 2025 at 09:07:16PM -0800, Pierrick Bouvier wrote: > Signed-off-by: Pierrick Bouvier > --- > trace/control-target.c | 2 -- > trace/meson.build | 4 +--- > 2 files changed, 1 insertion(+), 5 deletions(-) Thanks, applied to my tracing tree: https://gitlab.com/stefanha/qemu/com

RE: [PATCH v2 15/21] hw/vfio/pci: Check CONFIG_IOMMUFD at runtime using iommufd_builtin()

2025-03-10 Thread Duan, Zhenzhong
>-Original Message- >From: Philippe Mathieu-Daudé >Subject: Re: [PATCH v2 15/21] hw/vfio/pci: Check CONFIG_IOMMUFD at runtime >using iommufd_builtin() > >On 10/3/25 05:11, Duan, Zhenzhong wrote: >> Hi Philippe, >> >>> -Original Message- >>> From: Philippe Mathieu-Daudé >>> Subje

Re: [PATCH] docs: Explain how to use passt

2025-03-10 Thread David Gibson
On Mon, Mar 10, 2025 at 07:00:50PM +0100, Laurent Vivier wrote: > Add a chapter to explain how to use passt(1) instead of '-net user'. > passt(1) can be connected to QEMU using UNIX socket or vhost-user. > With vhost-user, migration of the VM is allowed and internal state of > passt(1) is transfere

[PATCH 05/16] mcd: Implement target system query

2025-03-10 Thread Mario Fleischmann
In MCD, the target system is divided into system, devices and cores: [ system ] 1-* [ devices ] 1-* [cores] This commit implements the necessary functions to query information about the target system. Signed-off-by: Mario Fleischmann --- mcd/libmcd_qapi.c | 48 + mcd/libmcd_qapi.h

Re: [PATCH 05/16] qemu/bswap: implement {ld,st}.*_p as functions

2025-03-10 Thread Pierrick Bouvier
On 3/10/25 09:37, Richard Henderson wrote: On 3/10/25 09:14, Pierrick Bouvier wrote: On 3/10/25 09:08, Richard Henderson wrote: On 3/9/25 21:58, Pierrick Bouvier wrote: For now, they are duplicate of the same macros in cpu-all.h that we eliminate in next commit. Keep code readable by not defi

Re: [PATCH 13/16] hw/xen: add stubs for various functions

2025-03-10 Thread Richard Henderson
On 3/9/25 21:58, Pierrick Bouvier wrote: Those functions are used by system/physmem.c, and are called only if xen is enabled (which happens only if CONFIG_XEN is not set). So we can crash in case those are called. Signed-off-by: Pierrick Bouvier --- hw/xen/xen_stubs.c | 56 +++

Re: [PATCH v5 14/14] hw/sd/sdhci: Remove unnecessary 'endianness' property

2025-03-10 Thread Philippe Mathieu-Daudé
On 10/3/25 16:56, Guenter Roeck wrote: On 3/10/25 08:27, Philippe Mathieu-Daudé wrote: On 10/3/25 15:09, BALATON Zoltan wrote: On Mon, 10 Mar 2025, Philippe Mathieu-Daudé wrote: The previous commit removed the single use of instance setting the "endianness" property. Since classes can registe

  1   2   3   >