BSD 4_3_Reno release
[unix-history] / usr / src / share / man / man4 / man4.tahoe / vd.4
index 3e96bc5..3ef3cd0 100644 (file)
 .\" All rights reserved.  The Berkeley software License Agreement
 .\" specifies the terms and conditions for redistribution.
 .\"
 .\" All rights reserved.  The Berkeley software License Agreement
 .\" specifies the terms and conditions for redistribution.
 .\"
-.\"    @(#)vd.4        6.1 (Berkeley) %G%
+.\"    @(#)vd.4        6.3 (Berkeley) 6/13/88
 .\"
 .\"
-.TH VD 4 ""
+.TH VD 4 "June 13, 1988"
 .UC 7
 .SH NAME
 .UC 7
 .SH NAME
-vd / (fsd, smd, xfd, fuj, xsd) \- versabus storage module controller/drives
+vd \- VERSAbus storage module controller/drives
 .SH SYNOPSIS
 .SH SYNOPSIS
-.B "VD controller at vba addresses 0xf2[0-7]00"
+.B "controller vd0 at vba? csr 0xffff2000 vector vdintr"
 .br
 .br
-.B "160 Mb FSD "
-.br
-.B "300 Mb SMD "
-.br
-.B "340 Mb XFD "
-.br
-.B "360 Mb FUJ "
-.br
-.B "515 Mb XSD "
+.B "disk dk0 at vd0 drive 0"
 .SH DESCRIPTION
 .SH DESCRIPTION
-This is a generic VERSABUS storage module disk driver for CCI's VD
-controller.
+This is a generic VERSAbus storage module disk driver for the
+Computer Consoles SMD (VDDC) and SMD-E disk controllers.
 .PP
 Files with minor device numbers 0 through 7 refer to various portions
 of drive 0;
 minor devices 8 through 15 refer to drive 1, etc.
 .PP
 Files with minor device numbers 0 through 7 refer to various portions
 of drive 0;
 minor devices 8 through 15 refer to drive 1, etc.
-The standard device names begin with `fsd, `smd', `fuj', `xfd',
-or `xfd' followed by
+The standard device names begin with ``dk'' followed by
 the drive number and then a letter a-h for partitions 0-7 respectively.
 the drive number and then a letter a-h for partitions 0-7 respectively.
-The character ? stands here for a drive number in the range 0 - 1f (hex).
+The character ? stands here for a drive number in the range 0-7.
 .PP
 The block files access the disk via the system's normal
 buffering mechanism and may be read and written without regard to
 physical disk records.  There is also a `raw' interface
 which provides for direct transmission between the disk
 and the user's read or write buffer.
 .PP
 The block files access the disk via the system's normal
 buffering mechanism and may be read and written without regard to
 physical disk records.  There is also a `raw' interface
 which provides for direct transmission between the disk
 and the user's read or write buffer.
-A single read or write call results in exactly one I/O operation
+A single read or write call results in exactly one I/O operation,
 and therefore raw I/O is considerably more efficient when
 many words are transmitted.  The names of the raw files
 conventionally begin with an extra `r.'
 .PP
 and therefore raw I/O is considerably more efficient when
 many words are transmitted.  The names of the raw files
 conventionally begin with an extra `r.'
 .PP
-In raw I/O counts should be a multiple of 1024 bytes (a disk block).
-Likewise
+In raw I/O counts should be a multiple of 1024 bytes,
+whether the actual sector size is 512 or 1024 bytes.
+Likewise,
 .I seek
 calls should specify a multiple of 1024 bytes.
 .I seek
 calls should specify a multiple of 1024 bytes.
