[PATCH] i386: Minor fixes & cleanup to tlb flush
authorAndi Kleen <ak@suse.de>
Tue, 26 Sep 2006 08:52:29 +0000 (10:52 +0200)
committerAndi Kleen <andi@basil.nowhere.org>
Tue, 26 Sep 2006 08:52:29 +0000 (10:52 +0200)
(based on x86-64 changes)
- Add a proper memory clobber to invlpg
- Remove an unused extern

Signed-off-by: Andi Kleen <ak@suse.de>
include/asm-i386/tlbflush.h

index d57ca5c540b69cd74821e9ca7cec039a9e3b805a..360648b0f2b3888235e95f8b7420879934a9e0bc 100644 (file)
@@ -36,8 +36,6 @@
                        : "memory");                                    \
        } while (0)
 
-extern unsigned long pgkern_mask;
-
 # define __flush_tlb_all()                                             \
        do {                                                            \
                if (cpu_has_pge)                                        \
@@ -49,7 +47,7 @@ extern unsigned long pgkern_mask;
 #define cpu_has_invlpg (boot_cpu_data.x86 > 3)
 
 #define __flush_tlb_single(addr) \
-       __asm__ __volatile__("invlpg %0": :"m" (*(char *) addr))
+       __asm__ __volatile__("invlpg (%0)" ::"r" (addr) : "memory")
 
 #ifdef CONFIG_X86_INVLPG
 # define __flush_tlb_one(addr) __flush_tlb_single(addr)