xref: /csrg-svn/share/man/man4/man4.tahoe/ik.4 (revision 61589)
1*61589Sbostic.\" Copyright (c) 1983, 1991, 1993
2*61589Sbostic.\"	The Regents of the University of California.  All rights reserved.
330225Ssam.\"
447673Scael.\" %sccs.include.redist.man%
530225Ssam.\"
6*61589Sbostic.\"     @(#)ik.4	8.1 (Berkeley) 06/05/93
747673Scael.\"
847673Scael.Dd
947673Scael.Dt IK 4
1047673Scael.Os BSD 4.2
1147673Scael.Sh NAME
1247673Scael.Nm ik
1347673Scael.Nd Evans and Sutherland Picture System 300 graphics device interface
1447673Scael.Sh SYNOPSIS
1547673Scael.Cd "device ik0 at vba? csr 0xfffb100 vector ikintr"
1647673Scael.Sh DESCRIPTION
1730225SsamThe
1847673Scael.Nm ik
1930225Ssamdriver provides access
2030225Ssamto an Evans and
2147673ScaelSutherland Picture System 300 through an Ikon
2247673Scael.Tn DR-11W
2330225Ssaminterface card.
2447673ScaelEach two minor device numbers are a different
2547673Scael.Tn PS300 ;
2630225Ssamwithin a pair of device numbers the odd valued
2730225Ssamdevice is used for ``diagnostic'' purposes.   That is,
2830225Ssamfor even numbered minor devices, opening the device results
2947673Scaelin a
3047673Scael.Tn PS300
3147673Scael``attach'' request being performed while for
3230225Ssamodd numbered minor devices the attach request is not performed.
3347673Scael.Pp
3447673ScaelAll operations between the host and the
3547673Scael.Tn PS300
3647673Scaelutilize
3747673Scael.Tn DMA .
3847673ScaelThe driver currently supports only physical
3947673Scael.Tn I/O operations
4030225Ssamwhen reading and writing; this makes the device useless with
4130225Ssamstandard Evans and Sutherland software.
4247673Scael.Pp
4347673ScaelThe interface provided by the interface is as
4447673Scael.Ux Ns -like
4547673Scaelas possible.
4647673ScaelWhen a device is opened a
4747673Scael.Tn PS300
4847673Scaelattach request is automatically
4930225Ssamperformed.  When a device is closed a detach is performed.  Reads
5047673Scaeland writes result in physical
5147673Scael.Tn I/O
5247673Scaelrequests, but hide all the details
5347673Scaelof the physical
5447673Scael.Tn I/O
5547673Scaelprotocol.  This is programming style is completely
5647673Scaeldifferent from the
5747673Scael.Tn VMS Ns -oriented
5847673Scaelqio-style interface supplied by Evans
5930225Ssamand Sutherland.
6047673Scael.Pp
6147673ScaelReads and writes to the device result in a physical
6247673Scael.Tn I/O
6347673Scaelrequest
6447673Scaelto the
6547673Scael.Tn PS300 .
6647673ScaelIf a
6747673Scael.Xr readv 2
6830225Ssamor
6947673Scael.Xr writev 2
7047673Scaelcall is used, each
7147673Scael.Tn I/O
7247673Scaelrequest results in a single physical
7347673Scael.Tn I/O
7430225Ssamrequest (i.e. the scatter-gather facilities are not supported).
7547673ScaelIn normal operation, the address used in a physical
7647673Scael.Tn I/O
7747673Scaelrequest
7830225Ssamis the current file offset as specified explicitly with
7947673Scael.Xr lseek 2
8030225Ssamor implictly as a result of reading or writing the device.
8147673ScaelTo specify an address to be used with each physical
8247673Scael.Tn I/O
8347673Scaelrequest,
8430225Ssamthe
8547673Scael.Nm ik
8630225Ssamdriver interprets the
8747673Scael.Ar iov
8830225Ssamentries in a non-standard way.  If
8947673Scael.Ar iov_len
9030225Ssamis zero, then
9147673Scael.Ar iov_base
9247673Scaelis interpreted as an address to be used in the physical
9347673Scael.Tn I/O
9447673Scaelrequest.  If the address has the
9547673Scael.Dv PSIO_SYNC
9647673Scaelflag or-d into it,
9747673Scaelthe physical
9847673Scael.Tn I/O
9947673Scaelrequest is made as a ``write with sync''.
10030225SsamAll addresses and data presented to the driver should be in
10130225Ssamthe byte order of the host; any byte swapping required to converse
10247673Scaelwith the
10347673Scael.Tn PS300
10447673Scaelis performed in the driver/controller.
10547673Scael.Pp
10630225SsamIn addition to reading and writing, the following
10747673Scael.Xr ioctl
10830225Ssamrequests are available:
10947673Scael.Bl -tag -width PSIOGETERROR
11047673Scael.It Dv PSIOLOOKUP
11130225SsamPerform a ``name lookup'' request.  The
11247673Scael.Ar pslookup
11330225Ssamstructure passed indicates the symbol name to be looked up
11447673Scaeland contains the address returned by the
11547673Scael.Tn PS300 .
11647673ScaelA zero
11730225Ssamaddress return indicates the symbol was undefined.
11847673Scael.It Dv PSIOGETERROR
11930225SsamIn the event of an error, this request may be made to
12047673Scaelreturn a more detailed and, sometimes
12147673Scael.Tn PS300 Ns -specific ,
12230225Ssamerror code.
12347673Scael.Sh FILES
12447673Scael.Bl -tag -width /dec/ik[0-7]xx -compact
12547673Scael.It Pa /dev/ik[0-7]
12647673Scaelauto-attach devices
12747673Scael.It Pa /dev/ik[0-7]d
12847673Scaeldiagnostic interfaces to devices
12947673Scael.El
13047673Scael.Sh DIAGNOSTICS
13147673Scael.Bl -diag
13247673Scael.It ik%d: bad cmd %x.
13330225SsamAn unknown or unsupported command was received by the host.
13447673Scael.It ik%d: spurious interrupt, code %x.
13547673ScaelAn unexpected interrupt was received from the
13647673Scael.Tn PS300 ;
13747673Scaelthe
13847673Scaelattention code from the
13947673Scael.Tn PS300
14047673Scaelis printed.
14147673Scael.It ik%d: timeout.
14230225SsamA command failed to elicit a response within a reasonable
14347673Scaeltime; the
14447673Scael.Tn PS300
14547673Scaelprobably crashed.
14647673Scael.El
14747673Scael.Sh HISTORY
14847673ScaelThe
14947673ScaelTahoe Version
15047673Scael.Nm
15147673Scaeldriver appeared in
15247673Scael.Bx 4.2 .
15347673Scael.Sh BUGS
15447673ScaelAn invalid access (e.g. illegal address) to the
15547673Scael.Tn PS300
15647673Scaelcan
15747673Scaelcause the
15847673Scael.Tn PS300
15947673Scaelto crash.  It is not always possible to unwedge
16047673Scaelthe
16147673Scael.Tn PS300
16247673Scaelinterface hardware hung by an
16347673Scael.Tn I/O
16447673Scaelrequest.
165