Well it seems that OLPC (i386-ieee1275) needs alignment, but coreboot doesn't.
It must be some OFW-specific oddity.

This patch makes the alignment ieee1275-specific on i386.

-- 
Robert Millan

  The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
  how) you may access your data; but nobody's threatening your freedom: we
  still allow you to remove your data and not access it at all."
Index: kern/i386/coreboot/init.c
===================================================================
--- kern/i386/coreboot/init.c	(revision 2358)
+++ kern/i386/coreboot/init.c	(working copy)
@@ -144,5 +144,5 @@ grub_machine_fini (void)
 grub_addr_t
 grub_arch_modules_addr (void)
 {
-  return ALIGN_UP((grub_addr_t) _end, GRUB_MOD_ALIGN);
+  return (grub_addr_t) _end;
 }
Index: include/grub/i386/kernel.h
===================================================================
--- include/grub/i386/kernel.h	(revision 2358)
+++ include/grub/i386/kernel.h	(working copy)
@@ -1,6 +1,6 @@
 /*
  *  GRUB  --  GRand Unified Bootloader
- *  Copyright (C) 2005,2006,2007,2008  Free Software Foundation, Inc.
+ *  Copyright (C) 2005,2006,2007,2008,2009  Free Software Foundation, Inc.
  *
  *  GRUB is free software: you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -19,7 +19,13 @@
 #ifndef GRUB_KERNEL_CPU_HEADER
 #define GRUB_KERNEL_CPU_HEADER	1
 
-#define GRUB_MOD_ALIGN 0x1000
+#include <grub/machine/machine.h>
+
+#ifdef GRUB_MACHINE_IEEE1275
+#define GRUB_MOD_ALIGN	0x1000
+#else
+#define GRUB_MOD_ALIGN	0
+#endif
 
 /* Non-zero value is only needed for PowerMacs.  */
 #define GRUB_MOD_GAP 0x0
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to