From: H. Peter Anvin Date: Mon, 5 Nov 2007 00:34:38 +0000 (-0800) Subject: Setting cr0 requires a jmp to synchronize on 386/486 X-Git-Tag: syslinux-3.53-pre3~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=28b46657095873e98434959075b7717ec22117c1;p=profile%2Fivi%2Fsyslinux.git Setting cr0 requires a jmp to synchronize on 386/486 The 386 and 486 requires a jmp after any setting of cr0. It can be a near jmp, but those processors do not correctly synchronize without it. We have jmps after setting cr0 in all spots except one, so make that happen correctly. --- diff --git a/bcopy32.inc b/bcopy32.inc index 87190d8..4df5e43 100644 --- a/bcopy32.inc +++ b/bcopy32.inc @@ -532,7 +532,8 @@ trampoline_to_pm: mov eax,cr0 or al,1 mov cr0,eax ; Enter protected mode - mov ax,PM_DS32 ; 32-bit data segment selector + jmp .next ; Near jump to synchronize on 386/486 +.next: mov ax,PM_DS32 ; 32-bit data segment selector mov es,ax mov ds,ax mov ss,ax