fix a bug in chain_stage2.
This commit is contained in:
parent
d20f9609ce
commit
2601d0686b
2 changed files with 11 additions and 1 deletions
|
@ -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 ...
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue