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

Milan Jurik milan.jurik at xylab.cz
Thu Sep 16 05:09:15 PDT 2010


Hi,

V Thu, 16 Sep 2010 13:42:14 +0200
dpecka <dpecka at techniservit.cz> napsáno:

> On Wed, 2010-09-15 at 08:31 -0700, Garrett D'Amore wrote:
> > 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.
> > 
> > 	-- Garrett
> 
> well, in short (i discussed this with qemu/kvm guys):
> 
> 1) sunos guys say that problem is in driver emulation .. ok, right
> 2) qemu guys say **YOU FIX (cuz you have strange implementation)
> 

Do they say what Solaris e1000g driver is doing wrong? To be fair, it
works on real HW (and e.g. in VMware and VirtualBox) and they are
emulation of HW.... Yes, it can be bug in Solaris driver, of course.
But if I am doing emulation of some HW, I am trying to emulate it
accurately.

> there is no way out from this .. so i'd like to fix .. it has only one
> problem .. i am unable to dig out from mdb or whatever i should use
> what's happening bad in sunos kernel with loaded e1000 driver ..
> 
> logs don't contain any clue, everything seems just fine ..
> 
> i'll very appreciate any hint or link to docs which would tell me,
> what to be looking for in there ..
> 

You will need to look at Solaris e1000g driver source code and trying to
catch if some receiving function fails. For "how it works" look at
"Writing device drivers" docu.

Best regards,

Milan



More information about the Discuss mailing list