From owner-freebsd-hackers Wed Dec 6 15:41:52 1995 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id PAA05662 for hackers-outgoing; Wed, 6 Dec 1995 15:41:52 -0800 (PST) Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.211]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id PAA05647 for ; Wed, 6 Dec 1995 15:41:47 -0800 (PST) Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id QAA02386; Wed, 6 Dec 1995 16:38:35 -0700 From: Terry Lambert Message-Id: <199512062338.QAA02386@phaeton.artisoft.com> Subject: Re: dma beyond isa with a AH1542? To: jkh@time.cdrom.com (Jordan K. Hubbard) Date: Wed, 6 Dec 1995 16:38:35 -0700 (MST) Cc: kuku@gilberto.physik.rwth-aachen.de, freebsd-hackers@freefall.freebsd.org In-Reply-To: <20827.818289301@time.cdrom.com> from "Jordan K. Hubbard" at Dec 6, 95 02:35:01 pm X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-hackers@FreeBSD.ORG Precedence: bulk > Uh, Christoph, you should read the handbook sections about this. > *ANY* ISA card is DMA address space limited! :-) > > > I built a new kernel for my non-IDE system running from a > > AH1542A. Is this board limited to 16MB? I have 20MB Ram, > > disabled option BOUNCE_BUFFERS since I thought this was not > > necessary when running a busmaster DMA controller > > but got a panic after the dma beyond ISA message during boot. In fact, the *only* time you need bounce buffers when you have a bus mastering ISA device (or an EISA system with a HiNT chipset like those used in NiCE motherboards). The problem is that the DMA can only transfer into buffers in the 0-16M rand because that's all that's addressable by ISA bus devices. Doing "bouncing" means providing a staging area for the DMA transfer to occur into "I/O memory" -- basically, the same thing as "chip RAM" on an Amiga, if anyone was thingking of generalizing the mechanism. The staging area is always addressable by the I/O bus device. When a transfer is requested that lies outside the 0-16M window, the transfer is done to the staging area instead and copied to the actual destination (an obviously expensive operation). Doing this is called "bouncing". Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.