644 |
|
{ 0xffff0000, 0x00390000, "PPC970" }, |
645 |
|
{ 0xffff0000, 0x003c0000, "PPC970FX" }, |
646 |
|
{ 0xffff0000, 0x003a0000, "POWER5 (gr)" }, |
647 |
< |
{ 0xffff0000, 0x003b0000, "POWER5 (gs)" }, |
647 |
> |
{ 0xffff0000, 0x003b0000, "POWER5+ (gs)" }, |
648 |
> |
{ 0xffff0000, 0x003e0000, "POWER6" }, |
649 |
> |
{ 0xffff0000, 0x00700000, "Cell Broadband Engine" }, |
650 |
> |
{ 0x7fff0000, 0x00900000, "PA6T" }, |
651 |
|
{ 0, 0, 0 } |
652 |
|
}; |
653 |
|
|
661 |
|
|
662 |
|
// Parse line |
663 |
|
int i; |
664 |
+ |
float f; |
665 |
|
char value[256]; |
666 |
< |
if (sscanf(line, "cpu : %[0-9A-Za-a]", value) == 1) { |
666 |
> |
if (sscanf(line, "cpu : %[^,]", value) == 1) { |
667 |
|
// Search by name |
668 |
|
const char *cpu_name = NULL; |
669 |
|
for (int i = 0; cpu_specs[i].pvr_mask != 0; i++) { |
678 |
|
else |
679 |
|
printf("Found a PowerPC %s processor\n", cpu_name); |
680 |
|
} |
681 |
< |
if (sscanf(line, "clock : %dMHz", &i) == 1) |
681 |
> |
if (sscanf(line, "clock : %fMHz", &f) == 1) |
682 |
> |
CPUClockSpeed = BusClockSpeed = ((int64)f) * 1000000; |
683 |
> |
else if (sscanf(line, "clock : %dMHz", &i) == 1) |
684 |
|
CPUClockSpeed = BusClockSpeed = i * 1000000; |
685 |
|
} |
686 |
|
fclose(proc_file); |