Date: Wed, 3 Jan 2001 18:48:26 +0200 (IST) From: Eli Zaretskii X-Sender: eliz AT is To: jvasquez AT getntds DOT com cc: djgpp AT delorie DOT com Subject: Re: Linear memory and Physical Memory In-Reply-To: <3a534e1e.72667312@news.connectnet.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Wed, 3 Jan 2001 jvasquez AT getntds DOT com wrote: > How do I convert a Linear memory address to physical address? You don't :-(. The mapping between linear and physical addresses is inaccessible, except if you use privileged instructions to read the page tables used by the CPU's memory-mapping hardware. Most DPMI servers won't let you use those privileged instructions. > I call __dpmi_allocate_memory() to obtain a linear address for a > buffer. I now need to program my PCI adapter with the physical memory > for DMA output. > How do I do this? There are several solutions of this available for DMA. They are all described in section 18.13 of the DJGPP FAQ list. If something there is unclear, please ask specific questions.