}
+static int
+virDomainControllerDefValidate(const virDomainControllerDef *controller)
+{
+ if (controller->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI) {
+ if (controller->idx > 255) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("PCI controller index %d too high, maximum is 255"),
+ controller->idx);
+ return -1;
+ }
+ }
+ return 0;
+}
+
+
static int
virDomainDeviceDefValidateInternal(const virDomainDeviceDef *dev,
const virDomainDef *def)
case VIR_DOMAIN_DEVICE_NET:
return virDomainNetDefValidate(dev->data.net);
+ case VIR_DOMAIN_DEVICE_CONTROLLER:
+ return virDomainControllerDefValidate(dev->data.controller);
+
case VIR_DOMAIN_DEVICE_LEASE:
case VIR_DOMAIN_DEVICE_FS:
case VIR_DOMAIN_DEVICE_INPUT:
case VIR_DOMAIN_DEVICE_VIDEO:
case VIR_DOMAIN_DEVICE_HOSTDEV:
case VIR_DOMAIN_DEVICE_WATCHDOG:
- case VIR_DOMAIN_DEVICE_CONTROLLER:
case VIR_DOMAIN_DEVICE_GRAPHICS:
case VIR_DOMAIN_DEVICE_HUB:
case VIR_DOMAIN_DEVICE_SMARTCARD: