File:  [Power 6/32 Unix Tahoe 4.2BSD] / cci / usr / src / man / man4 / vddc.4
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs
Sun Jul 28 12:27:13 2019 UTC (7 years ago) by root
Branches: bsd, MAIN
CVS tags: v121, HEAD
Power 6/32 Unix version 1.21

.TH VDDC 4 "15 May 1984"
.UC 4
.SH NAME
vddc / (fsd, smd, xfd, fuj, xsd) \- versabus storage module controller/drives
.SH SYNOPSIS
.B "VDDC controller at vba addresses 0xf2[0-7]00"
.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 "
.SH DESCRIPTION
This is a generic VERSABUS storage module disk driver for CCI's VDDC
controller.
.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 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).
.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
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
.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
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
.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 ?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
.br
.SH SEE ALSO
disktab(5)
.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
.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
.SH BUGS
.I write
scribbles on the tail of incomplete blocks.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.