Re: [PATCH 05/10] rust: qdev: add clock creation

2025-02-05 Thread Zhao Liu
> // SAFETY: > // > -// self.clock is not initialized at this point; but since > `NonNull<_>` is Copy, > -// we can overwrite the undefined value without side effects. This is > +// self.clock is not initialized at this point; but since > `NonNull<_>` is

Re: [PATCH v2 8/9] vfio: Check compatibility of CPU and IOMMU address space width

2025-02-05 Thread Gerd Hoffmann
> > Note that there is a 'guest-phys-bits' property for x86 CPUs, which is a > > hint for the guest what the usable address width is. It was added > > because there are cases where the guest simply can't figure that it is > > not possible to use the full physical address space of the cpu. There >

Re: [PATCH 03/10] rust: qom: add object creation functionality

2025-02-05 Thread Paolo Bonzini
On Thu, Feb 6, 2025 at 8:29 AM Zhao Liu wrote: > The ref count of Owned<> is decreased on exit, so we need to use > sysbus_realize() instead of sysbus_realize_and_unref() to ensure ref > count is correct at C side. > > Initially, I hesitated here for an entire morning because this didn't > seem to

Re: [PATCH 03/10] rust: qom: add object creation functionality

2025-02-05 Thread Zhao Liu
On Fri, Jan 17, 2025 at 08:39:56PM +0100, Paolo Bonzini wrote: > Date: Fri, 17 Jan 2025 20:39:56 +0100 > From: Paolo Bonzini > Subject: [PATCH 03/10] rust: qom: add object creation functionality > X-Mailer: git-send-email 2.47.1 > > The basic object lifecycle test can now be implemented using saf

RE: [PATCH v1 12/18] hw/arm/aspeed_ast27x0: Support two levels of INTC controllers for AST2700 A1

