]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/x86/kernel/head_32.S
x86: fix x86-32 early fixmap initialization.
[linux-2.6-omap-h63xx.git] / arch / x86 / kernel / head_32.S
index 374b7ece89610e14fcebff09dd0711d27da040ff..ac0637a6d71cc75637cff60888c78cbfb5a504b1 100644 (file)
@@ -193,6 +193,12 @@ default_entry:
        jb 10b
        movl %edi,(init_pg_tables_end - __PAGE_OFFSET)
 
+       /* Do an early initialization of the fixmap area */
+       movl $(swapper_pg_dir - __PAGE_OFFSET), %edx
+       movl $(swapper_pg_pmd - __PAGE_OFFSET), %eax
+       addl $0x007, %eax                       /* 0x007 = PRESENT+RW+USER */
+       movl %eax, 4092(%edx)
+
        xorl %ebx,%ebx                          /* This is the boot CPU (BSP) */
        jmp 3f
 /*
@@ -208,12 +214,6 @@ default_entry:
 .section .init.text,"ax",@progbits
 #endif
 
-       /* Do an early initialization of the fixmap area */
-       movl $(swapper_pg_dir - __PAGE_OFFSET), %edx
-       movl $(swapper_pg_pmd - __PAGE_OFFSET), %eax
-       addl $0x007, %eax                       /* 0x007 = PRESENT+RW+USER */
-       movl %eax, 4092(%edx)
-
 #ifdef CONFIG_SMP
 ENTRY(startup_32_smp)
        cld