qemu-devel
[Top][All Lists]
Advanced

[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: Sat, 29 Aug 2009 20:17:55 +0200
User-agent: Mutt/1.5.20 (2009-06-14)

On Thu, Aug 13, 2009 at 03:01:20PM +0300, Naphtali Sprei wrote:
> Bug fix for segfault when run as i82551 HW:
> Use Extended TBD only when HW supports it (i82558 and up).
> 
> Added assertions to guard from such buffer overflow
> Introduce the MAX_TCB_BYTE_COUNT macro
> Allocate buf big enough as HW needs (MAX_ETH_FRAME_SIZE -> MAX_TCB_BYTE_COUNT)
> 
> 
> 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.

It seems this was applied. Unfortunately this breaks things on FreeBSD.
There seem to be multiple issues.
First, the intel document says the 82551, 82550, 82559 models are all
supersets of the 82558. Or in other words: they all support this
feature.
Only the 82557 does not.
But then even for that the FreeBSD driver will fail.
The reason for that is this line:
    eeprom_contents[0xa] = 0x4000;
the value here must be 0x01000 for all 82557 models it seems.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]