On 04/03/2025 19.33, Daniel P. Berrangé wrote:
There are two race conditions in the recently added virtio balloon
test
* The /dev/vda device node is not ready
* The virtio-balloon driver has not issued the first stats refresh
To fix the former, monitor dmesg for a line about 'vda'.
To fix
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
On Sat, Mar 1, 2025 at 9:04 PM Ani Sinha wrote:
>
> On Thu, Feb 20, 2025 at 12:36 PM Zhao Liu wrote:
> >
> > On Thu, Feb 20, 2025 at 12:23:26PM +0530, Ani Sinha wrote:
> > > Date: Thu, 20 Feb 2025 12:23:26 +0530
> > > From: Ani Sinha
> > > Subject: [PATCH v2] microvm: do not use the lastest cpu
The following changes since commit 661c2e1ab29cd9c4d268ae3f44712e8d421c0e56:
scripts/checkpatch: Fix a typo (2025-03-04 09:30:26 +0800)
are available in the Git repository at:
g...@gitlab.com:anisinha/qemu.git tags/pull-master-20250305
for you to fetch changes up to 22550e8eaba43233f68a344b
Normally, there is no need to perform firmware reconfiguration once the
virtual machine has started. Hence, currently ovmf firmware parsing happens only
once. However, if the firmware changes betweeen boots then reconfiguration needs
to happen again. Firmware can change if for example the guest bri
On 3/4/25 23:03, Maciej S. Szmigiero wrote:
From: "Maciej S. Szmigiero"
This way bytes_transferred can also be incremented in other translation
units than migration.c.
Signed-off-by: Maciej S. Szmigiero
Reviewed-by: Cédric Le Goater
Thanks,
C.
---
hw/vfio/migration.c | 7
We run the gitlab-CI with the untrusted tests enabled, and
the test_replay_mips64el_malta_5KEc_cpio subtest is rather slow,
so this already hit the standard 90 seconds timeout in the CI.
Increase the timeout for more headroom.
Reported-by: Stefan Hajnoczi
Signed-off-by: Thomas Huth
---
tests/fu
Hi,
On Tue, 4 Mar 2025 at 20:12, Peter Xu wrote:
> IIUC Fabiano is not asking you to drop them, but split them. Split still
> "requires" them to be present, as long as before the enablement patch.
* Yes, same here; Even I am not suggesting to drop anything. Fabiano
mentioned the following about
On 3/3/2025 6:00 AM, Dongli Zhang wrote:
> The kvm_put_msrs() sets the MSRs using KVM_SET_MSRS. The x86 KVM processes
> these MSRs one by one in a loop, only saving the config and triggering the
> KVM_REQ_PMU request. This approach does not immediately stop the event
> before updating PMC.
>
> In
On 2/27/25 08:58, Nicholas Piggin wrote:
On Mon Feb 17, 2025 at 5:17 PM AEST, Aditya Gupta wrote:
Platform (ie. QEMU) is expected to pass few device tree properties for
details for fadump:
* "ibm,configure-kernel-dump": RTAS call for fadump
* "ibm,configure-kernel-dump-sizes": Space re
On 3/3/2025 6:00 AM, Dongli Zhang wrote:
> QEMU uses the kvm_get_msrs() function to save Intel PMU registers from KVM
> and kvm_put_msrs() to restore them to KVM. However, there is no support for
> AMD PMU registers. Currently, has_pmu_version and num_pmu_gp_counters are
> initialized based on cp
These tests are based on the cloudinit functions from Avocado.
The cloudinit is very, very slow compared to our other tests,
so a lot of these Avocado tests have either been disabled by default
with a decorator, or have been marked to only run with KVM.
We won't include this sluggish cloudinit stu
On 2/17/25 12:47, Aditya Gupta wrote:
Kernel expects CPU states/register states in the format mentioned in
"Register Save Area" in PAPR.
The platform (in our case, QEMU) saves each CPU register in the form of
an array of "register entries", the start and end of this array is
signified by "CPU
From: Roman Penyaev
This patch implements DCH (delete character) and ICH (insert
character) commands.
DCH - Delete Character:
"As characters are deleted, the remaining characters between the
cursor and right margin move to the left. Character attributes move
with the characters. The t
On 3/3/2025 6:00 AM, Dongli Zhang wrote:
> AMD does not have what is commonly referred to as an architectural PMU.
> Therefore, we need to rename the following variables to be applicable for
> both Intel and AMD:
>
> - has_architectural_pmu_version
> - num_architectural_pmu_gp_counters
> - num_ar
control_save_page() is for RDMA only, unfold it to make the code more
clear.
In addition:
- Similar to other branches style in ram_save_target_page(), involve RDMA
only if the condition 'migrate_rdma()' is true.
- Further simplify the code by removing the RAM_SAVE_CONTROL_NOT_SUPP.
Reviewed-b
On Tue, Mar 04, 2025 at 06:37:47PM +, Suravee Suthikulpanit wrote:
> The QEMU-emulated AMD IOMMU PCI device is implemented based on the AMD I/O
> Virtualization Technology (IOMMU) Specification [1]. The PCI id for this
> device is platform-specific.
>
> Currently, the QEMU-emulated AMD IOMMU d
Philippe Mathieu-Daudé writes:
> On 4/3/25 23:24, Alex Bennée wrote:
>> We have a function we can call for this, lets not rely on macros that
>> stop us building once.
>> Reviewed-by: Richard Henderson
>> Reviewed-by: Philippe Mathieu-Daudé
>> Signed-off-by: Alex Bennée
>> Message-Id: <2025022
On 27/02/2025 23.06, Eric Blake wrote:
At least the simple trace backend works by spawning a helper thread,
and setting up an atexit() handler that coordinates completion with
the helper thread. But since atexit registrations survive fork() but
helper threads do not, this means that qemu-nbd con
For LoongArch th min tlb_ps is 12(4KB), for TLB code,
the tlb_ps may be 0,this may case UndefinedBehavior
Add a check-tlb_ps fuction to check tlb_ps,
to make sure the tlb_ps is avalablie. we check tlb_ps
when get the tlb_ps from tlb->misc or CSR bits.
1. cpu reset
set CSR_PWCL.PTBASE and CSR_STL
some tlb instructions get the tlb_ps from tlb->misc but the
value may has been initialized to 0,just check the tlb_ps skip
the function and write a log.
Signed-off-by: Song Gao
Reviewed-by: Bibo Mao
---
target/loongarch/tcg/tlb_helper.c | 12
1 file changed, 12 insertions(+)
d
Some tlb instructions get the tlb_ps from tlb->misc but the
value may has been initialized to 0,just check the tlb_e skip
the function and check_tlb_ps write a log.
For LoongArch th min tlb_ps is 12(4KB), for TLB code,
the tlb_ps may be 0,this may case UndefinedBehavior
Add a check-tlb_ps fucti
Since we have disabled RDMA + postcopy, it's safe to remove
the migration_in_postcopy() that follows the migrate_rdma().
Reviewed-by: Peter Xu
Signed-off-by: Li Zhijian
---
V3:
reorder: 7th->4th
---
migration/rdma.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/mig
Sorry, when I revisit this patch, I have more thoughts..
> -/// A safe wrapper around [`bindings::MemoryRegion`]. Compared to the
> -/// underlying C struct it is marked as pinned because the QOM tree
> -/// contains a pointer to it.
> -pub struct MemoryRegion {
> -inner: bindings::MemoryRegi
On 27/02/2025 13.18, Alex Bennée wrote:
Thomas Huth writes:
These tests are based on the cloudinit functions from Avocado.
The cloudinit is very, very slow compared to our other tests,
so most of these Avocado tests have either been disabled by default
with a decorator, or have been marked to
John Snow writes:
> Sh!
>
> This patch is RFC quality, I wasn't in the mood to actually solve
> problems so much as I was in the mood to continue working on the Sphinx
> rework. Plus, I don't think the code I am patching has hit origin/master
> yet ...
>
> Signed-off-by: John Snow
> ---
> s
On Mon Mar 3, 2025 at 8:58 PM AEST, BALATON Zoltan wrote:
> On Mon, 3 Mar 2025, Nicholas Piggin wrote:
>> Perform !guest_visible memory accesses without modifying R/C bits.
>>
>> It's arguable whether !guest_visible memory accesses should modify
>> R/C bits. i386 seems to set accessed/dirty bit upd
From: Haoqian He
If the chardev is client, the socket file path in localAddr may be NULL.
This is because the socket path comes from getsockname(), according
to man page, getsockname() returns the current address bound by the
socket sockfd. If the chardev is client, it's socket is unbound sockfd.
From: Roman Penyaev
There are aliases for save and restore cursor commands:
* save cursor
`ESC 7` (DEC Save Cursor [1], older VT100)
`ESC [ s` (CSI Save Cursor, standard ANSI)
* load cursor
`ESC 8` (DEC Restore Cursor [2], older VT100)
`ESC [ u` (CSI Restore Cursor,
From: Roman Penyaev
The format of the CSI cursor position report is `ESC[row;columnR`,
where `row` is a row of a cursor in the screen, not in the scrollback
buffer. What's the difference? Let's say the terminal screen has 24
lines, no matter how long the scrollback buffer may be, the last line
is
From: Roman Penyaev
This change introduces parsing of the 'ESC ( ' sequence, which is
supposed to change character set [1]. In the QEMU case, the
introduced parsing logic does not actually change the character set, but
simply parses the sequence and does not let output of a tool to be
corrupted w
From: Roman Penyaev
Terminal Device Status Report (DSR) [1] should be sent to an
application, not rendered to the screen. This patch fixes rendering of
terminal report, which appear only on the graphical screen of the
terminal (console "vc") and can be reproduced by the following
command:
e
From: Marc-André Lureau
The following changes since commit 661c2e1ab29cd9c4d268ae3f44712e8d421c0e56:
scripts/checkpatch: Fix a typo (2025-03-04 09:30:26 +0800)
are available in the Git repository at:
https://gitlab.com/marcandre.lureau/qemu.git tags/ui-pull-request
for you to fetch change
Use hotplug_handler_plug() to nofity extioi object when cold-plug
cpu is created, so that extioi can set and configure irq routing
to new cpu.
Signed-off-by: Bibo Mao
---
hw/loongarch/virt.c | 12 ++--
1 file changed, 2 insertions(+), 10 deletions(-)
diff --git a/hw/loongarch/virt.c b/h
On 2/17/25 12:47, Aditya Gupta wrote:
While the first kernel boots, it registers memory regions for fadump
such as:
* CPU state data (has to be populated by the platform)
* HPTE state data (has to be populated by the platform)
* Real Mode Regions (platform should copy it to req
Some tlb instructions get the tlb_ps from tlb->misc but the
value may has been initialized to 0,just check the tlb_e skip
the function and check_tlb_ps write a log.
For LoongArch th min tlb_ps is 12(4KB), for TLB code,
the tlb_ps may be 0,this may case UndefinedBehavior
Add a check-tlb_ps fucti
On 03/03/2025 18.32, Philippe Mathieu-Daudé wrote:
On 3/3/25 17:57, Peter Maydell wrote:
On Mon, 3 Mar 2025 at 15:49, Cédric Le Goater wrote:
Why are we keeping qemu-system-ppc and qemu-system-i386, and arm,
since qemu-system-ppc64 and qemu-system-x86_64 should be able to
run the same machines
Address an error in RDMA-based migration by ensuring RDMA is prioritized
when saving pages in `ram_save_target_page()`.
Previously, the RDMA protocol's page-saving step was placed after other
protocols due to a refactoring in commit bc38dc2f5f3. This led to migration
failures characterized by unkn
It's believed that RDMA + postcopy-ram has been broken for a while.
Rather than spending time re-enabling it, let's simply disable it as a
trade-off.
Reviewed-by: Peter Xu
Signed-off-by: Li Zhijian
---
V3:
- collect Reviewed tag
- reoder: 6th -> 3th
---
migration/options.c | 4
1 file
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
- setup a new Soft-RoCE(aka RXE) if it's root
- detect existing RoCE link
Test will be skipped if there is no available RoCE link.
# Start of rdma t
- It fix the RDMA migration broken issue
- disable RDMA + postcopy
- some cleanups
- Add a qtest for RDMA at last
Changes since V4:
- collect Reviewed-tags
- Address comments in patch "migration: Add qtest for migration over RDMA"
from Fabiano Rosas
Changes since V3:
- check RDMA and capabili
Depending on the order of starting RDMA and setting capability,
they can be categorized into the following scenarios:
Source:
S1: [set capabilities] -> [Start RDMA outgoing]
Destination:
D1: [set capabilities] -> [Start RDMA incoming]
D2: [Start RDMA incoming] -> [set capabilities]
Previously,
When cpu is added, connect extioi gpio irq to CPU irq pin.
Signed-off-by: Bibo Mao
---
hw/intc/loongarch_extioi_common.c | 45 +++
1 file changed, 45 insertions(+)
diff --git a/hw/intc/loongarch_extioi_common.c
b/hw/intc/loongarch_extioi_common.c
index 19e19a9f73..f
LoongArch ipi can send interrupt to multiple CPUs, interrupt routing
to CPU comes from destination physical cpu id. Here hotplug interface
is added for IPI object, so that parent irq line can be connected, and
routing table can be added for new created cpu.
Here only basic hotplug framework is add
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
When cpu is added, it will connect gpio irq line to cpu irq.
And cpu hot-add is put in common code, move gpio irq initial
part into common code.
Signed-off-by: Bibo Mao
---
hw/intc/loongarch_extioi.c| 8 +---
hw/intc/loongarch_extioi_common.c | 6 +-
2 files changed, 6 insertions
Use hotplug_handler_plug() to nofity ipi object when cold-plug
cpu is created, so that ipi can set and configure irq routing
to new cpu.
Signed-off-by: Bibo Mao
---
hw/loongarch/virt.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/hw/loongarch/virt.c b/hw/loongarch/vir
Implement cpu plug interface, and cold-plug cpu uses plug interface
when cpu object is created.
Co-developed-by: Xianglai Li
Signed-off-by: Bibo Mao
---
hw/loongarch/virt.c| 88 --
target/loongarch/cpu.c | 1 +
2 files changed, 78 insertions(+), 11 d
Add basic cpu hotplug interface framework, cpu hotplug interface is
stub function and only framework is added here.
Co-developed-by: Xianglai Li
Signed-off-by: Bibo Mao
---
hw/loongarch/virt.c| 29 +
target/loongarch/cpu.c | 13 +
target/loongarch/cpu
Add some properties such as socket_id, core_id, thread_id and node_id
on LoongArch CPU object.
Co-developed-by: Xianglai Li
Signed-off-by: Bibo Mao
---
target/loongarch/cpu.c | 9 +
target/loongarch/cpu.h | 4
2 files changed, 13 insertions(+)
diff --git a/target/loongarch/cpu.c b
The following changes since commit 661c2e1ab29cd9c4d268ae3f44712e8d421c0e56:
scripts/checkpatch: Fix a typo (2025-03-04 09:30:26 +0800)
are available in the Git repository at:
https://gitlab.com/bibo-mao/qemu.git tags/pull-loongarch-20250305
for you to fetch changes up to 0a629c827300d514cc
On LoongArch virt machine, ACPI GED hardware is used for CPU hotplug
handler, here CPU hotplug support feature is added based on GED handler,
also CPU scan and reject method is added about CPU device in DSDT table.
Co-developed-by: Xianglai Li
Signed-off-by: Bibo Mao
---
hw/loongarch/Kconfig
On Tue, 4 Mar 2025 14:22:48 +0800
Yuquan Wang wrote:
> >
> > On Thu, Feb 20, 2025 at 04:12:13PM +, Jonathan Cameron wrote:
> > > On Mon, 17 Feb 2025 19:20:39 +0800
> > > Yuquan Wang wrote:
> > >
> > > > Add serial number parameter in the cxl persistent examples.
> > > >
> > > > Signed
Add logic cpu allocation and cpu mapping with cpu hotplug interface.
When cpu is added, connect ipi gpio irq to CPU IRQ_IPI irq pin.
Signed-off-by: Bibo Mao
---
hw/intc/loongarch_ipi.c | 39 +++
1 file changed, 39 insertions(+)
diff --git a/hw/intc/loongarch_
Add topological relationships for Loongarch VCPU and initialize
topology member variables.
On LoongArch system there is socket/core/thread topo information,
physical CPU id is calculated from CPU topo, every topo sub-field is
aligned by power of 2. So it is different from logical cpu index.
Co-de
LoongArch extioi interrupt controller routes peripheral interrupt
to multiple CPUs, physical cpu id is used in interrupt routing table.
Here hotplug interface is added for extioi object, so that parent irq
line can be connected, and routing table can be added for new created
cpu.
Here only basic h
Hi Cedric,
> Subject: Re: [PATCH v4 12/23] hw/intc/aspeed: Introduce AspeedINTCIRQ
> structure to save the irq index and register address
>
> On 3/3/25 10:54, Jamin Lin wrote:
> > The INTC controller supports GICINT128 to GICINT136, mapping 1:1 to
> > input and output IRQs 0 to 8. Previously, th
On 25/2/25 07:40, Keoseong Park wrote:
Keoseong Park (2):
hw/ufs: Add temperature event notification support
tests/qtest/ufs-test: Add test code for the temperature feature
Series queued, thanks!
On Wed, Mar 5, 2025 at 3:53 AM Ani Sinha wrote:
>
> On Fri, Jan 31, 2025 at 3:24 PM Igor Mammedov wrote:
> >
> > On Tue, 28 Jan 2025 09:25:26 +0530
> > Ani Sinha wrote:
> >
> > > commit 0788a56bd1ae3 ("i386: Make unversioned CPU models be aliases")
> > > introduced 'default_cpu_version' for PCMa
From: Tomasz Jeznach
This function will increment a specific counter, generating an interrupt
when an overflow occurs.
Some extra changes in riscv-iommu.c were required to add this new
helper in riscv-iommu-hpm.c:
- RISCVIOMMUContext was moved to riscv-iommu.h, making it visible in
riscv-iom
Signed-off-by: Pierrick Bouvier
---
trace/control-target.c | 2 --
trace/meson.build | 4 +---
2 files changed, 1 insertion(+), 5 deletions(-)
diff --git a/trace/control-target.c b/trace/control-target.c
index d58e84f6dd8..57ceac21084 100644
--- a/trace/control-target.c
+++ b/trace/control-
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
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
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 7308fa0a767..fb2ad7492ae 100644
--- a/docs/sphinx/qapidoc.py
+++
Hi Cedric,
> Subject: Re: [PATCH v4 03/23] hw/intc/aspeed: Reduce regs array size by
> adding a register sub-region
>
> On 3/3/25 10:54, Jamin Lin wrote:
> > Currently, the size of the "regs" array is 0x2000, which is too large.
> > So far, it only uses "GICINT128 to `GICINT134", and the offsets
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 0e3ff002b69..dd3e6eb84c5 100755
--- a/scripts/qapi-lint.sh
+++
This is the first step towards QAPI domain cross-references and a QAPI
reference index.
This patch just creates the object registry and amends the qapi:module
directive to use that registry. Update the merge_domaindata stub method
now that we have actual data we may need to merge.
This patch also
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 ++-
Ad-hoc linting scripts to scrub down the new docs/sphinx files. Should
work with a reasonably modern mypy/pylint/etc, and Sphinx 8.2.0. Older
versions of Sphinx ought to still work at runtime, but may not type
check correctly.
Signed-off-by: John Snow
---
scripts/qapi-lint.sh | 55 ++
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
This adds special rendering for Sphinx's typed 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 the bas
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 intent is to modify qapidoc.py to add this option whenever it
detects that the features list attached to a def
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.
Signed-off-by: John Snow
---
docs/sphinx/qapidoc.py | 50 ++
1 file changed, 50 insertions(+)
diff --git a/docs/sphinx/qapidoc.py b/docs/sphinx/qapidoc.py
index 6de8c900543..cf5dbb0133d 100644
--- a/docs/sphinx/qapidoc.py
+++ b/docs/sphinx/qapidoc.py
@@ -2
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 ++
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
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
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
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
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
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 | 15 +++
1 file changed, 15 insertions(+)
diff --git a/docs/sphinx/qapi
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
This adds a 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-core
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
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
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
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
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 | 41 ++---
1 file changed, 38 inser
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 c243bb6faaa.
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 |
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
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
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
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.
This is just a test document that demonstrates the new qapi-domain doc
generator. Note that this test document uses a nesting depth of 2 for
the TOC unlike the existing QMP's reference nesting depth of 3. It's
arbitrary and can be changed to suit taste, it has nothing to do with
the new domain itse
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
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 intent is to modify qapidoc.py to add this option whenever it
detects that the features list attached to a definit
Add support for Features field lists. There is no QAPI-specific
functionality here, but this could be changed if desired (if we wanted
the feature names to link somewhere, for instance.)
This feature list doesn't have any restrictions, so it can be used to
document object-wide features or per-memb
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
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
1 - 100 of 465 matches
Mail list logo