From owner-freebsd-hackers Wed Feb 11 11:20:41 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id LAA27408 for hackers-outgoing; Wed, 11 Feb 1998 11:20:41 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from implode.root.com (implode.root.com [198.145.90.17]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id LAA27390 for ; Wed, 11 Feb 1998 11:20:33 -0800 (PST) (envelope-from root@implode.root.com) Received: from implode.root.com (localhost [127.0.0.1]) by implode.root.com (8.8.5/8.8.5) with ESMTP id LAA21000; Wed, 11 Feb 1998 11:20:28 -0800 (PST) Message-Id: <199802111920.LAA21000@implode.root.com> To: Brian McGovern cc: hackers@FreeBSD.ORG Subject: Re: Mapping phyical memory in to the PCI address range... In-reply-to: Your message of "Wed, 11 Feb 1998 14:08:08 EST." <199802111908.OAA02578@bmcgover-pc.cisco.com> From: David Greenman Reply-To: dg@root.com Date: Wed, 11 Feb 1998 11:20:28 -0800 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG >This question may be somewhat ill formed. Hopefully, I'll make myself clear. > >I'm looking at taking the Cyclades driver, and moving the I/O buffers that are >normally in the on-board RAM of the card, and possibly moving them to be >within the physical RAM of the PC. > >Cyclades supports this to some levels (although they never tried it). >Apparently, the big requirement is the ability to lock down the physical >memory for the buffers, and then manipulate this memory in such a way as >it can be seen by devices on the PCI bus, su that the card's processor can >DMA to it. > >The questions I have are: > >1 - Does FreeBSD support the ability to map system memory so its available >to the PCI bus. Also, what is the proper procedure for determining the >physical address of this memory, and locking it in such a way as to always >be available to the card. The PCI devices have access to all of the PC's memory via DMA. The CPU can also access the PCI device's memory if it is mapped. I'm familiar with the PLX 9060 and it's a bit quirky, but not that difficult to setup DMA. See the fxp driver for an example of a driver that does PCI DMA. >2 - Would it really be worthwhile pursuing this endeavor? After all, a 1-2% >gain on moving a single character really isn't a big win. However 25+% >very well might be. Maybe, maybe not. DMA will likely be slower when dealing with a small number of characters since there is a significant amount of work to do per DMA. I would guess that the fastest access would be to map the card's RAM via the PCI space and access it directly via the CPU. -DG David Greenman Core-team/Principal Architect, The FreeBSD Project To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe hackers" in the body of the message