On Monday 25 April 2005 04:15, Massimo Dal Zotto wrote: > When qemu runs on an i386 cpu with speedstep enabled the clock of the > guest os is not in sync with the clock on the host os because the > vm_timer used for irq 0 generates interrupts at wrong rate when > the host cpu frequency changes. > > The problem is that the vm_timer uses the rdtsc instruction and the > value of ticks_per_sec, computed at start time, for calculating the > expire time of vm_timers. While ticks_per_sec is constant the values > returned by rdtsc are dependent on the current cpu clock, which is not > constant if speedstep is used.
There is a discussion about this problem on either x86-secret.com or Sudhian. I can't remember which :-( In the latest series of P4 chips (both Xeon and desktop I think), the counter used for the rdtsc instruction stays at the same frequency while the rest of the CPU changes. This led to some "interesting" results with programs like CPU-Z. Intel's response was that they now hold the counter at a stable frequency so that this works. Unfortunately, there are years of processors which do not do that, so other workarounds must be done. Best, Kyle _______________________________________________ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel