mirror of
https://github.com/virt-manager/virt-manager.git
synced 2025-03-11 16:58:31 +03:00
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:
parent
41daf1227c
commit
c3515fa469
@ -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 \
|
||||
\
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user