1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2024-12-25 01:34:11 +03:00
libvirt/docs/schemas
Laine Stump bf20251048 conf: add new <model> subelement with name attribute to <controller>
This new subelement is used in PCI controllers: the toplevel
*attribute* "model" of a controller denotes what kind of PCI
controller is being described, e.g. a "dmi-to-pci-bridge",
"pci-bridge", or "pci-root". But in the future there will be different
implementations of some of those types of PCI controllers, which
behave similarly from libvirt's point of view (and so should have the
same model), but use a different device in qemu (and present
themselves as a different piece of hardware in the guest). In an ideal
world we (i.e. "I") would have thought of that back when the pci
controllers were added, and used some sort of type/class/model
notation (where class was used in the way we are now using model, and
model was used for the actual manufacturer's model number of a
particular family of PCI controller), but that opportunity is long
past, so as an alternative, this patch allows selecting a particular
implementation of a pci controller with the "name" attribute of the
<model> subelement, e.g.:

  <controller type='pci' model='dmi-to-pci-bridge' index='1'>
    <model name='i82801b11-bridge'/>
  </controller>

In this case, "dmi-to-pci-bridge" is the kind of controller (one that
has a single PCIe port upstream, and 32 standard PCI ports downstream,
which are not hotpluggable), and the qemu device to be used to
implement this kind of controller is named "i82801b11-bridge".

Implementing the above now will allow us in the future to add a new
kind of dmi-to-pci-bridge that doesn't use qemu's i82801b11-bridge
device, but instead uses something else (which doesn't yet exist, but
qemu people have been discussing it), all without breaking existing
configs.

(note that for the existing "pci-bridge" type of PCI controller, both
the model attribute and <model> name are 'pci-bridge'. This is just a
coincidence, since it turns out that in this case the device name in
qemu really is a generic 'pci-bridge' rather than being the name of
some real-world chip)
2015-08-09 21:29:27 -04:00
..
basictypes.rng rng: fix port number range validation 2015-04-23 12:59:52 +01:00
capability.rng domain: conf: Drop unused OSTYPE_AIX 2015-04-29 09:42:26 -04:00
domain.rng conf: set up for per-grammar overrides in schemas 2014-04-15 21:07:59 +02:00
domaincaps.rng domaincaps: Expose UEFI binary path, if it exists 2014-09-17 16:29:49 +02:00
domaincommon.rng conf: add new <model> subelement with name attribute to <controller> 2015-08-09 21:29:27 -04:00
domainsnapshot.rng conf: split <disk> schema into more pieces 2014-04-16 10:45:55 +02:00
interface.rng interface: allow multiple IPv4 addresses + dhcp on a single interface 2015-05-22 10:14:01 -04:00
Makefile.am Introduce domain_capabilities 2014-07-03 12:22:37 +02:00
network.rng schema: Fix interface link state schema 2015-03-03 09:43:13 +01:00
networkcommon.rng RNG schema: allow plain @floor to <bandwidth/> 2015-04-16 09:07:43 +02:00
nodedev.rng SRIOV NIC offload feature discovery 2015-03-05 11:31:05 +01:00
nwfilter.rng nwfilter: Add support for icmpv6 filtering 2015-01-07 11:41:49 -05:00
secret.rng schemas: finish virTristate{Bool,Switch} transition 2014-09-17 16:10:26 +02:00
storagecommon.rng storage: conf: Don't set any default <mode> in the XML 2015-05-25 20:52:55 -04:00
storagepool.rng docs: Adjust Disk storage rng 2015-06-23 09:25:24 -04:00
storagevol.rng storage: unify permission formatting 2014-12-16 15:47:56 +01:00