Date: Sun, 24 Jan 1999 10:59:36 +0200 (IST) From: Eli Zaretskii X-Sender: eliz AT is To: James Deuchar cc: djgpp AT delorie DOT com Subject: Re: Getting physical addresses for DMA In-Reply-To: <01be45f3$55dbf300$f2cfea81@secom144.dur.ac.uk> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp AT delorie DOT com On 22 Jan 1999, James Deuchar wrote: > I'm trying to setup the DMA controller on a PCI ATM Network card so that I > can transfer some data from system memory onto the cards ram. The djgpp FAQ > suggests either allocating a buffer within the fist MB using a > __dpmi_allocate_dos_memory call or using a software interrupt INT 4Bh to > access the Virtual DPMI Services. I have Ralf Browns interrupt list but I'm > not entirely sure which of the INT 4B calls to make You should be able to find the relevant functions by searching the Interrupt List e.g. for "DMA" or "VDS". (Btw, the FAQ talks about "Virtual DMA Services", not "DPMI Services".) The VDS functions are those where AX is loaded with values 8102h to 810Ch. But I really would suggest to try the DOS memory method first. It is usually easier and more portable. > ....as far as I'm > concerned I just want to get the physical address of a variable - I don't > know anything about dma buffers and locking regions... You cannot mess with DMA without at least some understanding of these issues.