2025-02-05 Thread Jamin Lin
Hi Cedric, > From: Cédric Le Goater > Sent: Thursday, February 6, 2025 3:23 PM > To: Jamin Lin ; Andrew Jeffery > ; Peter Maydell ; > Steven Lee ; Troy Lee ; > Joel Stanley ; open list:ASPEED BMCs > ; open list:All patches CC here > > Cc: Troy Lee ; Yunlin Tang > > Subject: Re: [PATCH v1 12/18

RE: [PATCH v1 12/18] hw/arm/aspeed_ast27x0: Support two levels of INTC controllers for AST2700 A1

2025-02-05 Thread Jamin Lin
Hi Cedric, > From: Cédric Le Goater > Sent: Thursday, February 6, 2025 3:17 PM > To: Jamin Lin ; Joel Stanley > Cc: Andrew Jeffery ; Peter Maydell > ; Steven Lee ; Troy > Lee ; open list:ASPEED BMCs ; > open list:All patches CC here ; Troy Lee > ; Yunlin Tang > Subject: Re: [PATCH v1 12/18] hw

Re: [PATCH v1 12/18] hw/arm/aspeed_ast27x0: Support two levels of INTC controllers for AST2700 A1

2025-02-05 Thread Cédric Le Goater
The design of the OR gates for GICINT 196 is as follows: It has interrupt sources ranging from 0 to 31, with its output pin connected to INTC_IO "T0 GICINT_196". The output pin is then connected to INTC_CPU "GIC_192_201" at bit 4, and its bit 4 output should be connected to GIC 196. The design of

Re: [PATCH 2/2] nbd/server: Allow users to adjust handshake limit in QMP

2025-02-05 Thread Vladimir Sementsov-Ogievskiy
On 04.02.25 01:26, Eric Blake wrote: Although defaulting the handshake limit to 10 seconds was a nice QoI change to weed out intentionally slow clients, it can interfere with integration testing done with manual NBD_OPT commands over 'nbdsh --opt-mode'. Expose a QMP knob 'handshake-max-secs' to

Re: [PATCH v1 12/18] hw/arm/aspeed_ast27x0: Support two levels of INTC controllers for AST2700 A1

2025-02-05 Thread Cédric Le Goater
On 2/6/25 06:15, Jamin Lin wrote: Hi Joel, From: Joel Stanley Sent: Thursday, February 6, 2025 12:55 PM To: Jamin Lin Cc: Andrew Jeffery ; Cédric Le Goater ; Peter Maydell ; Steven Lee ; Troy Lee ; open list:ASPEED BMCs ; open list:All patches CC here ; Troy Lee ; Yunlin Tang Subject: Re: [P

Re: [RFC v4 0/5] Add packed virtqueue to shadow virtqueue

2025-02-05 Thread Eugenio Perez Martin
On Thu, Feb 6, 2025 at 6:26 AM Sahil Siddiq wrote: > > Hi, > > On 2/4/25 11:40 PM, Eugenio Perez Martin wrote: > > On Tue, Feb 4, 2025 at 1:49 PM Sahil Siddiq wrote: > >> On 1/31/25 12:27 PM, Eugenio Perez Martin wrote: > >>> On Fri, Jan 31, 2025 at 6:04 AM Sahil Siddiq > >>> wrote: > On 1

Re: [PATCH 1/2] qemu-nbd: Allow users to adjust handshake limit

2025-02-05 Thread Vladimir Sementsov-Ogievskiy
On 04.02.25 01:26, Eric Blake wrote: Although defaulting the handshake limit to 10 seconds was a nice QoI change to weed out intentionally slow clients, it can interfere with integration testing done with manual NBD_OPT commands over 'nbdsh --opt-mode'. Expose a command line option to allow the

RE: [PATCH v1 12/18] hw/arm/aspeed_ast27x0: Support two levels of INTC controllers for AST2700 A1

2025-02-05 Thread Jamin Lin
Hi Joel, > From: Joel Stanley > Sent: Thursday, February 6, 2025 12:55 PM > To: Jamin Lin > Cc: Andrew Jeffery ; Cédric Le Goater > ; Peter Maydell ; Steven Lee > ; Troy Lee ; open > list:ASPEED BMCs ; open list:All patches CC here > ; Troy Lee ; Yunlin > Tang > Subject: Re: [PATCH v1 12/18] hw

Re: [PATCH v4 2/4] qdev-properties: Accept bool for OnOffAuto

2025-02-05 Thread Akihiko Odaki
On 2025/02/06 0:29, Markus Armbruster wrote: Akihiko Odaki writes: Accept bool literals for OnOffAuto properties for consistency with bool properties. This enables users to set the "on" or "off" value in a uniform syntax without knowing whether the "auto" value is accepted. This behavior is es

Re: [PATCH 2/2] nbd/server: Allow users to adjust handshake limit in QMP

2025-02-05 Thread Markus Armbruster
Eric Blake writes: > On Wed, Feb 05, 2025 at 07:55:56AM +0100, Markus Armbruster wrote: >> Eric Blake writes: >> >> > Although defaulting the handshake limit to 10 seconds was a nice QoI >> > change to weed out intentionally slow clients, it can interfere with >> > integration testing done with

Re: [PATCH v5 8/8] docs/system: Expand the virtio-gpu documentation

2025-02-05 Thread Akihiko Odaki
On 2025/02/06 2:40, Dmitry Osipenko wrote: On 2/3/25 08:31, Akihiko Odaki wrote: ... Requirements don't vary much. For example virglrenderer minigbm support is mandatory for crosvm, while for QEMU it's not. Is that true? It seems that virglrenderer uses builds without minigbm support to run te

Re: [PATCH v6 0/7] target/riscv: Add support for Control Transfer Records Ext.

2025-02-05 Thread Alistair Francis
target/riscv/insn_trans/trans_privileged.c.inc | 18 +- > target/riscv/insn_trans/trans_rvi.c.inc| 75 +++ > target/riscv/insn_trans/trans_rvzce.c.inc | 21 ++ > target/riscv/machine.c | 25 +++ > target/riscv/op_helper.c | 48 > target/riscv/tcg/tcg-cpu.c | 11 + > target/riscv/translate.c | 46 > 15 files changed, 986 insertions(+), 8 deletions(-) > --- > base-commit: 699291ba7774f1580584cd96f84ceda8cc4edb7e > change-id: 20250205-b4-ctr_upstream_v6-71418cd245ee > -- > Best Regards, > Rajnesh Kanwal > >

Re: [RFC v4 0/5] Add packed virtqueue to shadow virtqueue

2025-02-05 Thread Sahil Siddiq
Hi, On 2/4/25 11:40 PM, Eugenio Perez Martin wrote: On Tue, Feb 4, 2025 at 1:49 PM Sahil Siddiq wrote: On 1/31/25 12:27 PM, Eugenio Perez Martin wrote: On Fri, Jan 31, 2025 at 6:04 AM Sahil Siddiq wrote: On 1/24/25 1:04 PM, Eugenio Perez Martin wrote: On Fri, Jan 24, 2025 at 6:47 AM Sahil

[PATCH v2] hw/i386/amd_iommu: Allow migration

2025-02-05 Thread Suravee Suthikulpanit
Add migration support for AMD IOMMU model by saving necessary AMDVIState parameters for MMIO registers, device table, command buffer, and event buffers. Signed-off-by: Suravee Suthikulpanit --- Changes from v1: (https://lore.kernel.org/all/9ecffa7a-f4c6-45a5-a066-84826ccb5...@amd.com/T/) * Includ

Re: [PATCH v1 12/18] hw/arm/aspeed_ast27x0: Support two levels of INTC controllers for AST2700 A1

2025-02-05 Thread Joel Stanley
Hi Jamin, On Thu, 6 Feb 2025 at 10:09, Andrew Jeffery wrote: > Thanks, I'll consider this updated diagram as well while I put my own > together from the other pieces of info you've provided. When you send the next version, please try to separate your code cleanups and minor renames into a differ

Re: [PATCH] target/loongarch: fix vcpu reset command word issue

2025-02-05 Thread lixianglai
Ok! I will modify it according to the suggestion. Thanks, Xianglai. On 2025/2/5 下午8:06, Xianglai Li wrote: When the KVM_REG_LOONGARCH_VCPU_RESET command word is sent to the kernel through the kvm_set_one_reg interface, the parameter source needs to be a legal address, otherwise the kernel will

Re: [PATCH 02/10] rust: qom: add reference counting functionality

2025-02-05 Thread Zhao Liu
On Fri, Jan 17, 2025 at 08:39:55PM +0100, Paolo Bonzini wrote: > Date: Fri, 17 Jan 2025 20:39:55 +0100 > From: Paolo Bonzini > Subject: [PATCH 02/10] rust: qom: add reference counting functionality > X-Mailer: git-send-email 2.47.1 > > Add a smart pointer that allows to add and remove references

Re: [PATCH] target/loongarch: fix vcpu reset command word issue

2025-02-05 Thread bibo mao
On 2025/2/5 下午8:06, Xianglai Li wrote: When the KVM_REG_LOONGARCH_VCPU_RESET command word is sent to the kernel through the kvm_set_one_reg interface, the parameter source needs to be a legal address, otherwise the kernel will return an error and the command word will fail to be sent. Hi Xiangla

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

2025-02-05 Thread John Snow
Signed-off-by: John Snow --- docs/sphinx/qapidoc.py | 47 ++ 1 file changed, 47 insertions(+) diff --git a/docs/sphinx/qapidoc.py b/docs/sphinx/qapidoc.py index 658eae3e386..c42cc3705aa 100644 --- a/docs/sphinx/qapidoc.py +++ b/docs/sphinx/qapidoc.py @@ -1

[PATCH v3 03/17] hw/ssi: Make flash size a property in NPCM7XX FIU

2025-02-05 Thread Hao Wu
This allows different FIUs to have different flash sizes, useful in NPCM8XX which has multiple different sized FIU modules. Reviewed-by: Peter Maydell Signed-off-by: Hao Wu --- hw/arm/npcm7xx.c | 6 ++ hw/ssi/npcm7xx_fiu.c | 11 +++ include/hw/ssi/npcm7xx_fiu.h

[PATCH v3 13/17] hw/misc: Support NPCM8XX CLK Module Registers

2025-02-05 Thread Hao Wu
NPCM8XX adds a few new registers and have a different set of reset values to the CLK modules. This patch supports them. This patch doesn't support the new clock values generated by these registers. Currently no modules use these new clock values so they are not necessary at this point. Implementat

[PATCH v3 05/17] hw/misc: Move NPCM7XX GCR to NPCM GCR

2025-02-05 Thread Hao Wu
A lot of NPCM7XX and NPCM8XX GCR modules share the same code, this commit moves the NPCM7XX GCR to NPCM GCR for these properties. Reviewed-by: Peter Maydell Signed-off-by: Hao Wu --- hw/misc/npcm_gcr.c | 92 +- hw/misc/trace-events | 6 +-- inc

[PATCH v3 12/17] hw/misc: Add nr_regs and cold_reset_values to NPCM CLK

2025-02-05 Thread Hao Wu
These 2 values are different between NPCM7XX and NPCM8XX CLKs. So we add them to the class and assign different values to them. Reviewed-by: Peter Maydell Signed-off-by: Hao Wu --- hw/misc/npcm_clk.c | 19 +-- include/hw/misc/npcm_clk.h | 9 - 2 files changed, 2

[PATCH v3 16/17] hw/arm: Add NPCM845 Evaluation board

2025-02-05 Thread Hao Wu
Reviewed-by: Peter Maydell Signed-off-by: Hao Wu --- hw/arm/meson.build | 2 +- hw/arm/npcm8xx_boards.c | 253 +++ include/hw/arm/npcm8xx.h | 20 3 files changed, 274 insertions(+), 1 deletion(-) create mode 100644 hw/arm/npcm8xx_boards.c diff

[PATCH v3 17/17] docs/system/arm: Add Description for NPCM8XX SoC

2025-02-05 Thread Hao Wu
NPCM8XX SoC is the successor of the NPCM7XX. It features quad-core Cortex-A35 (Armv8, 64-bit) CPUs and some additional peripherals. This document describes the NPCM8XX SoC and an evaluation board (NPCM 845 EVB). Signed-off-by: Hao Wu --- docs/system/arm/nuvoton.rst | 27

[PATCH v3 11/17] hw/misc: Move NPCM7XX CLK to NPCM CLK

2025-02-05 Thread Hao Wu
A lot of NPCM7XX and NPCM8XX CLK modules share the same code, this commit moves the NPCM7XX CLK to NPCM CLK for these properties. Reviewed-by: Peter Maydell Signed-off-by: Hao Wu --- hw/misc/npcm_clk.c | 106 + hw/misc/trace-events | 6 +-- in

[PATCH v3 00/17] hw/arm: Add NPCM8XX Support

2025-02-05 Thread Hao Wu
Changes since v2: 1. Update doc to include npcm845-evb description 2. Add g_assert for register size in CLK and GCR enter_reset function 3. Fix various 8xx SoC and board file issues. Changes since v1: 1. Updated vbootrom and pc-bios 2. Split out CLK/GCR patches into refactoring and adding new fe

[PATCH v3 15/17] hw/arm: Add NPCM8XX SoC

2025-02-05 Thread Hao Wu
Signed-off-by: Hao Wu --- configs/devices/aarch64-softmmu/default.mak | 1 + hw/arm/Kconfig | 13 + hw/arm/meson.build | 1 + hw/arm/npcm8xx.c| 804 include/hw/arm/npcm8xx.h

[PATCH v3 01/17] roms: Update vbootrom to 1287b6e

2025-02-05 Thread Hao Wu
This newer vbootrom supports NPCM8xx. Similar to the NPCM7XX one it supports loading the UBoot from the SPI device and not more. We updated the npcm7xx bootrom to be compiled from this version. Reviewed-by: Peter Maydell Signed-off-by: Hao Wu --- pc-bios/npcm7xx_bootrom.bin | Bin 768 -> 768 by

[PATCH v3 10/17] hw/misc: Rename npcm7xx_clk to npcm_clk

2025-02-05 Thread Hao Wu
NPCM7XX and NPCM8XX have a different set of CLK registers. This commit changes the name of the clk files to be used by both NPCM7XX and NPCM8XX CLK modules. Reviewed-by: Peter Maydell Signed-off-by: Hao Wu --- hw/misc/meson.build | 2 +- hw/misc/{npcm7xx_clk.c => npcm_

[PATCH v3 06/17] hw/misc: Add nr_regs and cold_reset_values to NPCM GCR

2025-02-05 Thread Hao Wu
These 2 values are different between NPCM7XX and NPCM8XX GCRs. So we add them to the class and assign different values to them. Reviewed-by: Peter Maydell Signed-off-by: Hao Wu --- hw/misc/npcm_gcr.c | 26 +- include/hw/misc/npcm_gcr.h | 13 +++-- 2 files

[PATCH v3 04/17] hw/misc: Rename npcm7xx_gcr to npcm_gcr

2025-02-05 Thread Hao Wu
NPCM7XX and NPCM8XX have a different set of GCRs and the GCR module needs to fit both. This commit changes the name of the GCR module. Future commits will add the support for NPCM8XX GCRs. Reviewed-by: Peter Maydell Signed-off-by: Hao Wu --- hw/misc/meson.build | 2 +-

[PATCH v3 07/17] hw/misc: Add support for NPCM8XX GCR

2025-02-05 Thread Hao Wu
Reviewed-by: Peter Maydell Signed-off-by: Hao Wu --- hw/misc/npcm_gcr.c | 131 - include/hw/misc/npcm_gcr.h | 6 +- 2 files changed, 134 insertions(+), 3 deletions(-) diff --git a/hw/misc/npcm_gcr.c b/hw/misc/npcm_gcr.c index 7edad9e7d7..19a4b2cd17

[PATCH v3 14/17] hw/net: Add NPCM8XX PCS Module

2025-02-05 Thread Hao Wu
The PCS exists in NPCM8XX's GMAC1 and is used to control the SGMII PHY. This implementation contains all the default registers and the soft reset feature that are required to load the Linux kernel driver. Further features have not been implemented yet. Signed-off-by: Hao Wu Reviewed-by: Peter May

[PATCH v3 09/17] hw/misc: Support 8-bytes memop in NPCM GCR module

2025-02-05 Thread Hao Wu
The NPCM8xx GCR device can be accessed with 64-bit memory operations. This patch supports that. Reviewed-by: Peter Maydell Signed-off-by: Hao Wu --- hw/misc/npcm_gcr.c | 94 +--- hw/misc/trace-events | 4 +- 2 files changed, 74 insertions(+), 24 deleti

[PATCH v3 08/17] hw/misc: Store DRAM size in NPCM8XX GCR Module

2025-02-05 Thread Hao Wu
NPCM8XX boot block stores the DRAM size in SCRPAD_B register in GCR module. Since we don't simulate a detailed memory controller, we need to store this information directly similar to the NPCM7XX's INCTR3 register. Reviewed-by: Peter Maydell Signed-off-by: Hao Wu --- hw/misc/npcm_gcr.c

[PATCH v3 02/17] pc-bios: Add NPCM8XX vBootrom

2025-02-05 Thread Hao Wu
The bootrom is a minimal bootrom used to load an NPCM8XX image. The source code is located in the same repo as the NPCM7XX one: github.com/google/vbootrom/tree/master/npcm8xx. Reviewed-by: Peter Maydell Signed-off-by: Hao Wu --- MAINTAINERS | 1 + pc-bios/README |

Re: [PATCH v1 12/18] hw/arm/aspeed_ast27x0: Support two levels of INTC controllers for AST2700 A1

2025-02-05 Thread Andrew Jeffery
Hi Jamin, > > > > > > The design of the OR gates for GICINT 196 is as follows: > > > > 196? You discuss 192 below. > > > Sorry typo. I update my comments. > > The design of the OR gates for GICINT 196 is as follows: > It has interrupt sources ranging from 0 to 31, with its output pin connected

[PATCH 17/42] docs/qapidoc: prepare to record entity being transmogrified

2025-02-05 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 05/42] qapi/schema: add __repr__ to QAPIDoc.Section

2025-02-05 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 c3004aa70c6..af5d7bf892c 10

[PATCH 30/42] docs/qapidoc: add minimalistic inliner

2025-02-05 Thread John Snow
Add a minimalistic inliner that only gets the basics - leaving branch inlining for a future patch. Signed-off-by: John Snow --- docs/sphinx/qapidoc.py | 174 - 1 file changed, 172 insertions(+), 2 deletions(-) diff --git a/docs/sphinx/qapidoc.py b/docs/sp

[PATCH 38/42] docs/qapi: add branch support to inliner

2025-02-05 Thread John Snow
Well, kind of. Anything beyond simple member definitions aren't included; including ifcond, details sections, features, etc. Definitely the most "WIP" part of this entire patch series. Signed-off-by: John Snow --- docs/sphinx/qapidoc.py | 57 +- 1 file cha

[PATCH 36/42] qapi/parser: add "meta" kind to QAPIDoc.Kind

2025-02-05 Thread John Snow
This adds a "META" category for sections, for the express purpose of adding empty branch-start and branch-end sections into a linear section list for the purpose of rendering collapsible branches in sphinx HTML output. This is ... a little hacky. Sorry. Signed-off-by: John Snow --- scripts/qapi

[PATCH 40/42] docs/qapidoc: cull (most) un-named entities from docs

2025-02-05 Thread John Snow
This patch excludes any items not marked visible from the transmogrifier output. The legacy qapidoc mechanism continues to ignore this flag, so the existing docs are not effected. Signed-off-by: John Snow --- docs/sphinx/qapidoc.py | 7 +++ 1 file changed, 7 insertions(+) diff --git a/docs/

[PATCH 20/42] docs/qapidoc: add visit_sections() method

2025-02-05 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 | 23 +++ 1 file changed, 23 insertions(+) diff --git a/docs/sphinx/qapidoc.py b/docs/sphinx/qapidoc.py

[PATCH 37/42] qapi/schema: add __iter__ method to QAPISchemaVariants

2025-02-05 Thread John Snow
This is just semantic sugar that makes it easier to do something like: for var in variants: ... Instead of the more cumbersome and repetitive: for var in variants.variants: ... Especially in conjunction with entities that aren't guaranteed to have variants. Compare: for var in variants

[PATCH 39/42] qapi/schema: add doc_visible property to QAPISchemaDefinition

2025-02-05 Thread John Snow
This patch adds a boolean flag to mark definitions as "visible" in the end-user HTML docs. The intent is that definitions that are not marked as visible will not be rendered. What gets marked visible? The short version: all commands and events are inherently visible. All other definitions are vis

[PATCH 35/42] docs/qapidoc: generate out-of-band pseudofeature sections

2025-02-05 Thread John Snow
For QMP commands with the oob flag set, insert a dummy feature ("pseudofeature") representing this behavior so that it can be documented. Signed-off-by: John Snow --- docs/sphinx/qapidoc.py | 6 ++ 1 file changed, 6 insertions(+) diff --git a/docs/sphinx/qapidoc.py b/docs/sphinx/qapidoc.py

[PATCH 33/42] docs/qmp: add target to Out-of-band execution section

2025-02-05 Thread John Snow
This allows us to cross-reference this section from other docs; the main motivator here is to refer to this section when documenting the Out-of-band capability for QMP commands that support it in the rendered HTML documentation. Signed-off-by: John Snow --- docs/interop/qmp-spec.rst | 2 ++ 1 fi

[PATCH 41/42] qapi: resolve filenames in info structures

2025-02-05 Thread John Snow
Resolve symbolic filenames (i.e. build/../tests/qapi-schema) to fully specified absolute paths in QAPI info structures. Normalizing filenames in this way makes trimming common path prefixes for test output more consistent. It's also used for the intermediate output representation for the new trans

[PATCH 25/42] docs/qapidoc: generate entries for undocumented members

2025-02-05 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 24/42] docs/qapidoc: add transmogrifier test document

2025-02-05 Thread John Snow
Signed-off-by: John Snow --- docs/index.rst | 1 + docs/qapi/index.rst | 53 + 2 files changed, 54 insertions(+) create mode 100644 docs/qapi/index.rst diff --git a/docs/index.rst b/docs/index.rst index 5665de85cab..4364f9f1618 100644 --- a/docs

[PATCH 29/42] qapi: Add "Details:" disambiguation marker

2025-02-05 Thread John Snow
This clarifies sections that are mistaken by the parser as "intro" sections to be "details" sections instead. Signed-off-by: John Snow --- qapi/machine.json | 2 ++ qapi/migration.json| 4 qapi/qom.json | 4 qapi/yank.json | 2 ++ scripts/qapi/parser.py | 8 ++

[PATCH 28/42] qapi/parser: prohibit untagged sections between tagged sections

2025-02-05 Thread John Snow
This is being done primarily to ensure consistency between the source documents and the final, rendered HTML output. Because member/feature/returns sections will always appear in a visually grouped element in the HTML output, prohibiting free paragraphs between those sections ensures ordering consi

[PATCH 26/42] qapi/parser: add undocumented stub members to all_sections

2025-02-05 Thread John Snow
This helps simplify the new doc generator if it doesn't have to check for undocumented members; especially when dealing recursively with inherited documentation blocks. NB: If there is no existing 'member' section, these undocumented stub members will be inserted directly after the intro paragraph

[PATCH 42/42] docs/qapidoc: add intermediate output debugger

2025-02-05 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 32/42] docs/qapidoc: Add generated returns documentation to inliner

2025-02-05 Thread John Snow
Generate "empty" returns sections for undocumented returns values in the inliner: the transmogrifier will pick these up and document them specially. Signed-off-by: John Snow --- docs/sphinx/qapidoc.py | 8 1 file changed, 8 insertions(+) diff --git a/docs/sphinx/qapidoc.py b/docs/sphin

[PATCH 34/42] docs/qapidoc: document the "out-of-band" pseudofeature

2025-02-05 Thread John Snow
Add support to the transmogrifier for documenting the "out-of-band" "pseudofeature" of QMP commands. This patch relies on the inliner adding a dummy feature based on the presence of the oob flag for a QMP command, which happens in the next commit. A "pseudofeature" as I'm terming it here is not as

[PATCH 31/42] docs/qapidoc: autogenerate undocumented return docs

2025-02-05 Thread John Snow
This patch adds support for handling undocumented returns values sections -- which aren't actually implemented until the next patch. Signed-off-by: John Snow --- docs/sphinx/qapidoc.py | 20 +--- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/docs/sphinx/qapidoc.p

[PATCH 27/42] qapi: differentiate "intro" and "detail" sections

2025-02-05 Thread John Snow
This patch begins distinguishing "Plain" sections as being either "Intro" or "Details" sections for the purpose of knowing when and where to inline those sections. Signed-off-by: John Snow --- docs/sphinx/qapidoc.py | 4 ++-- scripts/qapi/parser.py | 30 +++--

[PATCH 15/42] docs/qapidoc: add add_field() and generate_field() helper methods

2025-02-05 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 23/42] docs: disambiguate cross-references

2025-02-05 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 16/42] docs/qapidoc: add visit_feature() method

2025-02-05 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. Signed-off-by: John Snow --- docs/sphinx/qapidoc.py | 9 + 1 file changed, 9 insertions(+) diff --git a/docs/sphinx/qapidoc.py b/docs/sphinx/qapidoc.

[PATCH 21/42] docs/qapidoc: add visit_entity()

2025-02-05 Thread John Snow
Finally, the core entry method for a qapi entity. Signed-off-by: John Snow --- docs/sphinx/qapidoc.py | 13 + 1 file changed, 13 insertions(+) diff --git a/docs/sphinx/qapidoc.py b/docs/sphinx/qapidoc.py index 73076a7d6ae..a2fc8d25ff7 100644 --- a/docs/sphinx/qapidoc.py +++ b/docs/s

[PATCH 19/42] docs/qapidoc: add visit_member() method

2025-02-05 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. Signed-off-by: John Snow --- docs/sphinx/qapidoc.py | 27 ++

[PATCH 11/42] docs/qapidoc: add preamble() method

2025-02-05 Thread John Snow
This method adds the options/preamble to each definition block. Notably, :since: and :ifcond: are added, as are any "special features" such as :deprecated: and :unstable:. Signed-off-by: John Snow --- docs/sphinx/qapidoc.py | 32 +++- 1 file changed, 31 insertions(+),

