--- ./include/asm-i386/pgtable.h.~1~	Fri Aug 30 06:24:23 2002
+++ ./include/asm-i386/pgtable.h	Fri Aug 30 06:25:02 2002
@@ -82,6 +82,8 @@ extern unsigned long pgkern_mask;
 	} while (0)
 #endif
 
+#define cpu_has_invlpg	(boot_cpu_data.x86 > 3)
+
 #define __flush_tlb_single(addr) \
 	__asm__ __volatile__("invlpg %0": :"m" (*(char *) addr))
 
@@ -90,7 +92,7 @@ extern unsigned long pgkern_mask;
 #else
 # define __flush_tlb_one(addr)						\
 	do {								\
-		if (cpu_has_pge)					\
+		if (cpu_has_invlpg)					\
 			__flush_tlb_single(addr);			\
 		else							\
 			__flush_tlb();					\
