RE: [PATCH] x86: detect running on a HyperV system

From: Hank Janssen
Date: Fri May 07 2010 - 12:20:57 EST




SNIP SNIP SNIP----------
> From: Greg KH [greg@xxxxxxxxx] - Friday, May 07, 2010 8:46 AM
>
>[KY added to the To:, sorry for not including him earlier, he wrote this
>code]

On Thu, May 06, 2010 at 06:49:31PM -0700, H. Peter Anvin wrote:
>> On 05/06/2010 12:18 PM, Greg KH wrote:
>> > On Thu, May 06, 2010 at 12:13:17PM -0700, H. Peter Anvin wrote:
>> >> On 05/06/2010 12:08 PM, Greg KH wrote:
>> Okay... we write something called x86_hyper_features, but it isn't
>> actually used for anything. I'm assuming based on what I can see in
>> <asm/hyperv.h> that it is almost certainly not anything CPU-based. I
>> really don't like a random field that can be stuffed with information
>> from random locations, and it doesn't look like it's even a flag field
>> in any meaningful way. Worse, the field is just used to mix bits from
>> two different CPUID levels at what appears to be a completely arbitrary
>> boundary:
>>
>> /*
>> * Extract the features, recommendations etc.
>> * The first 9 bits will be used to track hypervisor features.
>> * The next 6 bits will be used to track the hypervisor
>> * recommendations.
>> */
>> cpuid(HYPERV_CPUID_FEATURES, &eax, &ebx, &ecx, &edx);
>> c->x86_hyper_features |= (eax & 0x1ff);
>>
>> cpuid(HYPERV_CPUID_ENLIGHTMENT_INFO, &eax, &ebx, &ecx, &edx);
>> c->x86_hyper_features |= ((eax & 0x3f) << 9);
>>
>> Why 9? Why 6? The only thing that I can think of that justifies those
>> particular numbers is what the *current* version of Hyper-V does.
>
>I think that is what Hyper-V is saying it will always do. Hank? Any
>help here?

That is correct. Hyper-V will always do this.

For functionality like a timesource, we need to get to hyper-v the way Ky did in his
code. There is no messaging for it like IDE/SCSI/Network and the like.

My understanding is that more information is going to be contained in these areas
once Windows 8 is more defined. I know Windows 8 will give us changes but we do
not know yet what they are. And I will not untill much later in the year. They are
designing some of the low level stuff there right now.

I know that some of the messaging protocols will change regarding networking.

Hank.--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/