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

From: Borislav Petkov
Date: Thu Jan 21 2016 - 16:48:44 EST


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

--
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.