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(BusClockSpeed / 4); |
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"); |
254 |
|
u32.set_value(128); |
255 |
|
RegistryPropertyCreate(power_pc.ptr(), "tlb-size", u32.ptr(), 4); |
256 |
|
break; |
257 |
+ |
case 12: // 7400, 7410 |
258 |
+ |
case 0x800c: |
259 |
+ |
u32.set_value(32); |
260 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "d-cache-block-size", u32.ptr(), 4); |
261 |
+ |
u32.set_value(128); |
262 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "d-cache-sets", u32.ptr(), 4); |
263 |
+ |
u32.set_value(0x8000); |
264 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "d-cache-size", u32.ptr(), 4); |
265 |
+ |
u32.set_value(32); |
266 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "i-cache-block-size", u32.ptr(), 4); |
267 |
+ |
u32.set_value(128); |
268 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "i-cache-sets", u32.ptr(), 4); |
269 |
+ |
u32.set_value(0x8000); |
270 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "i-cache-size", u32.ptr(), 4); |
271 |
+ |
u32.set_value(64); |
272 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "tlb-sets", u32.ptr(), 4); |
273 |
+ |
u32.set_value(128); |
274 |
+ |
RegistryPropertyCreate(power_pc.ptr(), "tlb-size", u32.ptr(), 4); |
275 |
+ |
break; |
276 |
|
default: |
277 |
|
break; |
278 |
|
} |
325 |
|
} |
326 |
|
|
327 |
|
// Main routine must be executed in PPC mode |
305 |
– |
#if EMULATED_PPC |
328 |
|
ExecuteNative(NATIVE_PATCH_NAME_REGISTRY); |
307 |
– |
#else |
308 |
– |
ExecutePPC(DoPatchNameRegistry); |
309 |
– |
#endif |
329 |
|
} |