linux/tools/testing/selftests/intel_pstate/msr.c
<<
>>
Prefs
   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
  13int 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}
  40