Re: [PATCH 4/4] x86: properly handle kvm emulation of hyperv

H. Peter Anvin
2013-07-23T18:45:51Z

On 07/23/2013 10:45 AM, KY Srinivasan wrote:
>>
>> 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...
>
> Is it always possible to guarantee this ordering. As a hypothetical, what if hypervisor A
> emulates Hypervisor B and Hypervisor B emulates Hypervisor A. In this case we cannot
> have any "order" based detection that can yield "correct" detection. I define "correctness"
> as follows:
>
> If a guest can run on both the hypervisors, the guest should detect the true native
> Hypervisor.
>

My point was that most hypervisors tend to put the native signature at
the end of the list starting at 0x40000000, just to deal with naïve
guests which only look at 0x40000000 and not beyond. So a natural
convention would be to "use the last entry in the list you know how to
handle."

-hpa