DKIP(4spp) RISC/os Reference Manual DKIP(4spp)
NAME
dkip - Interphase SMD disk controller device
SYNOPSIS
{
"dkip", dkipinit, dkipopen,
dkipstrategy, nulldev, dkipioctl,
DTTYPEBLOCK,
DTFSAUTO, "Interphase SMD disk controller"
}
DESCRIPTION
Dkip is the interface to the Interphase SMD disk controller
device. Dkip supports multiple controllers with a maximum
of two disks per controller. For a list of the many sup-
ported disk drives via this interface, refer to the Inter-
phase SMD disk controller User's Guide.
Disk devices on MIPS computers systems contain a volume
header that describes the contents of the device, parameters
of the physical disk drive, and the partition layout of the
device. The volume header is a block located at the begin-
ning of all disk media. Refer to dvh(spp) for details on
the disk volume header format.
REGISTERS
Dkip supports multiple disk controllers with control regis-
ters relative to VME A16 Supervisor address space. The
address for controller 0 is hardwired at 0x8600, and the
address for controller 1 is hardwired at 0x8800. The user
can access other dkip device control registers by specifying
the negative of the address rather than the controller
number.
IOCTLS
Dkip supports the following ioctls:
ioctl(fd, DIOCGETVH, vhp)
Gets the disk volume header for the dkip device, which is
open on fd and copies it to the struct volumeheader pointed
to by vhp.
ioctl(fd, DIOCSETVH, vhp)
Sets the volume header information used by the dkip driver
to that pointed to by vhp. DIOCSETVH only changes the
information used by the disk driver software, it does NOT
change the volume header information on the disk itself.
ioctl(fd, DIOCGETCTLR, cip)
Gets the controller information for the device associated
with descriptor fd and copies it to the struct ctlrinfo
pointed to by cip.
Printed 1/6/92 Page 1
DKIP(4spp) RISC/os Reference Manual DKIP(4spp)
ioctl(fd, DIOCNOECC, noeccp)
Enables/disables the use of ECC by the disk controller on
the device associated with the descriptor fd. ECC is the
error correction algorithm the disk controller applies to
erroneous data fields after all retries and/or reseeks have
been exhausted. If the integer pointed to by noeccp is
zero, then ECC is disabled, otherwise ECC is enabled.
ioctl(fd, DIOCFMTMAP, fmip)
Allows formatting of a track, mapping of a track, mapping of
a sector, and slipping of a sector on the device associated
with the descriptor fd. The specific operation and any
other information required is relayed through the struct
fmtmapinfo pointed to by fmip.
ioctl(fd, DIOCVFYSEC, vip)
Checks one or more logically sequential sectors of previ-
ously written data on the device associated with the
descriptor fd for ECC errors in a non-destructive manner.
The logical block number and count are indicated in the
struct verifyinfo pointed to by vip.
ioctl(fd, DIOCDIAG, dip)
Causes the power-up diagnostics to be executed on the device
associated with the descriptor fd. Dip points to the struct
diaginfo , which contains the necessary information for
this operation.
ioctl(fd, DIOCRDEFECTS, mdp)
Causes the media defect information contained on the speci-
fied track of the device associated with the descriptor fd
to be read. The cylinder and track to read is specified in
the struct mediadefect pointed to by mdp. After the opera-
tion is performed, the media defect information is placed in
the struct mediadefect pointed to by mdp.
DIAGNOSTICS
The following diagnostics are printed by the dkip driver:
ip bad unit
An invalid unit number was specified.
ip bad controller number
An invalid controller number was specified.
ip bad partition
An invalid partition number was specified. The parti-
tion number must be in the range 0 through NPARTAB .
no interphase controller at 0x%x
No device responded to references to the control regis-
ters at the address shown.
Page 2 Printed 1/6/92
DKIP(4spp) RISC/os Reference Manual DKIP(4spp)
ip(%d, %d, %d): can't read volume header
A volume header was not present on the device indi-
cated, or was incorrectly formatted, or a volume header
checksum error was detected. The first of the three
numbers shown is the controller number, the second is
the unit number, and the third is the partition number.
ip bad unit number (volume)
The unit number indicates a multi-volume device; how-
ever, the volume header information does not indicate
that multiple volumes are allowed on this device.
ip bad partition
The partition entry in the volume header for the speci-
fied partition indicates that the partition is empty.
read beyond end of partition
A read is requested beyond the end of the partition.
cc not multiple of sector size
The specified character count for a read or write
operation is not a multiple of the sector size.
ip error: csr=%r
This is the beginning of the printed information when
some type of device error occurs. The control and
status register for the dkip controller, information
pertaining to the type of error, and drive status
information is printed.
ip(%d, %d, %d) FAILS SELF-DIAGNOSTIC
The device failed during its power-up diagnostic
sequence.
waiting for ip(%d, %d, %d) to come ready...
The dkip driver is waiting for the device to complete
its current command.
issued controller reset...
The device did not become ready within a reasonable
amount of time so the dkip driver issued a reset of the
device.
clearing drive fault on ip(%d, %d, %d) ...
A drive fault occured on the indicated device and the
dkip driver is clearing it.
recalibration of drive failed to clear fault
The dkip driver was not able to clear the drive fault
on the device.
Printed 1/6/92 Page 3
DKIP(4spp) RISC/os Reference Manual DKIP(4spp)
SEE ALSO
dvh(5spp), format(8spp), V/SMD 3200 Disk Controller User's
Guide
Page 4 Printed 1/6/92