[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: multicast and the eepro100 driver
From: |
Bjørn Mork |
Subject: |
[Qemu-devel] Re: multicast and the eepro100 driver |
Date: |
Tue, 18 Dec 2007 15:44:41 +0100 |
User-agent: |
Gnus/5.110007 (No Gnus v0.7) Emacs/22.1 (gnu/linux) |
Stefan Weil <address@hidden> writes:
> eepro100.c is my work, so maybe I can help you.
>
> First of all: there exists a newer version of eepro100.c which
> fixes some bugs of the CVS version and largely improves
> support for big endian hosts and targets. Get it from
> http://svn.berlios.de/wsvn/ar7-firmware/qemu/trunk/hw/eepro100.c?op=file&rev=0&sc=0
>
> I am still working on this new version, because support for big endian
> hosts is still untested.
>
> If you define macro DEBUG_EEPRO100 in eepro100.c, you will get
> debugging messages which show the frames sent and received.
>
> Multicast frames should be received, but I never tested this,
> so maybe there is a bug, and I know that I did not implement
> all functions needed for multicast.
Hello,
I just tried your new version of eepro100.c and can confirm that
multicast reception does work with this version. Found one bug (which
does not prevent it from working): The length of the multicast list
seems have a byte/number confusion. I get:
EE100 set_multicast_list multicast list, 0 entries
EE100 set_multicast_list multicast list, 0 entries
EE100 set_multicast_list multicast list, 6 entries
EE100 set_multicast_list multicast entry 01 00 5e 00 00 01
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast list, 12 entries
EE100 set_multicast_list multicast entry 01 00 5e 00 00 01
EE100 set_multicast_list multicast entry 01 00 5e 00 00 06
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast list, 18 entries
EE100 set_multicast_list multicast entry 01 00 5e 00 00 01
EE100 set_multicast_list multicast entry 01 00 5e 00 00 05
EE100 set_multicast_list multicast entry 01 00 5e 00 00 06
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
EE100 set_multicast_list multicast entry 00 00 00 00 00 00
This patch fixes this:
--- /home/bjorn/tmp/eepro100.c 2007-12-18 14:52:48.000000000 +0100
+++ /usr/local/src/qemu-0.9.0+20070816/hw/eepro100.c 2007-12-18
15:37:40.000000000 +0100
@@ -905,7 +903,7 @@
TRACE(OTHER, logout("configuration: %s\n",
nic_dump(&s->configuration[0], 16)));
break;
case CmdMulticastList:
- set_multicast_list(s, s->tx.tbd_array_addr & BITS(13, 0));
+ set_multicast_list(s, (s->tx.tbd_array_addr & BITS(13, 0)) / 6);
break;
case CmdTx:
tx_command(s);
Thanks for your work on this!
Bjørn
--
How can you say that old people are inherently superior to unborn
people
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] Re: multicast and the eepro100 driver,
Bjørn Mork <=