.\" Copyright (c) 1983, 1991 Regents of the University of California. .\" All rights reserved. .\" .\" %sccs.include.redist.man% .\" .\" @(#)ik.4 6.2 (Berkeley) 03/27/91 .\" .Dd .Dt IK 4 vax .Os BSD 4.2 .Sh NAME .Nm ik .Nd "Ikonas frame buffer, graphics device interface" .Sh SYNOPSIS .Cd "device ik0 at uba? csr 0172460 vector ikintr" .Sh DESCRIPTION The .Nm ik driver provides an interface to an Ikonas frame buffer graphics device. Each minor device is a different frame buffer interface board. When the device is opened, its interface registers are mapped, via virtual memory, into the user processes address space. This allows the user process very high bandwidth to the frame buffer with no system call overhead. .Pp Bytes written or read from the device are .Tn DMA Ns 'ed from or to the interface. The frame buffer .Tn XY address, its addressing mode, etc. must be set up by the user process before calling write or read. .Pp Other communication with the driver is via ioctls. The .Dv IK_GETADDR .Xr ioctl 2 returns the virtual address where the user process can find the interface registers. The .Dv IK_WAITINT .Xr ioctl suspends the user process until the ikonas device has interrupted (for whatever reason \(em the user process has to set the interrupt enables). .Sh FILES .Bl -tag -width /dev/ikxx -compact .It Pa /dev/ik .El .Sh DIAGNOSTICS None. .Sh HISTORY The .Nm driver appeared in .Bx 4.2 . .Sh BUGS An invalid access (e.g., longword) to a mapped interface register can cause the system to crash with a machine check. A user process could possibly cause infinite interrupts hence bringing things to a crawl.