Call for testers : bge(4) patch
Pyun YongHyeon
pyunyh at gmail.com
Wed Sep 7 22:25:45 PDT 2005
Hi!
Patch fixes several bugs in bge(4) and makes it work on any platforms.
Patch changes
. 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. [1]
. Remove rman_get_virtual(9) and use bus_space_write_4(9). [1]
. Change return code of bge_eeprom_getbyte() when timeout error occurrs. [2]
. 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
bus_dmamem_alloc(9).
. 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.
[1] : Obtained from OpenBSD via NetBSD.
[2] : Submitted by jkim.
The patch can be obtained from:
http://people.freebsd.org/~yongari/bge.patch.0908
The patch was reviewed by marius and jkim and tested on i386(SMP),
sparc64(SMP), amd64.
Thanks.
--
Regards,
Pyun YongHyeon
More information about the freebsd-current
mailing list