From owner-freebsd-hackers Wed Dec 1 21:25:46 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from mass.cdrom.com (mass.cdrom.com [204.216.28.184]) by hub.freebsd.org (Postfix) with ESMTP id 199DD14A08 for ; Wed, 1 Dec 1999 21:25:42 -0800 (PST) (envelope-from msmith@mass.cdrom.com) Received: from mass.cdrom.com (localhost [127.0.0.1]) by mass.cdrom.com (8.9.3/8.9.3) with ESMTP id VAA00818; Wed, 1 Dec 1999 21:26:43 -0800 (PST) (envelope-from msmith@mass.cdrom.com) Message-Id: <199912020526.VAA00818@mass.cdrom.com> X-Mailer: exmh version 2.1.1 10/15/1999 To: Zhihui Zhang Cc: freebsd-hackers@freebsd.org Subject: Re: memory-to-memory copy In-reply-to: Your message of "Wed, 01 Dec 1999 16:25:22 EST." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Wed, 01 Dec 1999 21:26:43 -0800 From: Mike Smith Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > > I used to know that memory to memory copy is done by the DMA controller in > the I/O bridge (Actually, this knowledge confues me because DMA controller > normally does not store the data that pass through it. Now the source and > destination are both memory, how can it achieve this at the same time with > one memory bus?). Almost nobody does memory-to-memory copy with DMA controllers. You certainly don't do it on the PC. > I was also told that the function bcopy() is used to > setup DMA. No, bcopy is used to move data from one place to another using the CPU. > Now I look at the bcopy() function in i386/support.s, I only > see instructions like "rep movsb". So how is the memory-to-memory copy > done in FreeBSD? With bcopy(). -- \\ Give a man a fish, and you feed him for a day. \\ Mike Smith \\ Tell him he should learn how to fish himself, \\ msmith@freebsd.org \\ and he'll hate you for a lifetime. \\ msmith@cdrom.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message