DKIS(4spp) RISC/os Reference Manual DKIS(4spp)
NAME
dkis - M/120 SCSI disk
SYNOPSIS
{
"dkis", dkinit, dkopen,
dkstrategy, nulldev, dkioctl,
DTTYPEBLOCK,
DTFSAUTO, "SCSI disk"
}
DESCRIPTION
Dkis is the interface to the disk drives on the M/120 sys-
tem. This system uses a built-in SCSI controller chip
(Fujitsu 87030) along with an AMD dma controller chip. Dkis
supports a maximum of seven imbedded SCSI disk devices on
that controller. One of these devices is a tape device
(device id 6) that is standard on the system. LUN (logical
unit) numbers other than 0 (default) are recognized but will
probably never be used.
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. Dkis supports the following
ioctls:
ioctl(fd, DIOCGETVH, vhp)
Gets the disk volume header for the dkis 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 dkis driver
to that pointed to by vhp.
ioctl(fd, DIOFMTMAP, fmi)
DIOCFMTMAP allows formatting of the disk and use of the SCSI
reassign blocks command for defect management with fd. The
specific operation and any other information required is
contained in struct fmtmapinfo pointed to by fmi. "fmi-
>fmi_action" set to FMI_FORMAT_TRACK will cause the entire
SCSI disk to be formatted. "fmi->fmi_action" set to
FMI_MAP_TRACK will cause a reassign blocks command to be
issued using additional information in the fmt_map_info
struct.
ioctl(fd, DIONOECC, eccp)
DIOCNOECC Enables/disables the use of ECC by the controller
for the device associated with fd. if the intereger pointed
Printed 1/6/92 Page 1
DKIS(4spp) RISC/os Reference Manual DKIS(4spp)
to by eccp is zero, otherwise ECC is enabled. The SCSI mode
select command is used.
DIAGNOSTICS
The following diagnostics are printed by the dkis driver:
dkis bad lun (%d)
An invalid lun number was specified.
dkis bad target (%d)
An invalid target number was specified.
dkis(%d,%d,%d): bad partition
An invalid partition number was specified. The parti-
tion number must be in the range 0 through NPARTAB .
dkis: request sense ERROR
A request sense command was mandated through a SCSI
check condition but the request sense command produced
an error.
dk%d: %s failed req sense
Request sense was required for a SCSI check condition
returned on a command but failed for the reason below.
dk%d: %s, failed open (%d)
The open failed for target %d with error code (%d). %s
below specifies the problem which falls in two classes:
returned by a SCSI drive or by the MIPS code driving
the FUJI/AMD chips.
/* SCSI Status (returned by target) */
Check Condition
Condition Met/Good
target is BUSY
Intermediate/Good
Intermediate/Condition Met/Good
Reservation Conflict
/* FUJI/AMD Status (MIPS driver messages) */
SCSI Parity Error Unrecoverable
Hardware Failure
SCSI Timeout Error
Selection Timeout Error
SCSI Phase Error
dk: can't read volume header
Volume header block was successfully read but the
volumne header wasn't present or was corrupt (checksum
used).
dkis: %s, failed read
Page 2 Printed 1/6/92
DKIS(4spp) RISC/os Reference Manual DKIS(4spp)
Read failed trying to get the volume header.
dkis: bad partition
The volume header indicates that the specified parti-
tion is of zero size.
dkis(%d,%d,%d): bad format
An error occurred during the format command
read beyond end of partition
Tried to read past the end of the partition specified
in the volume header.
cc not multiple of sector size
The specified character count for a read or write
operation is not a multiple of the sector size.
SEE ALSO
dvh(5spp), format(8spp), tqis(4spp)
Printed 1/6/92 Page 3