SSBM Decomp
Toggle main menu visibility
Loading...
Searching...
No Matches
ppc_reg.h
Go to the documentation of this file.
1
#ifndef _METROTRK_PPC_REG_H
2
#define _METROTRK_PPC_REG_H
3
4
#include <
Runtime/platform.h
>
5
6
/*
7
* Default register block (all registers typically requested by debugger)
8
*/
9
10
typedef
u32
DefaultType
;
11
typedef
u32
Extended1Type
;
12
typedef
u64
FloatType
;
13
typedef
FloatType
FPType
;
/* TRK core calls it FPType */
14
15
typedef
struct
Default_PPC
{
16
/* 0x00 */
DefaultType
GPR
[32];
17
/* 0x80 */
DefaultType
PC
;
18
/* 0x84 */
DefaultType
LR
;
19
/* 0x88 */
DefaultType
CR
;
20
/* 0x8C */
DefaultType
CTR
;
21
/* 0x90 */
DefaultType
XER
;
22
}
Default_PPC
;
// size = 0x94
23
24
/*
25
** Register indices
26
*/
27
#define TRK_DEFAULT_GPR(x) (x)
28
#define TRK_DEFAULT_PC 32
29
#define TRK_DEFAULT_LR 33
30
#define TRK_DEFAULT_CR 34
31
#define TRK_DEFAULT_CTR 35
32
#define TRK_DEFAULT_XER 36
33
34
#define TRK_DEFAULT_MIN_REGISTER 0
35
#define TRK_DEFAULT_MAX_REGISTER \
36
(sizeof(Default_PPC) / sizeof(DefaultType) - 1)
37
38
#define TRK_DEFAULT_SIZE (sizeof(DefaultType))
39
40
typedef
struct
Float_PPC
{
41
/* 0x000 */
FloatType
FPR
[32];
42
/* 0x100 */
FloatType
FPSCR
;
43
/* 0x108 */
FloatType
FPECR
;
44
}
Float_PPC
;
// size = 0x110
45
46
/*
47
** Register indices
48
*/
49
#define TRK_FLOAT_FPR(x) (x)
50
#define TRK_FLOAT_FPSCR 32
51
#define TRK_FLOAT_FPECR 33
52
53
#define TRK_FLOAT_MIN_REGISTER 0
54
#define TRK_FLOAT_MAX_REGISTER (sizeof(Float_PPC) / sizeof(FloatType) - 1)
55
56
#define TRK_FLOAT_SIZE (sizeof(FloatType))
57
58
/*
59
* Info stored in NotifyStopped message.
60
*/
61
62
typedef
DefaultType
PCType
;
63
typedef
u32
InstructionType
;
64
typedef
u16
ExceptionCauseType
;
65
66
typedef
struct
StopInfo_PPC
{
67
/* 0x00 */
PCType
PC
;
68
/* 0x04 */
InstructionType
PCInstruction
;
69
/* 0x08 */
ExceptionCauseType
exceptionID
;
70
}
StopInfo_PPC
;
// size = 0x0A
71
72
//
74
//
75
76
typedef
StopInfo_PPC
ExceptionInfo_PPC
;
77
78
/*
79
** Info used by breakpoint code to restore (unset)
80
** breakpoints. For software breakpoints it is just
81
** the saved instruction.
82
*/
83
84
typedef
InstructionType
BreakpointRestore
;
85
86
#define TRK_EXTENDED2_SIZE (sizeof(Extended2Type))
87
89
#define SPR_XER 1
90
91
#define SPR_LR 8
92
#define SPR_CTR 9
93
94
#define SPR_DSISR 18
95
#define SPR_DAR 19
96
97
#define SPR_DEC 22
98
99
#define SPR_SDR1 25
100
#define SPR_SRR0 26
101
#define SPR_SRR1 27
102
103
#define TBR_TBL_READ 268
104
#define TBR_TBU_READ 269
105
106
#define SPR_SPRG0 272
107
#define SPR_SPRG1 273
108
#define SPR_SPRG2 274
109
#define SPR_SPRG3 275
110
111
#define SPR_EAR 282
112
113
#define TBR_TBL_WRITE 284
114
#define TBR_TBU_WRITE 285
115
116
#define SPR_PVR 287
117
118
#define SPR_IBAT0U 528
119
#define SPR_IBAT0L 529
120
#define SPR_IBAT1U 530
121
#define SPR_IBAT1L 531
122
#define SPR_IBAT2U 532
123
#define SPR_IBAT2L 533
124
#define SPR_IBAT3U 534
125
#define SPR_IBAT3L 535
126
127
#define SPR_DBAT0U 536
128
#define SPR_DBAT0L 537
129
#define SPR_DBAT1U 538
130
#define SPR_DBAT1L 539
131
#define SPR_DBAT2U 540
132
#define SPR_DBAT2L 541
133
#define SPR_DBAT3U 542
134
#define SPR_DBAT3L 543
135
136
#define SPR_IBAT4U 560
137
#define SPR_IBAT4L 561
138
#define SPR_IBAT5U 562
139
#define SPR_IBAT5L 563
140
#define SPR_IBAT6U 564
141
#define SPR_IBAT6L 565
142
#define SPR_IBAT7U 566
143
#define SPR_IBAT7L 567
144
145
#define SPR_DBAT4U 568
146
#define SPR_DBAT4L 569
147
#define SPR_DBAT5U 570
148
#define SPR_DBAT5L 571
149
#define SPR_DBAT6U 572
150
#define SPR_DBAT6L 573
151
#define SPR_DBAT7U 574
152
#define SPR_DBAT7L 575
153
154
#define SPR_GQR0 912
155
#define SPR_GQR1 913
156
#define SPR_GQR2 914
157
#define SPR_GQR3 915
158
#define SPR_GQR4 916
159
#define SPR_GQR5 917
160
#define SPR_GQR6 918
161
#define SPR_GQR7 919
162
163
#define SPR_HID2 920
164
#define SPR_WPAR 921
165
#define SPR_DMAU 922
166
#define SPR_DMAL 923
167
168
#define SPR_UMMCR0 936
169
#define SPR_UPMC1 937
170
#define SPR_UPMC2 938
171
#define SPR_USIA 939
172
#define SPR_UMMCR1 940
173
#define SPR_UPMC3 941
174
#define SPR_UPMC4 942
175
#define SPR_USDA 943
176
177
#define SPR_MMCR2 944
178
#define SPR_BAMR 951
179
180
#define SPR_MMCR0 952
181
#define SPR_PMC1 953
182
#define SPR_PMC2 954
183
#define SPR_SIA 955
184
#define SPR_MMCR1 956
185
#define SPR_PMC3 957
186
#define SPR_PMC4 958
187
#define SPR_SDA 959
188
189
#define SPR_DMISS 976
190
#define SPR_DCMP 977
191
#define SPR_HASH1 978
192
#define SPR_HASH2 979
193
#define SPR_IMISS 980
194
#define SPR_ICMP 981
195
#define SPR_RPA 982
196
197
#define SPR_HID0 1008
198
#define SPR_HID1 1009
199
#define SPR_IABR 1010
200
#define SPR_HID4 1011
201
#define SPR_TDCL 1012
202
#define SPR_DABR 1013
203
204
#define SPR_MSSCR0 1014
205
#define SPR_MSSCR1 1015
206
207
#define SPR_L2CR 1017
208
#define SPR_TDCH 1018
209
#define SPR_ICTC 1019
210
211
#define SPR_THRM1 1020
212
#define SPR_THRM2 1021
213
#define SPR_THRM3 1022
214
215
#define SPR_FPECR 1022
216
217
#define SPR_PIR 1023
218
220
#define COND_EQ 2
221
#define MSR_SE 0x0400
/* SE bit of MSR (bit 21) */
222
#define MSR_EE 0x8000
/* EE bit of MSR (bit 16) */
223
#define MSR_RI 0x0002
/* RI bit of MSR (bit 30) */
224
#define MSR_DR 0x0010
/* DR bit of MSR (bit 27) */
225
#define MSR_IR 0x0020
/* IR bit of MSR (bit 26) */
226
#define MSR_FP 0x2000
/* FP bit of MSR (bit 18) */
227
#define MSR_VEC 0x02000000
/* VEC bit of MSR (bit 6) */
/* AltiVec support */
228
229
#endif
u32
unsigned long u32
Definition
types.h:9
u16
unsigned short int u16
Definition
types.h:7
u64
unsigned long long int u64
Definition
types.h:11
platform.h
FloatType
u64 FloatType
Definition
ppc_reg.h:12
ExceptionCauseType
u16 ExceptionCauseType
Definition
ppc_reg.h:64
Extended1Type
u32 Extended1Type
Definition
ppc_reg.h:11
DefaultType
u32 DefaultType
Definition
ppc_reg.h:10
ExceptionInfo_PPC
StopInfo_PPC ExceptionInfo_PPC
Info stored in NotifyException message.
Definition
ppc_reg.h:76
PCType
DefaultType PCType
Definition
ppc_reg.h:62
BreakpointRestore
InstructionType BreakpointRestore
Definition
ppc_reg.h:84
FPType
FloatType FPType
Definition
ppc_reg.h:13
InstructionType
u32 InstructionType
Definition
ppc_reg.h:63
FloatType
FloatType
Definition
math.h:18
Default_PPC
Definition
ppc_reg.h:15
Default_PPC::XER
DefaultType XER
Definition
ppc_reg.h:21
Default_PPC::CTR
DefaultType CTR
Definition
ppc_reg.h:20
Default_PPC::PC
DefaultType PC
Definition
ppc_reg.h:17
Default_PPC::CR
DefaultType CR
Definition
ppc_reg.h:19
Default_PPC::GPR
DefaultType GPR[32]
Definition
ppc_reg.h:16
Default_PPC::LR
DefaultType LR
Definition
ppc_reg.h:18
Float_PPC
Definition
ppc_reg.h:40
Float_PPC::FPECR
FloatType FPECR
Definition
ppc_reg.h:43
Float_PPC::FPSCR
FloatType FPSCR
Definition
ppc_reg.h:42
Float_PPC::FPR
FloatType FPR[32]
Definition
ppc_reg.h:41
StopInfo_PPC
Definition
ppc_reg.h:66
StopInfo_PPC::PC
PCType PC
Definition
ppc_reg.h:67
StopInfo_PPC::PCInstruction
InstructionType PCInstruction
Definition
ppc_reg.h:68
StopInfo_PPC::exceptionID
ExceptionCauseType exceptionID
Definition
ppc_reg.h:69
src
MetroTRK
ppc_reg.h
Generated by
1.17.0