The 4.1BSD Versatec driver DOES do its DMA from user space; it calls physio to set things up for the transfer. You may be confused by the "struct buf rvpbuf" allocated in the driver; this is a buffer header used to contain control info which is filled in by physio, not a data buffer. Dave Martindale