Follow-up Comment #4, bug #39488 (project grub): Hello,
Move down from virtual to physical is properly done when calculate grub_multiboot_payload_eip few lines below. If e_entry would be physical (as current implementation GRUB2 assumes for everything else than MIPS) then the substraction physical address (e_entry) from virtual (p_vaddr) has no sense. The only one sense is when e_entry is also virtual (besides ELF specification explicity describes that). So e_entry must be virtual. I do not know why currently only for MIPS this assumption is done, but from ELF specification point of view e_entry is always virtual. grub_multiboot_payload_eip = (ehdr->e_entry - phdr(i)->p_vaddr) + phdr(i)->p_paddr; Best Regards Leon _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?39488> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-grub mailing list Bug-grub@gnu.org https://lists.gnu.org/mailman/listinfo/bug-grub