提交 df2fb9bf 编写于 作者: L Laine Stump

conf: limit chassisNr, and busNr to a minimum value of 1, not 0

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
上级 f83ab972
......@@ -3277,7 +3277,7 @@
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>
......
......@@ -8405,11 +8405,11 @@ virDomainControllerDefParseXML(xmlNodePtr node,
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;
}
......@@ -8456,11 +8456,11 @@ virDomainControllerDefParseXML(xmlNodePtr node,
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;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册