[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 09/15] BACKPORT: Update irqs on reset and device loa
From: |
Glauber Costa |
Subject: |
[Qemu-devel] [PATCH 09/15] BACKPORT: Update irqs on reset and device load |
Date: |
Wed, 17 Jun 2009 13:09:58 -0400 |
From: Blue Swirl <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>
Signed-off-by: Glauber Costa <address@hidden>
---
hw/e1000.c | 10 +++++++++-
hw/rtl8139.c | 2 ++
2 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/hw/e1000.c b/hw/e1000.c
index ba766e0..b1cf2b0 100644
--- a/hw/e1000.c
+++ b/hw/e1000.c
@@ -150,12 +150,18 @@ ioport_map(PCIDevice *pci_dev, int region_num, uint32_t
addr,
}
static void
+update_irqs(E1000State *s)
+{
+ qemu_set_irq(s->dev.irq[0], (s->mac_reg[IMS] & s->mac_reg[ICR]) != 0);
+}
+
+static void
set_interrupt_cause(E1000State *s, int index, uint32_t val)
{
if (val)
val |= E1000_ICR_INT_ASSERTED;
s->mac_reg[ICR] = val;
- qemu_set_irq(s->dev.irq[0], (s->mac_reg[IMS] & s->mac_reg[ICR]) != 0);
+ update_irqs(s);
}
static void
@@ -970,6 +976,7 @@ nic_load(QEMUFile *f, void *opaque, int version_id)
for (j = 0; j < mac_regarraystosave[i].size; j++)
qemu_get_be32s(f,
s->mac_reg + mac_regarraystosave[i].array0 + j);
+ update_irqs(s);
return 0;
}
@@ -1068,6 +1075,7 @@ static void e1000_reset(void *opaque)
memmove(d->mac_reg, mac_reg_init, sizeof mac_reg_init);
d->rxbuf_min_shift = 1;
memset(&d->tx, 0, sizeof d->tx);
+ update_irqs(d);
}
PCIDevice *
diff --git a/hw/rtl8139.c b/hw/rtl8139.c
index 42899a5..c2f2921 100644
--- a/hw/rtl8139.c
+++ b/hw/rtl8139.c
@@ -3314,6 +3314,8 @@ static int rtl8139_load(QEMUFile* f,void* opaque,int
version_id)
s->cplus_enabled = s->CpCmd != 0;
}
+ rtl8139_update_irq(s);
+
return 0;
}
--
1.6.2.2
- [Qemu-devel] [GIT PULL 00/15] Stable branch update 2009-06-17, Glauber Costa, 2009/06/17
- [Qemu-devel] [PATCH 01/15] net: Fix -net socket, listen (Jan Kiszka), Glauber Costa, 2009/06/17
- [Qemu-devel] [PATCH 02/15] Minimal ethernet frame length is 64 bytes., Glauber Costa, 2009/06/17
- [Qemu-devel] [PATCH 03/15] Don't send all gratuitous packets at once., Glauber Costa, 2009/06/17
- [Qemu-devel] [PATCH 04/15] serial: fix lost character after sysrq, Glauber Costa, 2009/06/17
- [Qemu-devel] [PATCH 05/15] e1000: Ignore reset command, Glauber Costa, 2009/06/17
- [Qemu-devel] [PATCH 06/15] VNC: Fix memory allocation (wrong structure size)., Glauber Costa, 2009/06/17
- [Qemu-devel] [PATCH 07/15] fix raw_pread_aligned return value, Glauber Costa, 2009/06/17
- [Qemu-devel] [PATCH 08/15] BACKPORT: Register reset functions for e1000 and rtl8139, Glauber Costa, 2009/06/17
- [Qemu-devel] [PATCH 09/15] BACKPORT: Update irqs on reset and device load,
Glauber Costa <=
- [Qemu-devel] [PATCH 10/15] BACKPORT: Add rtc reset function., Glauber Costa, 2009/06/17
- [Qemu-devel] [PATCH 11/15] fix qemu_aio_flush, Glauber Costa, 2009/06/17
- [Qemu-devel] [PATCH 12/15] QEMU KVM: i386: Fix the cpu reset state, Glauber Costa, 2009/06/17
- [Qemu-devel] [PATCH 13/15] kvm: Fix IRQ injection into full queue, Glauber Costa, 2009/06/17
- [Qemu-devel] [PATCH 14/15] Prevent CD-ROM media eject while device is locked, Glauber Costa, 2009/06/17
- [Qemu-devel] [PATCH 15/15] Fix vga_screen_dump_blank() PPM generation, Glauber Costa, 2009/06/17
- [Qemu-devel] Re: [PATCH 09/15] BACKPORT: Update irqs on reset and device load, Blue Swirl, 2009/06/17
- [Qemu-devel] Re: [PATCH 09/15] BACKPORT: Update irqs on reset and device load, Glauber Costa, 2009/06/17
Re: [Qemu-devel] [GIT PULL 00/15] Stable branch update 2009-06-17, Anthony Liguori, 2009/06/17