x86-64: Simplify loading initial_gs
authorBrian Gerst <brgerst@gmail.com>
Sat, 17 Jul 2010 13:03:28 +0000 (09:03 -0400)
committerH. Peter Anvin <hpa@zytor.com>
Thu, 22 Jul 2010 04:23:51 +0000 (21:23 -0700)
Load initial_gs as two 32-bit values instead of splitting a 64-bit value.

Signed-off-by: Brian Gerst <brgerst@gmail.com>
LKML-Reference: <1279371808-24804-3-git-send-email-brgerst@gmail.com>
Reviewed-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/kernel/head_64.S

index 3d1e6f16b7a6cbaa92761bede7d9c20b73b8c178..239046bd447f9320d92fb0832cac6eeac4335685 100644 (file)
@@ -234,9 +234,8 @@ ENTRY(secondary_startup_64)
         * init data section till per cpu areas are set up.
         */
        movl    $MSR_GS_BASE,%ecx
-       movq    initial_gs(%rip),%rax
-       movq    %rax,%rdx
-       shrq    $32,%rdx
+       movl    initial_gs(%rip),%eax
+       movl    initial_gs+4(%rip),%edx
        wrmsr   
 
        /* esi is pointer to real mode structure with interesting info.