192,8 → 192,6 |
start_8253 = inp(0x42); |
start_8253 |= inp(0x42) << 8; |
barrier(); |
rdtscll(start); |
barrier(); |
|
do { |
|
210,14 → 208,12 |
end_8253 = inp(0x42); |
end_8253 |= inp(0x42) << 8; |
barrier(); |
rdtscll(end); |
barrier(); |
|
//Delta TSC |
dtsc = end - start; |
|
//Delta PIT |
delta_8253 = start_8253 - end_8253; |
delta_8253 = start_8253 - end_8253 - 2; |
|
if (delta_8253 > 0x20000) { |
message("Error calculating Delta PIT\n"); |
228,7 → 224,7 |
|
message("Delta PIT = %10ld\n",(long)delta_8253); |
|
clk_per_msec = dtsc * CLOCK_TICK_RATE / delta_8253 * 100002 / 100000000; |
clk_per_msec = dtsc * CLOCK_TICK_RATE / delta_8253 / 1000; |
|
message("Calibrated Clk_per_msec = %10ld\n",(long)clk_per_msec); |
|