user doing direct I/O

Glenn Geers glenn at extro.ucc.su.OZ.AU
Mon Jul 30 09:23:35 AEST 1990


Yes, creating /dev/blah with major number 4 and minor number [3,4,5] works
as advertised. You lseek in to the device address and then use write or 
read as the case may be. However, you still don't get around the system
call overhead. This can only be achieved by issuing ioctl(fd, IOPRIVL, 1)
(1 system call, finished) and then banging away at i/o ports in assembler. For
*fast* graphics the latter technique is IMHO essential since even 1 system
call per pixel (you need at *least* 2 an lseek and a write or an ioctl) gives 
rise to a horrible slow down when writing coloured pixels (not a colour plane,
each pixel is a different colour).

				Glenn
--
Glenn Geers                       | "So when it's over, we're back to people.
Department of Theoretical Physics |  Just to prove that human touch can have
The University of Sydney          |  no equal."
Sydney NSW 2006 Australia         |  - Basia Trzetrzelewska, 'Prime Time TV'



More information about the Comp.unix.xenix mailing list