[PATCH] x86-64: Kill temp boot pmds
[pandora-kernel.git] / arch / x86_64 / kernel / head.S
index 1e6f808..118c608 100644 (file)
@@ -163,6 +163,20 @@ startup_64:
         */
        lgdt    cpu_gdt_descr
 
+       /* set up data segments. actually 0 would do too */
+       movl $__KERNEL_DS,%eax
+       movl %eax,%ds
+       movl %eax,%ss
+       movl %eax,%es
+
+       /*
+        * We don't really need to load %fs or %gs, but load them anyway
+        * to kill any stale realmode selectors.  This allows execution
+        * under VT hardware.
+        */
+       movl %eax,%fs
+       movl %eax,%gs
+
        /* 
         * Setup up a dummy PDA. this is just for some early bootup code
         * that does in_interrupt() 
@@ -173,12 +187,6 @@ startup_64:
        shrq    $32,%rdx
        wrmsr   
 
-       /* set up data segments. actually 0 would do too */
-       movl $__KERNEL_DS,%eax
-       movl %eax,%ds   
-       movl %eax,%ss
-       movl %eax,%es
-                       
        /* esi is pointer to real mode structure with interesting info.
           pass it to C */
        movl    %esi, %edi
@@ -280,9 +288,6 @@ NEXT_PAGE(level2_ident_pgt)
        .quad   i << 21 | 0x083
        i = i + 1
        .endr
-       /* Temporary mappings for the super early allocator in arch/x86_64/mm/init.c */
-       .globl temp_boot_pmds
-temp_boot_pmds:
        .fill   492,8,0
        
 NEXT_PAGE(level2_kernel_pgt)