|
|
1.1 root 1: .\" Copyright (c) 1983 Regents of the University of California.
2: .\" All rights reserved. The Berkeley software License Agreement
3: .\" specifies the terms and conditions for redistribution.
4: .\"
5: .\" @(#)ik.4 6.2 (Berkeley) 6/30/87
6: .\"
7: .TH IK 4 "November 21, 1986"
8: .UC 5
9: .SH NAME
10: ik \- Evans and Sutherland Picture System 300 graphics device interface
11: .SH SYNOPSIS
12: .B "device ik0 at vba? csr 0xfffb100 vector ikintr"
13: .SH DESCRIPTION
14: The
15: .I ik
16: driver provides access
17: to an Evans and
18: Sutherland Picture System 300 through an Ikon DR-11W
19: interface card.
20: Each two minor device numbers are a different PS300;
21: within a pair of device numbers the odd valued
22: device is used for ``diagnostic'' purposes. That is,
23: for even numbered minor devices, opening the device results
24: in a PS300 ``attach'' request being performed while for
25: odd numbered minor devices the attach request is not performed.
26: .PP
27: All operations between the host and the PS300 utilize DMA.
28: The driver currently supports only ``physical i/o'' operations
29: when reading and writing; this makes the device useless with
30: standard Evans and Sutherland software.
31: .PP
32: The interface provided by the interface is as UNIX-like as possible.
33: When a device is opened a PS300 attach request is automatically
34: performed. When a device is closed a detach is performed. Reads
35: and writes result in physical i/o requests, but hide all the details
36: of the physical i/o protocol. This is programming style is completely
37: different from the VMS-oriented qio-style interface supplied by Evans
38: and Sutherland.
39: .PP
40: Reads and writes to the device result in a physical i/o request
41: to the PS300. If a
42: .IR readv (2)
43: or
44: .IR writev (2)
45: call is used, each i/o request results in a single physical i/o
46: request (i.e. the scatter-gather facilities are not supported).
47: In normal operation, the address used in a physical i/o request
48: is the current file offset as specified explicitly with
49: .IR lseek (2)
50: or implictly as a result of reading or writing the device.
51: To specify an address to be used with each physical i/o request,
52: the
53: .I ik
54: driver interprets the
55: .I iov
56: entries in a non-standard way. If
57: .I iov_len
58: is zero, then
59: .I iov_base
60: is interpreted as an address to be used in the physical i/o
61: request. If the address has the PSIO_SYNC flag or-d into it,
62: the physical i/o request is made as a ``write with sync''.
63: All addresses and data presented to the driver should be in
64: the byte order of the host; any byte swapping required to converse
65: with the PS300 is performed in the driver/controller.
66: .PP
67: In addition to reading and writing, the following
68: .I ioctl
69: requests are available:
70: .TP
71: PSIOLOOKUP
72: .br
73: Perform a ``name lookup'' request. The
74: .I pslookup
75: structure passed indicates the symbol name to be looked up
76: and contains the address returned by the PS300. A zero
77: address return indicates the symbol was undefined.
78: .TP
79: PSIOGETERROR
80: .br
81: In the event of an error, this request may be made to
82: return a more detailed and, sometimes PS300-specific,
83: error code.
84: .SH FILES
85: /dev/ik[0-7] auto-attach devices
86: .br
87: /dev/ik[0-7]d diagnostic interfaces to devices
88: .SH DIAGNOSTICS
89: \fBik%d: bad cmd %x\fP.
90: An unknown or unsupported command was received by the host.
91: .PP
92: \fBik%d: spurious interrupt, code %x\fP.
93: An unexpected interrupt was received from the PS300; the
94: attention code from the PS300 is printed.
95: .PP
96: \fBik%d: timeout\fP.
97: A command failed to elicit a response within a reasonable
98: time; the PS300 probably crashed.
99: .SH BUGS
100: An invalid access (e.g. illegal address) to the PS300 can
101: cause the PS300 to crash. It is not always possible to unwedge
102: the PS300 interface hardware hung by an i/o request.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.