Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 247 → Rev 248

/shark/trunk/oslib/kl/advtimer.c
163,7 → 163,7
# define CLOCK_TICK_RATE 1193180 /* Underlying HZ */
#endif
 
#define COUNTER_END 300
#define COUNTER_END 100
 
#define barrier() __asm__ __volatile__("" ::: "memory");
 
179,7 → 179,7
 
cli();
outp(0x61,0x03);
outp(0x61, (inp(0x61) & ~0x02) | 0x01);
 
outp(0x43,0xB0); /* binary, mode 0, LSB/MSB, Ch 2 */
outp(0x42,0xFF); /* LSB of count */
203,30 → 203,6
 
} while (end_8253 > COUNTER_END);
 
outp(0x43,0x00);
end_8253 = inp(0x42);
end_8253 |= inp(0x42) << 8;
 
do {
outp(0x43,0x00);
end_8253 = inp(0x42);
end_8253 |= inp(0x42) << 8;
} while (end_8253 <= COUNTER_END);
 
outp(0x43,0x00);
end_8253 = inp(0x42);
end_8253 |= inp(0x42) << 8;
 
do {
outp(0x43,0x00);
end_8253 = inp(0x42);
end_8253 |= inp(0x42) << 8;
} while (end_8253 > COUNTER_END);
 
barrier();
rdtscll(end);
barrier();
237,13 → 213,11
rdtscll(end);
barrier();
 
outp(0x61,0x00);
 
//Delta TSC
dtsc = end - start;
 
//Delta PIT
delta_8253 = start_8253 - end_8253 + 0x10000;
delta_8253 = start_8253 - end_8253;
 
if (delta_8253 > 0x20000) {
message("Error calculating Delta PIT\n");