fix a bug in chain_stage2.

This commit is contained in:
okuji 2001-02-07 23:47:40 +00:00
parent d20f9609ce
commit 2601d0686b
2 changed files with 11 additions and 1 deletions

View file

@ -1,3 +1,11 @@
2001-02-08 OKUJI Yoshinori <okuji@gnu.org>
* stage2/asm.S [STAGE1_5] (chain_stage2): Save the second sector
of stage2 in %ecx temporarily, and set %ebp to %ecx after
switching to protected mode. I forgot that %ebp is broken by
rot_to_real. Reported by Torvald Riegel
<tr16@inf.tu-dresden.de>.
2001-02-08 OKUJI Yoshinori <okuji@gnu.org> 2001-02-08 OKUJI Yoshinori <okuji@gnu.org>
* docs/grub-new.texi: Moved to ... * docs/grub-new.texi: Moved to ...

View file

@ -792,11 +792,13 @@ ENTRY(chain_stage2)
movb EXT_C(current_drive), %dl movb EXT_C(current_drive), %dl
/* set up to pass the second sector of stage2 */ /* set up to pass the second sector of stage2 */
movl 0xc(%esp), %ebp movl 0xc(%esp), %ecx
call EXT_C(prot_to_real) call EXT_C(prot_to_real)
.code16 .code16
movl %ecx, %ebp
#ifdef ABSOLUTE_WITHOUT_ASTERISK #ifdef ABSOLUTE_WITHOUT_ASTERISK
DATA32 ADDR32 ljmp (offset) DATA32 ADDR32 ljmp (offset)
#else #else