diff -urpN -X /home/fletch/.diff.exclude 540-4g4g_sep_fix/include/asm-i386/processor.h 550-4g4g_sysenter_test_fix/include/asm-i386/processor.h
--- 540-4g4g_sep_fix/include/asm-i386/processor.h	Sat Dec 27 14:44:41 2003
+++ 550-4g4g_sysenter_test_fix/include/asm-i386/processor.h	Sat Dec 27 14:47:30 2003
@@ -496,7 +496,7 @@ extern int kernel_thread(int (*fn)(void 
 #define load_virtual_esp0(tss, task)					\
 	do {								\
 		tss->esp0 = virtual_esp0(task);				\
-		if (unlikely(tss->ss1 != task->thread.sysenter_cs)) {	\
+		if (likely(cpu_has_sep) && unlikely(tss->ss1 != task->thread.sysenter_cs)) {	\
 			tss->ss1 = task->thread.sysenter_cs;		\
 			wrmsr(MSR_IA32_SYSENTER_CS,			\
 				task->thread.sysenter_cs, 0);		\