2.11BSD/man/cat4/dvhp.0

Compare this file to the similar file:
Show the results in this format:




XP(4)		    UNIX Programmer's Manual		    XP(4)



NAME
     xp - generic SMD moving-head disk

SYNOPSIS
     /sys/conf/SYSTEM:
	  NXPC	  _x_p__c_o_n_t_r_o_l_l_e_r_s # Number of controllers
	  NXPD	  _x_p__d_r_i_v_e_s	 # RM02/03/05, RP04/05/06,
				 # CDC 9766, Fuji 160, etc.
	  BADSECT _N_O		 # Bad sector handling (see BUGS)

     /etc/dtab:
	  #Name Unit# Addr   Vector Br Handler(s)      # Comments
	  xp	?     176700 254    5  xpintr	       # xp driver

     major device number(s):
	  raw: 19
	  block: 10
     minor device encoding:
	  bits 0007 specify partition of XP drive
	  bits 0370 specify XP drive

DESCRIPTION
     The _x_p driver is a generic SMD storage module disk driver.
     It can be adapted to most SMD controllers although
     bootstrapping will not necessarily be directly possible.
     The drives are numbered from 0 to _n on controller 0, from
     _n+1 to _m on controller 1, etc.  The drives may have dif-
     ferent geometries.

     The _x_p driver is unique amoungst 2BSD drivers in its number-
     ing of drives.  Other drivers (_r_a for example) number drives
     0 thru 7 on controller 1, 8 thru 15 on controller 2 and so
     on.  _x_p on the other hand can have drives 0 and 1 on con-
     troller 1, drives 2, 3, 4 and 5 on controller 2 and drives
     6, 7 and 8 on controller 3.  This is different from boot's
     view of the world, so if you are booting from other than
     unit 0 you may have to experiment a bit.

     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 ``xp''
     followed by the drive number and then a letter a-h for par-
     titions 0-7 respectively.	The character ? stands here for a
     drive number in the range 0-7.

     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 and there-
     fore raw I/O is considerably more efficient when many words



Printed 11/26/99	 August 14, 1995			1






XP(4)		    UNIX Programmer's Manual		    XP(4)



     are transmitted.  The names of the raw files conventionally
     begin with an extra `r.'

     In raw I/O the buffer must begin on a word (even) boundary,
     and counts should be a multiple of 512 bytes (a disk sec-
     tor).  Likewise _l_s_e_e_k calls should specify a multiple of 512
     bytes.

DISK SUPPORT
     Disks must be labeled using either the standalone _d_i_s_k_l_a_b_e_l
     program on the boot tape or with the _d_i_s_k_l_a_b_e_l(8) program.
     The kernel no longer attempts to determine the drive type
     and geometry, instead reading this information from the
     disklabel.  There are no partition tables coded into the _x_p
     driver, these must be placed on the drive with _d_i_s_k_l_a_b_e_l.

     Special files should only be created for the partitions that
     are actually used, as the overlap in these addresses could
     lead to confusion otherwise.  Traditionally the xp?a parti-
     tion is normally used for the root file system, the xp?b
     partition as a swap area, and the xp?c partition for pack-
     pack copying (it maps the entire disk).

FILES
     /dev/xp[0-7][a-h]	 block files
     /dev/rxp[0-7][a-h]  raw files
     /dev/MAKEDEV	 script to create special files
     /dev/MAKEDEV.local  script to localize special files

SEE ALSO
     hk(4), ra(4), ram(4), rk(4), rl(4), rp(4), rx(4), si(4),
     dtab(5), autoconfig(8), newfs(8)

DIAGNOSTICS
     xp%d%c: hard error sn%d cs2=%b er1=%b.  An unrecoverable
     error occurred during transfer of the specified sector of
     the specified disk partition.  The contents of the two error
     registers are also printed in octal and symbolically with
     bits decoded.  The error was either unrecoverable, or a
     large number of retry attempts (including offset positioning
     and drive recalibration) could not recover the error.

     xp%d: write locked.  The write protect switch was set on the
     drive when a write was attempted.	The write operation is
     not recoverable.

     xp%d%c: soft ecc sn%d.  A recoverable ECC error occurred on
     the specified sector of the specified disk partition.  This
     happens normally a few times a week.  If it happens more
     frequently than this the sectors where the errors are occur-
     ring should be checked to see if certain cylinders on the
     pack, spots on the carriage of the drive or heads are



Printed 11/26/99	 August 14, 1995			2






XP(4)		    UNIX Programmer's Manual		    XP(4)



     indicated.

     xp%d: unknown device type 0%o.  The number in the drive's
     drive type register is unknown to the xp driver.

BUGS
     In raw I/O _r_e_a_d and _w_r_i_t_e(2) truncate file offsets to 512-
     byte block boundaries, and _w_r_i_t_e scribbles on the tail of
     incomplete blocks.  Thus, in programs that are likely to
     access raw devices, _r_e_a_d, _w_r_i_t_e and _l_s_e_e_k(2) should always
     deal in 512-byte multiples.

     DEC-standard error logging should be supported.

     The kernel uses partition 'h' to access the badblock infor-
     mation.  This should have been 'c' except that almost all of
     the /etc/disktab entries (and thus existing systems) use 'h'
     for this purpose.	Unless you are very careful with _d_i_s_k_l_a_-
     _b_e_l|(8) (to make certain that no data partition overlaps the
     badblock area) you should probably leave BADSECT undefined
     in the kernel config file.


































Printed 11/26/99	 August 14, 1995			3