[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [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@xxxxxxxxx> Attachment:
lower_the_freq_of_hpet.diff _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |