Should pass &assigned_dev->dev to ipf_map_irq in while loop. And rename it to assigned_dev_update_irqs() because it updates irq on all assigned devices.
Signed-off-by: Weidong Han <[EMAIL PROTECTED]>
---
qemu/hw/device-assignment.c | 4 ++--
qemu/hw/pci.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/qemu/hw/device-assignment.c b/qemu/hw/device-assignment.c
index 4a38a22..74f183a 100644
--- a/qemu/hw/device-assignment.c
+++ b/qemu/hw/device-assignment.c
@@ -491,7 +491,7 @@ static uint32_t calc_assigned_dev_id(uint8_t bus, uint8_t
devfn)
/* The pci config space got updated. Check if irq numbers have changed
* for our devices
*/
-void assigned_dev_update_irq(PCIDevice *d)
+void assigned_dev_update_irqs()
{
AssignedDevInfo *adev;
@@ -505,7 +505,7 @@ void assigned_dev_update_irq(PCIDevice *d)
irq = piix_get_irq(irq);
#ifdef TARGET_IA64
- irq = ipf_map_irq(d, irq);
+ irq = ipf_map_irq(&assigned_dev->dev, irq);
#endif
if (irq != assigned_dev->girq) {
diff --git a/qemu/hw/pci.c b/qemu/hw/pci.c
index c93758d..bdd2985 100644
--- a/qemu/hw/pci.c
+++ b/qemu/hw/pci.c
@@ -51,7 +51,7 @@ struct PCIBus {
static void pci_update_mappings(PCIDevice *d);
static void pci_set_irq(void *opaque, int irq_num, int level);
-void assigned_dev_update_irq(PCIDevice *d);
+void assigned_dev_update_irqs(void);
target_phys_addr_t pci_mem_base;
static int pci_irq_index;
@@ -459,7 +459,7 @@ void pci_default_write_config(PCIDevice *d,
if (kvm_enabled() && qemu_kvm_irqchip_in_kernel() &&
address >= PIIX_CONFIG_IRQ_ROUTE &&
address < PIIX_CONFIG_IRQ_ROUTE + 4)
- assigned_dev_update_irq(d);
+ assigned_dev_update_irqs();
#endif /* USE_KVM_DEVICE_ASSIGNMENT */
end = address + len;
--
1.6.0.4
0001-Remove-the-useless-parameter-of-assigned_dev_update_.patch
Description: 0001-Remove-the-useless-parameter-of-assigned_dev_update_.patch
