Call for testers : bge(4) patch
pyunyh at gmail.com
Wed Sep 7 22:25:45 PDT 2005
Patch fixes several bugs in bge(4) and makes it work on any platforms.
. Give up endianness access and switch to native endian format while
accessing hardware. Since I don't have data sheet of Tigon3 I can't
sure it's possible to use endianness access but NetBSD/OpenBSD also
uses native endian format and data sheet for Tigon1/Tigon2 explicitly
says that it requires native endian access. 
. Remove rman_get_virtual(9) and use bus_space_write_4(9). 
. Change return code of bge_eeprom_getbyte() when timeout error occurrs. 
. Add a mutex to protect jumbo frame list handling such that jumbo frame
now works on SMP.
. ifdef out "no free jumbo buffers" printf calls as numerous printf
messages make system unusable under jumbo buffer shortage. It's well
demonstrated with netperf UDP tests.
. Don't invoke bus_dmamap_destroy(9) for DMA maps which were created with
. Add missing bus_dmamap_sync(9) in bge_txeof().
. Add missing bus_dmamap_sync(9) in bge_encap().
. Use #ifndef __NO_STRICT_ALIGNMENT instead of #ifndef __i386__ to check
whether target system is strict alignment architecture.
. Use callout_init_mtx(9) and add callout_drain(9) to bge_detach().
. Reorder detach path so have detach work.
. Reject driver detach when there are any references to jumbo buffers.
Previously it was lead to reference to freed memory.
 : Obtained from OpenBSD via NetBSD.
 : Submitted by jkim.
The patch can be obtained from:
The patch was reviewed by marius and jkim and tested on i386(SMP),
More information about the freebsd-current