IK
Section: Devices and Network Interfaces (4)
Index
Return to Main Contents
BSD mandoc
BSD 4.2
NAME
ik
- Evans and Sutherland Picture System 300 graphics device interface
SYNOPSIS
device ik0 at vba? csr 0xfffb100 vector ikintr
DESCRIPTION
The
ik
driver provides access
to an Evans and
Sutherland Picture System 300 through an Ikon
DR-11W
interface card.
Each two minor device numbers are a different
PS300
within a pair of device numbers the odd valued
device is used for ``diagnostic'' purposes. That is,
for even numbered minor devices, opening the device results
in a
PS300
``attach'' request being performed while for
odd numbered minor devices the attach request is not performed.
All operations between the host and the
PS300
utilize
DMA
The driver currently supports only physical
I/O operations
when reading and writing; this makes the device useless with
standard Evans and Sutherland software.
The interface provided by the interface is as
UNIX
as possible.
When a device is opened a
PS300
attach request is automatically
performed. When a device is closed a detach is performed. Reads
and writes result in physical
I/O
requests, but hide all the details
of the physical
I/O
protocol. This is programming style is completely
different from the
VMS -oriented
qio-style interface supplied by Evans
and Sutherland.
Reads and writes to the device result in a physical
I/O
request
to the
PS300
If a
readv(2)
or
writev(2)
call is used, each
I/O
request results in a single physical
I/O
request (i.e. the scatter-gather facilities are not supported).
In normal operation, the address used in a physical
I/O
request
is the current file offset as specified explicitly with
lseek(2)
or implictly as a result of reading or writing the device.
To specify an address to be used with each physical
I/O
request,
the
ik
driver interprets the
iov
entries in a non-standard way. If
iov_len
is zero, then
iov_base
is interpreted as an address to be used in the physical
I/O
request. If the address has the
PSIO_SYNC
flag or-d into it,
the physical
I/O
request is made as a ``write with sync''.
All addresses and data presented to the driver should be in
the byte order of the host; any byte swapping required to converse
with the
PS300
is performed in the driver/controller.
In addition to reading and writing, the following
ioctl
requests are available:
- PSIOLOOKUP
-
Perform a ``name lookup'' request. The
pslookup
structure passed indicates the symbol name to be looked up
and contains the address returned by the
PS300
A zero
address return indicates the symbol was undefined.
- PSIOGETERROR
-
In the event of an error, this request may be made to
return a more detailed and, sometimes
PS300 -specific
error code.
FILES
- /dev/ik[0-7]
-
auto-attach devices
- /dev/ik[0-7]d
-
diagnostic interfaces to devices
DIAGNOSTICS
- ik%d: bad cmd %x.
-
An unknown or unsupported command was received by the host.
- ik%d: spurious interrupt, code %x.
-
An unexpected interrupt was received from the
PS300
the
attention code from the
PS300
is printed.
- ik%d: timeout.
-
A command failed to elicit a response within a reasonable
time; the
PS300
probably crashed.
HISTORY
The
Tahoe Version
driver appeared in
BSD 4.2
BUGS
An invalid access (e.g. illegal address) to the
PS300
can
cause the
PS300
to crash. It is not always possible to unwedge
the
PS300
interface hardware hung by an
I/O
request.
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- FILES
-
- DIAGNOSTICS
-
- HISTORY
-
- BUGS
-
This document was created by
man2html,
using the manual pages.
Time: 06:48:26 GMT, May 19, 2025