Messages in this thread | | | Date | Thu, 25 Sep 2008 08:15:21 +0800 | From | Yan Li <> | Subject | Re: [PATCH 1/2] VMware guest detection for x86 and x86-64 |
| |
On Wed, Sep 24, 2008 at 09:19:44AM -0700, Alok kataria wrote: > Thanks for doing this patch. > It would be really beneficial to detect if we are running on a > hypervisor in general. Though i think the approach should be more > generic, so that we have a common interface for all the hypervisors. > I have some patches which use "cpuid" to detect if we are running on a > hypevisor and use various cpuid leafs to get some hypervisor specific > info. > This CPUID interface will be available only in the newer (read, > Hardware version 7) version of VMware products. So still for the > products which don't use the newer hardware version, this patch is > helpful.
Hi Alok,
Thanks for your comments. Sure, it's good to add a common interface for all the hypervisors. And I'd like to work on that.
> Btw, are you pushing these patches for the 2.6.27 release ? If this is > for the x86 tree(2.6.28) i think we should hold on, until i post the > proposal for the cpuid patches, so that we can unify this and have a > generic way to detect on which hypervisor are we running .
My motivation behind this patch is to serve the MTRR codes to fix a false warning, so I'd like to see it in 2.6.28 as soon as possible. The latest 2.6.27-rc7 is issuing false warning when running under the VMware Server 1.0.7, complaining that MTRR's all blank. Currently the false warning has been confirmed under both KVM and VMware so the detection for these two VMs are added in my [PATCH 2/2]. For this specific reason (fixing false warning), a common interface maybe not necessary unless we are sure all VMs have their CPU's MTRR blank (it would be very difficult to confirm this on all VMs human has made). Therefore I'd like to make this patch as simple as possible and make into 2.6.28 since it's fixing false warning (one can say it's a regression since at least 2.6.24 doesn't issue a false warning here).
Also I'd be very happy to work with you to combine this with your CPUID detection code. I think VMware Server 2.0 is using Hardware version 7 VM, right? So I can combine your and my code to test it.
But my concern is that for such a simple function (detecting VMware, not a common interface), is it worth to have more codes to use two different ways for detecting new and older VMwware while a simple dmi_name_in_vendors() might be enough in both situation? I don't think bloating the kernel is good.
Thanks!
-- Li, Yan
| |