[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] hw/eepro100.c: Use extended TBD only where appl
From: |
Reimar Döffinger |
Subject: |
Re: [Qemu-devel] [PATCH] hw/eepro100.c: Use extended TBD only where applicable |
Date: |
Thu, 13 Aug 2009 15:06:38 +0200 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
On Thu, Aug 13, 2009 at 03:01:20PM +0300, Naphtali Sprei wrote:
> I don't feel 100% OK with the "s->device >= i82558B" condition
> since it relies on the numeric (hex) value of those defines, which currently
> is correct, but changes (which I don't forsee now) might break it.
I think it might be best to add a
switch (device)
to nic_init and set a flag in the device context there.
There is other device-dependent stuff that needs to be added to fix some
issues, e.g. I have just added this code in order to fix the statistics
counters:
@@ -1772,6 +1751,23 @@ static void nic_init(PCIDevice *pci_dev, uint32_t device)
s = &d->eepro100;
s->device = device;
s->pci_dev = &d->dev;
+ s->stats_size = 64;
+ switch (device) {
+ case i82551:
+ break;
+ case i82557B:
+ case i82557C:
+ break;
+ case i82558B:
+ s->stats_size = 76;
+ break;
+ case i82559C:
+ case i82559ER:
+ s->stats_size = 80;
+ break;
+ default:
+ assert(!"Unknown device set");
+ }
pci_reset(s);