1*61599Sbostic.\" Copyright (c) 1983, 1991, 1993 2*61599Sbostic.\" The Regents of the University of California. All rights reserved. 320720Smckusick.\" 447674Scael.\" %sccs.include.redist.man% 520720Smckusick.\" 6*61599Sbostic.\" @(#)ik.4 8.1 (Berkeley) 06/05/93 747674Scael.\" 847674Scael.Dd 947674Scael.Dt IK 4 vax 1047674Scael.Os BSD 4.2 1147674Scael.Sh NAME 1247674Scael.Nm ik 1347674Scael.Nd "Ikonas frame buffer, graphics device interface" 1447674Scael.Sh SYNOPSIS 1547674Scael.Cd "device ik0 at uba? csr 0172460 vector ikintr" 1647674Scael.Sh DESCRIPTION 1747674ScaelThe 1847674Scael.Nm ik 1947674Scaeldriver 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. 2647674Scael.Pp 2747674ScaelBytes written or read from the device are 2847674Scael.Tn DMA Ns 'ed 2947674Scaelfrom or to the interface. 3047674ScaelThe frame buffer 3147674Scael.Tn XY 3247674Scaeladdress, its addressing mode, etc. must be set up by the 3320720Smckusickuser process before calling write or read. 3447674Scael.Pp 3520720SmckusickOther communication with the driver is via ioctls. 3647674ScaelThe 3747674Scael.Dv IK_GETADDR 3847674Scael.Xr ioctl 2 3947674Scaelreturns the virtual address where the user process can 4020720Smckusickfind the interface registers. 4147674ScaelThe 4247674Scael.Dv IK_WAITINT 4347674Scael.Xr ioctl 4447674Scaelsuspends the user process until the ikonas device 4520720Smckusickhas interrupted (for whatever reason \(em the user process has to set 4620720Smckusickthe interrupt enables). 4747674Scael.Sh FILES 4847674Scael.Bl -tag -width /dev/ikxx -compact 4947674Scael.It Pa /dev/ik 5047674Scael.El 5147674Scael.Sh DIAGNOSTICS 5220720SmckusickNone. 5347674Scael.Sh HISTORY 5447674ScaelThe 5547674Scael.Nm 5647674Scaeldriver appeared in 5747674Scael.Bx 4.2 . 5847674Scael.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