From owner-freebsd-current Thu Dec 31 11:30:57 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id LAA08716 for freebsd-current-outgoing; Thu, 31 Dec 1998 11:30:57 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from rover.village.org (rover.village.org [204.144.255.49]) by hub.freebsd.org (8.8.8/8.8.8) with SMTP id LAA08711 for ; Thu, 31 Dec 1998 11:30:55 -0800 (PST) (envelope-from imp@village.org) Received: from harmony [10.0.0.6] by rover.village.org with esmtp (Exim 1.71 #1) id 0zvnng-0000TI-00; Thu, 31 Dec 1998 12:30:28 -0700 Received: from harmony.village.org (localhost.village.org [127.0.0.1]) by harmony.village.org (8.9.1/8.8.3) with ESMTP id MAA00612; Thu, 31 Dec 1998 12:28:23 -0700 (MST) Message-Id: <199812311928.MAA00612@harmony.village.org> To: Bill Paul Subject: Re: bus_space_foo and bus_dmamap_foo Cc: current@FreeBSD.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> Date: Thu, 31 Dec 1998 12:28:23 -0700 From: Warner Losh Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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