Changes to update Tomato RAF.
[tomato.git] / release / src / router / dnscrypt / src / libnacl / cpucycles / x86cpuspeed.c
blob34222565a2ed5ecb5ca96c2eb36f757616da198c
1 #include <stdio.h>
2 #include <sys/types.h>
3 #include <sys/param.h>
4 #include <sys/sysctl.h>
6 long long cpucycles_x86cpuspeed(void)
8 long long result;
9 asm volatile(".byte 15;.byte 49" : "=A" (result));
10 return result;
13 long long cpucycles_x86cpuspeed_persecond(void)
15 int oid[2];
16 int val;
17 size_t size;
18 oid[0] = CTL_HW;
19 oid[1] = HW_CPUSPEED;
20 size = sizeof val;
21 if (sysctl(oid,2,&val,&size,0,0) == -1) return 0;
22 if (size != sizeof val) return 0;
23 return val * 1000000LL;