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. 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/