| 66 | |
| 67 | #if defined( __LIBCO_RDTSCP__) |
| 68 | static unsigned long long counter(void) |
| 69 | { |
| 70 | register uint32_t lo, hi; |
| 71 | register unsigned long long o; |
| 72 | __asm__ __volatile__ ( |
| 73 | "rdtscp" : "=a"(lo), "=d"(hi)::"%rcx" |
| 74 | ); |
| 75 | o = hi; |
| 76 | o <<= 32; |
| 77 | return (o | lo); |
| 78 | |
| 79 | } |
| 80 | static unsigned long long getCpuKhz() |
| 81 | { |
| 82 | FILE *fp = fopen("/proc/cpuinfo","r"); |