qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [Bug 1195012] Re: x86_64 and i386 return 0 when reading MSR


From: Jeff Rizzo
Subject: [Qemu-devel] [Bug 1195012] Re: x86_64 and i386 return 0 when reading MSR_TSC
Date: Wed, 26 Jun 2013 21:15:30 -0000

The NetBSD problem report where this issue was raised:

http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=47967

a workaround has been put in place for now, but it would be good to fix
this in QEMU.

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1195012

Title:
  x86_64 and i386 return 0 when reading MSR_TSC

Status in QEMU:
  New

Bug description:
  Running NetBSD 6.1 (i386 and amd64) under QEMU (from git - 1.5.50 is the 
version it shows) results in an incorrectly set
  TSC frequency (set to 0), because NetBSD uses rdmsr(TSC_MSR) for its 
serializing CPU counter.

  To reproduce the problem, you can run an install ISO of NetBSD 6.1
  (either i386 or amd64, depending on which qemu).  Quit out of the
  installer, and you're left at a root prompt:

  # sysctl machdep.tsc_freq
  machdep.tsc_freq = 0

  ...on real hardware, it will return the TSC frequency:

  # sysctl machdep.tsc_freq
  machdep.tsc_freq = 3292685070

  ...this causes problems with a number of applications.

  The NetBSD code which reads the MSR is here:

  http://nxr.netbsd.org/xref/src/sys/arch/x86/x86/tsc.c#262

  ... the "rdmsr(MSR_TSC)" call in cpu_counter_serializing() always
  returns 0 when run under QEMU.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1195012/+subscriptions



reply via email to

[Prev in Thread] Current Thread [Next in Thread]