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

Reply via email to