Re: [PATCH 3/10 -tip] x86: Add cpufeatures for Advanced Power Management

Jaswinder Singh Rajput
2009-05-15T13:48:55Z

Hello Thomas,

On Tue, 2009-05-12 at 23:04 +0200, Thomas Gleixner wrote:
> Jaswinder,
>
> On Wed, 13 May 2009, Jaswinder Singh Rajput wrote:
> > + /* Advanced Power Management (Function 8000_0007h), edx */
> > + if (c->extended_cpuid_level >= 0x80000007) {
> > + c->x86_capability[9] = cpuid_edx(0x80000007);
>
> In the reply to [Patch 5/10] Ingo wrote:
> >> Also, open-coding x86_capability[9] like that is quite unclean. Were
> >> we ever to reorder those bits internally, this could would break.
>
> Do you really believe that open-coding x86_capability[9] in .../common.c
> is better than the open-coding in ../powernow-k8.c ?
>

BTW, then how you can set x86_capability[9] in one shot ? do you want me
to set each bit with set_cpu_cap() ?

> Again, open-coding is wrong and error prone. Ingo explicitely asked for a
> helper function. All you did is moving the open-coded hard wired array
> reference to a different place.

I am sorry I did not get you, if possible can you please explain your
comment.

I made x86_capability[9] as Advanced Power Management (Function
8000_0007h), edx.
And I moved to X86_FEATURE_CONSTANT_TSC to Advanced Power Management
group as it is the part of it.

I added helper cpufeature for Advanced Power Management availability
so I set in software cpufeature array in vacuum created by
X86_FEATURE_CONSTANT_TSC.

If you have some better suggestion, please let me know.

Thanks for your guidance,
--
JSR