1*4882a593Smuzhiyun // SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun #include <linux/types.h> 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun #include "../../../util/tsc.h" 5*4882a593Smuzhiyun rdtsc(void)6*4882a593Smuzhiyunu64 rdtsc(void) 7*4882a593Smuzhiyun { 8*4882a593Smuzhiyun unsigned int low, high; 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun asm volatile("rdtsc" : "=a" (low), "=d" (high)); 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun return low | ((u64)high) << 32; 13*4882a593Smuzhiyun } 14