1*47674Scael.\" Copyright (c) 1983, 1991 Regents of the University of California. 2*47674Scael.\" All rights reserved. 320720Smckusick.\" 4*47674Scael.\" %sccs.include.redist.man% 520720Smckusick.\" 6*47674Scael.\" @(#)ik.4 6.2 (Berkeley) 03/27/91 7*47674Scael.\" 8*47674Scael.Dd 9*47674Scael.Dt IK 4 vax 10*47674Scael.Os BSD 4.2 11*47674Scael.Sh NAME 12*47674Scael.Nm ik 13*47674Scael.Nd "Ikonas frame buffer, graphics device interface" 14*47674Scael.Sh SYNOPSIS 15*47674Scael.Cd "device ik0 at uba? csr 0172460 vector ikintr" 16*47674Scael.Sh DESCRIPTION 17*47674ScaelThe 18*47674Scael.Nm ik 19*47674Scaeldriver 2020720Smckusickprovides an interface to an Ikonas frame buffer graphics device. 2120720SmckusickEach minor device is a different frame buffer interface board. 2220720SmckusickWhen the device is opened, its interface registers are mapped, 2320720Smckusickvia virtual memory, into the user processes address space. 2420720SmckusickThis allows the user process very high bandwidth to the frame buffer 2520720Smckusickwith no system call overhead. 26*47674Scael.Pp 27*47674ScaelBytes written or read from the device are 28*47674Scael.Tn DMA Ns 'ed 29*47674Scaelfrom or to the interface. 30*47674ScaelThe frame buffer 31*47674Scael.Tn XY 32*47674Scaeladdress, its addressing mode, etc. must be set up by the 3320720Smckusickuser process before calling write or read. 34*47674Scael.Pp 3520720SmckusickOther communication with the driver is via ioctls. 36*47674ScaelThe 37*47674Scael.Dv IK_GETADDR 38*47674Scael.Xr ioctl 2 39*47674Scaelreturns the virtual address where the user process can 4020720Smckusickfind the interface registers. 41*47674ScaelThe 42*47674Scael.Dv IK_WAITINT 43*47674Scael.Xr ioctl 44*47674Scaelsuspends the user process until the ikonas device 4520720Smckusickhas interrupted (for whatever reason \(em the user process has to set 4620720Smckusickthe interrupt enables). 47*47674Scael.Sh FILES 48*47674Scael.Bl -tag -width /dev/ikxx -compact 49*47674Scael.It Pa /dev/ik 50*47674Scael.El 51*47674Scael.Sh DIAGNOSTICS 5220720SmckusickNone. 53*47674Scael.Sh HISTORY 54*47674ScaelThe 55*47674Scael.Nm 56*47674Scaeldriver appeared in 57*47674Scael.Bx 4.2 . 58*47674Scael.Sh BUGS 5920720SmckusickAn invalid access (e.g., longword) to a mapped interface register 6020720Smckusickcan cause the system to crash with a machine check. 6120720SmckusickA user process could possibly cause infinite interrupts hence 6220720Smckusickbringing things to a crawl. 63