Cui, Dexuan
2007-Mar-19 10:57 UTC
[Xen-devel] [Patch] lower the frequency of HPET device model to 1/32 of TSC''s
The frequency of HPET device model is defined to be the same as TSC''s, but unluckily this doesn''t work well with calibrate_tsc_hpet() in Linux kernel 2.6.16-33, causing some IA32 Linux HVM guests can''t boot sometimes. Calibrate_tsc_hpet() tries figuring out how many HPET ticks a TSC cycle equals; it magnifies the result by scale of 2^32, trying to get a more accurate result since it assumes the frequency of HPET in real world is usually less than 1/100 of TSC, so the result of "(2^32 * hpet_freq) / tsc_freq" may exceed 32bits, then a "divide error (overflow)" would occur! The result doesn''t overflow every time because hpet_freq/tsc_freq may less than 1.0 due to the little inaccuracy in the implementation of HVM timer virtualization. The patch lowers the frequency of HPET device mode to 1/32 of TSC''s to fix the issue. -- Dexuan Signed-off-by: Dexuan Cui <dexuan.cui@intel.com> _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel