>>> On 30.01.13 at 01:51, "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> wrote: > Xen emulates Hyper-V to host enlightened Windows. Looks like this > emulation may be turned on by default even for Linux guests. Check and > fail Hyper-V detection if we are on Xen. > > Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> > --- > arch/x86/kernel/cpu/mshyperv.c | 7 +++++++ > 1 files changed, 7 insertions(+), 0 deletions(-) > > diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c > index 646d192..4dab317 100644 > --- a/arch/x86/kernel/cpu/mshyperv.c > +++ b/arch/x86/kernel/cpu/mshyperv.c > @@ -30,6 +30,13 @@ static bool __init ms_hyperv_platform(void) > if (!boot_cpu_has(X86_FEATURE_HYPERVISOR)) > return false; > > + /* > + * Xen emulates Hyper-V to support enlightened Windows. > + * Check to see first if we are on a Xen Hypervisor. > + */ > + if (xen_cpuid_base()) > + return false; > + > cpuid(HYPERV_CPUID_VENDOR_AND_MAX_FUNCTIONS, > &eax, &hyp_signature[0], &hyp_signature[1], &hyp_signature[2]); I'm not convinced that's the right approach - any hypervisor could do similar emulation, and hence you either want to make sure you run on Hyper-V (by excluding all others), or you tolerate using the emulation (which may require syncing up with the other guest implementations so that shared resources don't get used by two parties). I also wonder whether using the Hyper-V emulation (where useful, there might not be anything right now, but this may change going forward) when no Xen support is configured wouldn't be better than not using anything... Jan _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel