Add a "cmdline" property to the igvm-cfg object and a handler for the
IGVM_VHT_COMMAND_LINE directive, which copies the string into the
parameter area the directive points at.
The command line is passed to whatever software the IGVM file loads,
such as an SVSM. For example, SVSM can use it to select the serial port
it logs to.
Acked-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Luigi Leonardi <leonardi@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Message-ID: <20261019-igvm_command_line-v3-1-29aeacbd6cd7@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Host backends supports guest-memfd now by detecting whether it's a
confidential VM. There's no way to choose it yet from the memory level to
use it fully shared. If we use guest-memfd, it so far always implies we
need two layers of memory backends, while the guest-memfd only provides the
private set of pages.
This patch introduces a way so that QEMU can consume guest memfd as the
only source of memory to back the object (aka, fully shared).
To use the fully shared guest-memfd, one can add a memfd object with:
-object memory-backend-memfd,x-guest-memfd=on,share=on
Note that share=on is required with fully shared guest_memfd.
Since guest-memfd is not yet a drop-in replacement for memfd (e.g. lack
of hugepage support), the option is tagged as experimental for now so
that it can be made available for early enablement/testing without
causing any surprises for other users.
PS: there's a trivial touch-up on fd<0 check, because the stub to create
guest-memfd may return negative but not -1.
Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: David Hildenbrand <david@kernel.org>
Co-developed-by: Michael Roth <michael.roth@amd.com>
Signed-off-by: Michael Roth <michael.roth@amd.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Link: https://lore.kernel.org/r/20260929235109.1398509-11-michael.roth@amd.com
Signed-off-by: Peter Xu <peterx@redhat.com>
This patch splits the intro/details section for structs which are used
in an inlinable context; i.e. structs used either as arguments for a
command/event, or used as a branch of a union. The QAPI documentation
block for these entities will have their intro section left behind
when inlined into other contexts, but will still display the intro
section on standalone documentation for these types.
This patch does not change how the rendered documentation currently
looks, except:
1. MemoryBackendShmProperties and MemoryBackendEpcProperties see their
member descriptions move upwards to just below their formalized
introductory sections.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-ID: <20260928192557.509157-11-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
[Commit message tweaked]
Signed-off-by: Markus Armbruster <armbru@redhat.com>
The structs of concern in this patch are those for which no other QAPI
definition (currently) uses as a data type to describe its own
arguments or as a branch of a union: i.e. they are not currently
eligible to be inlined and as such the precise semantics of their
intro/details split is *currently* of less concern.
Of course, they could be inlined in the future, so the semantics of
this split are still worth investigating.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-ID: <20260928192557.509157-10-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Convert or split apart the existing intro for any remaining commands
in the QAPI schema into introduction and details sections. The
introduction is indented, remaining plaintext/details paragraphs
are not.
For commands that have automatically generated documentation inserted
at parse time, these new split points serve as the new insertion
point. This affects the rendered documentation for `netdev_add`,
`query-stats`, and `query-gic-capabilities` in particular, whose
arguments descriptions / "Returns:" documentation are pushed upwards.
Minor rephrasings are applied for `query-qmp-schema` to help
the split flow better in rendered documentation.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-ID: <20260928192557.509157-7-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
[Commit message corrected]
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Convert or split apart the existing intro for commands in
misc-i386.json into introduction and details sections. The
introduction is indented, remaining plaintext/details paragraphs are
not.
For commands that have automatically generated documentation inserted
at parse time, these new split points serve as the new insertion
point. This affects the rendered documentation for `query-sev` in
particular, whose "Returns:" documentation is pushed upwards.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-ID: <20260928192557.509157-6-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Convert or split apart the existing intro for commands in job.json
into introduction and details sections. The introduction is indented,
remaining plaintext/details paragraphs are not.
@job-dismiss has its text split apart a little more aggressively to
help the documentation read more smoothly in the rendered version.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-ID: <20260928192557.509157-5-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Convert, or split off, intro sections for commands defined in
block.json and block-export.json. This does not currently impact the
way these commands are rendered, except:
1. blockdev-open-tray and blockdev-close-tray see their opening
paragraphs split apart, which is reflected in the rendered output,
and
2. block_set_io_throttle and nbd-server-add see their argument
definitions move up to just below the formalized introductory
section.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-ID: <20260928192557.509157-4-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
[Commit message tweaked]
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Convert, or split off, intro sections for commands defined in
block-core.json. This does not currently impact the way
these commands are rendered, except:
1. blockdev-reopen sees its arguments shift up to just below the
formalized introductory section.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-ID: <20260928192557.509157-3-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
[Commit message tweaked, funny typo corrected]
Signed-off-by: Markus Armbruster <armbru@redhat.com>
This changes the rendering for this event by adding a new insertion
point right after the introductory paragraph, before the
".. note::".
Because this event features auto-inserted member documentation ("The
members of "HvBalloonInfo"), creating this new split point changes the
rendered documentation - the ".. note::" now appears below the
generated member documentation instead of above it.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-ID: <20260928192557.509157-2-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
This patch converts intro sections that are immediately followed by
".. note::" or ".. qmp-example::", which provides a natural cutoff
point. This patch does not change how these functions happen to be
rendered, as they do not have any auto-generated documention inserted
into them.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-ID: <20260917194614.549584-8-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
These are either structs or unions that are used in an inlinable
context: i.e. the generated documentation is likely to feature a
version of this documentation block that does not include the intro in
context of another command, event, or structure.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-ID: <20260917194614.549584-5-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
These are either structs or unions that are used in an inlinable
context: i.e. the generated documentation is likely to feature a
version of this documentation block that does not include the intro in
context of another command, event, or structure.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-ID: <20260917194614.549584-4-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
These are either structs or unions that are used in an inlinable
context: i.e. the generated documentation is likely to feature a
version of this documentation block that does not include the intro in
context of another command, event, or structure.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-ID: <20260917194614.549584-3-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
These are either structs or unions that are used in an inlinable
context: i.e. the generated documentation is likely to feature a
version of this documentation block that does not include the intro in
context of another command, event, or structure.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-ID: <20260917194614.549584-2-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>