<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/x86/kernel/cpu/vmware.c, branch linux-2.6.30.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.30.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.30.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2008-11-23T10:02:36Z</updated>
<entry>
<title>x86: vmware - fix sparse warnings</title>
<updated>2008-11-23T10:02:36Z</updated>
<author>
<name>Hannes Eder</name>
</author>
<published>2008-11-21T22:17:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c450d7805b2c5cac8846c5f490fddfd9030d2207'/>
<id>urn:sha1:c450d7805b2c5cac8846c5f490fddfd9030d2207</id>
<content type='text'>
Impact: fix sparse build warning

Fix the following sparse warnings:

arch/x86/kernel/cpu/vmware.c:69:5: warning: symbol 'vmware_platform'
was not declared. Should it be static?
arch/x86/kernel/cpu/vmware.c:89:15: warning: symbol
'vmware_get_tsc_khz' was not declared. Should it be static?
arch/x86/kernel/cpu/vmware.c:107:16: warning: symbol
'vmware_set_feature_bits' was not declared. Should it be static?

Signed-off-by: Hannes Eder &lt;hannes@hanneseder.net&gt;
Cc: "Alok N Kataria" &lt;akataria@vmware.com&gt;
Cc: "Dan Hecht" &lt;dhecht@vmware.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86: vmware: look for DMI string in the product serial key</title>
<updated>2008-11-04T21:59:00Z</updated>
<author>
<name>Alok Kataria</name>
</author>
<published>2008-11-03T23:50:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fd8cd7e1919fc1c27fe2fdccd2a1cd32f791ef0f'/>
<id>urn:sha1:fd8cd7e1919fc1c27fe2fdccd2a1cd32f791ef0f</id>
<content type='text'>
Impact: Should permit VMware detection on older platforms where the
vendor is changed.  Could theoretically cause a regression if some
weird serial number scheme contains the string "VMware" by pure
chance.  Seems unlikely, especially with the mixed case.

In some user configured cases, VMware may choose not to put a VMware specific
DMI string, but the product serial key is always there and is VMware specific.
Add a interface to check the serial key, when checking for VMware in the DMI
information.

Signed-off-by: Alok N Kataria &lt;akataria@vmware.com&gt;
Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
</content>
</entry>
<entry>
<title>x86: VMware: Fix vmware_get_tsc code</title>
<updated>2008-11-03T19:35:57Z</updated>
<author>
<name>Alok Kataria</name>
</author>
<published>2008-11-03T19:31:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6bdbfe99916398dbb28d83833cc04757110f2738'/>
<id>urn:sha1:6bdbfe99916398dbb28d83833cc04757110f2738</id>
<content type='text'>
Impact: Fix possible failure to calibrate the TSC on Vmware near 4 GHz

The current version of the code to get the tsc frequency from
the VMware hypervisor, will be broken on processor with frequency
(4G-1) HZ, because on such processors eax will have UINT_MAX
and that would be legitimate.
We instead check that EBX did change to decide if we were able to
read the frequency from the hypervisor.

Signed-off-by: Alok N Kataria &lt;akataria@vmware.com&gt;
Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
</content>
</entry>
<entry>
<title>x86: Add a synthetic TSC_RELIABLE feature bit.</title>
<updated>2008-11-02T01:58:01Z</updated>
<author>
<name>Alok Kataria</name>
</author>
<published>2008-10-31T19:01:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=eca0cd028bdf0f6aaceb0d023e9c7501079a7dda'/>
<id>urn:sha1:eca0cd028bdf0f6aaceb0d023e9c7501079a7dda</id>
<content type='text'>
Impact: Changes timebase calibration on Vmware.

Use the synthetic TSC_RELIABLE bit to workaround virtualization anomalies.

Virtual TSCs can be kept nearly in sync, but because the virtual TSC
offset is set by software, it's not perfect.  So, the TSC
synchronization test can fail. Even then the TSC can be used as a
clocksource since the VMware platform exports a reliable TSC to the
guest for timekeeping purposes. Use this bit to check if we need to
skip the TSC sync checks.

Along with this also set the CONSTANT_TSC bit when on VMware, since we
still want to use TSC as clocksource on VM running over hardware which
has unsynchronized TSC's (opteron's), since the hypervisor will take
care of providing consistent TSC to the guest.

Signed-off-by: Alok N Kataria &lt;akataria@vmware.com&gt;
Signed-off-by: Dan Hecht &lt;dhecht@vmware.com&gt;
Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
</content>
</entry>
<entry>
<title>x86: Hypervisor detection and get tsc_freq from hypervisor</title>
<updated>2008-11-02T01:57:08Z</updated>
<author>
<name>Alok Kataria</name>
</author>
<published>2008-10-27T17:41:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=88b094fb8d4fe43b7025ea8d487059e8813e02cd'/>
<id>urn:sha1:88b094fb8d4fe43b7025ea8d487059e8813e02cd</id>
<content type='text'>
Impact: Changes timebase calibration on Vmware.

v3-&gt;v2 : Abstract the hypervisor detection and feature (tsc_freq) request
	 behind a hypervisor.c file
v2-&gt;v1 : Add a x86_hyper_vendor field to the cpuinfo_x86 structure.
	 This avoids multiple calls to the hypervisor detection function.

This patch adds function to detect if we are running under VMware.
The current way to check if we are on VMware is following,
#  check if "hypervisor present bit" is set, if so read the 0x40000000
   cpuid leaf and check for "VMwareVMware" signature.
#  if the above fails, check the DMI vendors name for "VMware" string
   if we find one we query the VMware hypervisor port to check if we are
   under VMware.

The DMI + "VMware hypervisor port check" is needed for older VMware products,
which don't implement the hypervisor signature cpuid leaf.
Also note that since we are checking for the DMI signature the hypervisor
port should never be accessed on native hardware.

This patch also adds a hypervisor_get_tsc_freq function, instead of
calibrating the frequency which can be error prone in virtualized
environment, we ask the hypervisor for it. We get the frequency from
the hypervisor by accessing the hypervisor port if we are running on VMware.
Other hypervisors too can add code to the generic routine to get frequency on
their platform.

Signed-off-by: Alok N Kataria &lt;akataria@vmware.com&gt;
Signed-off-by: Dan Hecht &lt;dhecht@vmware.com&gt;
Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
</content>
</entry>
</feed>
