mirror of
https://git.proxmox.com/git/grub2
synced 2025-11-02 22:39:09 +00:00
* loader/i386/pc/multiboot.c (playground, forward_relocator)
(backward_relocator): New variables. Used to allocate and relocate
the payload, respectively.
(grub_multiboot_load_elf32): Load into heap instead of requested
address, install the appropiate relocator code in each bound of
the payload, and set the entry point such that
grub_multiboot_real_boot() will jump to one of them.
* kern/i386/loader.S (grub_multiboot_payload_size)
(grub_multiboot_payload_orig, grub_multiboot_payload_dest)
(grub_multiboot_payload_entry_offset): New variables.
(grub_multiboot_real_boot): Set cpu context to what the relocator
expects, and jump to the relocator instead of the payload.
* include/grub/i386/loader.h (grub_multiboot_payload_size)
(grub_multiboot_payload_orig, grub_multiboot_payload_dest)
(grub_multiboot_payload_entry_offset): Export.
|
||
|---|---|---|
| .. | ||
| efi | ||
| i386 | ||
| ieee1275 | ||
| powerpc/ieee1275 | ||
| aout.c | ||
| multiboot2.c | ||
| multiboot_loader_normal.c | ||
| multiboot_loader.c | ||