Re: [patch 1/2] x86: head_64.S cleanup - use straight move to CR4register

From: Cyrill Gorcunov
Date: Tue May 13 2008 - 13:10:23 EST


[H. Peter Anvin - Tue, May 13, 2008 at 10:03:42AM -0700]
> Cyrill Gorcunov wrote:
>> There is no need for testing the values because we already know
>> what they should be. Just set them in straight way.
>
> He isn't testing them, he's setting individual bits.
>
> Either of these is pretty silly; the right way to do this is:
>
> movl $(X86_CR4_PAE|X86_CR4_PGE), %eax
> movq %rax, %cr4
>
> A movl in 64-bit mode zero extends.
>
> -hpa
>

Here is updated version
---
[PATCH] x86: head_64.S cleanup - use straight move to CR4 register

Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxx>
---

Index: linux-2.6.git/arch/x86/kernel/head_64.S
===================================================================
--- linux-2.6.git.orig/arch/x86/kernel/head_64.S 2008-05-13 20:04:23.000000000 +0400
+++ linux-2.6.git/arch/x86/kernel/head_64.S 2008-05-13 21:08:20.000000000 +0400
@@ -155,9 +155,7 @@ ENTRY(secondary_startup_64)
*/

/* Enable PAE mode and PGE */
- xorq %rax, %rax
- btsq $5, %rax
- btsq $7, %rax
+ movl $(X86_CR4_PAE | X86_CR4_PGE), %rax
movq %rax, %cr4

/* Setup early boot stage 4 level pagetables. */
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/