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;
<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>
<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>