Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 31 Dec 1998 12:28:23 -0700
From:      Warner Losh <imp@village.org>
To:        Bill Paul <wpaul@skynet.ctr.columbia.edu>
Cc:        current@FreeBSD.ORG
Subject:   Re: bus_space_foo and bus_dmamap_foo 
Message-ID:  <199812311928.MAA00612@harmony.village.org>
In-Reply-To: Your message of "Thu, 31 Dec 1998 13:58:06 EST." <199812311858.NAA05191@skynet.ctr.columbia.edu> 
References:  <199812311858.NAA05191@skynet.ctr.columbia.edu>  

next in thread | previous in thread | raw e-mail | index | archive | help
In message <199812311858.NAA05191@skynet.ctr.columbia.edu> Bill Paul writes:
: For those of you dying for a change of pace, here's a purely technical
: posting rather than a political one.

The attempted no commit zone enforcemnt getting to you?

: At some point, somebody brought over a bunch of machine-independent bus
: support from NetBSD, in the form of the bus_space_foo() and
: bus_dmamap_foo() code. Unfortunately, it seems whoever did it left the
: job half done:

Somebody == Justin Gibbs.  He did it for an older version of NetBSD's
bus space stuff.  It needs to be updated.  Just did add the ability to
have a memory mapped only driver (or an I/O mapped only driver) rather
than always going through the if statement to get better performance.
There were also some minor improvements to the DMA interface which
allowed better performance on some machines.

: - While we have things like bus_space_read_1(), which takes
:   bus_space_handle_t and bus_space_tag_t arguments, we do not have
:   the necessary functions to create the bus space handle and tag
:   in the first place. From what I can tell, drivers manually assign
:   them by setting them to I386_BUS_SPACE_MEM or I386_BUS_SPACE_PIO
:   (for the tag) or the iobase or membase address (for the handle).
:   This obviously is not machine independent.

True.  Likely the NetBSD interface should be adopted, unless there is
a compelling reason not to do this.

: - There is no bus_dmamap_load_mbuf(). This makes it very hard to use
:   the bus_dmamap stuff for network interface drivers. (A good example
:   of how to use this stuff in general would be nice too.)

Hmmm, how does NetBSD do this stuff?  It has been a while since I've
looked.

: - There are no man pages.

That is an easy gap to fill.  I'll see about committing man pages
soon.

: Is anybody actually working on filling in these gaps? (No, _I'm_ not
: going to do it; I have enough to worry about.) If so, could somebody
: tell me when (in specific terms) it will be done? I'd very much like to
: be able to make all of the drivers that I've written machine independent,
: at least enough to have them compile on both the i386 and alpha 
: architectures.

Looking at them just now, I see that you are absolutely correct.

I believe that Justin was looking at filling the gaps when he had
time, but I think he's rather busy these days.  So I don't think there
is a specific timeline for these improvements.

: We now return you to your regularly scheduled sabre-rattling.

"The no commit zones are an illegal usurption of our sovereign
rights.  We will continue to commit in the no commit zone in protest."

Warner "No elves were harming in the making of this message" Losh

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199812311928.MAA00612>