device-assignment: introduce get_assigned_dev_id
PATCH 1/1 device-assignment: introduce get_assigned_dev_id
Stop repeating same code.
Signed-off-by Hidetoshi Seto <[email protected]>
--- hw/device-assignment.c | 25 +++++++++++-------------- 1 files changed, 11 insertions(+), 14 deletions(-)
hw/device-assignment.c +11 -14
@@ -823,6 +823,11 @@ static uint32_t calc_assigned_dev_id(uint16_t seg, uint8_t bus, uint8_t devfn)return (uint32_t )seg <<16 | (uint32_t )bus <<8 | (uint32_t )devfn; } +static uint32_t get_assigned_dev_id (AssignedDevice *dev) +{ +return calc_assigned_dev_id (dev->h_segnr, dev->h_busnr, dev->h_devfn); +} +static void assign_failed_examine (AssignedDevice *dev) {char name[PATH_MAX ], dir[PATH_MAX ], driver[PATH_MAX ] = {}, *ns;
@@ -886,8 +891,7 @@ static int assign_device(AssignedDevice *dev)#endif memset (&assigned_dev_data,0 ,sizeof (assigned_dev_data)); - assigned_dev_data.assigned_dev_id = -calc_assigned_dev_id (dev->h_segnr, dev->h_busnr, dev->h_devfn); + assigned_dev_data.assigned_dev_id =get_assigned_dev_id (dev);#ifdef KVM_CAP_PCI_SEGMENT assigned_dev_data.segnr = dev->h_segnr;#endif
@@ -944,8 +948,7 @@ static int assign_irq(AssignedDevice *dev)return r;memset (&assigned_irq_data,0 ,sizeof (assigned_irq_data)); - assigned_irq_data.assigned_dev_id = -calc_assigned_dev_id (dev->h_segnr, dev->h_busnr, dev->h_devfn); + assigned_irq_data.assigned_dev_id =get_assigned_dev_id (dev); assigned_irq_data.guest_irq = irq; assigned_irq_data.host_irq = dev->real_device.irq;#ifdef KVM_CAP_ASSIGN_DEV_IRQ
@@ -985,8 +988,7 @@ static void deassign_device(AssignedDevice *dev)int r;memset (&assigned_dev_data,0 ,sizeof (assigned_dev_data)); - assigned_dev_data.assigned_dev_id = -calc_assigned_dev_id (dev->h_segnr, dev->h_busnr, dev->h_devfn); + assigned_dev_data.assigned_dev_id =get_assigned_dev_id (dev); r =kvm_deassign_pci_device (kvm_context, &assigned_dev_data);if (r <0 )
@@ -1041,9 +1043,7 @@ static void assigned_dev_update_msi(PCIDevice *pci_dev, unsigned int ctrl_pos)int r;memset (&assigned_irq_data,0 ,sizeof assigned_irq_data); - assigned_irq_data.assigned_dev_id = -calc_assigned_dev_id (assigned_dev->h_segnr, assigned_dev->h_busnr, - (uint8_t )assigned_dev->h_devfn); + assigned_irq_data.assigned_dev_id =get_assigned_dev_id (assigned_dev);/* Some guests gratuitously disable MSI even if they're not using it, * try to catch this by only deassigning irqs if the guest is using
@@ -1133,8 +1133,7 @@ static int assigned_dev_update_msix_mmio(PCIDevice *pci_dev)fprintf (stderr,"MSI-X entry number is zero!\n" );return -EINVAL ; } - msix_nr.assigned_dev_id =calc_assigned_dev_id (adev->h_segnr, adev->h_busnr, - (uint8_t )adev->h_devfn); + msix_nr.assigned_dev_id =get_assigned_dev_id (adev); msix_nr.entry_nr = entries_nr; r =kvm_assign_set_msix_nr (kvm_context, &msix_nr);if (r !=0 ) {
@@ -1205,9 +1204,7 @@ static void assigned_dev_update_msix(PCIDevice *pci_dev, unsigned int ctrl_pos)int r;memset (&assigned_irq_data,0 ,sizeof assigned_irq_data); - assigned_irq_data.assigned_dev_id = -calc_assigned_dev_id (assigned_dev->h_segnr, assigned_dev->h_busnr, - (uint8_t )assigned_dev->h_devfn); + assigned_irq_data.assigned_dev_id =get_assigned_dev_id (assigned_dev);/* Some guests gratuitously disable MSIX even if they're not using it, * try to catch this by only deassigning irqs if the guest is using
Signature · 1 line
1.7.3.1