> -----Original Message----- > From: devel [mailto:devel-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of KY > Srinivasan > Sent: Thursday, January 31, 2013 9:46 AM > To: Jan Beulich > Cc: olaf@xxxxxxxxx; gregkh@xxxxxxxxxxxxxxxxxxx; jasowang@xxxxxxxxxx; > x86@xxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; bp@xxxxxxxxx; hpa@xxxxxxxxx; > apw@xxxxxxxxxxxxx; devel@xxxxxxxxxxxxxxxxxxxxxx; tglx@xxxxxxxxxxxxx > Subject: RE: [PATCH 2/3] X86: Add a check to catch Xen emulation of Hyper-V > > > > > -----Original Message----- > > From: Jan Beulich [mailto:JBeulich@xxxxxxxx] > > Sent: Thursday, January 31, 2013 2:38 AM > > To: KY Srinivasan > > Cc: olaf@xxxxxxxxx; bp@xxxxxxxxx; apw@xxxxxxxxxxxxx; x86@xxxxxxxxxx; > > tglx@xxxxxxxxxxxxx; devel@xxxxxxxxxxxxxxxxxxxxxx; > gregkh@xxxxxxxxxxxxxxxxxxx; > > jasowang@xxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; hpa@xxxxxxxxx > > Subject: RE: [PATCH 2/3] X86: Add a check to catch Xen emulation of Hyper-V > > > > >>> On 30.01.13 at 19:12, KY Srinivasan <kys@xxxxxxxxxxxxx> wrote: > > > Presumably, Hyper-V emulation is only to run enlightened Windows. The > issue > > > with > > > Xen is not that it emulates Hyper-V, but this emulation is turned on while > > > running Linux. > > > That is the reason I chose to check for Xen. Would you prefer a DMI check > > > for the Hyper-V > > > platform. > > > > I consider DMI checks to be too fragile here - in particular with > > the eventual passing through of host DMI attributes to guests, > > this sets you up for mistakes. Instead, I would envision you > > scanning the whole CPUID range "reserved" for virtualization > > (starting at 0x40000000) and see whether you get back > > anything other than the Hyper-V identification (much like the > > way xen_cpuid_base() scans for the Xen range). Of course > > that's under the premise that you're right in assuming Hyper-V > > would never emulate any other hypervisor's interface. > > Agreed; I will make the appropriate changes as you have recommended. Jan, Are there any published standards in terms of how the CPUID space should be populated in the range from 0x40000000 to 0x40010000. Specifically, unless the standard mandates that all ranges unused by a given hypervisor would return a known value, how can this code be used to detect the presence of an unknown hypervisor. Hyper-V is going to return the Hyper-V string at 0x40000000. So, I was planning to scan starting at 0x40000100. Clearly, I can check for a specific hypervisor that I know causes a problem for Hyper-V (as I have currently done by checking for Xen). How can I check for the presence of yet to be created Hypervisors that may emulate Hyper-V by scanning the CPUID space. I am almost tempted to say that Xen is the special case and the patch I have submitted addresses that. If a new (or existing hypervisor) plans to do what Xen is doing, perhaps we can dissuade them from doing that or we can fix that within the general framework we have here. Regards, K. Y > _______________________________________________ > devel mailing list > devel@xxxxxxxxxxxxxxxxxxxxxx > http://driverdev.linuxdriverproject.org/mailman/listinfo/devel > _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel