]> git.ipfire.org Git - thirdparty/grub.git/commit
Zero %ebp and %edi when entering Linux's 32-bit entry point, as
authorColin Watson <cjwatson@ubuntu.com>
Thu, 2 Sep 2010 21:36:09 +0000 (22:36 +0100)
committerColin Watson <cjwatson@ubuntu.com>
Thu, 2 Sep 2010 21:36:09 +0000 (22:36 +0100)
commit9056cbf38e490413e7fb66702e7b1809eaf7a1ee
tree8220b0cd2bd6a004ff6781623426c25c9fa639ce
parent529cc99acf9bbb8ac07d95e30af99fa1fefdac4b
Zero %ebp and %edi when entering Linux's 32-bit entry point, as
required by the boot protocol.
* include/grub/i386/relocator.h (struct grub_relocator32_state): Add
ebp and edi members.
* grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
state.ebp and state.edi.
* grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
%ebp and %edi according to grub_relocator32_ebp and
grub_relocator32_edi respectively.
* grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
and state.edi.
ChangeLog
grub-core/lib/i386/relocator.c
grub-core/lib/i386/relocator32.S
grub-core/loader/i386/linux.c
include/grub/i386/relocator.h