[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [FIX] ne2000 when vm stopped - network hangs after loadvm
From: |
Juergen Pfennig |
Subject: |
[Qemu-devel] [FIX] ne2000 when vm stopped - network hangs after loadvm |
Date: |
Thu, 9 Feb 2006 13:08:30 +0100 |
User-agent: |
KMail/1.7.2 |
Hi,
there is still a little problem with ne2000:
(1) when the vm is in stopped state packets are still received
(2) this can fill the receive buffer before savevm ...
(3) when restarting qemu with loadvm the buffer is still full
(4) the guest OS does not get an int, so it does not know that
data is in the buffer
(5) new data will be discarded (buffer full) - the guest OS
waits forever.
(6) this make windows (users) unhappy.
One possible solution (but not a perfect one) is to block
receiving when the vm is stopped:
8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---
static void ne2000_receive(void *opaque, const uint8_t *buf, int size)
{
// ... some lines skipped
if (s->cmd & E8390_STOP || ne2000_buffer_full(s) || vm_running == 0)
return;
// ... some lines skipped
}
>8--->8--->8--->8--->8--->8--->8--->8--->8--->8--->8--->8--->8--->8---
Juergen
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] [FIX] ne2000 when vm stopped - network hangs after loadvm,
Juergen Pfennig <=