guest: Drop multifunction address magic

Seems sufficiently obscure that if someone is manually specifying
addresses we can require them to pass multifunction as well
This commit is contained in:
Cole Robinson 2018-09-01 15:43:12 -04:00
parent 41daf1227c
commit c3515fa469
2 changed files with 1 additions and 27 deletions

View File

@ -459,7 +459,7 @@ c.add_compare(""" \
--graphics spice,listens0.type=socket,listens0.socket=/tmp/foobar \
\
--controller usb,model=ich9-ehci1,address=0:0:4.7,index=0 \
--controller usb,model=ich9-uhci1,address=0:0:4.0,index=0,master=0 \
--controller usb,model=ich9-uhci1,address=0:0:4.0,index=0,master=0,address.multifunction=on \
--controller usb,model=ich9-uhci2,address=0:0:4.1,index=0,master=2 \
--controller usb,model=ich9-uhci3,address=0:0:4.2,index=0,master=4 \
\

View File

@ -741,7 +741,6 @@ class Guest(XMLBuilder):
for dev in self.devices.get_all():
dev.set_defaults(self)
self._check_address_multi()
self._set_disk_defaults()
self._add_implied_controllers()
self._set_net_defaults()
@ -990,31 +989,6 @@ class Guest(XMLBuilder):
self.add_device(ctrl)
break
def _check_address_multi(self):
addresses = {}
for d in self.devices.get_all():
if d.address.type != d.address.ADDRESS_TYPE_PCI:
continue
if None in [d.address.domain, d.address.bus, d.address.slot]:
continue
addr = d.address
addrstr = "%d%d%d" % (d.address.domain,
d.address.bus,
d.address.slot)
if addrstr not in addresses:
addresses[addrstr] = {}
if addr.function in addresses[addrstr]:
raise ValueError(_("Duplicate address for devices %s and %s") %
(str(d), str(addresses[addrstr][addr.function])))
addresses[addrstr][addr.function] = d
for devs in list(addresses.values()):
if len(devs) > 1 and 0 in devs:
devs[0].address.multifunction = True
def _supports_virtio(self, os_support):
if not self.conn.is_qemu():
return False