ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/SheepShaver/src/Unix/main_unix.cpp
(Generate patch)

Comparing SheepShaver/src/Unix/main_unix.cpp (file contents):
Revision 1.33 by gbeauche, 2004-04-14T20:25:26Z vs.
Revision 1.34 by gbeauche, 2004-05-15T11:07:11Z

# Line 533 | Line 533 | int main(int argc, char **argv)
533                  sprintf(str, GetString(STR_PROC_CPUINFO_WARN), strerror(errno));
534                  WarningAlert(str);
535          }
536 +
537 +        // Get actual bus frequency
538 +        proc_file = fopen("/proc/device-tree/clock-frequency", "r");
539 +        if (proc_file) {
540 +                union { uint8 b[4]; uint32 l; } value;
541 +                if (fread(value.b, sizeof(value), 1, proc_file) == 1)
542 +                        BusClockSpeed = value.l;
543 +                fclose(proc_file);
544 +        }
545   #endif
546          D(bug("PVR: %08x (assumed)\n", PVR));
547  
# Line 792 | Line 801 | int main(int argc, char **argv)
801                  kernel_data->v[0xc50 >> 2] = htonl(RAMBase);
802                  kernel_data->v[0xc54 >> 2] = htonl(RAMSize);
803                  kernel_data->v[0xf60 >> 2] = htonl(PVR);
804 <                kernel_data->v[0xf64 >> 2] = htonl(CPUClockSpeed);
805 <                kernel_data->v[0xf68 >> 2] = htonl(BusClockSpeed);
806 <                kernel_data->v[0xf6c >> 2] = htonl(CPUClockSpeed);
804 >                kernel_data->v[0xf64 >> 2] = htonl(CPUClockSpeed);                      // clock-frequency
805 >                kernel_data->v[0xf68 >> 2] = htonl(BusClockSpeed);                      // bus-frequency
806 >                kernel_data->v[0xf6c >> 2] = htonl(BusClockSpeed / 4);          // timebase-frequency
807          } else {
808                  kernel_data->v[0xc80 >> 2] = htonl(RAMSize);
809                  kernel_data->v[0xc84 >> 2] = htonl(RAMSize);
# Line 806 | Line 815 | int main(int argc, char **argv)
815                  kernel_data->v[0xcb0 >> 2] = htonl(RAMBase);
816                  kernel_data->v[0xcb4 >> 2] = htonl(RAMSize);
817                  kernel_data->v[0xf80 >> 2] = htonl(PVR);
818 <                kernel_data->v[0xf84 >> 2] = htonl(CPUClockSpeed);
819 <                kernel_data->v[0xf88 >> 2] = htonl(BusClockSpeed);
820 <                kernel_data->v[0xf8c >> 2] = htonl(CPUClockSpeed);
818 >                kernel_data->v[0xf84 >> 2] = htonl(CPUClockSpeed);                      // clock-frequency
819 >                kernel_data->v[0xf88 >> 2] = htonl(BusClockSpeed);                      // bus-frequency
820 >                kernel_data->v[0xf8c >> 2] = htonl(BusClockSpeed / 4);          // timebase-frequency
821          }
822  
823          // Initialize extra low memory

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines