Patchwork [v7,17/17] target-i386: target-i386: Add VMWare CPUID Timing information in -machine pc, accel=tcg

login
register
mail settings
Submitter Don Slutz
Date Oct. 12, 2012, 7:56 p.m.
Message ID <1350071782-23078-18-git-send-email-Don@CloudSwitch.com>
Download mbox | patch
Permalink /patch/191192/
State New
Headers show

Comments

Don Slutz - Oct. 12, 2012, 7:56 p.m.
Part of "target-i386: Add way to expose VMWare CPUID"

This is EAX and EBX data for 0x40000010.

Add new #define CPUID_HV_TIMING_INFO for this.

The best documentation I have found is:
   http://article.gmane.org/gmane.comp.emulators.kvm.devel/22643

And a test under ESXi 4.0 shows that VMware is setting this data.

Signed-off-by: Don Slutz <Don@CloudSwitch.com>
---
 target-i386/cpu.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

Patch

diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 49e5db3..924db0d 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -1936,6 +1936,12 @@  void cpu_x86_cpuid(CPUX86State *env, uint32_t index, uint32_t count,
         *ecx = 0;
         *edx = 0;
         break;
+    case 0x40000010:
+        *eax = env->tsc_khz;
+        *ebx = 1000000; /* apic_khz */
+        *ecx = 0;
+        *edx = 0;
+        break;
     case 0x80000000:
         *eax = env->cpuid_xlevel;
         *ebx = env->cpuid_vendor1;