[PATCH 22/42] docs/qapidoc: implement transmogrify() method

2025-02-05 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.

[PATCH 01/42] docs/qapidoc: support header-less freeform sections

2025-02-05 Thread John Snow
The code as written can't handle if a header isn't found and will crash, because `node` will be uninitialized. If we don't have a section title, create a generic block to insert text into instead. (This patch also removes a lingering pylint warning in the QAPIDoc implementation that prevents getti

[PATCH 07/42] docs/qapidoc: add transmogrifier class stub

2025-02-05 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 08/42] docs/qapidoc: add visit_module() method

2025-02-05 Thread John Snow
This method annotates the start of a new module, crediting the source location to the first line of the module file. Signed-off-by: John Snow --- docs/sphinx/qapidoc.py | 9 + 1 file changed, 9 insertions(+) diff --git a/docs/sphinx/qapidoc.py b/docs/sphinx/qapidoc.py index 6593c3f28cd.

[PATCH 18/42] docs/qapidoc: add visit_returns() method

2025-02-05 Thread John Snow
Generates :returns: 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 | 14 ++ 1 file changed, 14 insertions(+) diff --git a/docs/sphinx/qapid

[PATCH 12/42] docs/qapidoc: add visit_paragraph() method

2025-02-05 Thread John Snow
This transforms "formerly known as untagged sections" into our pure intermediate rST format. These sections are already pure rST, so this method doesn't do a whole lot except ensure appropriate newlines. Signed-off-by: John Snow --- docs/sphinx/qapidoc.py | 9 + 1 file changed, 9 inserti

