version 1.20, 2008/08/31 17:24:14 |
version 1.20.4.3, 2009/02/02 19:41:10 |
Line 209 tsc_sync_ap(struct cpu_info *ci) |
|
Line 209 tsc_sync_ap(struct cpu_info *ci) |
|
atomic_and_uint(&ci->ci_flags, ~CPUF_SYNCTSC); |
atomic_and_uint(&ci->ci_flags, ~CPUF_SYNCTSC); |
tsc += (rdmsr(MSR_TSC) >> 1); |
tsc += (rdmsr(MSR_TSC) >> 1); |
|
|
/* Finally, post back our result. */ |
/* Post result. Ensure the whole value goes out atomically. */ |
ci->ci_data.cpu_cc_skew = tsc; |
(void)atomic_swap_64(&ci->ci_data.cpu_cc_skew, tsc); |
} |
} |
|
|
uint64_t |
uint64_t |