grub/loader/i386/pc
robertmh a927cc7383 2008-08-02 Robert Millan <rmh@aybabtu.com>
* 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.
2008-08-02 12:12:14 +00:00
..
chainloader.c 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org> 2007-09-03 20:10:19 +00:00
chainloader_normal.c 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org> 2007-07-21 23:32:33 +00:00
linux.c 2008-07-01 Pavel Roskin <proski@gnu.org> 2008-07-02 00:39:55 +00:00
linux_normal.c 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org> 2007-07-21 23:32:33 +00:00
multiboot.c 2008-08-02 Robert Millan <rmh@aybabtu.com> 2008-08-02 12:12:14 +00:00
multiboot2.c 2008-07-01 Pavel Roskin <proski@gnu.org> 2008-07-02 00:37:48 +00:00
multiboot_normal.c 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org> 2007-07-21 23:32:33 +00:00