Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=17d57a9206b4de6ad082ac9f2d2346985abbd2aa
Commit:     17d57a9206b4de6ad082ac9f2d2346985abbd2aa
Parent:     0c1b2724069951b1902373e688042b2ec382f68f
Author:     Eric W. Biederman <[EMAIL PROTECTED]>
AuthorDate: Sat Dec 1 18:34:06 2007 -0700
Committer:  Ingo Molnar <[EMAIL PROTECTED]>
CommitDate: Mon Dec 3 17:17:10 2007 +0100

    x86: fix x86-32 early fixmap initialization.
    
    [EMAIL PROTECTED] writes:
    
    > i've just noticed that the chunk in i386/kernel/head.S ended up in a
    > weird place, namely, it's not going to be executed as it's just after
    > a 'jmp 3f' and before startup_32_smp, probably not what you intended.
    > on a sidenote, the whole thing can be done in a single insn, like:
    >
    > movl $(swapper_pg_pmd - __PAGE_OFFSET + 0x067), (swapper_pg_dir -
    > __PAGE_OFFSET+ 4092)
    
    Thanks for the reminder I thought we had fixed this problem a while ago.
    
    Needed to get fixed virtual address for USB debug and earlycon with mmio.
    
    Signed-off-by: "Eric W. Biederman" <[EMAIL PROTECTED]>
    Signed-off-by: Thomas Gleixner <[EMAIL PROTECTED]>
    Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]>
---
 arch/x86/kernel/head_32.S |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S
index 374b7ec..ac0637a 100644
--- a/arch/x86/kernel/head_32.S
+++ b/arch/x86/kernel/head_32.S
@@ -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
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to