On Wed, Jun 1, 2011 at 5:49 AM, Chris Turner <c.tur...@199technologies.com> wrote: > On Tue, May 31, 2011 at 12:52:15PM +0800, Sepherosa Ziehau wrote: >> >> You probably need to change dev/netif/igb instead of em and ig_hal. >> You could simply add the PCI ids to igb and see whether it works or >> not. >> > > The plot thickens - > > based on a whole lot of suppositions, b/c it would take hours > to review the history and someone here probably knows it better > anyhow - > > It looks something like em driver (perhaps btw v6-7 of the intel rev?) > grew into the e1000 driver, with pcie support - and a 'legacy' em(4) > driver - subsequent updates? were made to the e1000/*em* items, > such as adding more chips - > > Our e1000/em contains what apppears to be the needed items for this card: > > em0@pci0:0:25:0: class=0x020000 card=0x80001025 chip=0x10f08086 > rev=0x06 hdr=0x00 > > e1000_api.c: case E1000_DEV_ID_PCH_D_HV_DC: > e1000_hw.h:#define E1000_DEV_ID_PCH_D_HV_DC 0x10F0 > if_em.c: { 0x8086, E1000_DEV_ID_PCH_D_HV_DC, PCI_ANY_ID, > PCI_ANY_ID, > 0}, > > (the 0x10F0 being the relavent bits) > > which are not in the 'live' sys/dev/netif/em driver - > > however, this copy of 'em' (sys/dev/netif/e1000/em) is not linked > into the build - whereas the sys/dev/netif/em copy is. > > I was able to : > > cd sys/dev/netif/e1000/em && wmake > > to get a clean 'if_em.ko' - no idea if this will probe/attach/send packets > and so on.. > > So - Siju - feel free to build that and test I suppose - > > not sure where to take it from here w/r/t 'em' development - either > to disable / merge in the relavent bits of sys/dev/netif/em to e1000/em, > or the other way around, etc.. > > my thoughts would be to use the new copy - however it does appear > that someone at some point took the time to cleanly separate the phy > stuff, into that 'ig_hal' etc- so maybe this was overlooked when e1000 > was added, I dunno.. (see history, above :D ) > > so - I will defer to the experts
Heh, netif/ig_hal (it was actually e1000 hardware related code from Intel) was added before I took a short break from dfly in 2009, while netif/e1000 code was added later to support igb only. Currently I don't have enough time to put the whole thing into shape; the hardware related bits will finally go into netif/ig_hal. However, as I have suggested, if you want 82578 to work, you probably need to change the stuffs under netif/e1000/igb instead of netif/em or netif/emx. Best Regards, sephe -- Tomorrow Will Never Die