X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=include%2Frdtsc.h;h=84fced7ca7814ab45c2ea2114b5bddf98b43f960;hb=07495effe193ca3f73c3bf0ce417068f9ac9dcdd;hp=346f5d433a0505c17be1cd8d3807134771d05484;hpb=93d248304a68de7a8f9daf4aa74f9ee4cd27410c;p=com%2Fgs-lite.git diff --git a/include/rdtsc.h b/include/rdtsc.h index 346f5d4..84fced7 100644 --- a/include/rdtsc.h +++ b/include/rdtsc.h @@ -1,36 +1,36 @@ -/* ------------------------------------------------ - Copyright 2014 AT&T Intellectual Property - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - ------------------------------------------- */ -#ifndef __RDTSC_H__ -#define __RDTSC_H__ - -#include "gsconfig.h" -#include "gstypes.h" - -#if defined(__i386__) || defined(__x86_64__) - -static __inline__ gs_uint64_t rdtsc(void) -{ - gs_uint64_t x=0; - gs_uint32_t low; - gs_uint32_t high; - __asm__ __volatile__("rdtsc" : "=a" (low), "=d" (high)); - x=((gs_uint64_t)high)<<32; - x=x|((gs_uint64_t)low); - return x; -} -#endif - -#endif // __RDTSC_H__ - +/* ------------------------------------------------ + Copyright 2014 AT&T Intellectual Property + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ------------------------------------------- */ +#ifndef __RDTSC_H__ +#define __RDTSC_H__ + +#include "gsconfig.h" +#include "gstypes.h" + +#if defined(__i386__) || defined(__x86_64__) + +static __inline__ gs_uint64_t rdtsc(void) +{ + gs_uint64_t x=0; + gs_uint32_t low; + gs_uint32_t high; + __asm__ __volatile__("rdtsc" : "=a" (low), "=d" (high)); + x=((gs_uint64_t)high)<<32; + x=x|((gs_uint64_t)low); + return x; +} +#endif + +#endif // __RDTSC_H__ +