1: /*
2: * Copyright (c) 1982, 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: * @(#)psreg.h 7.1 (Berkeley) 6/5/86
7: */
8:
9:
10: /*
11: * The Real Nitty Gritty Device Registers
12: */
13:
14: struct psdevice {
15: short int ps_data; /* data register */
16: short int ps_addr; /* address register */
17: short int ps_wcount; /* word count register */
18: short int ps_busaddr; /* unibus address register */
19: short int ps_iostat; /* io status register */
20: };
21:
22: /*
23: * Possible ioctl's
24: */
25: #define PSIOAUTOREFRESH _IO(p, 0) /* auto refresh */
26: #define PSIOSINGLEREFRESH _IO(p, 1) /* single refresh */
27: #define PSIOAUTOMAP _IO(p, 2) /* auto map */
28: #define PSIOSINGLEMAP _IO(p, 3) /* single map */
29: #define PSIODOUBLEBUFFER _IO(p, 4) /* double buffer */
30: #define PSIOSINGLEBUFFER _IO(p, 5) /* single buffer */
31: #define PSIOWAITREFRESH _IO(p, 6) /* await refresh */
32: #define PSIOWAITMAP _IO(p, 7) /* await map */
33: #define PSIOWAITHIT _IO(p, 8) /* await hit */
34: #define PSIOSTOPREFRESH _IO(p, 9) /* stop refresh */
35: #define PSIOSTOPMAP _IO(p,10) /* stop map */
36: #define PSIOGETADDR _IOR(p,11, int) /* get Unibus address */
37: #define PSIOTIMEREFRESH _IO(p,12) /* time refresh */
38:
39: /*
40: * Picture system io status register bits
41: */
42:
43: #define DIOREADY 0100000
44: #define PSAHOLD 040000
45: #define PSRESET 020000
46: #define DIORESET 010000
47: #define DMARESET 04000
48: #define PSIE 0400
49: #define DMAREADY 0200
50: #define DMAIE 0100
51: #define PASSIVE 010
52: #define DMAIN 04
53: #define NEXEM 02
54: #define GO 01
55:
56: /*
57: * Picture system memory mapping control registers: SCB 0177400-0177410
58: */
59:
60: #define EXMMR_DMA 0177400
61: #define EXMMR_DIO 0177404
62: #define EXMMR_RC 0177405
63: #define EXMMR_MAPOUT 0177406
64: #define EXMMR_MAPIN 0177407
65: #define EXMSR 0177410
66:
67: /*
68: * Extended memory status register bits
69: */
70:
71: #define DBERROR 0100000
72: #define SBERROR 040000
73: #define MEMREADY 0200
74: #define DBIE 0100
75: #define MMENBL 02
76: #define INITMEM 01
77:
78: /*
79: * Size of extended memory
80: */
81:
82: #define NEXMPAGES (256*2)
83: #define WORDSPERPAGE (256)
84:
85: /*
86: * MAP picture processor registers: SCB 0177750-0177753
87: */
88:
89: #define MAOL 0177750
90: #define MAOA 0177751
91: #define MAIA 0177752
92: #define MASR 0177753
93: #define MAMSR 0177754
94:
95: /*
96: * MAP status register bits
97: */
98:
99: #define PPDONE 0100000
100: #define FIFOFULL 040000
101: #define FIFOEMPTY 020000
102: #define HIT 010000
103: #define IB 04000
104: #define TAKE 02000
105: #define MMODE 01400
106: #define MOSTOPPED 0200
107: #define IOUT 0100
108: #define MAO 040
109: #define MAI 020
110: #define HIT_HOLD 010
111: #define RSR_HOLD 04
112: #define VEC_HOLD 02
113: #define MAP_RESET 01
114:
115: /*
116: * Refresh controller registers: SCB 0177730-0177737
117: */
118:
119: #define RFCSN 0177730
120: #define RFSN 0177731
121: #define RFAWA 0177732
122: #define RFAWL 0177733
123: #define RFAIA 0177734
124: #define RFASA 0177735
125: #define RFAIL 0177736
126: #define RFSR 0177737
127:
128: /*
129: * Refresh controller status register bits
130: */
131:
132: #define RFSTOPPED 0100000
133: #define RFHOLD 040000
134: #define RFSTART 020000
135: #define AUTOREF 010000
136: #define RFBLANK 04000
137: #define RIGHT 02000
138: #define LGFIFO_FULL 01000
139: #define NOT_EXEC 0200
140: #define SKIPSEG 0100
141: #define WRITEBACK 040
142: #define SEARCH 020
143: #define MATCH_HOLD 010
144: #define MATCH_DEC 04
145: #define SEARCH_MODE 03
146:
147: /*
148: * Interrupt control
149: */
150:
151: #define RTCREQ 0177760
152: #define RTCIE 0177761
153: #define SYSREQ 0177762
154: #define SYSIE 0177763
155: #define DEVREQ 0177764
156: #define DEVIE 0177765
157:
158: /*
159: * System interrupt request bits
160: */
161:
162: #define LPEN_REQ 0200
163: #define MATCH_REQ 0100
164: #define WBSTOP_REQ 040
165: #define RFSTOP_REQ 020
166: #define MOSTOP_REQ 010
167: #define JUMP_REQ 04
168: #define HIT_REQ 02
169: #define HALT_REQ 01
170:
171: /*
172: * Real-Time Clock registers
173: */
174:
175: #define RTCCNT 0177744
176: #define RTCSR 0177745
177:
178: /*
179: * Real-Time Clock status register bits
180: */
181:
182: #define HZ120 040
183: #define EXT 020
184: #define SYNC 010
185: #define EXTSEL2 04
186: #define EXTSEL1 02
187: #define RUN 01
188:
189: /*
190: * Control dials a/d registers
191: */
192:
193: #define ADDR0 0177500
194: #define ADDR1 0177501
195: #define ADDR2 0177502
196: #define ADDR3 0177503
197: #define ADDR4 0177504
198: #define ADDR5 0177505
199: #define ADDR6 0177506
200: #define ADDR7 0177507
201:
202: /*
203: * Function switches and lights
204: */
205:
206: #define FSWR 0177626
207: #define FSLR 0177627
Defined struct's
psdevice
defined in line
14; used 38 times
- in /usr/src/sys/vaxuba/ps.c line
138(4),
158(2),
202-203(4),
379-380(4),
408-409(4),
518(2),
541(2),
558(2),
568(2),
578(2),
591(2),
611(2),
623(2),
670(2),
680(2)
Defined macros
DBIE
defined in line
74;
never used
DMAIE
defined in line
50;
never used
DMAIN
defined in line
52;
never used
EXMSR
defined in line
65;
never used
EXT
defined in line
183;
never used
FSLR
defined in line
207;
never used
FSWR
defined in line
206;
never used
GO
defined in line
54;
never used
HIT
defined in line
102;
never used
IB
defined in line
103;
never used
IOUT
defined in line
107; used 1 times
MAI
defined in line
109; used 1 times
MAIA
defined in line
91; used 2 times
MAMSR
defined in line
93;
never used
MAO
defined in line
108; used 1 times
MAOA
defined in line
90; used 1 times
MAOL
defined in line
89; used 1 times
MASR
defined in line
92; used 1 times
NEXEM
defined in line
53;
never used
PSIE
defined in line
48; used 1 times
RFSN
defined in line
120;
never used
RFSR
defined in line
126; used 2 times
RUN
defined in line
187; used 1 times
SYNC
defined in line
184; used 1 times
TAKE
defined in line
104;
never used
Usage of this include