On Mon, Sep 10, 2012 at 02:15:49PM +0200, Paolo Bonzini wrote:
> Il 10/09/2012 13:52, Peter Lieven ha scritto:
> >> dd if=/dev/cpu/0/msr skip=$((0x194)) bs=8 count=1 | xxd
> >> dd if=/dev/cpu/0/msr skip=$((0xCE)) bs=8 count=1 | xxd
> > it only works without the skip. but the msr device returns all zeroes.
>
> Hmm, the strange API of the MSR device doesn't work well with dd (dd
> skips to 0x194 * 8 because bs is 8. You can try this program:
>
There is rdmsr/wrmsr in msr-tools.
> #include <fcntl.h>
> #include <stdio.h>
> #include <stdlib.h>
>
> int rdmsr(int fd, long reg)
> {
> char msg[40];
> long long val;
> sprintf(msg, "rdmsr(%#x)", reg);
> if (pread(fd, &val, 8, reg) < 0) {
> perror(msg);
> } else {
> printf("%s: %#016llx\n", msg, val);
> fflush(stdout);
> }
> }
>
>
> int main()
> {
> int fd = open("/dev/cpu/0/msr", O_RDONLY);
> if (fd < 0) { perror("open"); exit(1); }
> rdmsr(fd, 0x194);
> rdmsr(fd, 0xCE);
> }
>
> Paolo
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Gleb.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html