rem: unsigned char	low, high; unsigned long	expired; long long		t1, t2; long long       time_base_ticks; double			timer_usecs;
add: unsigned       s_low, s_high; unsigned       low, high; unsigned long  expired; uint64         t1, t2; uint64         p1, p2, p3; double         r1, r2, r3;
context: static void calculate_cpu_conversion_factor(void){	unsigned char	low, high;	unsigned long	expired;	long long		t1, t2;	long long       time_base_ticks;	double			timer_usecs;	/* program the timer to count down mode */	outb(0x34, 0x43);	outb(0xff, 0x40);		/* low and then high */	outb(0xff, 0x40);	t1 = rdtsc();	execute_n_instructions(32*20000);	t2 = rdtsc();	outb(0x00, 0x43); /* latch counter value */	low = inb(0x40);	high = inb(0x40);	expired = (unsigned long)0xffff - ((((unsigned long)high) << 8) + low);	timer_usecs = (expired * 1.0) / (TIMER_CLKNUM_HZ/1000000.0);	time_base_ticks = t2 -t1;	dprintf("CPU at %d Hz\n", (int)((time_base_ticks / timer_usecs) * 1000000));	system_time_setup((int)((time_base_ticks / timer_usecs) * 1000000));}