TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Mike Bilow
from: Udo van den Heuvel
date: 1996-04-27 14:55:52
subject: DMA?

*** Answering a msg posted in area PERSONAL_MAIL (Personal Mail).

Hello Mike!

 UvdH>> When I set up the DMA chips to write to a buffer, how does
 UvdH>> this work when another task is being serviced?
 UvdH>> Is the memory protection a problem?
 UvdH>> What other caveats are to be taken care of? (this is OS/2,
 UvdH>> not MS-DOS)
 MB> Under OS/2, you can only do DMA from a device driver running in Ring
 MB> 0. I'll assume you understand that.

More or less, yes.

 MB> In general, a device driver sees a virtual address to memory, which is
 MB> 16:16.  These addresses may have other aliases, especially when they
 MB> reflect buffers from applications in linear 0:32 space.  A device driver
 MB> uses system API calls to lock ranges of memory into some physical RAM and
 MB> then passes these physical addresses to the DMA hardware.  In some cases,
 MB> the RAM buffers may be physically discontigous, and this is compensated
 MB> for by scatter-gather hardware to do the DMA operation.

 MB> Since device drivers cannot be preempted, concurrency is not an issue.

Where can i get some info (sources?) for a DMA-devicedriver which I can use
for my own setup?


Greetz,
        Udo

---
* Origin: (2:285/308.2)
SEEN-BY: 50/99 78/0 270/101 620/243 711/401 409 410 413 430 808 809 934 955
SEEN-BY: 712/407 515 517 628 713/888 800/1 7877/2809
@PATH: 285/308 32 1 280/801 270/101 712/515 711/808 809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.