--- SheepShaver/src/name_registry.cpp 2004/01/12 15:37:18 1.6 +++ SheepShaver/src/name_registry.cpp 2004/07/03 10:39:04 1.12 @@ -136,6 +136,10 @@ void DoPatchNameRegistry(void) if (!RegistryCStrEntryCreate(device_tree.ptr(), str, power_pc.ptr())) { u32.set_value(CPUClockSpeed); RegistryPropertyCreate(power_pc.ptr(), "clock-frequency", u32.ptr(), 4); + u32.set_value(BusClockSpeed); + RegistryPropertyCreate(power_pc.ptr(), "bus-frequency", u32.ptr(), 4); + u32.set_value(TimebaseSpeed); + RegistryPropertyCreate(power_pc.ptr(), "timebase-frequency", u32.ptr(), 4); u32.set_value(PVR); RegistryPropertyCreate(power_pc.ptr(), "cpu-version", u32.ptr(), 4); RegistryPropertyCreateStr(power_pc.ptr(), "device_type", "cpu"); @@ -213,7 +217,8 @@ void DoPatchNameRegistry(void) u32.set_value(64); RegistryPropertyCreate(power_pc.ptr(), "tlb-size", u32.ptr(), 4); break; - case 8: // 750 + case 8: // 750, 750FX + case 0x7000: u32.set_value(32); RegistryPropertyCreate(power_pc.ptr(), "d-cache-block-size", u32.ptr(), 4); u32.set_value(256); @@ -250,6 +255,46 @@ void DoPatchNameRegistry(void) u32.set_value(128); RegistryPropertyCreate(power_pc.ptr(), "tlb-size", u32.ptr(), 4); break; + case 12: // 7400, 7410, 7450, 7455, 7457 + case 0x800c: + case 0x8000: + case 0x8001: + case 0x8002: + u32.set_value(32); + RegistryPropertyCreate(power_pc.ptr(), "d-cache-block-size", u32.ptr(), 4); + u32.set_value(128); + RegistryPropertyCreate(power_pc.ptr(), "d-cache-sets", u32.ptr(), 4); + u32.set_value(0x8000); + RegistryPropertyCreate(power_pc.ptr(), "d-cache-size", u32.ptr(), 4); + u32.set_value(32); + RegistryPropertyCreate(power_pc.ptr(), "i-cache-block-size", u32.ptr(), 4); + u32.set_value(128); + RegistryPropertyCreate(power_pc.ptr(), "i-cache-sets", u32.ptr(), 4); + u32.set_value(0x8000); + RegistryPropertyCreate(power_pc.ptr(), "i-cache-size", u32.ptr(), 4); + u32.set_value(64); + RegistryPropertyCreate(power_pc.ptr(), "tlb-sets", u32.ptr(), 4); + u32.set_value(128); + RegistryPropertyCreate(power_pc.ptr(), "tlb-size", u32.ptr(), 4); + break; + case 0x39: // 970 + u32.set_value(128); + RegistryPropertyCreate(power_pc.ptr(), "d-cache-block-size", u32.ptr(), 4); + u32.set_value(128); + RegistryPropertyCreate(power_pc.ptr(), "d-cache-sets", u32.ptr(), 4); + u32.set_value(0x8000); + RegistryPropertyCreate(power_pc.ptr(), "d-cache-size", u32.ptr(), 4); + u32.set_value(128); + RegistryPropertyCreate(power_pc.ptr(), "i-cache-block-size", u32.ptr(), 4); + u32.set_value(512); + RegistryPropertyCreate(power_pc.ptr(), "i-cache-sets", u32.ptr(), 4); + u32.set_value(0x10000); + RegistryPropertyCreate(power_pc.ptr(), "i-cache-size", u32.ptr(), 4); + u32.set_value(256); + RegistryPropertyCreate(power_pc.ptr(), "tlb-sets", u32.ptr(), 4); + u32.set_value(0x1000); + RegistryPropertyCreate(power_pc.ptr(), "tlb-size", u32.ptr(), 4); + break; default: break; }