-.SH "DISK SUPPORT"
-The driver tries to access the last track on each drive
-to determine the type of drive attached.  The driver recognizes
-five different drives: CDC FSD (160 Mb), CDC 9766 (300 Mb),
-CDC XFSD (340 Mb), CDC 515Mb, and Fujitsu 360 Mb.
-The origin and size of the pseudo-disks on each drive are
-as follows:
-.PP
-.nf
-.ta .5i +\w'000000    'u +\w'000000    'u +\w'000000    'u
-FSD 160Mb drive partitions:
-       disk    start   length     cyl
-       fsd?a   0       9600      0 - 59
-       fsd?b   9600    12000    60 - 134
-       fsd?c   21600   109280  135 - 817
-       fsd?d   39840   91040   249 - 817
-       fsd?e   58080   72800   363 - 817
-       fsd?f   76320   54560   477 - 817
-       fsd?g   94560   36320   591 - 817
-       fsd?h   112800  18080   705 - 817
-.PP
-SMD (CDC 9766) 300Mb drive partitions:
-       disk    start   length     cyl
-       smd?a   0       20064     0 - 65
-       smd?b   20064   13680    66 - 110
-       smd?c   33744   214928  111 - 817
-       smd?d   69616   179056  229 - 817
-       smd?e   105488  143184  347 - 817
-       smd?f   141360  107312  465 - 817
-       smd?g   177232  71440   583 - 817
-       smd?h   213104  35568   701 - 817
-.PP
-XFD 340Mb drive partitions:
-       disk    start   length     cyl
-       xfd?a   0       20352     0 - 52
-       xfd?b   20352   20352    53 - 105
-       xfd?c   40704   230400  106 - 705
-       xfd?d   79104   192000  206 - 705
-       xfd?e   117504  153600  306 - 705
-       xfd?f   155904  115200  406 - 705
-       xfd?g   194304  76800   506 - 705
-       xfd?h   232704  38400   606 - 705
-.PP
-FUJ 360Mb drive partitions:
-       disk    start   length     cyl
-       fuj?a   0       19200     0 - 59
-       fuj?b   19200   24000    60 - 134
-       fuj?c   43200   218560  135 - 817
-       fuj?d   79680   182080  249 - 817
-       fuj?e   116160  145600  363 - 817
-       fuj?f   152640  109120  477 - 817
-       fuj?g   189120  72640   591 - 817
-       fuj?h   225600  36160   705 - 817
 .PP
 .PP
