Re: [PATCH V2] x86: use enum cpuid_leafs instead of magic numbers

From: H. Peter Anvin
Date: Thu Jan 21 2016 - 16:52:45 EST


On January 21, 2016 1:47:32 PM PST, Borislav Petkov <bp@xxxxxxxxx> wrote:
>On Thu, Jan 21, 2016 at 01:37:36PM -0800, H. Peter Anvin wrote:
>> No, you still need to be able to find the beginning of the capability
>> array, but the point is that right now it is implicit in that code
>that
>> CPUID_1_EDX == 0.
>
>Ah, you wanna be able to do:
>
>---
>diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S
>index af1112980dd4..143646f0add1 100644
>--- a/arch/x86/kernel/head_32.S
>+++ b/arch/x86/kernel/head_32.S
>@@ -441,7 +443,7 @@ enable_paging:
> movb %al,X86_MODEL
> andb $0x0f,%cl # mask mask revision
> movb %cl,X86_MASK
>- movl %edx,X86_CAPABILITY
>+ movl %edx,X86_CAPABILITY + CPUID_1_EDX*4
>
> is486:
> movl $0x50022,%ecx # set AM, WP, NE and MP

Basically, yes.
--
Sent from my Android device with K-9 Mail. Please excuse brevity and formatting.