cvs commit: src/sys/dev/bge if_bge.c if_bgereg.h

Scott Long scottl at
Mon Dec 11 21:45:07 PST 2006

For those watching from the sidelines, this work was targeted 
specifically at the 5754/5787 chip that is found in some newer
Dell machines.  Prior to this change, merely having the bge driver
in the kernel would cause an NMI panic on boot.  FreeBSD 6.1 does
not suffer from this because these chips would not be detected at
all.  6.2 will suffer from this, but I think that it's too late to
safely merge this work into the release.  The driver is a twisty
maze of conditional code that is made necessary by the large array
of bugs and incompatible features in the family of chips.

I tested this patch against the following chips:


If this changes causes a problem for anyone, please enable the
BGE_REGISTER_DEBUG option in the driver and send me the output
of 'sysctl dev.bge.X.debug_info=1' where 'X' is the device number.


Scott Long wrote:
> scottl      2006-12-12 05:11:12 UTC
>   FreeBSD src repository
>   Modified files:
>     sys/dev/bge          if_bge.c if_bgereg.h 
>   Log:
>   Fix support for certain 575x/578x chips.  This consists of the following:
>   - Use the appropriate register writing method when reseting the chip
>   - Program the descriptor DMA engine correctly.
>   - More reliably detect certain chips and their features.
>   Also add some low-level debugging tools to help future work on this driver.
>   Submitted by: David Christenson (proof of concept changes)
>   Sponsored by:
>   Revision  Changes    Path
>   1.159     +263 -35   src/sys/dev/bge/if_bge.c
>   1.61      +11 -0     src/sys/dev/bge/if_bgereg.h

More information about the cvs-all mailing list