-
Notifications
You must be signed in to change notification settings - Fork 72
/
PPCArch.c
168 lines (145 loc) · 2.11 KB
/
PPCArch.c
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
#include <placeholder.h>
#include <dolphin/base/PPCArch.h>
#ifdef MWERKS_GEKKO
asm u32 PPCMfmsr(void){ // clang-format off
nofralloc
mfmsr r3
blr
} // clang-format on
#else
u32 PPCMfmsr(void)
{
NOT_IMPLEMENTED;
}
#endif
#ifdef MWERKS_GEKKO
asm void PPCMtmsr(u32)
{ // clang-format off
nofralloc
mtmsr r3
blr
} // clang-format on
#else
void PPCMtmsr(u32 arg0)
{
NOT_IMPLEMENTED;
}
#endif
#ifdef MWERKS_GEKKO
asm u32 PPCMfhid0(void){ // clang-format off
nofralloc
mfspr r3, 0x3f0
blr
} // clang-format on
#else
u32 PPCMfhid0(void)
{
NOT_IMPLEMENTED;
}
#endif
#ifdef MWERKS_GEKKO
asm u32 PPCMfl2cr(void){ // clang-format off
nofralloc
mfspr r3, 0x3f9
blr
} // clang-format on
#else
u32 PPCMfl2cr(void)
{
NOT_IMPLEMENTED;
}
#endif
#ifdef MWERKS_GEKKO
asm void PPCMtl2cr(u32)
{ // clang-format off
nofralloc
mtspr 0x3f9, r3
blr
} // clang-format on
#else
void PPCMtl2cr(u32 arg0)
{
NOT_IMPLEMENTED;
}
#endif
#ifdef MWERKS_GEKKO
asm void PPCMtdec(u32)
{ // clang-format off
nofralloc
mtspr 0x16, r3
blr
} // clang-format on
#else
void PPCMtdec(u32 arg0)
{
NOT_IMPLEMENTED;
}
#endif
#ifdef MWERKS_GEKKO
asm void PPCSync(void)
{ // clang-format off
nofralloc
sc
blr
} // clang-format on
#else
void PPCSync(void)
{
NOT_IMPLEMENTED;
}
#endif
#ifdef MWERKS_GEKKO
asm void PPCHalt(void)
{ // clang-format off
nofralloc
sync
halt_loop:
nop
li r3, 0
nop
b halt_loop
} // clang-format on
#else
void PPCHalt(void)
{
NOT_IMPLEMENTED;
}
#endif
#ifdef MWERKS_GEKKO
asm u32 PPCMfhid2(void){ // clang-format off
nofralloc
mfspr r3, 0x398
blr
} // clang-format on
#else
u32 PPCMfhid2(void)
{
NOT_IMPLEMENTED;
}
#endif
#ifdef MWERKS_GEKKO
asm void PPCMthid2(u32)
{ // clang-format off
nofralloc
mtspr 0x398, r3
blr
} // clang-format on
#else
void PPCMthid2(u32 arg0)
{
NOT_IMPLEMENTED;
}
#endif
#ifdef MWERKS_GEKKO
asm void PPCMtwpar(u32)
{ // clang-format off
nofralloc
mtspr 0x399, r3
blr
} // clang-format on
#else
void PPCMtwpar(u32 arg0)
{
NOT_IMPLEMENTED;
}
#endif