diff options
Diffstat (limited to 'nacl/cpucycles/x86tscfreq.c')
-rw-r--r-- | nacl/cpucycles/x86tscfreq.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/nacl/cpucycles/x86tscfreq.c b/nacl/cpucycles/x86tscfreq.c new file mode 100644 index 00000000..a1b94b62 --- /dev/null +++ b/nacl/cpucycles/x86tscfreq.c | |||
@@ -0,0 +1,17 @@ | |||
1 | #include <sys/types.h> | ||
2 | #include <sys/sysctl.h> | ||
3 | |||
4 | long long cpucycles_x86tscfreq(void) | ||
5 | { | ||
6 | long long result; | ||
7 | asm volatile(".byte 15;.byte 49" : "=A" (result)); | ||
8 | return result; | ||
9 | } | ||
10 | |||
11 | long long cpucycles_x86tscfreq_persecond(void) | ||
12 | { | ||
13 | long result = 0; | ||
14 | size_t resultlen = sizeof(long); | ||
15 | sysctlbyname("machdep.tsc_freq",&result,&resultlen,0,0); | ||
16 | return result; | ||
17 | } | ||