1: /*
2: * Copyright (c) 1986 Regents of the University of California.
3: * All rights reserved. The Berkeley software License Agreement
4: * specifies the terms and conditions for redistribution.
5: *
6: * @(#)sireg.h 1.1 (2.10BSD Berkeley) 12/1/86
7: */
8:
9: /*
10: * Definitions for Systems Industries 9500 controller.
11: */
12:
13: /*
14: * Controller registers and bits
15: */
16: struct sidevice
17: {
18: short sicnr; /* control register */
19: short siwcr; /* word count register */
20: short sipcr; /* port/cylinder address register */
21: short sihsr; /* head/sector address register */
22: caddr_t simar; /* UNIBUS memory address register */
23: short sierr; /* error register */
24: short sissr; /* seek status register */
25: short sisar; /* seek address register */
26: short sidbr; /* data buffer register (unused) */
27: short sicom; /* communications register */
28: short siscr; /* shared computer option register */
29: };
30:
31: /* Other bits of sicnr */
32: #define SI_OFP 0040000 /* offset+ */
33: #define SI_OFM 0020000 /* offset- */
34: #define SI_DONE 0000200 /* done */
35: #define SI_IE 0000100 /* interrupt enable */
36: #define SI_READ 0000004 /* read command */
37: #define SI_WRITE 0000002 /* write command */
38: #define SI_GO 0000001
39: #define SI_RESET 0000000 /* logic master clear */
40: #define SI_BITS \
41: "\10\10DONE\7IE\3READ\2WRITE\1GO"
42:
43: /* sierr */
44: #define SIERR_ERR 0100000 /* error */
45: #define SIERR_CNT 0140000 /* contention error */
46: #define SIERR_TIMO 0020000 /* timeout error */
47:
48: #define SIERR_BITS \
49: "\10\20ERR\17CNT\16TMO\15SEL\14FLT\13WLK\12BSE\11FMT\10SKI\
50: \7AVE\6CRC\5VFY\4TMG\2OSE\1OSC"
51:
52: /* sissr */
53: #define SISSR_DONE 010 /* Seek complete */
54: #define SISSR_ERR 004 /* Hardware seek error */
55: #define SISSR_BUSY 002 /* Busy error */
56: #define SISSR_NRDY 001 /* Not ready to seek */
57:
58: #define SISSR_BITS \
59: "\10\20DONE4\17ERR4\16BUSY4\15NRDY4\
60: \14DONE3\13ERR3\12BUSY3\11NRDY3\
61: \10DONE2\7ERR2\6BUSY2\5NRDY2\
62: \4DONE1\3ERR1\2BUSY1\1NRDY1"
Defined struct's
sidevice
defined in line
16; used 34 times
- in /usr/src/sys/autoconfig/siauto.c line
16(2)
- in /usr/src/sys/pdpstand/si.c line
17-21(8),
36(2)
- in /usr/src/sys/pdpuba/si.c line
59(2),
76-80(4),
92(2),
101(2),
126(2),
168(2),
249(2),
328(2),
414(2),
474(2)
Defined macros
SI_GO
defined in line
38; used 4 times
SI_IE
defined in line
35; used 4 times
Usage of this include