[illumos-Discuss] recent sunos kernels has big problem with qemu's e1000 driver

Mike Riley lvskiprof at cox.net
Wed Sep 15 11:42:55 PDT 2010


On 09/15/10 08:31, Garrett D'Amore wrote:
> On Wed, 2010-09-15 at 17:10 +0200, dpecka wrote:
>> well, i'm not expert in any case for such a thing, but i'd like to
>> suppose, that the emulated driver attempts to be identical as a hardware
>> however it doesn't in real ..
>
> Actually, usually the emulation doesn't emulate the full hardware, just
> enough to make the typical OS drivers work with it.  In some cases, the
> behaviors are very fragile, depending on specific initialization
> sequences, such that when the driver does them differently (perhaps on a
> different OS), the emulation fails to work.

And the e1000g driver is from Intel, at least originally.  Some tweaks might have been done from 
the original code drop, as I know it was made to work on SPARC at one point, but any such 
changes would have gone back to Intel.

We have had issues in the past where drivers failed on Solaris that worked elsewhere.  One that 
had Intel scratching their heads was for the Pro-100/B NICs.  A specific revision would stop 
working after a while under heavy load.  It was eventually chased down to a firmware issue that 
was only seen on Solaris, because we were actually getting more throughput that Linux or Windows 
at the time.  The driver now recognizes those revision devices and uploads a firmware fix to 
them.  But it took Intel almost a year to figure out what was going on.

Just an example of how a driver might act differently on Solaris versus other OSes.

Mike



More information about the Discuss mailing list