Message ID | 20090811182744.GA7045@1und1.de |
---|---|
State | Superseded |
Headers | show |
Reimar Döffinger wrote: > On Sun, Aug 09, 2009 at 11:14:33PM +0200, Reimar Döffinger wrote: > >> Attached is a series of patches that makes things work with at least >> some version of that (sorry, I only tried some binary I found on the >> net, didn't compile from source). >> In addition, I also used the documentation from here: >> http://www.intel.com/design/network/manuals/8255X_OpenSDM.htm >> > > Another change, currently if the hardware runs out of receive buffers qemu > crashes with an assert. > Simply setting the RU state to "no resources" seems to work (though it > is hard to provoke the situation and thus hard to test well), at least > it can't be any worse than crashing due to an assert (IMO)... > Please send this as a series of patches with each patch in an email. Regards, Anthony Liguori
Hello,
On Tue, Aug 11, 2009 at 03:26:25PM -0500, Anthony Liguori wrote:
> Please send this as a series of patches with each patch in an email.
Ok, resending as a series of patches, hopefully this is the proper format now.
Repeating myself a bit from the original mail:
I have been playing around a bit with the OS X/darwin network drivers for these
cards and noticed that they seem to differ quite a bit from the Linux ones.
If you're interested, the source of the core part is here:
http://www.opensource.apple.com/source/AppleIntel8255x/AppleIntel8255x-19/i82557Private.cpp
Attached is a series of patches that makes things work with at least
some version of that (sorry, I only tried some binary I found on the
net, didn't compile from source).
In addition, I also used the documentation from here:
http://www.intel.com/design/network/manuals/8255X_OpenSDM.htm
Hope this is interesting to someone and maybe we can even get these
merged...
Thanks,
Reimar Döffinger
On Tue, Aug 11, 2009 at 11:13:51PM +0200, Reimar Döffinger wrote: > On Tue, Aug 11, 2009 at 03:26:25PM -0500, Anthony Liguori wrote: > > Please send this as a series of patches with each patch in an email. > > Ok, resending as a series of patches, hopefully this is the proper format now. > Repeating myself a bit from the original mail: > I have been playing around a bit with the OS X/darwin network drivers for these > cards and noticed that they seem to differ quite a bit from the Linux ones. > If you're interested, the source of the core part is here: > http://www.opensource.apple.com/source/AppleIntel8255x/AppleIntel8255x-19/i82557Private.cpp > Attached is a series of patches that makes things work with at least > some version of that (sorry, I only tried some binary I found on the > net, didn't compile from source). > In addition, I also used the documentation from here: > http://www.intel.com/design/network/manuals/8255X_OpenSDM.htm > > Hope this is interesting to someone and maybe we can even get these > merged... I know it hasn't been that long, but still: ping? Btw. I have tested my patched version with OSX (10.5), OpenSolaris (0906), Ubuntu (9.10 alpha) and FreeBSD 7.2 (admittedly only x86/x86_64) and found no issues.
diff --git a/hw/eepro100.c b/hw/eepro100.c index d2c18cc..8b343c1 100644 --- a/hw/eepro100.c +++ b/hw/eepro100.c @@ -1558,7 +1558,7 @@ static ssize_t nic_receive(VLANClientState *vc, const uint8_t * buf, size_t size s->ru_offset = le32_to_cpu(rx.link); if (rfd_command & 0x8000) { /* EL bit is set, so this was the last frame. */ - assert(0); + set_ru_state(s, ru_no_resources); } if (rfd_command & 0x4000) { /* S bit is set. */