summaryrefslogtreecommitdiffstats
path: root/private/ntos/fw/alpha/monitor.h
blob: 394dd01d5ca9b790ee79e84b891ef62be120be2f (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
208
209
210
211
212
213
214
/*++

Copyright (c) 1991  Microsoft Corporation
Copyright (c) 1993  Digital Equipment Corporation

Module Name:

    monitor.h

Abstract:

    This module contains definitions for monitor.c

Author:

    Lluis Abello (lluis) 09-Sep-1991

Revision History:

    21-May-1992		John DeRosa	[DEC]

    Modified for Alpha and the Alpha-64 calling standard.
    
--*/

#ifndef _MONITOR_
#define _MONITOR_

#include "fwpexcpt.h"


//
// Define register names.
//

typedef enum _REGISTER_NAME_ID {
    ReservedForExceptionType,
    exceptparam1,   // exception parameter 1
    exceptparam2,   // exception parameter 2
    exceptparam3,   // exception parameter 3
    exceptparam4,   // exception parameter 4
    exceptparam5,   // exception parameter 5
    exceptpsr,	    // exception psr
    exceptmmcsr,    // exception mm csr
    exceptva,       // exception va
    exceptpc,       // exception pc
    v0,             // general register 0
    t0,             // general register 1
    t1,             // general register 2
    t2,             // general register 3
    t3,             // general register 4
    t4,             // general register 5
    t5,             // general register 6
    t6,             // general register 7
    t7,             // general register 8
    s0,             // general register 9
    s1,             // general register 10
    s2,             // general register 11
    s3,             // general register 12
    s4,             // general register 13
    s5,             // general register 14
    fp,             // general register 15
    a0,             // general register 16
    a1,             // general register 17
    a2,             // general register 18
    a3,             // general register 19
    a4,             // general register 20
    a5,             // general register 21
    t8,             // general register 22
    t9,             // general register 23
    t10,            // general register 24
    t11,            // general register 25
    ra,             // general register 26
    t12,            // general register 27
    at,             // general register 28
    gp,             // general register 29
    sp,             // general register 30
    zero,           // general register 31
    f0,             // fp register 0
    f1,             // fp register 1
    f2,             // fp register 2
    f3,             // fp register 3
    f4,             // fp register 4
    f5,             // fp register 5
    f6,             // fp register 6
    f7,             // fp register 7
    f8,             // fp register 8
    f9,             // fp register 9
    f10,            // fp register 10
    f11,            // fp register 11
    f12,            // fp register 12
    f13,            // fp register 13
    f14,            // fp register 14
    f15,            // fp register 15
    f16,            // fp register 16
    f17,            // fp register 17
    f18,            // fp register 18
    f19,            // fp register 19
    f20,            // fp register 20
    f21,            // fp register 21
    f22,            // fp register 22
    f23,            // fp register 23
    f24,            // fp register 24
    f25,            // fp register 25
    f26,            // fp register 26
    f27,            // fp register 27
    f28,            // fp register 28
    f29,            // fp register 29
    f30,            // fp register 30
    f31,            // fp register 31
    invalidregister
} REGISTER_NAME_ID;

extern PCHAR RegisterNameTable[(REGISTER_NAME_ID)invalidregister];

extern ULONG RegisterTable[(REGISTER_NAME_ID)invalidregister];

//
// Define Command names.
//
// This must match the command table in monitor.c
//

//
// I/O Write commands, and Available Devices, have been disabled for
// the final product.
//

#if 0

typedef enum _COMMAND_NAME_ID {
    Dump,
    DumpByte,
    DumpWord,
    DumpLongword,
    DumpQuad,
    Enter,
    EnterByte,
    EnterWord,
    EnterLongword,
    EnterQuad,
    Help,
    Help2,
    Deposit,
    DepositByte,
    DepositWord,
    DepositLongword,
    DepositQuad,
    Examine,
    ExamineByte,
    ExamineWord,
    ExamineLongword,
    ExamineQuad,
    IORead,
    IOReadByte,
    IOReadWord,
    IOReadLongword,
    IOWrite,
    IOWriteByte,
    IOWriteWord,
    IOWriteLongword,
    Register,
    IntegerRegisterDump,
    FloatingRegisterDump,
    Zero,
    Fill,
    AvailableDevices,
    Quit,
    invalidcommand
} COMMAND_NAME_ID;

#else

typedef enum _COMMAND_NAME_ID {
    Dump,
    DumpByte,
    DumpWord,
    DumpLongword,
    DumpQuad,
    Enter,
    EnterByte,
    EnterWord,
    EnterLongword,
    EnterQuad,
    Help,
    Help2,
    Deposit,
    DepositByte,
    DepositWord,
    DepositLongword,
    DepositQuad,
    Examine,
    ExamineByte,
    ExamineWord,
    ExamineLongword,
    ExamineQuad,
    IORead,
    IOReadByte,
    IOReadWord,
    IOReadLongword,
    Register,
    IntegerRegisterDump,
    FloatingRegisterDump,
    Zero,
    Fill,
    Quit,
    invalidcommand
} COMMAND_NAME_ID;

#endif

extern PCHAR CommandNameTable[(COMMAND_NAME_ID)invalidcommand];

#endif // _MONITOR_