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

Reply via email to