1 |
|
/* |
2 |
|
* name_registry.cpp - Name Registry handling |
3 |
|
* |
4 |
< |
* SheepShaver (C) 1997-2002 Christian Bauer and Marc Hellwig |
4 |
> |
* SheepShaver (C) 1997-2004 Christian Bauer and Marc Hellwig |
5 |
|
* |
6 |
|
* This program is free software; you can redistribute it and/or modify |
7 |
|
* it under the terms of the GNU General Public License as published by |
136 |
|
if (!RegistryCStrEntryCreate(device_tree.ptr(), str, power_pc.ptr())) { |
137 |
|
u32.set_value(CPUClockSpeed); |
138 |
|
RegistryPropertyCreate(power_pc.ptr(), "clock-frequency", u32.ptr(), 4); |
139 |
+ |
u32.set_value(BusClockSpeed); |
140 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "bus-frequency", u32.ptr(), 4); |
141 |
+ |
u32.set_value(TimebaseSpeed); |
142 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "timebase-frequency", u32.ptr(), 4); |
143 |
|
u32.set_value(PVR); |
144 |
|
RegistryPropertyCreate(power_pc.ptr(), "cpu-version", u32.ptr(), 4); |
145 |
|
RegistryPropertyCreateStr(power_pc.ptr(), "device_type", "cpu"); |
217 |
|
u32.set_value(64); |
218 |
|
RegistryPropertyCreate(power_pc.ptr(), "tlb-size", u32.ptr(), 4); |
219 |
|
break; |
220 |
< |
case 8: // 750 |
220 |
> |
case 8: // 750, 750FX |
221 |
> |
case 0x7000: |
222 |
|
u32.set_value(32); |
223 |
|
RegistryPropertyCreate(power_pc.ptr(), "d-cache-block-size", u32.ptr(), 4); |
224 |
|
u32.set_value(256); |
255 |
|
u32.set_value(128); |
256 |
|
RegistryPropertyCreate(power_pc.ptr(), "tlb-size", u32.ptr(), 4); |
257 |
|
break; |
258 |
+ |
case 12: // 7400, 7410, 7450, 7455, 7457 |
259 |
+ |
case 0x800c: |
260 |
+ |
case 0x8000: |
261 |
+ |
case 0x8001: |
262 |
+ |
case 0x8002: |
263 |
+ |
u32.set_value(32); |
264 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "d-cache-block-size", u32.ptr(), 4); |
265 |
+ |
u32.set_value(128); |
266 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "d-cache-sets", u32.ptr(), 4); |
267 |
+ |
u32.set_value(0x8000); |
268 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "d-cache-size", u32.ptr(), 4); |
269 |
+ |
u32.set_value(32); |
270 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "i-cache-block-size", u32.ptr(), 4); |
271 |
+ |
u32.set_value(128); |
272 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "i-cache-sets", u32.ptr(), 4); |
273 |
+ |
u32.set_value(0x8000); |
274 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "i-cache-size", u32.ptr(), 4); |
275 |
+ |
u32.set_value(64); |
276 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "tlb-sets", u32.ptr(), 4); |
277 |
+ |
u32.set_value(128); |
278 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "tlb-size", u32.ptr(), 4); |
279 |
+ |
break; |
280 |
+ |
case 0x39: // 970 |
281 |
+ |
u32.set_value(128); |
282 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "d-cache-block-size", u32.ptr(), 4); |
283 |
+ |
u32.set_value(128); |
284 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "d-cache-sets", u32.ptr(), 4); |
285 |
+ |
u32.set_value(0x8000); |
286 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "d-cache-size", u32.ptr(), 4); |
287 |
+ |
u32.set_value(128); |
288 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "i-cache-block-size", u32.ptr(), 4); |
289 |
+ |
u32.set_value(512); |
290 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "i-cache-sets", u32.ptr(), 4); |
291 |
+ |
u32.set_value(0x10000); |
292 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "i-cache-size", u32.ptr(), 4); |
293 |
+ |
u32.set_value(256); |
294 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "tlb-sets", u32.ptr(), 4); |
295 |
+ |
u32.set_value(0x1000); |
296 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "tlb-size", u32.ptr(), 4); |
297 |
+ |
break; |
298 |
|
default: |
299 |
|
break; |
300 |
|
} |