libvirt/docs
Ani Sinha 7300ccc9b3 conf: introduce support for acpi-bridge-hotplug feature
This change introduces a new libvirt sub-element <pci> under
<features> that can be used to configure all pci related features.
Currently the only sub-sub element supported by this sub-element is
'acpi-bridge-hotplug' as shown below:

<features>
  <pci>
    <acpi-bridge-hotplug state='on|off'/>
  </pci>
</features>

The above option is only available for the QEMU driver, for x86 guests
only. It is a global option, affecting all PCI bridge controllers on
the guest.

The 'acpi-bridge-hotplug' option enables or disables ACPI hotplug
support for cold-plugged pci bridges. Examples of bridges include the
PCI-PCI bridge (pci-bridge controller) for pc (i440fx) machinetypes,
or PCIe-PCI bridges and pcie-root-port controllers for q35
machinetypes.

For pc machinetypes in x86, this option has been available in QEMU
since version 2.1. Please see the following changes in qemu repo:

9e047b982452c6 ("piix4: add acpi pci hotplug support")
133a2da488062e ("pc: acpi: generate AML only for PCI0 devices if PCI
               bridge hotplug is disabled")

For q35 machinetypes, this was introduced in QEMU 6.1 with the
following changes in qemu repo:

(a) c0e427d6eb5fef ("hw/acpi/ich9: Enable ACPI PCI hot-plug")
(b) 17858a16950860 ("hw/acpi/ich9: Set ACPI PCI hot-plug as default on
                   Q35")

The reasons for enabling ACPI based hotplug for PCIe (q35) based
machines (as opposed to native hotplug) are outlined in (b). There are
use cases where users would still want to use native
hotplug. Therefore, this config option enables users to choose either
ACPI based hotplug or native hotplug for bridges (for example for pcie
root port controller in q35 machines).

Qemu capability validation checks have also been added along with
related unit tests to exercise the new conf option.

Signed-off-by: Ani Sinha <ani@anisinha.ca>
Reviewed-by: Laine Stump <laine@redhat.com>
2021-10-10 13:13:45 -04:00
..
fonts meson: add rule to build and install only web documentation 2020-08-03 09:27:06 +02:00
gitdm gitdm: add more individual contributors 2020-09-25 16:00:06 +02:00
go meson: Use 'rst2html5' instead of 'rst2html' everywhere 2021-08-10 16:33:07 +02:00
html meson: add rule to build and install only web documentation 2020-08-03 09:27:06 +02:00
internals meson: Always use the / operator to join paths 2021-08-11 09:16:36 +02:00
js meson: add rule to build and install only web documentation 2020-08-03 09:27:06 +02:00
kbase kbase: Document virtio-mem 2021-10-01 11:05:12 +02:00
logos docs: fix misc spelling errors reported by codespell 2020-10-05 10:28:37 +01:00
manpages virsh: Introduce update-memory-device command 2021-10-01 11:05:05 +02:00
schemas conf: introduce support for acpi-bridge-hotplug feature 2021-10-10 13:13:45 -04:00
404.html.in Use https:// links for most sites 2017-10-16 10:22:34 +01:00
acl.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
aclpolkit.rst docs: html.in: Convert aclpolkit to rst 2021-03-15 17:31:35 +01:00
advanced-tests.rst lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
android-chrome-192x192.png docs: add full set of "favicon" files to support modern clients 2017-08-02 17:00:11 +01:00
android-chrome-256x256.png docs: add full set of "favicon" files to support modern clients 2017-08-02 17:00:11 +01:00
api_extension.rst lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
api.rst docs: html.in: Convert api to rst 2021-03-15 17:31:35 +01:00
apple-touch-icon.png docs: add full set of "favicon" files to support modern clients 2017-08-02 17:00:11 +01:00
apps.rst docs: html.in: Convert apps to rst 2021-03-15 17:31:35 +01:00
auditlog.rst docs: html.in: Convert auditlog to rst 2021-03-15 17:31:57 +01:00
auth.rst docs: auth: Fix a couple of stylistic issues 2021-03-23 17:55:06 +01:00
best-practices.rst Prefer https: for Red Hat websites 2020-09-01 21:58:46 +02:00
bindings.rst docs: html.in: Convert bindings to rst 2021-03-15 17:32:27 +01:00
browserconfig.xml docs: add full set of "favicon" files to support modern clients 2017-08-02 17:00:11 +01:00
bugs.html.in Prefer https: for Red Hat websites 2020-09-01 21:58:46 +02:00
cgroups.html.in vircgroup: introduce nested cgroup to properly work with systemd 2021-02-10 13:37:12 +01:00
ci.rst docs: switch ci status page to use Go -module repos 2021-06-09 14:48:40 +01:00
coding-style.rst lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
committer-guidelines.rst meson: adjust our documentation to mention meson instead of autoconf 2020-08-03 09:27:09 +02:00
compiling.rst docs/compiling: Add note on how to check minimum meson version 2021-03-16 10:49:33 +01:00
contact.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
contribute.html.in docs: add a link to Gitlab on the contributing page 2021-06-15 12:14:52 +02:00
csharp.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
daemons.rst docs: Small fixes for daemons.rst 2021-06-07 08:05:59 -06:00
dbus.html.in docs: point to GitLab as the primary git hosting 2020-06-03 13:38:33 +02:00
developer-tooling.rst docs: Add developer-tooling.rst 2020-04-08 09:32:35 +02:00
devguide.html.in docs: update all GIT repo examples to use https:// protocol 2018-03-21 14:48:01 +00:00
docs.html.in docs: xsl: Unify stylability of main container element 2020-11-16 14:04:04 +01:00
downloads.html.in downloads.html: Add a link to GPG key used signing releases 2021-04-09 13:48:54 +02:00
drivers.html.in Add basic driver for the Cloud-Hypervisor 2021-06-04 10:56:06 +01:00
drvbhyve.html.in docs: bhyve: document virtio-9p support 2020-10-12 15:26:00 +04:00
drvch.rst Add basic driver for the Cloud-Hypervisor 2021-06-04 10:56:06 +01:00
drvesx.html.in docs: fix misc spelling errors reported by codespell 2020-10-05 10:28:37 +01:00
drvhyperv.html.in docs: drop support for Windows versions prior to 2012R2 2020-11-09 15:26:02 +00:00
drvlxc.html.in docs: Document lxc.conf location 2021-03-12 10:52:41 +01:00
drvnodedev.html.in docs: update nodedev driver docs for new mdev features 2021-09-16 09:54:29 -05:00
drvopenvz.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
drvqemu.rst qemu: Formally deprecate support for qemu < 2.11 2021-05-03 12:14:44 +02:00
drvremote.html.in docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
drvsecret.html.in docs: fix since version in driver documentation 2020-01-27 17:36:05 +01:00
drvtest.html.in docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
drvvbox.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
drvvirtuozzo.html.in Virtuozzo URL has been changed 2021-03-24 14:24:55 +03:00
drvvmware.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
drvxen.html.in docs: Document libxl.conf location 2021-03-12 10:52:51 +01:00
errors.html.in docs: Grammar and spelling fixes 2018-05-03 12:40:37 +01:00
favicon-16x16.png docs: add full set of "favicon" files to support modern clients 2017-08-02 17:00:11 +01:00
favicon-32x32.png docs: add full set of "favicon" files to support modern clients 2017-08-02 17:00:11 +01:00
favicon.ico docs: add full set of "favicon" files to support modern clients 2017-08-02 17:00:11 +01:00
firewall.html.in doc: document new filters and not documented ones 2020-11-04 17:21:45 +01:00
format.html.in docs: fix misc spelling errors reported by codespell 2020-10-05 10:28:37 +01:00
formatbackup.rst conf: backup: Format index of 'store' 2020-12-08 15:12:34 +01:00
formatcaps.html.in docs: fix migration_features element name in formatcaps.html.in 2021-09-15 17:00:19 +02:00
formatcheckpoint.rst conf: checkpoint: Don't require <domain> when redefining checkpoints 2020-12-04 16:15:03 +01:00
formatdomain.rst conf: introduce support for acpi-bridge-hotplug feature 2021-10-10 13:13:45 -04:00
formatdomaincaps.html.in docs: Add s390-pv in domain capabilities documentation 2021-07-21 13:30:30 +02:00
formatnetwork.html.in Fix format network dns doc 2021-01-26 14:29:48 +01:00
formatnetworkport.html.in docs: formatnetworkport: Fix typos 2021-04-01 13:32:25 +02:00
formatnode.html.in nodedev: Revert auto-start property for mdevs 2021-05-27 15:38:28 +02:00
formatnwfilter.html.in doc: document new filters and not documented ones 2020-11-04 17:21:45 +01:00
formatsecret.html.in docs: secret: Unify and sanitize examples on how to set secret value 2020-01-28 18:10:36 +01:00
formatsnapshot.html.in conf: snapshot: Add support for <metadata_cache> 2021-01-08 15:27:00 +01:00
formatstorage.html.in storage: add support for QCOW2 cluster_size option 2021-05-21 14:00:43 +02:00
formatstoragecaps.html.in docs: Fix link for virConnectGetStoragePoolCapabilities 2020-12-02 16:15:43 +01:00
formatstorageencryption.html.in docs: support qcow2 format in luks encryption volume 2021-01-05 13:54:11 +01:00
generic.css docs: css: Make definition list 'code' entries bold when converted from rst 2020-08-03 18:41:11 +02:00
glib-adoption.rst docs: glib-adoption: add string arrays and objects 2020-10-02 14:10:44 +02:00
goals.html.in docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
governance.html.in docs/governance: Clarify the version number of the LGPL 2019-01-25 14:04:20 +01:00
hacking.rst Revert "docs: Drop glib-adoption.rst" 2020-10-02 14:10:40 +02:00
hooks.html.in docs: fix misc spelling errors reported by codespell 2020-10-05 10:28:37 +01:00
index.html.in docs: use a relative link to the kbase page 2021-02-03 16:33:18 +00:00
internals.html.in docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
java.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
libvirt-daemon-arch.png
libvirt-daemon-arch.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
libvirt-driver-arch.png
libvirt-driver-arch.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
libvirt-go-xml.rst docs: introduce stubs for new libvirt Go packages 2021-06-07 17:04:14 +01:00
libvirt-go.rst docs: introduce stubs for new libvirt Go packages 2021-06-07 17:04:14 +01:00
libvirt-object-model.png
libvirt-object-model.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
libvirt-virConnect-example.png
libvirt-virConnect-example.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
libvirt.css docs: css: Modify appearance of the kbase directory page 2020-11-16 14:04:04 +01:00
logging.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
main.css docs: make website responsive for mobile devices 2017-08-07 14:44:40 +01:00
manifest.json docs: Fix syntax-check error 2017-08-02 15:00:28 -04:00
meson.build meson: Use 'rst2html5' instead of 'rst2html' everywhere 2021-08-10 16:33:07 +02:00
migration-managed-direct.png
migration-managed-direct.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
migration-managed-p2p.png
migration-managed-p2p.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
migration-native.png
migration-native.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
migration-tunnel.png
migration-tunnel.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
migration-unmanaged-direct.png
migration-unmanaged-direct.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
migration.html.in docs: migration: remove xenmigr 2021-01-05 13:40:25 +01:00
mobile.css docs: add advanced search capabilities 2019-04-11 15:20:17 +01:00
mstile-150x150.png docs: add full set of "favicon" files to support modern clients 2017-08-02 17:00:11 +01:00
newapi.xsl docs: Format @variable properly 2021-09-15 08:37:40 +02:00
newreposetup.rst docs: Document CIRRUS_GITHUB_REPO variable 2020-06-11 12:03:41 +02:00
node.gif
node.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
nss.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
page.xsl docs: add go-import meta tags for new go modules 2021-07-02 15:05:15 +01:00
pci-addresses.rst Fix spelling 2021-04-15 15:42:21 +02:00
pci-hotplug.html.in Prefer https: for libguestfs.org links 2020-09-01 21:58:46 +02:00
php.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
platforms.rst docs/platforms: Drop separate link to qemu-kvm on repology.org 2021-04-12 16:09:41 +02:00
programming-languages.rst Fix capitalization "CLang" -> "Clang" 2020-11-12 15:01:42 +01:00
python.html.in doc/python: Update to Python 3 2020-04-20 14:06:25 +01:00
remote.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
securityprocess.html.in docs: fix misc spelling errors reported by codespell 2020-10-05 10:28:37 +01:00
site.xsl docs: fix libvirt go-import metadata in pages and links in 404 page 2020-08-04 17:06:33 +01:00
storage.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
strategy.html.in docs: fix misc spelling errors reported by codespell 2020-10-05 10:28:37 +01:00
structures.svg docs: convert FIG files into SVG format 2020-07-10 16:07:02 +02:00
styleguide.rst docs: Document list-tables as recommended 2020-05-11 13:55:27 +02:00
submitting-patches.rst docs/submitting-patches: add reference to DCO 2020-10-09 09:12:39 +02:00
subsite.xsl docs: fix libvirt go-import metadata in pages and links in 404 page 2020-08-04 17:06:33 +01:00
support.html.in docs: Grammar and spelling fixes 2018-05-03 12:40:37 +01:00
testapi.html.in docs: point to GitLab as the primary git hosting 2020-06-03 13:38:33 +02:00
testsuites.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
testtck.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
tlscerts.html.in docs: tlscerts: Fix a few broken links 2021-02-16 08:35:09 +01:00
uri.html.in docs: Add 'known_hosts_verify' parameter for libssh(2) connection uris 2021-02-05 16:02:22 +01:00
virshcmdref.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
windows.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00