2008-02-03 Pavel Roskin <proski@gnu.org>
* a/kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop %edx and %esi from stack only after grub_gate_a20() is called. grub_gate_a20() clobbers %edx.
This commit is contained in:
parent
f2a76e1d19
commit
fa370ea61b
2 changed files with 10 additions and 4 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2008-02-03 Pavel Roskin <proski@gnu.org>
|
||||||
|
|
||||||
|
* a/kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
|
||||||
|
%edx and %esi from stack only after grub_gate_a20() is called.
|
||||||
|
grub_gate_a20() clobbers %edx.
|
||||||
|
|
||||||
2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
|
2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
|
||||||
|
|
||||||
* configure.ac (AC_INIT): Bumped to 1.96.
|
* configure.ac (AC_INIT): Bumped to 1.96.
|
||||||
|
|
|
@ -594,16 +594,16 @@ FUNCTION(grub_chainloader_real_boot)
|
||||||
|
|
||||||
call EXT_C(grub_dl_unload_all)
|
call EXT_C(grub_dl_unload_all)
|
||||||
|
|
||||||
|
/* Turn off Gate A20 */
|
||||||
|
xorl %eax, %eax
|
||||||
|
call EXT_C(grub_gate_a20)
|
||||||
|
|
||||||
/* set up to pass boot drive */
|
/* set up to pass boot drive */
|
||||||
popl %edx
|
popl %edx
|
||||||
|
|
||||||
/* ESI must point to a partition table entry */
|
/* ESI must point to a partition table entry */
|
||||||
popl %esi
|
popl %esi
|
||||||
|
|
||||||
/* Turn off Gate A20 */
|
|
||||||
xorl %eax, %eax
|
|
||||||
call EXT_C(grub_gate_a20)
|
|
||||||
|
|
||||||
call prot_to_real
|
call prot_to_real
|
||||||
.code16
|
.code16
|
||||||
ljmp $0, $GRUB_MEMORY_MACHINE_BOOT_LOADER_ADDR
|
ljmp $0, $GRUB_MEMORY_MACHINE_BOOT_LOADER_ADDR
|
||||||
|
|
Loading…
Add table
Reference in a new issue