mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-24 06:35:24 +00:00
bhyve: auto-assign addresses when <address type='pci'/> is specified
Rather than only assigning a PCI address when no address is given at all, also do it when the config says that the address type is 'pci', but it gives no address.
This commit is contained in:
parent
8f578716c7
commit
d05da3fc72
@ -98,7 +98,7 @@ bhyveAssignDevicePCISlots(virDomainDefPtr def,
|
||||
goto error;
|
||||
|
||||
for (i = 0; i < def->nnets; i++) {
|
||||
if (def->nets[i]->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE)
|
||||
if (!virDeviceInfoPCIAddressWanted(&def->nets[i]->info))
|
||||
continue;
|
||||
if (virDomainPCIAddressReserveNextSlot(addrs,
|
||||
&def->nets[i]->info,
|
||||
@ -107,8 +107,7 @@ bhyveAssignDevicePCISlots(virDomainDefPtr def,
|
||||
}
|
||||
|
||||
for (i = 0; i < def->ndisks; i++) {
|
||||
if (def->disks[i]->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE &&
|
||||
def->disks[i]->info.addr.pci.slot != 0)
|
||||
if (!virDeviceInfoPCIAddressWanted(&def->disks[i]->info))
|
||||
continue;
|
||||
if (virDomainPCIAddressReserveNextSlot(addrs,
|
||||
&def->disks[i]->info,
|
||||
@ -118,9 +117,8 @@ bhyveAssignDevicePCISlots(virDomainDefPtr def,
|
||||
|
||||
for (i = 0; i < def->ncontrollers; i++) {
|
||||
if (def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI) {
|
||||
if (def->controllers[i]->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE)
|
||||
continue;
|
||||
if (def->controllers[i]->model == VIR_DOMAIN_CONTROLLER_MODEL_PCI_ROOT)
|
||||
if (def->controllers[i]->model == VIR_DOMAIN_CONTROLLER_MODEL_PCI_ROOT ||
|
||||
!virDeviceInfoPCIAddressWanted(&def->controllers[i]->info))
|
||||
continue;
|
||||
|
||||
if (virDomainPCIAddressReserveNextSlot(addrs,
|
||||
|
Loading…
Reference in New Issue
Block a user