-XSD 515Mb drive partitions:
-       disk    start   length     cyl
-       xsd?a   0       30528     0 - 52
-       xsd?b   30528   30528    53 - 105
-       xsd?c   61056   345600  106 - 705
-       xsd?d   118656  288000  206 - 705
-       xsd?e   176256  230400  306 - 705
-       xsd?f   233856  172800  406 - 705
-       xsd?g   291456  115200  506 - 705
-       xsd?h   349056  57600   606 - 705
-.fi
+The first sector of each disk contains a disk label
+containing geometry information and partition layouts (see
+.IR disklabel (5).
+This sector is normally write-protected, and disk-to-disk copies should
+avoid copying this sector.
+The label may be updated with
+.IR disklabel (8),
+which can also be used to write-enable and write-disable the sector.
+.SH "DISK SUPPORT"
+During autoconfiguration,
+as well as when a drive is opened after all partitions are closed,
+the first sector of the drive is examined for a disk label.
+If a label is found, the geometry of the drive and the partition tables
+are taken from it.
+If no label is found,
+The driver checks for a disk label on sector 0 of each drive
+during autoconfiguration.
+If no label is found,
+the driver tries to access the last track on each drive
+to determine the type of drive attached.
+The driver has default partition tables for
+seven different drives: CDC FSD (160 MB), CDC 9766 (300 MB),
+CDC XFSD (340 MB), CDC 515MB, Fujitsu 360 MB, Fujitsu Eagle (440 MB),
+and Maxtor 340Mb.
+If the drive is not recognized, a single small partition is created
+to allow a label to be written.
 .PP
 .PP
-It is unwise for all of these partitions to be present in one installation,
-since there is overlap in addresses and protection becomes
-a sticky matter.
-The ?a partition is normally used for the root file system,
-and the ?b partition as a paging area.
+The partition tables in the disk label and the
+.I disktab
+file specify partition offsets and sizes in sectors, which are 512 bytes
+on SMD drives and 1024 bytes on 5 1/4" ESDI drives.
+By convention,
+the ?a partition is normally used for the root file system or other small
+file system,
+and the ?b partition is used as a paging area.
 The ?c partition maps the rest of the pack,
 except the last 5 cylinders which are reserved for bad sector forwarding,
 and diagnostic use.
 .SH FILES
 The ?c partition maps the rest of the pack,
 except the last 5 cylinders which are reserved for bad sector forwarding,
 and diagnostic use.
 .SH FILES
-/dev/fsd[0-7][a-f]     fsd block files
-.br
-/dev/rfsd[0-7][a-f]    fsd raw files
-.br
-/dev/smd[0-7][a-f]     smd block files
-.br
-/dev/rsmd[0-7][a-f]    smd raw files
-.br
-/dev/xfd[0-7][a-f]     xfd block files
-.br
-/dev/rxfd[0-7][a-f]    xfd raw files
-.br
-/dev/fuj[0-7][a-f]     fuj block files
-.br
-/dev/rfuj[0-7][a-f]    fuj raw files
-.br
-/dev/xsd[0-7][a-f]     xsd block files
-.br
-/dev/rxsd[0-7][a-f]    xsd raw files
+/dev/dk[0-7][a-f]      dk block files
 .br
 .br
+/dev/rdk[0-7][a-f]     dk raw files
 .SH SEE ALSO
 .SH SEE ALSO
-disktab(5)
+disklabel(5), disklabel(8)
 .SH DIAGNOSTICS
 .SH DIAGNOSTICS
-The driver prints out a number of error messages, indicating that
-the error bit in the DCB'c op error status register was set.
-The contents of the register are printed, as well as an indication
-of the operation attempted and drive number.
-The status word is displayed in hexadecimal, so
-conversion to binary is up to the operator.
-The meaning of the status word's bit fields are:
-.sp 1
-.in +3m
-.nf
-31                              0
-+--------------------------------+
-||||||||||||||||||||||||||||||||||
-+--------------------------------+
- ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^
- ||||| |||||||||||||||||||||||||+-- Header CRC error detected.
- ||||| ||||||||||||||||||||||||+--- Header compare error.
- ||||| |||||||||||||||||||||||+---- Disk write protected.
- ||||| ||||||||||||||||||||||+----- Controller fault.
- ||||| |||||||||||||||||||||+------ Disk seek error.
- ||||| ||||||||||||||||||||+------- Uncorrectable data error.
- ||||| |||||||||||||||||||+-------- Disk not on cylinder.
- ||||| ||||||||||||||||||+--------- Disk drive not ready.
- ||||| |||||||||||||||||+---------- Alternate track accessed.
- ||||| ||||||||||||||||+----------- Seek started.
- ||||| |||||||||||||||+------------ Invalid disk address issued.
- ||||| ||||||||||||||+------------- Non-existent memory error.
- ||||| |||||||||||||+-------------- Main memory parity error.
- ||||| ||||||||||||+--------------- Data compare error.
- ||||| |||||||||||+---------------- Drive is ready.
- ||||| ||||||||||+----------------- Operation aborted.
- ||||| |||||||||+------------------ Tried data strobe early.
- ||||| ||||||||+------------------- Tried data strobe late.
- ||||| |||||||+-------------------- Tried track offset plus.
- ||||| ||||||+--------------------- Tried track offset minus.
- ||||| |||||+---------------------- Controller performed data correction.
- ||||| ||||+----------------------- Uncorrected error happened (hard).
- ||||| |||+------------------------ Corrected error happened (soft).
- ||||| ||+------------------------- An error happened (hard or soft).
- ||||| |+-------------------------- Invalid command.
- ||||+-+--------------------------- unused.
- |||+------------------------------ DCB aborted by system.
- ||+------------------------------- Unsuccessful completion.
- |+-------------------------------- DCB completed.
- +--------------------------------- DCB started.
-.fi
-.in -3m
+\fBvd%d: %s controller\fP.
+This message is printed during autoconfiguration to identify
+the type of controller, either ``VDDC'' or ``SMDE''.
+.PP
+\fBvd%d: init error\fP.
+During autoconfiguration the controller failed to respond to
+an initialize command.
+.PP
+\fBvd%d: diagnostic error\fP.
+During autoconfiguration the controller failed  to respond to
+a diagnostic command.
+.PP
+\fBdk%d: unknown drive type\fP.
+The system was unable to identify the specified drive as
+one of the drives described above; the drive will not be
+configured.
+.PP
+\fBvd%d: drive %d: config error\fP.
+The system encountered a hard error when it tried to configure
+a drive during autoconfiguration.
+.PP
+\fBvd%d: starting drives, wait ... \fP.
+This message indicates the system is about to tell the
+controller to ``start'' the drives attached to  it.
+.PP
+\fBdk%d: %s <ntrak %d, ncyl %d, nsec %d>\fP.
+For each drive recognized during autoconfiguration the system
+prints a message of this form.  The drive type is displayed
+as well as the geometry: tracks/cylinder, cylinders, and sectors/track.
+.PP
+\fBvd%d: lost interrupt\fP.
+The system failed to receive an interrupt from the controller after
+submitting a request.
+The system attempts to abort the current request and simulate an
+interrupt to unwedge the controller.
+During processing of the simulated interrupt, a controller error
+will be reported as described below.
+.PP
+\fBvd%d: stray interrupt\fP.
+The system received an unexpected interrupt; it is ignored.
 .PP
 .PP
-In addition, if the controller is an SMD-E controller then an error code
-will also be printed.  The error codes are:
-.sp 1
-.in +3m
-.nf
-\fICode\fP             \fIMeaning\fP
-
-\fICommand related errors\fP:
-
-01             Bad MDCB pointer
-02             Bad DCB pointer
-03             Invalid command
-04             Invalid disk address
-05             Invalid sector in command
-06             Gap specification error
-07             sector per track error
-08             bytes per sector error
-09             Interleave error
-0A             Invalid head address
-0B             Invalid DMA burst count
-0C             Invalid sector count
-0D             Drive number out of range
-0E             Too many total sectors
-
-
-\fIHard errors\fP:
-
-10             Disk not ready
-11             Seek error
-12             Disk write protected
-13             Unit not selected (command sent to non-existent drive)
-14             Seek error timeout
-15             Fault timeout
-16             Drive faulted
-17             Ready timeout
-18             Data Overrun
-19             No index pulse on write format
-1A             Sector not found
-1B             Retry performed - Soft error
-1C             Invalid sync in data field
-1D             seek timeout error
-1E             Busy timeout
-1F             Not on cylinder
-20             RTZ timeout
-21             Unit not initialized
-22             Seek error
-23             Mapped header error
-24             Header error - Sync word bad
-25             Header error - Wrong cylinder address
-26             Header error - Wrong head address
-27             Header error - Pad word bad
-28             Sector write protected
-2A             Header check sum error
-2B             Alternate track accessed
-2C             Read time-out error
-2D             On-cylinder timeout during offset adjust
-2E             Good header found on defective track
-
-
-\fIDMA transfer errors\fP
-
-30             DMA bus error
-31             DMA parity error
-32             DMA timeout
-
-
-\fIMiscellaneous errors\fP:
-
-40             Track offset minus
-41             Track offset plus
-42             Data strobe early
-43             Data strobe late
-44             Drive ready
-45             Data compare error
-47             Alternate track accessed
-48             Header CRC error
-49             Uncorrectable error
-4A             ECC code error - data field code
-4B             Abort
-4C             Out of buffer space
-4D             Controller performed data correction
-4E             Alternate track accessed
-
-
-\fIPOC related errors\fP
-
-50 - 53                Buffer RAM error (banks 0 - 3)
-54 - 57                Buffer RAM clear error (banks 0 - 3)
-58 - 5B                Event RAM Error (banks 0 - 3)
-5C - 5F                Event RAM clear error (banks 0 - 3)
-60             ROM CRC error
-61             Timer short error
-62             Shared RAM error
-63             Shared RAM clear error
-64             Illegal interupt or exception
-65             Disk sequencer did not initialize
-66             Restart FF did not initialize
-67             Data parity error FF did not initialize
-68             Versabus error FF did not initialize
-69             Unit select panel did not clear
-6A             Versabus interupt pending FF did not clear
-6B             Restart interupt FF did not init
-6C             Timer long error
-
-70             DMA gate array init started
-71             ROM CRC test started
-72             Local RAM test started
-73             Buffer RAM test started
-74             Event RAM test started
-75             SERDES gate array init started
-
-
-\fIIllegal interupts or exceptions\fP
-
-80             Bus error
-81             Address error
-82             Illegal instruction
-83             Divide by zero
-84             CHK instruction
-85             TRAPV instruction
-86             Privileged instruction
-87             Trace trap
-88             Line 1010 emulator
-89             Line 1111 emulator
-8A - 8C                Reserved (1 - 3)
-8D             Uninitialized interupt
-8E             Reserved 4
-8F             Spurious interupt
-91 - 97                "Hot" interupts on lines 1 - 7
-
-.fi
-.in -3m
+\fBdk%d%c: write locked\fP.
+An attempt was made to write to a drive that is physically write-protected.
+.PP
+\fBdk%d%c: controller err %sing fsbn %d [of %d-%d] (dk%d bn %d cn %d tn %d sn %d) status %b ecode %x; resetting controller... retrying\fP.
+.br
+\fBdk%d%c: drive err %sing fsbn %d [of %d-%d] (dk%d bn %d cn %d tn %d sn %d) status %b ecode %x; resetting drive... retrying\fP.
+An attempted transfer resulted in a controller or drive error.
+The controller or drive is reset, and the transfer is attempted
+a second time.
+.PP
+\fBdk%d%c: hard error %sing fsbn %d [of %d-%d] (dk%d bn %d cn %d tn %d sn %d)
+status %b ecode %x\fP.
+An unrecoverable error was encountered.  The filesystem block number reported
+is a logical sector number on the indicated partition;
+it is expressed using 1024-byte sectors.
+If the transfer involved multiple blocks, the block range is printed as well.
+The parenthesized fields list the actual disk sector number
+relative to the beginning of the drive
+(in 512- or 1024-byte blocks, as appropriate),
+as well as the cylinder, track and sector number of the block.
+The error status field of the device control
+block is printed in hexadecimal followed by a symbolic description.
+If this is an SMDE controller, the error code is also displayed.
+.PP
+\fBdk%d%c: soft error %sing fsbn %d [of %d-%d] (dk%d bn %d cn %d tn %d sn %d)
+status %b ecode %x\fP.
+A recoverable error was detected by the controller.
+The fields are interpreted in the same way as those for hard errors.
+.PP
+\fBdk%d%c: soft ecc %sing fsbn %d [of %d-%d] (dk%d bn %d cn %d tn %d sn %d)\fP.
+A recoverable ECC error was detected and corrected by the controller
+during the indicated transfer.
+.PP
+\fBvd%d: drive %d: couldn't reset\fP.
+The system was unable to reconfigure a drive during a controller reset.
+.PP
+\fBvd%d: controller timeout\fP.
+The controller failed to complete an operation within a reasonable
+time.  This message is usually followed by another message indicating
+what operation timed out; e.g. ``during config'' for a configuration
+command.
 .SH BUGS
 .SH BUGS
-.I write
-scribbles on the tail of incomplete blocks.
+Writes
+scribble on the tail of incomplete blocks.
+.PP
+The system should use real disk sector numbers internally,
+instead of assuming 1024-byte sectors;
+errors should report filesystem block numbers using the actual sector size.
+Raw I/O should be permitted on any sector boundary.