[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8AFC7968D54FB448A30D8F38F259C5621AFFAA7C@TK5EX14MBXC114.redmond.corp.microsoft.com>
Date: Fri, 7 May 2010 16:20:47 +0000
From: Hank Janssen <hjanssen@...rosoft.com>
To: Greg KH <greg@...ah.com>, "H. Peter Anvin" <hpa@...or.com>,
"K. Y. Srinivasan" <ksrinivasan@...ell.com>
CC: Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"x86@...nel.org" <x86@...nel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Vadim Rozenfeld <vrozenfe@...hat.com>,
"Avi Kivity" <avi@...hat.com>, Gleb Natapov <gleb@...hat.com>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Haiyang Zhang <haiyangz@...rosoft.com>
Subject: RE: [PATCH] x86: detect running on a HyperV system
SNIP SNIP SNIP----------
> From: Greg KH [greg@...ah.com] - 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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists