ref: 4b95f4f4f1f3caae8e09e16f9bcd4af303a33a8b
dir: /msr.c/
#include <u.h> #include <libc.h> static void usage(void) { fprint(2, "%s REGISTER\n", argv0); exits("usage"); } void main(int argc, char **argv) { uvlong x, off; int f; ARGBEGIN{ }ARGEND if(argc < 1) usage(); if((f = open("/dev/msr", OREAD)) < 0) sysfatal("%r"); off = strtoull(argv[0], nil, 0); if(pread(f, &x, 8, off) != 8) sysfatal("%r"); close(f); print("%#llux\n", x); exits(nil); }