SSBM Decomp
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
12typedef u64 FloatType;
13typedef FloatType FPType; /* TRK core calls it FPType */
14
15typedef 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
40typedef 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
65
66typedef struct StopInfo_PPC {
67 /* 0x00 */ PCType PC;
70} StopInfo_PPC; // size = 0x0A
71
72//
74//
75
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
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
unsigned long u32
Definition types.h:9
unsigned short int u16
Definition types.h:7
unsigned long long int u64
Definition types.h:11
u64 FloatType
Definition ppc_reg.h:12
u16 ExceptionCauseType
Definition ppc_reg.h:64
u32 Extended1Type
Definition ppc_reg.h:11
u32 DefaultType
Definition ppc_reg.h:10
StopInfo_PPC ExceptionInfo_PPC
Info stored in NotifyException message.
Definition ppc_reg.h:76
DefaultType PCType
Definition ppc_reg.h:62
InstructionType BreakpointRestore
Definition ppc_reg.h:84
FloatType FPType
Definition ppc_reg.h:13
u32 InstructionType
Definition ppc_reg.h:63
FloatType
Definition math.h:18
Definition ppc_reg.h:15
DefaultType XER
Definition ppc_reg.h:21
DefaultType CTR
Definition ppc_reg.h:20
DefaultType PC
Definition ppc_reg.h:17
DefaultType CR
Definition ppc_reg.h:19
DefaultType GPR[32]
Definition ppc_reg.h:16
DefaultType LR
Definition ppc_reg.h:18
Definition ppc_reg.h:40
FloatType FPECR
Definition ppc_reg.h:43
FloatType FPSCR
Definition ppc_reg.h:42
FloatType FPR[32]
Definition ppc_reg.h:41
Definition ppc_reg.h:66
PCType PC
Definition ppc_reg.h:67
InstructionType PCInstruction
Definition ppc_reg.h:68
ExceptionCauseType exceptionID
Definition ppc_reg.h:69