Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!munnari.oz.au!mel.dit.csiro.au!yarra!pta!metro!news From: glenn@extro.ucc.su.OZ.AU (Glenn Geers) Newsgroups: comp.unix.xenix Subject: Re: user doing direct I/O Message-ID: <1990Jul29.232335.23039@metro.ucc.su.OZ.AU> Date: 29 Jul 90 23:23:35 GMT References: <3612@sactoh0.UUCP> Sender: news@metro.ucc.su.OZ.AU (news) Organization: Uni Computing Service, Uni of Sydney, Australia Lines: 16 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'