> -----Original Message----- > From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo > Bonzini > Sent: Wednesday, July 24, 2013 3:07 AM > To: Jason Wang > Cc: H. Peter Anvin; KY Srinivasan; t...@linutronix.de; mi...@redhat.com; > x...@kernel.org; g...@redhat.com; k...@vger.kernel.org; linux- > ker...@vger.kernel.org > Subject: Re: [PATCH 4/4] x86: properly handle kvm emulation of hyperv > > Il 24/07/2013 08:54, Jason Wang ha scritto: > > On 07/24/2013 12:48 PM, H. Peter Anvin wrote: > >> On 07/23/2013 09:37 PM, Jason Wang wrote: > >>> On 07/23/2013 10:48 PM, H. Peter Anvin wrote: > >>>> On 07/23/2013 06:55 AM, KY Srinivasan wrote: > >>>>> This strategy of hypervisor detection based on some detection order > IMHO is not > >>>>> a robust detection strategy. The current scheme works since the only > hypervisor emulated > >>>>> (by other hypervisors happens to be Hyper-V). What if this were to > change. > >>>>> > >>>> One strategy would be to pick the *last* one in the CPUID list, since > >>>> the ones before it are logically the one(s) being emulated... > >>>> > >>>> -hpa > >>>> > >>> How about simply does a reverse loop from 0x40010000 to 0x40010000? > >>> > >> Not all systems like being poked too far into hyperspace. Just remember > >> the last match and walk the list. > >> > >> -hpa > >> > > > > Ok, but it raises a question - how to know it was the 'last' match > > without knowing all signatures of other hyper-visor? > > You can return a "priority" value from the .detect function. The > priority value can simply be the CPUID leaf where the signature was > found (or a low value such as 1 if detection was done with DMI). > > Then you can pick the hypervisor with the highest priority instead of > hard-coding the order.
I like this idea; this allows some guest level control that is what we want when we have hypervisors emulating each other. Regards, K. Y > > Paolo > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/