[PATCH 04/42] qapi: expand tags to all doc sections

2025-02-05 Thread John Snow
This patch adds an explicit section "kind" to all QAPIDoc sections. Members/Features are now explicitly marked as such, with the name now being stored in a dedicated "name" field (which qapidoc.py was not actually using anyway.) The qapi-schema tests are updated to account for the new section name

[PATCH 14/42] docs/qapidoc: add format_type() method

2025-02-05 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 13/42] docs/qapidoc: add visit_errors() method

2025-02-05 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 revision. Signed-off-by: John Snow --- docs/sphinx/qapidoc.py |

[PATCH 09/42] qapi/source: allow multi-line QAPISourceInfo advancing

2025-02-05 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. RFC: Here's the exorbitant de

[PATCH 06/42] docs/qapidoc: add transmogrifier stub

2025-02-05 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 02/42] qapi/parser: adjust info location for doc body section

2025-02-05 Thread 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 precisely to where th

[PATCH 00/42] docs: add sphinx-domain rST generator to qapidoc

2025-02-05 Thread John Snow
based-on: https://patchew.org/QEMU/20241213011307.2942030-1-js...@redhat.com/ Hiya! This series is based on a rebased version of the above series. Apply the above patches to origin/master and then apply this series and you should be good to go. Or just snitch the patches from my GitLab branch: ht

[PATCH 03/42] docs/qapidoc: remove example section support

2025-02-05 Thread John Snow
Since commit 3c5f6114 (qapi: remove "Example" doc section), Example sections no longer exist, so this support in qapidoc is now dead code. Signed-off-by: John Snow --- docs/sphinx/qapidoc.py | 9 + 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/docs/sphinx/qapidoc.py b/docs

Re: [PATCH v6 00/10] Support virtio-gpu DRM native context

2025-02-05 Thread Dmitry Osipenko
On 2/5/25 23:08, Dmitry Osipenko wrote: >> Thanks for showing me the video. I will take a look and check what would go >> wrong here. I kinda understand corruption may happen >> in some scenario but I don't know what could cause the upside down image. Do >> you have any idea?? Maybe the frame was

Re: [PATCH V1 19/26] vfio/iommufd: use IOMMU_IOAS_MAP_FILE

2025-02-05 Thread Steven Sistare
On 2/5/2025 12:23 PM, Cédric Le Goater wrote: On 1/29/25 15:43, Steve Sistare wrote: Use IOMMU_IOAS_MAP_FILE when the mapped region is backed by a file. Such a mapping can be preserved without modification during CPR, because it depends on the file's address space, which does not change, rather

Re: [PATCH V1 23/26] vfio/iommufd: register container for cpr

2025-02-05 Thread Steven Sistare
On 2/5/2025 12:45 PM, Cédric Le Goater wrote: On 1/29/25 15:43, Steve Sistare wrote: Register a vfio iommufd container for CPR.  Add a blocker if the kernel does not support IOMMU_IOAS_CHANGE_PROCESS. This is mostly boiler plate.  The fields to to saved and restored are added in subsequent patc

Re: [PATCH V1 20/26] vfio/iommufd: export iommufd_cdev_get_info_iova_range

2025-02-05 Thread Steven Sistare
On 2/5/2025 12:33 PM, Cédric Le Goater wrote: On 1/29/25 15:43, Steve Sistare wrote: Export iommufd_cdev_get_info_iova_range for use by CPR. why does CPR need access to the IOVA ranges ? This is explained in the commit message of a subsequent patch, "vfio/iommufd: reconstruct device" - Stev

Re: [PATCH V1 21/26] iommufd: change process ioctl

2025-02-05 Thread Steven Sistare
On 2/5/2025 12:34 PM, Cédric Le Goater wrote: On 1/29/25 15:43, Steve Sistare wrote: Define the change process ioctl Signed-off-by: Steve Sistare ---   backends/iommufd.c   | 20   backends/trace-events    |  1 +   include/system/iommufd.h |  2 ++   3 files changed, 2

Re: [PATCH V1 22/26] vfio/iommufd: invariant device name

2025-02-05 Thread Steven Sistare
On 2/5/2025 12:42 PM, Cédric Le Goater wrote: On 1/29/25 15:43, Steve Sistare wrote: cpr-transfer will use the device name as a key to find the value of the device descriptor in new QEMU.  However, if the descriptor number is specified by a command-line fd parameter, then vfio_device_get_name cr

Re: [PATCH] migration: use parameters.mode in cpr_state_save

2025-02-05 Thread Steven Sistare
On 2/5/2025 4:28 PM, Peter Xu wrote: On Wed, Feb 05, 2025 at 12:54:01PM -0800, Steve Sistare wrote: qmp_migrate guarantees that cpr_channel is not null for MIG_MODE_CPR_TRANSFER when cpr_state_save is called: qmp_migrate() if (s->parameters.mode == MIG_MODE_CPR_TRANSFER && !cpr_ch

Re: [PATCH] migration: use parameters.mode in cpr_state_save

2025-02-05 Thread Peter Xu
On Wed, Feb 05, 2025 at 12:54:01PM -0800, Steve Sistare wrote: > qmp_migrate guarantees that cpr_channel is not null for > MIG_MODE_CPR_TRANSFER when cpr_state_save is called: > > qmp_migrate() > if (s->parameters.mode == MIG_MODE_CPR_TRANSFER && !cpr_channel) { > return; >

Re: [PATCH v3 03/12] plugins: Uninline qemu_plugin_add_opts

2025-02-05 Thread Philippe Mathieu-Daudé
On 4/2/25 22:53, Richard Henderson wrote: No need to expand this function inline. Unexport qemu_plugin_opts to match. Reviewed-by: Thomas Huth Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- include/qemu/plugin.h | 9 + plugins/loader.c | 7 ++- 2 files chan

Re: [PATCH v3 02/12] tcg: Move stubs in tcg/perf.h to tcg/perf-stubs.c

2025-02-05 Thread Philippe Mathieu-Daudé
On 4/2/25 22:53, Richard Henderson wrote: These are not called so frequently as to be performance sensitive. Reviewed-by: Thomas Huth Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- include/tcg/perf.h | 23 --- tcg/perf-stubs.c | 26 +

Re: [PATCH v4 08/33] migration/multifd: Allow premature EOF on TLS incoming channels

2025-02-05 Thread Peter Xu
On Wed, Feb 05, 2025 at 05:42:37PM -0300, Fabiano Rosas wrote: > Fabiano Rosas writes: > > > Daniel P. Berrangé writes: > > > >> On Tue, Feb 04, 2025 at 10:31:31AM -0500, Peter Xu wrote: > >>> On Tue, Feb 04, 2025 at 03:39:00PM +0100, Maciej S. Szmigiero wrote: > >>> > On 3.02.2025 23:56, Peter

Re: [PATCH 01/11] hvf: Add facility for initialisation code prior to first vCPU run

2025-02-05 Thread Philippe Mathieu-Daudé
+Igor On 9/12/24 21:36, p...@philjordan.eu wrote: From: Phil Dennis-Jordan Some VM state required for fully configuring vCPUs is only available after all devices have been through their init phase. This extra function, called just before each vCPU makes its first VM entry, allows us to perform

Re: [PATCH 03/11] i386/hvf: Don't send signal to thread when kicking

2025-02-05 Thread Philippe Mathieu-Daudé
On 10/12/24 10:52, Phil Dennis-Jordan wrote: On Tue 10. Dec 2024 at 10:21, Roman Bolshakov > wrote: On 10.12.2024 04:22, Philippe Mathieu-Daudé wrote: > On 9/12/24 21:36, p...@philjordan.eu wrote: >> From: Phil Dennis-Jo

Re: [PATCH v4 08/33] migration/multifd: Allow premature EOF on TLS incoming channels

2025-02-05 Thread Maciej S. Szmigiero
On 5.02.2025 21:42, Fabiano Rosas wrote: Fabiano Rosas writes: Daniel P. Berrangé writes: On Tue, Feb 04, 2025 at 10:31:31AM -0500, Peter Xu wrote: On Tue, Feb 04, 2025 at 03:39:00PM +0100, Maciej S. Szmigiero wrote: On 3.02.2025 23:56, Peter Xu wrote: On Mon, Feb 03, 2025 at 10:41:32PM

Re: [RFC PATCH 0/5] hw/arm/virt: Add support for user-creatable nested SMMUv3

2025-02-05 Thread Nathan Chen
On 1/31/2025 8:08 AM, Eric Auger wrote: And Qemu does some checking to make sure that the device is indeed associated with the specified phys-smmuv3. This can be done going through the sysfs path checking which is what I guess libvirt is currently doing to populate the topology. So basi

[PATCH] migration: use parameters.mode in cpr_state_save

2025-02-05 Thread Steve Sistare
qmp_migrate guarantees that cpr_channel is not null for MIG_MODE_CPR_TRANSFER when cpr_state_save is called: qmp_migrate() if (s->parameters.mode == MIG_MODE_CPR_TRANSFER && !cpr_channel) { return; } cpr_state_save(cpr_channel) but cpr_state_save checks for

  1   2   3   >