On Thu, Jan 24, 2008 at 01:26:47PM +0100, Robert Millan wrote: > > I had preliminar (working!) code to implement this, but it's a hack. We > really > need to think this over first, as it might imply some redesign of the memory > manager, etc.
In the meantime what do you think of doing the same powerpc does? -- 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 /.)
* kern/i386/loader.S (grub_multiboot2_real_boot) [GRUB_MACHINE_IEEE1275]: Copy `grub_ieee1275_entry_fn' handler to %edx. Avoid calling grub_dl_unload_all() or grub_stop_floppy(), since grub_dl_unload_all() is not usable at this point. diff -ur grub2/kern/i386/loader.S tmp/kern/i386/loader.S --- grub2/kern/i386/loader.S 2008-01-05 13:14:05.000000000 +0100 +++ tmp/kern/i386/loader.S 2008-01-23 21:12:14.000000000 +0100 @@ -16,6 +16,7 @@ * along with GRUB. If not, see <http://www.gnu.org/licenses/>. */ +#include <grub/machine/machine.h> /* * Note: These functions defined in this file may be called from C. @@ -151,9 +152,13 @@ /* Move the address of the multiboot information structure to ebx. */ movl %edx,%ebx +#ifdef GRUB_MACHINE_IEEE1275 + movl EXT_C(grub_ieee1275_entry_fn), %edx +#else /* Unload all modules and stop the floppy driver. */ call EXT_C(grub_dl_unload_all) call EXT_C(grub_stop_floppy) +#endif /* Interrupts should be disabled. */ cli
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel