Call for testers : bge(4) patch

Pyun YongHyeon pyunyh at
Wed Sep 7 22:25:45 PDT 2005


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
. 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:

The patch was reviewed by marius and jkim and tested on i386(SMP),
sparc64(SMP), amd64.

Pyun YongHyeon

More information about the freebsd-current mailing list