GNU Linux-libre 4.9.308-gnu1
[releases.git] / tools / testing / selftests / intel_pstate / msr.c
1 #include <math.h>
2 #include <unistd.h>
3 #include <stdio.h>
4 #include <stdlib.h>
5 #include <sys/types.h>
6 #include <sys/stat.h>
7 #include <fcntl.h>
8 #include <sys/timeb.h>
9 #include <sched.h>
10 #include <errno.h>
11
12
13 int main(int argc, char **argv) {
14         int cpu, fd;
15         long long msr;
16         char msr_file_name[64];
17
18         if (argc != 2)
19                 return 1;
20
21         errno = 0;
22         cpu = strtol(argv[1], (char **) NULL, 10);
23
24         if (errno)
25                 return 1;
26
27         sprintf(msr_file_name, "/dev/cpu/%d/msr", cpu);
28         fd = open(msr_file_name, O_RDONLY);
29
30         if (fd == -1) {
31                 perror("Failed to open");
32                 return 1;
33         }
34
35         pread(fd, &msr,  sizeof(msr), 0x199);
36
37         printf("msr 0x199: 0x%llx\n", msr);
38         return 0;
39 }