Okay, I decided today to write a bus_dmamap_load_mbuf() routine to
make it a little easier to convert the PCI NIC drivers to use the
busdma API. It's not the same as the NetBSD code. There are four
new functions:

bus_dmamap_load_mbuf()
bus_dmamap_unload_mbuf()
bus_dmamap_sync_mbuf()
bus_dmamap_destroy_mbuf()

This is more or less in keeping with the existing API, except the new
routines work exclusively on mbuf lists. The thing I need to figure
out now is where to put the code. The current suggestion from jhb is
to create the following two new files:

sys/kern/kern_busdma.c
sys/sys/busdma.h

The functions are machine-independent, so they shouldn't be in
sys/<arch>/<arch>/busdma_machdep.c. I mean, they could go there, but
that would just result in code duplication. If somebody has a better
suggestion, now's the time to speak up. Please let's avoid creating
another bikeshed over this.

Current code snapshot resides at:

http://www.freebsd.org/~wpaul/busdma

There's also a modified version if the Adaptec "starfire" driver there
which uses the new routines. I'm running this version of the driver on
a test box in the lab right now.

-Bill

--
=============================================================================
-Bill Paul            (510) 749-2329 | Senior Engineer, Master of Unix-Fu
                 [EMAIL PROTECTED] | Wind River Systems
=============================================================================
"I like zees guys. Zey are fonny guys. Just keel one of zem." -- The 3 Amigos
=============================================================================

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to