lkml.org 
[lkml]   [2007]   [Dec]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[patch 27/60] x86 setup: add a near jump to serialize %cr0 on 386/486
2.6.23-stable review patch.  If anyone has any objections, please let us
know.

------------------
From: H. Peter Anvin <hpa@zytor.com>
patch 7ed192906a2144ebc8ca2925a85d27b9c5355668 in mainline.

The 386 and 486 needs a jump immediately after setting %cr0 in order
to serialize the pipeline.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
arch/i386/boot/pmjump.S | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/arch/i386/boot/pmjump.S
+++ b/arch/i386/boot/pmjump.S
@@ -31,14 +31,14 @@ protected_mode_jump:
xorl %ebx, %ebx # Flag to indicate this is a boot
movl %edx, %esi # Pointer to boot_params table
movl %eax, 2f # Patch ljmpl instruction
- jmp 1f # Short jump to flush instruction q.

-1:
movw $__BOOT_DS, %cx

movl %cr0, %edx
orb $1, %dl # Protected mode (PE) bit
movl %edx, %cr0
+ jmp 1f # Short jump to serialize on 386/486
+1:

movw %cx, %ds
movw %cx, %es
--


\
 
 \ /
  Last update: 2007-12-13 08:11    [from the cache]
©2003-2011 Jasper Spaans