diff options
-rw-r--r-- | sys/amd64/include/cpufunc.h | 9 | ||||
-rw-r--r-- | sys/i386/include/cpufunc.h | 9 |
2 files changed, 18 insertions, 0 deletions
diff --git a/sys/amd64/include/cpufunc.h b/sys/amd64/include/cpufunc.h index b06e490..9b61d37 100644 --- a/sys/amd64/include/cpufunc.h +++ b/sys/amd64/include/cpufunc.h @@ -322,6 +322,15 @@ rdtsc(void) return (low | ((uint64_t)high << 32)); } +static __inline uint32_t +rdtsc32(void) +{ + uint32_t rv; + + __asm __volatile("rdtsc" : "=a" (rv) : : "edx"); + return (rv); +} + static __inline void wbinvd(void) { diff --git a/sys/i386/include/cpufunc.h b/sys/i386/include/cpufunc.h index 9285499..d6ec534 100644 --- a/sys/i386/include/cpufunc.h +++ b/sys/i386/include/cpufunc.h @@ -332,6 +332,15 @@ rdtsc(void) return (rv); } +static __inline uint32_t +rdtsc32(void) +{ + uint32_t rv; + + __asm __volatile("rdtsc" : "=a" (rv) : : "edx"); + return (rv); +} + static __inline void wbinvd(void) { |