On Tuesday 24 July 2007, Chris Kuethe wrote:
> On 7/24/07, Charlie Farinella <[EMAIL PROTECTED]> 
wrote:
> > Thank you, I think this will solve my problem, but I have no idea 
how to
> > proceed.  I assume I need to recompile the kernel and swap out the 
new
> > if_bge.c file for the one included with the OS.  Is that correct?  
I've
> > looked briefly at docs and some how-to's but haven't seen any 
specific
> > instructions.  If anyone knows of some documentation for this, a
> > pointer would be appreciated.
> 
> much like the instructions at the beginning of other patches...
> general information on how to patch an openbsd is in the FAQ
> http://www.openbsd.org/faq/faq10.html#Patches
> http://www.openbsd.org/faq/faq5.html#Building

For anyone else with the same problem:

I ended up downloading the entire /sys directory from current, then 
compile and install.  That worked!

Thanks to all for your help.  :-)

> let me know if this doesn't apply or doesn't work.
> 
> save the diff below (into /tmp/bgediff, for example)
> cd /sys/dev/pci
> patch -C < /tmp/bgediff (check that the diff would apply correctly)
> patch < /tmp/bgediff
> cd /sys/arch/i386/conf/   (assuming you're running i386)
> config GENERIC
> cd ../compile/GENERIC
> make clean depend bsd
> make install
> reboot
> 
> 
> Index: if_bge.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/if_bge.c,v
> Retrieving revision 1.211
> Retrieving revision 1.212
> server -u -N -p -r1.211 -r1.212 if_bge.c
> --- if_bge.c  24 Jul 2007 14:42:55    1.211
> +++ if_bge.c  24 Jul 2007 14:42:55    1.212
> @@ -1384,16 +1384,21 @@ bge_blockinit(struct bge_softc *sc)
>       }
> 
>       /*
> -      * Set the BD ring replentish thresholds. The recommended
> +      * Set the BD ring replenish thresholds. The recommended
>        * values are 1/8th the number of descriptors allocated to
>        * each ring.
>        */
>       i = BGE_STD_RX_RING_CNT / 8;
> 
> -     /* Use a value of 8 for these chips to workaround HW errata */
> +     /*
> +      * Use a value of 8 for the following chips to workaround HW errata.
> +      * Some of these chips have been added based on empirical
> +      * evidence (they don't work unless this is done).
> +      */
>       if (BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5750 ||
>           BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5752 ||
> -         BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5755)
> +         BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5755 ||
> +         BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5787)
>               i = 8;
> 
>       CSR_WRITE_4(sc, BGE_RBDI_STD_REPL_THRESH, i);
> 
> -- 
> GDB has a 'break' feature; why doesn't it have 'fix' too?
> 
> 
> 



-- 
------------------------------------------------------------------------
Charles Farinella 
Appropriate Solutions, Inc. (www.AppropriateSolutions.com)
[EMAIL PROTECTED]
voice: 603.924.6079   fax: 603.924.8668

Reply via email to