In the case of chassisNr (used to set chassis_nr of a pci-bridge
controller), 0 is reserved for / used by the pci[e]-root bus. In the
base of busNr, a value of 0 would mean that the root bus had no places
available to plug in new buses, including the pxb itself (the
documentation I wrote for pxb even noted the limit of busNr as 1.254).
NB: oddly, the "chassis" attribute, which is used for pcie-root-port
and pcie-switch-downstream-port *can* be set to 0, since it's the
combination of {chassis, slot} that needs to be unique, not chassis by
itself (and slot 0 of pcie-root is reserved, while pcie-*-port can use
*only* slot 0).
This resolves: https://bugzilla.redhat.com/show_bug.cgi?id=
1342962
control QEMU's "chassis_nr" option for the pci-bridge device
(normally libvirt automatically sets this to the same value as
the index attribute of the pci controller). If set, chassisNr
- must be between 0 and 255.
+ must be between 1 and 255.
</dd>
<dt><code>chassis</code></dt>
<dd>
chassisNr);
goto error;
}
- if (def->opts.pciopts.chassisNr < 0 ||
+ if (def->opts.pciopts.chassisNr < 1 ||
def->opts.pciopts.chassisNr > 255) {
virReportError(VIR_ERR_XML_ERROR,
_("PCI controller chassisNr '%s' out of range "
- "- must be 0-255"),
+ "- must be 1-255"),
chassisNr);
goto error;
}
busNr);
goto error;
}
- if (def->opts.pciopts.busNr < 0 ||
+ if (def->opts.pciopts.busNr < 1 ||
def->opts.pciopts.busNr > 254) {
virReportError(VIR_ERR_XML_ERROR,
_("PCI controller busNr '%s' out of range "
- "- must be 0-254"),
+ "- must be 1-254"),
busNr);
goto error;
}