提交 03b804a2 编写于 作者: D Daniel P. Berrange

Set a sensible default master start port for ehci companion controllers

The uhci1, uhci2, uhci3 companion controllers for ehci1 must
have a master start port set. Since this value is predictable
we should set it automatically if the app does not supply it
上级 1ebd52cb
......@@ -4073,6 +4073,28 @@ virDomainControllerDefParseXML(xmlNodePtr node,
VIR_FREE(vectors);
break;
}
case VIR_DOMAIN_CONTROLLER_TYPE_USB: {
/* If the XML has a uhci1, uhci2, uhci3 controller and no
* master port was given, we should set a sensible one */
int masterPort = -1;
switch (def->model) {
case VIR_DOMAIN_CONTROLLER_MODEL_USB_ICH9_UHCI1:
masterPort = 0;
break;
case VIR_DOMAIN_CONTROLLER_MODEL_USB_ICH9_UHCI2:
masterPort = 2;
break;
case VIR_DOMAIN_CONTROLLER_MODEL_USB_ICH9_UHCI3:
masterPort = 4;
break;
}
if (masterPort != -1 &&
def->info.mastertype == VIR_DOMAIN_CONTROLLER_MASTER_NONE) {
def->info.mastertype = VIR_DOMAIN_CONTROLLER_MASTER_USB;
def->info.master.usb.startport = masterPort;
}
break;
}
default:
break;
......
......@@ -19,19 +19,13 @@
<controller type='usb' index='1' model='ich9-ehci1'>
</controller>
<controller type='usb' index='0' model='ich9-uhci1'>
<master startport='0'/>
</controller>
<controller type='usb' index='1' model='ich9-uhci1'>
<master startport='0'/>
</controller>
<controller type='usb' index='0' model='ich9-uhci1'/>
<controller type='usb' index='1' model='ich9-uhci1'/>
<controller type='usb' index='2' model='ich9-uhci1'>
<master startport='0'/>
</controller>
<controller type='usb' index='0' model='ich9-uhci3'>
<master startport='4'/>
</controller>
<controller type='usb' index='0' model='ich9-uhci3'/>
<controller type='usb' index='1' model='ich9-uhci3'>
<master startport='4'/>
</controller>
......@@ -39,15 +33,9 @@
<master startport='4'/>
</controller>
<controller type='usb' index='2' model='ich9-uhci2'>
<master startport='2'/>
</controller>
<controller type='usb' index='1' model='ich9-uhci2'>
<master startport='2'/>
</controller>
<controller type='usb' index='0' model='ich9-uhci2'>
<master startport='2'/>
</controller>
<controller type='usb' index='2' model='ich9-uhci2'/>
<controller type='usb' index='1' model='ich9-uhci2'/>
<controller type='usb' index='0' model='ich9-uhci2'/>
<memballoon model='virtio'/>
</devices>
</domain>
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册