Is GRUB supposed to always call grub_dl_unload_all() when preparing to
jump into a loaded multiboot image?

My problem:

  - On i386-pc, multiboot2 loader calls grub_multiboot2_real_boot(), which
    in turn calls grub_dl_unload_all(), thereby unloading all modules (and
    I assume, calling all _fini() routines).

  - On powerpc-ieee1275, multiboot2 loader calls the entry right away, without
    unloading modules. In fact, it CANNOT unload them because it may have just
    overwritten them when loading the image to the arbitrary address it has
    requested.

  - On i386-ieee1275, the sanest choice was to follow powerpc-ieee1275 and
    claim the region that our payload image requests (see
    loader/powerpc/ieee1275/multiboot2.c).  However, this implies inability
    to unload all modules.

How important is it to unload all modules?  What do you suggest?  Do we fix
everything to unload all modules (is that even possible?)?  Do we unload all
modules on i386-pc "because we can" and not do this on ieee1275 platforms?

-- 
Robert Millan

<GPLv2> I know my rights; I want my phone call!
<DRM> What use is a phone call… if you are unable to speak?
(as seen on /.)


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to