[1806] 2008-08-14 Robert Millan <[email protected]>

Robert Millan <[email protected]>
Newsgroups gmane.comp.boot-loaders.grub.cvs
Message-ID <[email protected]>
Revision: 1806
          http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=1806
Author:   robertmh
Date:     2008-08-14 18:59:33 +0000 (Thu, 14 Aug 2008)

Log Message:
-----------
2008-08-14  Robert Millan  <[email protected]>

        * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
        (grub_mkelfimage_SOURCES): New variable.
        (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.

        * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
        (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
        * conf/powerpc-ieee1275.rmk: Likewise.
        * conf/i386-ieee1275.rmk: Likewise.

        * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
        * kern/i386/coreboot/init.c: Likewise.

        * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
        with `<grub/cpu/kernel.h>'.
        (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
        to ...
        (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
        * kern/i386/coreboot/startup.S: Likewise.

        * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
        (GRUB_MOD_GAP): Remove.
        * include/grub/powerpc/kernel.h: New file.
        * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
        (GRUB_KERNEL_MACHINE_DATA_END): Remove.
        * include/grub/i386/kernel.h: New file.
        * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
        (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
        (GRUB_KERNEL_MACHINE_DATA_END): Remove.

        * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
        `grub-mkelfimage'.
        Use --directory when invoking grub_mkimage.

        * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
        (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
        GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
        and GRUB_KERNEL_CPU_PREFIX.

Modified Paths:
--------------
    trunk/grub2/DISTLIST
    trunk/grub2/conf/common.rmk
    trunk/grub2/conf/i386-coreboot.rmk
    trunk/grub2/conf/i386-ieee1275.rmk
    trunk/grub2/conf/powerpc-ieee1275.rmk
    trunk/grub2/include/grub/i386/coreboot/kernel.h
    trunk/grub2/include/grub/i386/ieee1275/kernel.h
    trunk/grub2/include/grub/powerpc/ieee1275/kernel.h
    trunk/grub2/kern/i386/coreboot/init.c
    trunk/grub2/kern/i386/coreboot/startup.S
    trunk/grub2/kern/i386/ieee1275/startup.S
    trunk/grub2/kern/ieee1275/init.c
    trunk/grub2/util/elf/grub-mkimage.c
    trunk/grub2/util/ieee1275/grub-install.in

Added Paths:
-----------
    trunk/grub2/include/grub/i386/kernel.h
    trunk/grub2/include/grub/powerpc/kernel.h

Modified: trunk/grub2/DISTLIST
===================================================================
--- trunk/grub2/DISTLIST	2008-08-14 18:46:47 UTC (rev 1805)
+++ trunk/grub2/DISTLIST	2008-08-14 18:59:33 UTC (rev 1806)
@@ -142,6 +142,7 @@
 include/grub/i386/ieee1275/memory.h
 include/grub/i386/ieee1275/serial.h
 include/grub/i386/io.h
+include/grub/i386/kernel.h
 include/grub/i386/linux.h
 include/grub/i386/loader.h
 include/grub/i386/pc/biosdisk.h
@@ -190,6 +191,7 @@
 include/grub/powerpc/ieee1275/loader.h
 include/grub/powerpc/ieee1275/time.h
 include/grub/powerpc/ieee1275/util/biosdisk.h
+include/grub/powerpc/kernel.h
 include/grub/powerpc/libgcc.h
 include/grub/powerpc/setjmp.h
 include/grub/powerpc/time.h

Modified: trunk/grub2/conf/common.rmk
===================================================================
--- trunk/grub2/conf/common.rmk	2008-08-14 18:46:47 UTC (rev 1805)
+++ trunk/grub2/conf/common.rmk	2008-08-14 18:59:33 UTC (rev 1806)
@@ -1,5 +1,11 @@
 # -*- makefile -*-
 
+# For grub-mkelfimage.
+bin_UTILITIES += grub-mkelfimage
+grub_mkelfimage_SOURCES = util/elf/grub-mkimage.c util/misc.c \
+	util/resolve.c
+util/elf/grub-mkimage.c_DEPENDENCIES = Makefile
+
 # For grub-probe.
 sbin_UTILITIES += grub-probe
 util/grub-probe.c_DEPENDENCIES = grub_probe_init.h

Modified: trunk/grub2/conf/i386-coreboot.rmk
===================================================================
--- trunk/grub2/conf/i386-coreboot.rmk	2008-08-14 18:46:47 UTC (rev 1805)
+++ trunk/grub2/conf/i386-coreboot.rmk	2008-08-14 18:59:33 UTC (rev 1806)
@@ -45,18 +45,11 @@
 	/bin/sh genkernsyms.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1)
 
 # Utilities.
-bin_UTILITIES = grub-mkimage
 sbin_UTILITIES = grub-mkdevicemap
 ifeq ($(enable_grub_emu), yes)
 sbin_UTILITIES += grub-emu
 endif
 
-# For grub-mkimage.
-grub_mkimage_SOURCES = util/elf/grub-mkimage.c util/misc.c \
-	util/resolve.c
-grub_mkimage_LDFLAGS = $(LIBLZO)
-util/elf/grub-mkimage.c_DEPENDENCIES = Makefile
-
 # For grub-mkdevicemap.
 grub_mkdevicemap_SOURCES = util/grub-mkdevicemap.c util/misc.c		\
 	util/i386/get_disk_name.c

Modified: trunk/grub2/conf/i386-ieee1275.rmk
===================================================================
--- trunk/grub2/conf/i386-ieee1275.rmk	2008-08-14 18:46:47 UTC (rev 1805)
+++ trunk/grub2/conf/i386-ieee1275.rmk	2008-08-14 18:59:33 UTC (rev 1806)
@@ -42,18 +42,11 @@
 	/bin/sh genkernsyms.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1)
 
 # Utilities.
-bin_UTILITIES = grub-mkimage
 sbin_UTILITIES = grub-mkdevicemap
 ifeq ($(enable_grub_emu), yes)
 sbin_UTILITIES += grub-emu
 endif
 
-# For grub-mkimage.
-grub_mkimage_SOURCES = util/elf/grub-mkimage.c util/misc.c \
-	util/resolve.c
-grub_mkimage_LDFLAGS = $(LIBLZO)
-util/elf/grub-mkimage.c_DEPENDENCIES = Makefile
-
 # For grub-mkdevicemap.
 grub_mkdevicemap_SOURCES = util/grub-mkdevicemap.c util/misc.c		\
 	util/i386/get_disk_name.c

Modified: trunk/grub2/conf/powerpc-ieee1275.rmk
===================================================================
--- trunk/grub2/conf/powerpc-ieee1275.rmk	2008-08-14 18:46:47 UTC (rev 1805)
+++ trunk/grub2/conf/powerpc-ieee1275.rmk	2008-08-14 18:59:33 UTC (rev 1806)
@@ -28,17 +28,11 @@
 pkglib_PROGRAMS = kernel.elf
 
 # Utilities.
-bin_UTILITIES = grub-mkimage
 sbin_UTILITIES = grub-mkdevicemap
 ifeq ($(enable_grub_emu), yes)
 sbin_UTILITIES += grub-emu
 endif
  
-# For grub-mkimage.
-grub_mkimage_SOURCES = util/elf/grub-mkimage.c util/misc.c \
-        util/resolve.c 
-util/elf/grub-mkimage.c_DEPENDENCIES = Makefile
-
 # For grub-mkdevicemap.
 grub_mkdevicemap_SOURCES = util/grub-mkdevicemap.c util/misc.c		\
 	util/ieee1275/get_disk_name.c

Modified: trunk/grub2/include/grub/i386/coreboot/kernel.h
===================================================================
--- trunk/grub2/include/grub/i386/coreboot/kernel.h	2008-08-14 18:46:47 UTC (rev 1805)
+++ trunk/grub2/include/grub/i386/coreboot/kernel.h	2008-08-14 18:59:33 UTC (rev 1806)
@@ -21,16 +21,8 @@
 
 #include <grub/symbol.h>
 
-#define GRUB_MOD_ALIGN 0x1000
-
-/* Non-zero value is only needed for some IEEE-1275 platforms.  */
-#define GRUB_MOD_GAP 0
-
 #ifndef ASM_FILE
 extern char grub_prefix[];
 #endif
 
-#define GRUB_KERNEL_MACHINE_PREFIX	0x2
-#define GRUB_KERNEL_MACHINE_DATA_END	0x42
-
 #endif /* ! GRUB_KERNEL_MACHINE_HEADER */

Modified: trunk/grub2/include/grub/i386/ieee1275/kernel.h
===================================================================
--- trunk/grub2/include/grub/i386/ieee1275/kernel.h	2008-08-14 18:46:47 UTC (rev 1805)
+++ trunk/grub2/include/grub/i386/ieee1275/kernel.h	2008-08-14 18:59:33 UTC (rev 1806)
@@ -1,4 +1 @@
 #include <grub/powerpc/ieee1275/kernel.h>
-
-#define GRUB_KERNEL_MACHINE_PREFIX	0x2
-#define GRUB_KERNEL_MACHINE_DATA_END	0x42

Added: trunk/grub2/include/grub/i386/kernel.h
===================================================================
--- trunk/grub2/include/grub/i386/kernel.h	                        (rev 0)
+++ trunk/grub2/include/grub/i386/kernel.h	2008-08-14 18:59:33 UTC (rev 1806)
@@ -0,0 +1,30 @@
+/*
+ *  GRUB  --  GRand Unified Bootloader
+ *  Copyright (C) 2005,2006,2007,2008  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
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  GRUB is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef GRUB_KERNEL_CPU_HEADER
+#define GRUB_KERNEL_CPU_HEADER	1
+
+#define GRUB_MOD_ALIGN 0x1000
+
+/* Non-zero value is only needed for PowerMacs.  */
+#define GRUB_MOD_GAP 0x0
+
+#define GRUB_KERNEL_CPU_PREFIX	0x2
+#define GRUB_KERNEL_CPU_DATA_END	0x42
+
+#endif

Modified: trunk/grub2/include/grub/powerpc/ieee1275/kernel.h
===================================================================
--- trunk/grub2/include/grub/powerpc/ieee1275/kernel.h	2008-08-14 18:46:47 UTC (rev 1805)
+++ trunk/grub2/include/grub/powerpc/ieee1275/kernel.h	2008-08-14 18:59:33 UTC (rev 1806)
@@ -21,13 +21,6 @@
 
 #include <grub/symbol.h>
 
-#define GRUB_MOD_ALIGN 0x1000
-
-/* Minimal gap between _end and the start of the modules.  It's a hack
-   for PowerMac to prevent "CLAIM failed" error.  The real fix is to
-   rewrite grub-mkimage to generate valid ELF files.  */
-#define GRUB_MOD_GAP 0x8000
-
 #ifndef ASM_FILE
 
 void EXPORT_FUNC (grub_reboot) (void);

Added: trunk/grub2/include/grub/powerpc/kernel.h
===================================================================
--- trunk/grub2/include/grub/powerpc/kernel.h	                        (rev 0)
+++ trunk/grub2/include/grub/powerpc/kernel.h	2008-08-14 18:59:33 UTC (rev 1806)
@@ -0,0 +1,33 @@
+/*
+ *  GRUB  --  GRand Unified Bootloader
+ *  Copyright (C) 2005,2006,2007,2008  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
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  GRUB is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef GRUB_KERNEL_CPU_HEADER
+#define GRUB_KERNEL_CPU_HEADER	1
+
+#define GRUB_MOD_ALIGN 0x1000
+
+/* Minimal gap between _end and the start of the modules.  It's a hack
+   for PowerMac to prevent "CLAIM failed" error.  The real fix is to
+   rewrite grub-mkimage to generate valid ELF files.  */
+#define GRUB_MOD_GAP 0x8000
+
+/* prefix not supported on powerpc yet.  */
+#define GRUB_KERNEL_CPU_PREFIX	0
+#define GRUB_KERNEL_CPU_DATA_END	0
+
+#endif

Modified: trunk/grub2/kern/i386/coreboot/init.c
===================================================================
--- trunk/grub2/kern/i386/coreboot/init.c	2008-08-14 18:46:47 UTC (rev 1805)
+++ trunk/grub2/kern/i386/coreboot/init.c	2008-08-14 18:59:33 UTC (rev 1806)
@@ -33,6 +33,7 @@
 #include <grub/time.h>
 #include <grub/symbol.h>
 #include <grub/cpu/io.h>
+#include <grub/cpu/kernel.h>
 
 #define GRUB_FLOPPY_REG_DIGITAL_OUTPUT		0x3f2
 

Modified: trunk/grub2/kern/i386/coreboot/startup.S
===================================================================
--- trunk/grub2/kern/i386/coreboot/startup.S	2008-08-14 18:46:47 UTC (rev 1805)
+++ trunk/grub2/kern/i386/coreboot/startup.S	2008-08-14 18:59:33 UTC (rev 1806)
@@ -19,9 +19,9 @@
 #define ASM_FILE	1
 
 #include <grub/symbol.h>
-#include <grub/machine/kernel.h>
 #include <grub/machine/memory.h>
 #include <grub/cpu/linux.h>
+#include <grub/cpu/kernel.h>
 #include <multiboot.h>
 #include <multiboot2.h>
 
@@ -44,7 +44,7 @@
 	 *  This is a special data area at a fixed offset from the beginning.
 	 */
 
-	. = EXT_C(start) + GRUB_KERNEL_MACHINE_PREFIX
+	. = EXT_C(start) + GRUB_KERNEL_CPU_PREFIX
 
 VARIABLE(grub_prefix)
 	/* to be filled by grub-mkimage */
@@ -53,7 +53,7 @@
 	 *  Leave some breathing room for the prefix.
 	 */
 
-	. = EXT_C(start) + GRUB_KERNEL_MACHINE_DATA_END
+	. = EXT_C(start) + GRUB_KERNEL_CPU_DATA_END
 
 #if 0
 /*

Modified: trunk/grub2/kern/i386/ieee1275/startup.S
===================================================================
--- trunk/grub2/kern/i386/ieee1275/startup.S	2008-08-14 18:46:47 UTC (rev 1805)
+++ trunk/grub2/kern/i386/ieee1275/startup.S	2008-08-14 18:59:33 UTC (rev 1806)
@@ -19,9 +19,9 @@
 #define ASM_FILE	1
 
 #include <grub/symbol.h>
-#include <grub/machine/kernel.h>
 #include <grub/machine/memory.h>
 #include <grub/cpu/linux.h>
+#include <grub/cpu/kernel.h>
 #include <multiboot.h>
 #include <multiboot2.h>
 
@@ -45,7 +45,7 @@
 	 *  This is a special data area at a fixed offset from the beginning.
 	 */
 
-	. = EXT_C(start) + GRUB_KERNEL_MACHINE_PREFIX
+	. = EXT_C(start) + GRUB_KERNEL_CPU_PREFIX
 
 VARIABLE(grub_prefix)
 	/* to be filled by grub-mkimage */
@@ -54,7 +54,7 @@
 	 *  Leave some breathing room for the prefix.
 	 */
 
-	. = EXT_C(start) + GRUB_KERNEL_MACHINE_DATA_END
+	. = EXT_C(start) + GRUB_KERNEL_CPU_DATA_END
 
 codestart:
 	movl %eax, EXT_C(grub_ieee1275_entry_fn)

Modified: trunk/grub2/kern/ieee1275/init.c
===================================================================
--- trunk/grub2/kern/ieee1275/init.c	2008-08-14 18:46:47 UTC (rev 1805)
+++ trunk/grub2/kern/ieee1275/init.c	2008-08-14 18:59:33 UTC (rev 1806)
@@ -30,6 +30,7 @@
 #include <grub/time.h>
 #include <grub/machine/console.h>
 #include <grub/machine/kernel.h>
+#include <grub/cpu/kernel.h>
 #include <grub/ieee1275/ofdisk.h>
 #include <grub/ieee1275/ieee1275.h>
 

Modified: trunk/grub2/util/elf/grub-mkimage.c
===================================================================
--- trunk/grub2/util/elf/grub-mkimage.c	2008-08-14 18:46:47 UTC (rev 1805)
+++ trunk/grub2/util/elf/grub-mkimage.c	2008-08-14 18:59:33 UTC (rev 1806)
@@ -30,7 +30,7 @@
 #include <grub/util/misc.h>
 #include <grub/util/resolve.h>
 #include <grub/kernel.h>
-#include <grub/machine/kernel.h>
+#include <grub/cpu/kernel.h>
 
 #define GRUB_IEEE1275_NOTE_NAME "PowerPC"
 #define GRUB_IEEE1275_NOTE_TYPE 0x1275
@@ -297,9 +297,9 @@
 
   if (prefix)
     {
-      if (GRUB_KERNEL_MACHINE_PREFIX + strlen (prefix) + 1 > GRUB_KERNEL_MACHINE_DATA_END)
+      if (GRUB_KERNEL_CPU_PREFIX + strlen (prefix) + 1 > GRUB_KERNEL_CPU_DATA_END)
         grub_util_error ("prefix too long");
-      grub_util_write_image_at (prefix, strlen (prefix) + 1, first_segment + GRUB_KERNEL_MACHINE_PREFIX, out);
+      grub_util_write_image_at (prefix, strlen (prefix) + 1, first_segment + GRUB_KERNEL_CPU_PREFIX, out);
     }
 
   free (phdrs);

Modified: trunk/grub2/util/ieee1275/grub-install.in
===================================================================
--- trunk/grub2/util/ieee1275/grub-install.in	2008-08-14 18:46:47 UTC (rev 1805)
+++ trunk/grub2/util/ieee1275/grub-install.in	2008-08-14 18:59:33 UTC (rev 1806)
@@ -34,7 +34,7 @@
 platform=@platform@
 pkglibdir=${libdir}/`echo ${PACKAGE_TARNAME}/${target_cpu}-${platform} | sed ${transform}`
 
-grub_mkimage=${bindir}/`echo grub-mkimage | sed ${transform}`
+grub_mkimage=${bindir}/`echo grub-mkelfimage | sed ${transform}`
 grub_mkdevicemap=${sbindir}/`echo grub-mkdevicemap | sed ${transform}`
 grub_probe=${sbindir}/`echo grub-probe | sed ${transform}`
 rootdir=
@@ -182,7 +182,7 @@
 modules="$modules $fs_module $partmap_module $devabstraction_module"
 
 # Now perform the installation.
-"$grub_mkimage" --output=${grubdir}/grub $modules || exit 1
+"$grub_mkimage" --directory=${pkglibdir} --output=${grubdir}/grub $modules || exit 1
 
 if test $update_nvram = yes; then
     set $ofpathname dummy
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.