Displaying 2 results from an estimated 2 matches for "qemu_irq_get_vector".
2009 May 20
9
[PATCH] qemu: msi irq allocation api
...ic_free_msi(qemu_irq *irq)
+{
+ qemu_free(qemu_irq_get_opaque(irq[0]));
+ qemu_free_irqs(irq);
+}
+
+static int ioapic_update_msi(qemu_irq irq, uint64_t addr, uint32_t data,
+ int masked)
+{
+ struct msi_state *state = qemu_irq_get_opaque(irq);
+ int vector = qemu_irq_get_vector(irq);
+ state[vector].addr = addr;
+ state[vector].data = data;
+ return 0;
+}
+
+struct pci_msi_ops ioapic_msi_ops = {
+ .allocate = ioapic_allocate_msi,
+ .update = ioapic_update_msi,
+ .free = ioapic_free_msi,
+};
+
diff --git a/hw/irq.c b/hw/irq.c
index 7703f62..9180381 100644...
2009 May 20
9
[PATCH] qemu: msi irq allocation api
...ic_free_msi(qemu_irq *irq)
+{
+ qemu_free(qemu_irq_get_opaque(irq[0]));
+ qemu_free_irqs(irq);
+}
+
+static int ioapic_update_msi(qemu_irq irq, uint64_t addr, uint32_t data,
+ int masked)
+{
+ struct msi_state *state = qemu_irq_get_opaque(irq);
+ int vector = qemu_irq_get_vector(irq);
+ state[vector].addr = addr;
+ state[vector].data = data;
+ return 0;
+}
+
+struct pci_msi_ops ioapic_msi_ops = {
+ .allocate = ioapic_allocate_msi,
+ .update = ioapic_update_msi,
+ .free = ioapic_free_msi,
+};
+
diff --git a/hw/irq.c b/hw/irq.c
index 7703f62..9180381 100644...