mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-09-23 17:58:30 +00:00
HV: timer: keep TSC frequency in KHz
This patch represents TSC freqeuency in KHz using a 32-bit unsigned integer. The conversion macros between ticks and us/ms are changed to inline functions to enforce the types of the input parameters. Note that us_to_ticks accepts only uint32_t (~4K us at most) and never overflows. Results of some unit tests on the conversion functions: calibrate_tsc, tsc_khz=1881600 64us -> ticks: 120422 64us -> ticks -> us: 63 511us -> ticks: 961497 511us -> ticks -> us: 510 1280000 ticks -> us: 680 1280000 ticks -> us -> ticks: 1279488 Signed-off-by: Junjie Mao <junjie.mao@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
@@ -101,7 +101,7 @@ void do_logmsg(uint32_t severity, const char *fmt, ...)
|
||||
timestamp = rdtsc();
|
||||
|
||||
/* Scale time-stamp appropriately */
|
||||
timestamp = TICKS_TO_US(timestamp);
|
||||
timestamp = ticks_to_us(timestamp);
|
||||
|
||||
/* Get CPU ID */
|
||||
cpu_id = get_cpu_id();
|
||||
|
Reference in New Issue
Block a user