- int 15 / ah=87h should not clear cr0 when setting bit 0 (SF patch #969967
by Ben Lunt)
This commit is contained in:
parent
ff1c5578a5
commit
b3d0c18838
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: rombios.c,v 1.116 2004-09-05 17:55:12 vruppert Exp $
|
||||
// $Id: rombios.c,v 1.117 2004-09-13 17:53:09 vruppert Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2002 MandrakeSoft S.A.
|
||||
@ -916,10 +916,10 @@ Bit16u cdrom_boot();
|
||||
|
||||
#endif // BX_ELTORITO_BOOT
|
||||
|
||||
static char bios_cvs_version_string[] = "$Revision: 1.116 $";
|
||||
static char bios_date_string[] = "$Date: 2004-09-05 17:55:12 $";
|
||||
static char bios_cvs_version_string[] = "$Revision: 1.117 $";
|
||||
static char bios_date_string[] = "$Date: 2004-09-13 17:53:09 $";
|
||||
|
||||
static char CVSID[] = "$Id: rombios.c,v 1.116 2004-09-05 17:55:12 vruppert Exp $";
|
||||
static char CVSID[] = "$Id: rombios.c,v 1.117 2004-09-13 17:53:09 vruppert Exp $";
|
||||
|
||||
/* Offset to skip the CVS $Id: prefix */
|
||||
#define bios_version_string (CVSID + 4)
|
||||
@ -3477,7 +3477,8 @@ ASM_START
|
||||
;; perhaps do something with IDT here
|
||||
|
||||
;; set PE bit in CR0
|
||||
mov ax, #0x0001
|
||||
mov eax, cr0
|
||||
or al, #0x01
|
||||
mov cr0, eax
|
||||
;; far jump to flush CPU queue after transition to protected mode
|
||||
JMP_AP(0x0020, protected_mode)
|
||||
@ -3501,9 +3502,10 @@ protected_mode:
|
||||
mov ds, ax
|
||||
mov es, ax
|
||||
|
||||
;; clear CR3 and reset PG bit in CR0 ???
|
||||
xor eax, eax
|
||||
mov cr0, eax
|
||||
;; reset PG bit in CR0 ???
|
||||
mov eax, cr0
|
||||
and al, #0xFE
|
||||
mov cr0, eax
|
||||
|
||||
;; far jump to flush CPU queue after transition to real mode
|
||||
JMP_AP(0xf000, real_mode)
|
||||
|
Loading…
Reference in New Issue
Block a user