Messages in this thread | | | Date | Tue, 13 May 2008 10:11:34 -0700 | From | "H. Peter Anvin" <> | Subject | Re: [patch 1/2] x86: head_64.S cleanup - use straight move to CR4 register |
| |
Cyrill Gorcunov wrote: > [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@gmail.com> > --- > > 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 >
Syntax error. %eax, not %rax.
-hpa
| |