/* You only need this if your gcc don't have this file */ #define rdmsr(msr,val1,val2) __asm__ __volatile__ ("rdmsr" : "=a" (val1), "=d" (val2) : "c" (msr)) #define wrmsr(msr,val1,val2) __asm__ __volatile__ ("wrmsr" : /* no outputs */ : "c" (msr), "a" (val1), "d" (val2)) #define rdtsc(low,high) __asm__ __volatile__ ("rdtsc" : "=a" (low), "=d" (high)) #define rdtscl(low) __asm__ __volatile__ ("rdtsc" : "=a" (low) : : "edx") #define rdtscll(val) __asm__ __volatile__ ("rdtsc" : "=A" (val)) #define rdpmc(counter,low,high) __asm__ __volatile__ ("rdpmc" : "=a" (low), "=d" (high) : "c" (counter)) /* end of msr.h */