up | Inhaltsverzeichniss | Kommentar

Manual page for XY(4S)

xy - Disk driver for Xylogics 450 and 451 SMD Disk Controllers


controller xyc0 at vme16d16 ? csr 0xee40 priority 2 vector xyintr 0x48
controller xyc1 at vme16d16 ? csr 0xee48 priority 2 vector xyintr 0x49
disk xy0 at xyc0 drive 0
disk xy1 at xyc0 drive 1
disk xy2 at xyc1 drive 0
disk xy3 at xyc1 drive 1

The two controller lines given in the synopsis sections above specify the first and second Xylogics 450 or 451 SMD disk controller in a Sun system.


Files with minor device numbers 0 through 7 refer to various portions of drive 0; minor devices 8 through 15 refer to drive 1, and so on. The standard device names begin with xy followed by 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-7.

The block files access the disk using 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 usually results in only one I/O operation; 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.

When using raw I/O, transfer counts should be multiples of 512 bytes (the size of a disk sector). Likewise, when using lseek.2v to specify block offsets from which to perform raw I/O, the logical offset should also be a multiple of 512 bytes.

Due to word ordering differences between the disk controller and Sun computers, user buffers that are used for raw I/O must not begin on odd byte boundaries.

If flags 0x1 is specified, the overlapped seeks feature for that drive is turned off. Note: to be effective, the flag must be set on all drives for a specific controller. This action is necessary for controllers with older firmware, which have bugs preventing overlapped seeks from working properly.


This driver handles all SMD drives by reading a label from sector 0 of the drive which describes the disk geometry and partitioning.

The xy?a partition is normally used for the root file system on a disk, the xy?b partition as a paging area, and the xy?c partition for pack-pack copying (it normally maps the entire disk). The rest of the disk is normally the xy?g partition.


block files
raw files


lseek.2v read.2v directory.3v write.2v dkio.4s


xycn : self test error
Self test error in controller, see the Maintenance and Reference Manual.
xycn: WARNING: n bit addresses
The controller is strapped incorrectly. Sun systems use 20-bit addresses for Multibus based systems and 24-bit addresses for VMEbus based systems.
xyn : unable to read bad sector info
The bad sector forwarding information for the disk could not be read.
xyn and xyn are of same type (n) with different geometries.
The 450 and 451 do not support mixing the drive types found on these units on a single controller.
xyn : initialization failed
The drive could not be successfully initialized.
xyn : unable to read label
The drive geometry/partition table information could not be read.
xyn : Corrupt label
The geometry/partition label checksum was incorrect.
xyn : offline
A drive ready status is no longer detected, so the unit has been logically removed from the system. If the drive ready status is restored, the unit will automatically come back online the next time it is accessed.
xync: cmd how (msg) blk #n abs blk #n
A command such as read or write encountered an error condition (how): either it failed, the controller was reset, the unit was restored, or an operation was retry'ed. The msg is derived from the error number given by the controller, indicating a condition such as ``drive not ready'', ``sector not found'' or ``disk write protected''. The blk # is the sector in error relative to the beginning of the partition involved. The abs blk # is the absolute block number of the sector in error. Some fields of the error message may be missing since the information is not always available.


In raw I/O read.2v and write.2v truncate file offsets to 512-byte block boundaries, and write.2v scribbles on the tail of incomplete blocks. Thus, in programs that are likely to access raw devices, read.2v write.2v and lseek.2v should always deal in 512-byte multiples.

Older revisions of the firmware do not properly support overlapped seeks. This will only affect systems with multiple disks on a single controller. If a large number of ``zero sector count'' errors appear, you should use the flags field to disable overlapped seeks.

index | Inhaltsverzeichniss | Kommentar

Created by unroff & hp-tools. © by Hans-Peter Bischof. All Rights Reserved (1997).

Last modified 21/April/97