Help needed with device driver

Rick marsh rickm at IGOR.TAMRI.COM
Fri Feb 15 10:34:13 AEST 1991


Some questions that relate to a device driver that I need to write. It
will run initially on a Personal Iris.

1. We need to translate virtual addresses to physical addresses, in order
to do dma transfers. The only routine that appears to do this is kvtophys(),
this translates kernel virtual addresses to physical addresses. Is there a
routine that translates user virtual addresses to physical addresses ?

2. If there is not, and we are forced to use kvtophys(), is there a routine
that maps user virtual memory to kernel virtual memory ? It appears that
physio() does this but we don't want to call physio() because it does
several other things that we do not need (We don't want to do the dma transfer
at the time that we do the virtual to physical translation).

3. mpin() locks pages into physical memory, is it at all possible that a page,
once locked, would be moved around in memory? We intend to do the dma transfer
some time after doing the virtual to physical translation and moving pages
would be a disaster.

Any advice will be appreciated.

Rick Marsh
Toshiba America MRI Inc.
(415) 872-2722 ext. 2226

rickm at tamri.com



More information about the Comp.sys.sgi mailing list