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

Jaswinder Singh Rajput
2009-05-20T07:16:25Z

On Tue, 2009-05-19 at 09:41 -0700, H. Peter Anvin wrote:
> Jaswinder Singh Rajput wrote:
> >
> > Peter, Ingo:
> > Do you think we need to arrange x86_capability in some order, currently
> > we are using x86_capability numbering in random order.
> >
>
> No.
>

I think better I will show with the coding to get the clear picture.

Currently we are using hardcoded x86_capability as [0], [2], [4], [5].

Thomas prefer to use constant so may be we can define current system as:

enum {
CPUID_0000_0001_EDX = 0, /* 0x00000001 edx */
CPUID_8000_0001_EDX, /* 0x80000001 edx */
CPUID_8086_0001_EDX, /* 0x80860001 edx */
CPUID_SOFT_MISC1, /* Software Misc1 */
CPUID_0000_0001_ECX, /* 0x00000001 ecx */
CPUID_C000_0001_EDX, /* 0xC0000001 edx */
CPUID_8000_0001_ECX, /* 0x80000001 ecx */
CPUID_SOFT_MISC2, /* Software Misc2 */
CPUID_SOFT_VIRTUAL, /* Software Virtualization */
};

I was suggesting to also sort it out based on address and register like this:

enum {
/* Hardware CPUIDs */
CPUID_0000_0001_ECX = 0, /* 0x00000001 ecx */
CPUID_0000_0001_EDX, /* 0x00000001 edx */
CPUID_8000_0001_ECX, /* 0x80000001 ecx */
CPUID_8000_0001_EDX, /* 0x80000001 edx */
CPUID_8086_0001_EDX, /* 0x80860001 edx */
CPUID_C000_0001_EDX, /* 0xC0000001 edx */

/* Software/Miscellaneous CPUIDs */
CPUID_SOFT_MISC1, /* Software Misc1 */
CPUID_SOFT_MISC2, /* Software Misc2 */
CPUID_SOFT_VIRTUAL, /* Software Virtualization */
};

Do you have some better suggestion.

Thanks,

--
JSR