blob: c78e63cfcb455e2da98c073b005db4ae99cbda68 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
|
/*++
Copyright (c) 1990 Microsoft Corporation
Module Name:
dmaregs.h
Abstract:
This module defines the offsets of the MCTADR registers to allow
access to them from assembly code.
Register names correspond to the ones in the structure DMA_REGISTERS
declared in jazzdma.h
Author:
Lluis Abello 6-May-91
Revision History:
Lluis Abello 1-Apr-93 Added DUO registers
--*/
#ifndef _DMAREGS
#define _DMAREGS
#ifndef DUO
//
// DMA REGISTER OFFSETS
//
#define DmaConfiguration 0x000
#define DmaRevisionLevel 0x008
#define DmaInvalidAddress 0x010
#define DmaTranslationBase 0x018
#define DmaTranslationLimit 0x020
#define DmaTranslationInvalidate 0x028
#define DmaCacheMaintenance 0x030
#define DmaRemoteFailedAddress 0x038
#define DmaMemoryFailedAddress 0x040
#define DmaPhysicalTag 0x048
#define DmaLogicalTag 0x050
#define DmaByteMask 0x058
#define DmaBufferWindowLow 0x060
#define DmaBufferWindowHigh 0x068
#define DmaRemoteSpeed0 0x070
#define DmaRemoteSpeed1 0x078
#define DmaRemoteSpeed2 0x080
#define DmaRemoteSpeed3 0x088
#define DmaRemoteSpeed4 0x090
#define DmaRemoteSpeed5 0x098
#define DmaRemoteSpeed6 0x0a0
#define DmaRemoteSpeed7 0x0a8
#define DmaRemoteSpeed8 0x0b0
#define DmaRemoteSpeed9 0x0b8
#define DmaRemoteSpeed10 0x0c0
#define DmaRemoteSpeed11 0x0c8
#define DmaRemoteSpeed12 0x0d0
#define DmaRemoteSpeed13 0x0d8
#define DmaRemoteSpeed14 0x0e0
#define DmaRemoteSpeed15 0x0e8
#define DmaParityDiagnosticLow 0x0f0
#define DmaParityDiagnosticHigh 0x0f8
#define DmaChannel0Mode 0x100
#define DmaChannel0Enable 0x108
#define DmaChannel0ByteCount 0x110
#define DmaChannel0Address 0x118
#define DmaChannel1Mode 0x120
#define DmaChannel1Enable 0x128
#define DmaChannel1ByteCount 0x130
#define DmaChannel1Address 0x138
#define DmaChannel2Mode 0x140
#define DmaChannel2Enable 0x148
#define DmaChannel2ByteCount 0x150
#define DmaChannel2Address 0x158
#define DmaChannel3Mode 0x160
#define DmaChannel3Enable 0x168
#define DmaChannel3ByteCount 0x170
#define DmaChannel3Address 0x178
#define DmaChannel4Mode 0x180
#define DmaChannel4Enable 0x188
#define DmaChannel4ByteCount 0x190
#define DmaChannel4Address 0x198
#define DmaChannel5Mode 0x1a0
#define DmaChannel5Enable 0x1a8
#define DmaChannel5ByteCount 0x1b0
#define DmaChannel5Address 0x1b8
#define DmaChannel6Mode 0x1c0
#define DmaChannel6Enable 0x1c8
#define DmaChannel6ByteCount 0x1d0
#define DmaChannel6Address 0x1d8
#define DmaChannel7Mode 0x1e0
#define DmaChannel7Enable 0x1e8
#define DmaChannel7ByteCount 0x1f0
#define DmaChannel7Address 0x1f8
#define DmaInterruptSource 0x200
#define DmaErrortype 0x208
#define DmaRefreshRate 0x210
#define DmaRefreshCounter 0x218
#define DmaSystemSecurity 0x220
#define DmaInterruptInterval 0x228
#define DmaIntervalTimer 0x230
#define DmaInterruptAcknowledge 0x238
#else
//
// MP_DMA register offsets for DUO.
//
#define DmaConfiguration 0x000
#define DmaRevisionLevel 0x008
#define DmaRemoteFailedAddress 0x010
#define DmaMemoryFailedAddress 0x018
#define DmaInvalidAddress 0x020
#define DmaTranslationBase 0x028
#define DmaTranslationLimit 0x030
#define DmaTranslationInvalidate 0x038
#define DmaChannelInterruptAcknowledge 0x040
#define DmaLocalInterruptAcknowledge 0x048
#define DmaEisaInterruptAcknowledge 0x050
#define DmaTimerInterruptAcknowledge 0x058
#define DmaIpInterruptAcknowledge 0x060
#define DmaWhoAmI 0x070
#define DmaNMISource 0x078
#define DmaRemoteSpeed0 0x080
#define DmaRemoteSpeed1 0x088
#define DmaRemoteSpeed2 0x090
#define DmaRemoteSpeed3 0x098
#define DmaRemoteSpeed4 0x0A0
#define DmaRemoteSpeed5 0x0A8
#define DmaRemoteSpeed6 0x0B0
#define DmaRemoteSpeed7 0x0B8
#define DmaRemoteSpeed8 0x0C0
#define DmaRemoteSpeed9 0x0C8
#define DmaRemoteSpeed10 0x0D0
#define DmaRemoteSpeed11 0x0D8
#define DmaRemoteSpeed12 0x0E0
#define DmaRemoteSpeed13 0x0E8
#define DmaRemoteSpeed14 0x0F0
#define DmaInterruptEnable 0x0F8
#define DmaChannel0Mode 0x100
#define DmaChannel0Enable 0x108
#define DmaChannel0ByteCount 0x110
#define DmaChannel0Address 0x118
#define DmaChannel1Mode 0x120
#define DmaChannel1Enable 0x128
#define DmaChannel1ByteCount 0x130
#define DmaChannel1Address 0x138
#define DmaChannel2Mode 0x140
#define DmaChannel2Enable 0x148
#define DmaChannel2ByteCount 0x150
#define DmaChannel2Address 0x158
#define DmaChannel3Mode 0x160
#define DmaChannel3Enable 0x168
#define DmaChannel3ByteCount 0x170
#define DmaChannel3Address 0x178
#define DmaArbitrationControl 0x180
#define DmaErrortype 0x188
#define DmaRefreshRate 0x190
#define DmaRefreshCounter 0x198
#define DmaSystemSecurity 0x1A0
#define DmaInterruptInterval 0x1A8
#define DmaIntervalTimer 0x1B0
#define DmaIpi 0x1B8
#define DmaInterruptDiagnostic 0x1C0
#define DmaEccDiagnostic 0x1C8
#define DmaMemoryConfig0 0x1D0
#define DmaMemoryConfig1 0x1D8
#define DmaMemoryConfig2 0x1E0
#define DmaMemoryConfig3 0x1E8
#define IoCacheBufferBase 0x200
#define DmaIoCachePhysicalTag0 0x400
#define DmaIoCachePhysicalTag1 0x408
#define DmaIoCachePhysicalTag2 0x410
#define DmaIoCachePhysicalTag3 0x418
#define DmaIoCachePhysicalTag4 0x420
#define DmaIoCachePhysicalTag5 0x428
#define DmaIoCachePhysicalTag6 0x430
#define DmaIoCachePhysicalTag7 0x438
#define DmaIoCacheLogicalTag0 0x440
#define DmaIoCacheLogicalTag1 0x448
#define DmaIoCacheLogicalTag2 0x450
#define DmaIoCacheLogicalTag3 0x458
#define DmaIoCacheLogicalTag4 0x460
#define DmaIoCacheLogicalTag5 0x468
#define DmaIoCacheLogicalTag6 0x470
#define DmaIoCacheLogicalTag7 0x478
#define DmaIoCacheLowByteMask0 0x480
#define DmaIoCacheLowByteMask1 0x488
#define DmaIoCacheLowByteMask2 0x490
#define DmaIoCacheLowByteMask3 0x498
#define DmaIoCacheLowByteMask4 0x4A0
#define DmaIoCacheLowByteMask5 0x4A8
#define DmaIoCacheLowByteMask6 0x4B0
#define DmaIoCacheLowByteMask7 0x4B8
#define DmaIoCacheHighByteMask0 0x4C0
#define DmaIoCacheHighByteMask1 0x4C8
#define DmaIoCacheHighByteMask2 0x4D0
#define DmaIoCacheHighByteMask3 0x4D8
#define DmaIoCacheHighByteMask4 0x4E0
#define DmaIoCacheHighByteMask5 0x4E8
#define DmaIoCacheHighByteMask6 0x4F0
#define DmaIoCacheHighByteMask7 0x4F8
#endif // DUO
#endif //_DMAREGS
|