mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-22 23:32:39 +00:00
2008-08-12 Robert Millan <rmh@aybabtu.com>
* loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
of the relocation code from here ...
(grub_multiboot): ... to here.
(forward_relocator, backward_relocator): Move from here ...
* kern/i386/loader.S (grub_multiboot_forward_relocator)
(grub_multiboot_backward_relocator): ... to here.
(grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
magic in %eax. Use %ebp for jumping (so %edx is not trashed).
* include/grub/i386/loader.h (grub_multiboot_forward_relocator)
(grub_multiboot_forward_relocator_end)
(grub_multiboot_backward_relocator)
(grub_multiboot_backward_relocator_end): New variables.
This commit is contained in:
1 parent
05f9452b12
commit
371458b576
4 files changed
+113
-56
No files matched your search
@@ -53,4 +53,11 @@ extern grub_uint32_t EXPORT_VAR(grub_multiboot_payload_entry_offset);
|
||||
void grub_rescue_cmd_linux (int argc, char *argv[]);
|
||||
void grub_rescue_cmd_initrd (int argc, char *argv[]);
|
||||
|
||||
extern grub_uint8_t EXPORT_VAR(grub_multiboot_forward_relocator);
|
||||
extern grub_uint8_t EXPORT_VAR(grub_multiboot_forward_relocator_end);
|
||||
extern grub_uint8_t EXPORT_VAR(grub_multiboot_backward_relocator);
|
||||
extern grub_uint8_t EXPORT_VAR(grub_multiboot_backward_relocator_end);
|
||||
|
||||
#define RELOCATOR_SIZEOF(x) (&grub_multiboot_##x##_relocator_end - &grub_multiboot_##x##_relocator)
|
||||
|
||||
#endif /* ! GRUB_LOADER_CPU_HEADER */
|
||||
Reference in new issue
Block a user