Updated for cygwin build.



-- 
bvk.chaitanya
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: chaita...@personal-lr2wsx-20100528000431-\
#   qeo8qbb74n92rutd
# target_branch: ../mainline/
# testament_sha1: 0d5c612d935b7c6f116130b4c15d715c0d36958c
# timestamp: 2010-05-27 22:34:44 +0530
# base_revision_id: bvk.gro...@gmail.com-20100525125446-\
#   db1ym880qz05yxpg
# 
# Begin patch
=== modified file 'Makefile.in'
--- Makefile.in	2010-05-18 11:55:26 +0000
+++ Makefile.in	2010-05-25 10:39:03 +0000
@@ -44,7 +44,6 @@
 
 # Internationalization library.
 LIBINTL = @LIBINTL@
-TARGET_NO_MODULES = @TARGET_NO_MODULES@
 
 # Util library.
 LIBUTIL = @LIBUTIL@
@@ -187,17 +186,10 @@
 -include $(wildcard $(GRUB_CONTRIB)/*/conf/common.mk)
 endif
 
-ifeq ($(TARGET_NO_MODULES), yes)
-	TARGET_CFLAGS += -DGRUB_TARGET_NO_MODULES=1
-	CFLAGS += -DGRUB_TARGET_NO_MODULES=1
-endif
-
 ### General targets.
 
 CLEANFILES += $(pkglib_DATA) $(pkgdata_DATA) po/*.mo
-ifneq ($(TARGET_NO_MODULES), yes)
 pkglib_DATA += moddep.lst command.lst fs.lst partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst
-endif
 moddep.lst: $(DEFSYMFILES) $(UNDSYMFILES) genmoddep.awk
 	cat $(DEFSYMFILES) /dev/null \
 	  | $(AWK) -f $(srcdir)/genmoddep.awk $(UNDSYMFILES) > $@ \
@@ -298,7 +290,7 @@
 	) > $@
 pkglib_BUILDDIR += config.h grub_script.tab.h
 
-all-local: $(PROGRAMS) $(GRUB_EMU) $(PKGLIB) $(PKGDATA) $(SCRIPTS) $(INFOS) $(MKFILES) $(foreach lang, $(LINGUAS), po/$(lang).mo)
+all-local: $(PROGRAMS) $(GRUB_EMU) $(GRUB_EMU_LITE) $(PKGLIB) $(PKGDATA) $(SCRIPTS) $(INFOS) $(MKFILES) $(foreach lang, $(LINGUAS), po/$(lang).mo)
 
 install: install-local
 
@@ -319,7 +311,7 @@
 	  $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(pkgdatadir)/$$dest; \
 	done
 	$(SHELL) $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1
-	@list='$(bin_UTILITIES) $(GRUB_EMU)'; for file in $$list; do \
+	@list='$(bin_UTILITIES) $(GRUB_EMU) $(GRUB_EMU_LITE)'; for file in $$list; do \
 	  if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
 	  dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
 	  $(INSTALL_PROGRAM) $$dir$$file $(DESTDIR)$(bindir)/$$dest; \
@@ -395,7 +387,7 @@
 	  dest="`echo $$file | sed 's,.*/,,'`"; \
 	  rm -f $(DESTDIR)$(pkgdatadir)/$$dest; \
 	done
-	@list='$(bin_UTILITIES) $(bin_SCRIPTS) $(GRUB_EMU)'; for file in $$list; do \
+	@list='$(bin_UTILITIES) $(bin_SCRIPTS) $(GRUB_EMU) $(GRUB_EMU_LITE)'; for file in $$list; do \
 	  dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
 	  rm -f $(DESTDIR)$(bindir)/$$dest; \
 	  rm -f $(DESTDIR)$(mandir)/man1/$$dest.1; \

=== modified file 'commands/parttool.c'
--- commands/parttool.c	2010-05-03 11:17:12 +0000
+++ commands/parttool.c	2010-05-04 04:17:48 +0000
@@ -175,7 +175,7 @@
     }
 
   /* Load modules. */
-#if !GRUB_NO_MODULES
+  if (! grub_no_autoload)
   {
     const char *prefix;
     prefix = grub_env_get ("prefix");
@@ -233,7 +233,6 @@
     /* Ignore errors.  */
     grub_errno = GRUB_ERR_NONE;
   }
-#endif
 
   if (argc == 1)
     return show_help ();

=== modified file 'conf/any-emu.rmk'
--- conf/any-emu.rmk	2010-05-06 03:15:39 +0000
+++ conf/any-emu.rmk	2010-05-28 00:04:31 +0000
@@ -1,6 +1,9 @@
 # -*- makefile -*-
 
-COMMON_CFLAGS += -nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)
+ifeq ($(target_cpu), sparc64)
+COMMON_CFLAGS += -mno-app-regs
+COMMON_LDFLAGS += -mno-relax
+endif
 
 kernel_img_RELOCATABLE = yes
 pkglib_PROGRAMS = kernel.img
@@ -20,17 +23,6 @@
 kernel_img_LDFLAGS = $(COMMON_LDFLAGS)
 TARGET_NO_STRIP = yes
 
-ifneq ($(TARGET_NO_MODULES), yes)
-kernel_img_SOURCES += symlist.c kern/$(target_cpu)/dl.c
-ifneq ($(target_cpu), i386)
-ifneq ($(target_cpu), x86_64)
-kernel_img_SOURCES += kern/$(target_cpu)/cache.S
-endif
-endif
-else
-kernel_img_SOURCES += grub_emu_init.c
-endif
-
 # For halt.mod.
 pkglib_MODULES += halt.mod
 halt_mod_SOURCES = commands/halt.c
@@ -45,6 +37,9 @@
 endif
 
 grub_emu_LDFLAGS = $(LIBCURSES)
+ifeq ($(target_cpu), sparc64)
+grub_emu_LDFLAGS += -m64 -melf64_sparc -mno-relax
+endif
 
 ifeq ($(enable_grub_emu_usb), yes)
 kernel_img_HEADERS += libusb.h
@@ -102,13 +97,32 @@
 	rm -f $@; echo $(pkglib_MODULES) | sh $(srcdir)/genemuinit.sh $(NM) > $@
 DISTCLEANFILES += grub_emu_init.c
 
+grub_emu_init.o: grub_emu_init.c grub_emu_init.h
+	rm -f $@; $(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -DGRUB_FILE=\"grub_init.c\" -c -o $@ $<
+CLEANFILES += grub_emu_init.o
+
+kern_emu_lite.o: kern/emu/lite.c
+	$(TARGET_CC) $(COMMON_CFLAGS) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -DGRUB_FILE=\"kern/emu/lite.c\" -c -o $@ $<
+CLEANFILES += kern_emu_lite.o
+
+kern_emu_full.o: kern/emu/full.c
+	$(TARGET_CC) $(COMMON_CFLAGS) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -DGRUB_FILE=\"kern/emu/full.c\" -c -o $@ $<
+CLEANFILES += kern_emu_full.o
+
+kern_emu_cache.o: kern/emu/cache.S
+	$(TARGET_CC) $(COMMON_CFLAGS) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(TARGET_ASFLAGS) -DGRUB_FILE=\"kern/emu/cache.S\" -c -o $@ $<
+CLEANFILES += kern_emu_cache.o
+
+symlist.o: symlist.c
+	$(TARGET_CC) $(COMMON_CFLAGS) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -DGRUB_FILE=\"symlist.c\" -c -o $@ $<
+CLEANFILES += symlist.o
+
+CLEANFILES += grub-emu-lite
+grub-emu-lite: kern_emu_lite.o kern_emu_cache.o symlist.o kernel.img
+	$(CC) -o $@ $^ $(grub_emu_LDFLAGS) $(LDFLAGS)
+GRUB_EMU_LITE=grub-emu-lite
+
 CLEANFILES += grub-emu
-ifneq ($(TARGET_NO_MODULES), yes)
-grub-emu: $(pkglib_PROGRAMS)
-	$(CC) -o $@ $^ $(grub_emu_LDFLAGS) $(LDFLAGS)
-else
-grub-emu: $(pkglib_MODULES) $(pkglib_PROGRAMS)
-	$(CC) -o $@ $^ $(grub_emu_LDFLAGS) $(LDFLAGS)
-endif
+grub-emu: $(PREMODFILES) kern_emu_full.o grub_emu_init.o kernel.img
+	$(CC) -o $@ $^ $(grub_emu_LDFLAGS) $(LDFLAGS)
 GRUB_EMU=grub-emu
-

=== modified file 'configure.ac'
--- configure.ac	2010-05-18 11:33:35 +0000
+++ configure.ac	2010-05-26 11:23:43 +0000
@@ -54,14 +54,12 @@
   amd64)	target_cpu=x86_64 ;;
   sparc)	target_cpu=sparc64 ;;
   mipsel|mips64el)
-                target_cpu=mips;    
-		TARGET_CFLAGS="$TARGET_CFLAGS -DGRUB_CPU_MIPSEL=1"; 
-		CFLAGS="$CFLAGS -DGRUB_CPU_MIPSEL=1";
+                target_cpu=mips;
+		cpu_CPPFLAGS="-DGRUB_CPU_MIPSEL=1";
 		;;
   mips|mips64)
-                target_cpu=mips;    
-		TARGET_CFLAGS="$TARGET_CFLAGS -DGRUB_CPU_MIPS=1"; 
-		CFLAGS="$CFLAGS -DGRUB_CPU_MIPS=1";
+                target_cpu=mips;
+		cpu_CPPFLAGS="-DGRUB_CPU_MIPS=1";
 		;;
 esac
 
@@ -136,25 +134,29 @@
 esac
 
 case "$platform" in
-  coreboot)	machine_CFLAGS="-DGRUB_MACHINE_COREBOOT=1" ;;
-  multiboot)	machine_CFLAGS="-DGRUB_MACHINE_MULTIBOOT=1" ;;
-  efi)		machine_CFLAGS="-DGRUB_MACHINE_EFI=1" ;;
-  ieee1275)	machine_CFLAGS="-DGRUB_MACHINE_IEEE1275=1" ;;
-  qemu)		machine_CFLAGS="-DGRUB_MACHINE_QEMU=1" ;;
-  pc)		machine_CFLAGS="-DGRUB_MACHINE_PCBIOS=1" ;;
-  emu)		machine_CFLAGS="-DGRUB_MACHINE_EMU=1" ;;
-  yeeloong)	machine_CFLAGS="-DGRUB_MACHINE_MIPS_YEELOONG=1 -DGRUB_MACHINE_MIPS_BONITO=1" ;;
-  qemu-mips)	machine_CFLAGS="-DGRUB_MACHINE_MIPS_QEMU_MIPS=1 -DGRUB_MACHINE_MIPS_BONITO=1" ;;
+  coreboot)	machine_CPPFLAGS="-DGRUB_MACHINE_COREBOOT=1" ;;
+  multiboot)	machine_CPPFLAGS="-DGRUB_MACHINE_MULTIBOOT=1" ;;
+  efi)		machine_CPPFLAGS="-DGRUB_MACHINE_EFI=1" ;;
+  ieee1275)	machine_CPPFLAGS="-DGRUB_MACHINE_IEEE1275=1" ;;
+  qemu)		machine_CPPFLAGS="-DGRUB_MACHINE_QEMU=1" ;;
+  pc)		machine_CPPFLAGS="-DGRUB_MACHINE_PCBIOS=1" ;;
+  emu)		machine_CPPFLAGS="-DGRUB_MACHINE_EMU=1" ;;
+  yeeloong)	machine_CPPFLAGS="-DGRUB_MACHINE_MIPS_YEELOONG=1 -DGRUB_MACHINE_MIPS_BONITO=1" ;;
+  qemu-mips)	machine_CPPFLAGS="-DGRUB_MACHINE_MIPS_QEMU_MIPS=1 -DGRUB_MACHINE_MIPS_BONITO=1" ;;
 esac
 case "$target_cpu" in
-  mips)      	machine_CFLAGS="$machine_CFLAGS -DGRUB_MACHINE_MIPS=1" ;;
-  sparc64)      machine_CFLAGS="$machine_CFLAGS -DGRUB_MACHINE_SPARC64=1" ;;
+  i386)         cpu_CPPFLAGS="$cpu_CPPFLAGS -DGRUB_CPU_I386";;
+  x86_64)       cpu_CPPFLAGS="$cpu_CPPFLAGS -DGRUB_CPU_X86_64";;
+  powerpc)      cpu_CPPFLAGS="$cpu_CPPFLAGS -DGRUB_CPU_POWERPC";;
+  mips)      	machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_MIPS=1" ;; # cpu_CPPFLAGS handled above
+  sparc64)      cpu_CPPFLAGS="$cpu_CPPFLAGS -DGRUB_CPU_SPARC64";
+                machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_SPARC64=1" ;;
 esac
-machine_CFLAGS="$machine_CFLAGS -DMACHINE=`echo ${target_cpu}_$platform | sed y,abcdefghijklmnopqrstuvwxyz,ABCDEFGHIJKLMNOPQRSTUVWXYZ,`"
+machine_CPPFLAGS="$machine_CPPFLAGS -DMACHINE=`echo ${target_cpu}_$platform | sed y,abcdefghijklmnopqrstuvwxyz,ABCDEFGHIJKLMNOPQRSTUVWXYZ,`"
 
-CFLAGS="$CFLAGS $machine_CFLAGS"
-TARGET_ASFLAGS="$TARGET_ASFLAGS $machine_CFLAGS"
-TARGET_CFLAGS="$TARGET_CFLAGS $machine_CFLAGS"
+CPPFLAGS="$CPPFLAGS $cpu_CPPFLAGS $machine_CPPFLAGS"
+TARGET_ASFLAGS="$TARGET_ASFLAGS $cpu_CPPFLAGS $machine_CPPFLAGS"
+TARGET_CFLAGS="$TARGET_CFLAGS $cpu_CPPFLAGS $machine_CPPFLAGS"
 
 AC_SUBST(host_cpu)
 AC_SUBST(host_os)
@@ -609,10 +611,6 @@
 	      [AS_HELP_STRING([--enable-grub-emu-pci],
                              [build and install the `grub-emu' debugging utility with PCI support (potentially dangerous) (default=no)])])
 
-AC_ARG_ENABLE([grub-emu-modules],
-	      [AS_HELP_STRING([--enable-grub-emu-modules],
-                             [Support module loading in `grub-emu' debugging utility (default=no)])])
-
 if test "$platform" = emu; then
   missing_ncurses=
 [# Check for curses libraries.]
@@ -631,19 +629,6 @@
   AC_MSG_ERROR([grub-emu can't be compiled without ncurses])
 fi
 
-if test x"$enable_grub_emu_modules" = xyes ; then
-  TARGET_NO_MODULES=no
-else
-  TARGET_NO_MODULES=yes
-fi
-AC_SUBST(TARGET_NO_MODULES)
-
-if test "$TARGET_NO_MODULES" = yes ; then
-  # Do not convert modules, otherwise linkage may fail (Cygwin only).
-  # FIXME: Should be checked above before TARGET_OBJ2ELF is set first.
-  TARGET_OBJ2ELF=
-fi
-
 if test x"$enable_grub_emu_usb" = xno ; then
   grub_emu_usb_excuse="explicitly disabled"
 fi
@@ -837,11 +822,6 @@
 else
 echo PCI support for grub-emu: No "($grub_emu_pci_excuse)"
 fi
-if [ x"$TARGET_NO_MODULES" = xno ]; then
-echo Module support for grub-emu: Yes
-else
-echo Module support for grub-emu: No
-fi
 fi
 if [ x"$enable_mm_debug" = xyes ]; then
 echo With memory debugging: Yes

=== modified file 'genmk.rb'
--- genmk.rb	2010-04-09 23:25:46 +0000
+++ genmk.rb	2010-05-28 00:04:31 +0000
@@ -143,13 +143,6 @@
 MOSTLYCLEAN_MODULE_TARGETS += mostlyclean-module...@name}.#{@rule_count}
 UNDSYMFILES += #{undsym}
 
-ifeq ($(TARGET_NO_MODULES), yes)
-...@name}: #{pre_obj} $(TARGET_OBJ2ELF)
-	-rm -f $@
-	$(TARGET_CC) $(#{prefix}_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ #{pre_obj}
-	if test ! -z \"$(TARGET_OBJ2ELF)\"; then ./$(TARGET_OBJ2ELF) $@ || (rm -f $@; exit 1); fi
-	if test x$(TARGET_NO_STRIP) != xyes ; then $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -K _grub_mod_init -K _grub_mod_fini -R .note -R .comment $@; fi
-else
 ifneq ($(TARGET_APPLE_CC),1)
 #...@name}: #{pre_obj} #{mod_obj} $(TARGET_OBJ2ELF)
 	-rm -f $@
@@ -164,11 +157,11 @@
 	$(OBJCONV) -f$(TARGET_MODULE_FORMAT) -nr:_grub_mod_init:grub_mod_init -nr:_grub_mod_fini:grub_mod_fini -wd1106 -ew2030 -ew2050 -nu -nd $...@.bin $@
 	-rm -f $...@.bin
 endif
-endif
 
 #{pre_obj}: $(#{prefix}_DEPENDENCIES) #{objs_str}
 	-rm -f $@
 	$(TARGET_CC) $(#{prefix}_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ #{objs_str}
+PREMODFILES += #{pre_obj}
 
 #{mod_obj}: #{mod_src}
 	$(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(#{prefix}_CFLAGS) -DGRUB_FILE=\\\"#{mod_src}\\\" -c -o $@ $<

=== modified file 'include/grub/cache.h'
--- include/grub/cache.h	2010-02-06 23:52:31 +0000
+++ include/grub/cache.h	2010-05-26 04:26:59 +0000
@@ -23,7 +23,8 @@
 #include <grub/symbol.h>
 #include <grub/types.h>
 
-#if defined (__i386__) || defined (__x86_64__)
+#if defined (__i386__) || defined (__x86_64__) || \
+  (defined (GRUB_MACHINE_EMU) && GRUB_MACHINE_EMU)
 static inline void
 grub_arch_sync_caches (void *address __attribute__ ((unused)),
 		       grub_size_t len __attribute__ ((unused)))

=== modified file 'include/grub/dl.h'
--- include/grub/dl.h	2010-04-27 08:27:14 +0000
+++ include/grub/dl.h	2010-05-25 10:39:03 +0000
@@ -91,22 +91,17 @@
 int EXPORT_FUNC(grub_dl_unload) (grub_dl_t mod);
 void grub_dl_unload_unneeded (void);
 void grub_dl_unload_all (void);
-#if defined (GRUB_UTIL) || defined (GRUB_TARGET_NO_MODULES)
-#define GRUB_NO_MODULES 1
-#else
-#define GRUB_NO_MODULES 0
-#endif
 int EXPORT_FUNC(grub_dl_ref) (grub_dl_t mod);
 int EXPORT_FUNC(grub_dl_unref) (grub_dl_t mod);
 void EXPORT_FUNC(grub_dl_iterate) (int (*hook) (grub_dl_t mod));
 grub_dl_t EXPORT_FUNC(grub_dl_get) (const char *name);
-grub_err_t grub_dl_register_symbol (const char *name, void *addr,
-				    grub_dl_t mod);
+grub_err_t EXPORT_FUNC(grub_dl_register_symbol) (const char *name, void *addr,
+						 grub_dl_t mod);
 
 grub_err_t grub_arch_dl_check_header (void *ehdr);
 grub_err_t grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr);
 
-#if defined (_mips) && ! GRUB_NO_MODULES
+#if defined (_mips) && (! defined (GRUB_MACHINE_EMU) || ! GRUB_MACHINE_EMU)
 #define GRUB_LINKER_HAVE_INIT 1
 void grub_arch_dl_init_linker (void);
 #endif

=== modified file 'include/grub/emu/misc.h'
--- include/grub/emu/misc.h	2010-05-06 03:15:39 +0000
+++ include/grub/emu/misc.h	2010-05-26 04:28:23 +0000
@@ -23,6 +23,7 @@
 extern int verbosity;
 extern const char *program_name;
 
+void grub_emu_init (void);
 void grub_init_all (void);
 void grub_fini_all (void);
 
@@ -46,5 +47,6 @@
 #endif
 
 char * EXPORT_FUNC(xasprintf) (const char *fmt, ...);
+char * canonicalize_file_name (const char *path);
 
 #endif /* GRUB_EMU_MISC_H */

=== modified file 'include/grub/misc.h'
--- include/grub/misc.h	2010-04-11 19:24:21 +0000
+++ include/grub/misc.h	2010-05-04 04:17:48 +0000
@@ -50,6 +50,9 @@
 /* XXX: If grub_memmove is too slow, we must implement grub_memcpy.  */
 #define grub_memcpy(d,s,n)	grub_memmove ((d), (s), (n))
 
+/* Flag to control module autoloading in normal mode.  */
+extern int EXPORT_VAR(grub_no_autoload);
+
 void *EXPORT_FUNC(grub_memmove) (void *dest, const void *src, grub_size_t n);
 char *EXPORT_FUNC(grub_strcpy) (char *dest, const char *src);
 char *EXPORT_FUNC(grub_strncpy) (char *dest, const char *src, int c);

=== added file 'kern/emu/cache.S'
--- kern/emu/cache.S	1970-01-01 00:00:00 +0000
+++ kern/emu/cache.S	2010-05-06 06:08:35 +0000
@@ -0,0 +1,19 @@
+#ifndef GRUB_MACHINE_EMU
+#error "This source is only meant for grub-emu platform"
+#endif
+
+#if defined(GRUB_CPU_I386)
+/* Nothing is necessary.  */
+#elif defined(GRUB_CPU_X86_64)
+/* Nothing is necessary.  */
+#elif defined(GRUB_CPU_SPARC64)
+#include "../sparc64/cache.S"
+#elif defined(GRUB_CPU_MIPS)
+#include "../mips/cache.S"
+#elif defined(GRUB_CPU_MIPSEL)
+#include "../mips/cache.S"
+#elif defined(GRUB_CPU_POWERPC)
+#include "../powerpc/cache.S"
+#else
+#error "No target cpu type is defined"
+#endif

=== added file 'kern/emu/full.c'
--- kern/emu/full.c	1970-01-01 00:00:00 +0000
+++ kern/emu/full.c	2010-05-06 06:08:35 +0000
@@ -0,0 +1,50 @@
+/*
+ *  GRUB  --  GRand Unified Bootloader
+ *  Copyright (C) 2010  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/>.
+ */
+
+#include <config.h>
+#include <grub/dl.h>
+#include <grub/env.h>
+#include <grub/kernel.h>
+#include <grub/misc.h>
+#include <grub/emu/misc.h>
+
+void
+grub_register_exported_symbols (void)
+{
+}
+
+grub_err_t
+grub_arch_dl_check_header (void *ehdr)
+{
+  (void) ehdr;
+  return GRUB_ERR_BAD_MODULE;
+}
+
+grub_err_t
+grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr)
+{
+  (void) mod;
+  (void) ehdr;
+  return GRUB_ERR_BAD_MODULE;
+}
+
+void
+grub_emu_init (void)
+{
+  grub_no_autoload = 1;
+}

=== added file 'kern/emu/lite.c'
--- kern/emu/lite.c	1970-01-01 00:00:00 +0000
+++ kern/emu/lite.c	2010-05-06 06:08:35 +0000
@@ -0,0 +1,42 @@
+#include <config.h>
+#include <grub/emu/misc.h>
+
+#ifndef GRUB_MACHINE_EMU
+#error "This source is only meant for grub-emu platform"
+#endif
+
+#if defined(GRUB_CPU_I386)
+#include "../i386/dl.c"
+#elif defined(GRUB_CPU_X86_64)
+#include "../x86_64/dl.c"
+#elif defined(GRUB_CPU_SPARC64)
+#include "../sparc64/dl.c"
+#elif defined(GRUB_CPU_MIPS)
+#include "../mips/dl.c"
+#elif defined(GRUB_CPU_MIPSEL)
+#include "../mips/dl.c"
+#elif defined(GRUB_CPU_POWERPC)
+#include "../powerpc/dl.c"
+#else
+#error "No target cpu type is defined"
+#endif
+
+/* grub-emu-lite supports dynamic module loading, so it won't have any
+   embedded modules.  */
+void
+grub_init_all (void)
+{
+  return;
+}
+
+void
+grub_fini_all (void)
+{
+  return;
+}
+
+void
+grub_emu_init (void)
+{
+  return;
+}

=== modified file 'kern/emu/main.c'
--- kern/emu/main.c	2010-05-04 03:39:03 +0000
+++ kern/emu/main.c	2010-05-04 04:17:48 +0000
@@ -57,25 +57,6 @@
   return 0;
 }
 
-#if GRUB_NO_MODULES
-grub_err_t
-grub_arch_dl_check_header (void *ehdr)
-{
-  (void) ehdr;
-
-  return GRUB_ERR_BAD_MODULE;
-}
-
-grub_err_t
-grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr)
-{
-  (void) mod;
-  (void) ehdr;
-
-  return GRUB_ERR_BAD_MODULE;
-}
-#endif
-
 void
 grub_reboot (void)
 {
@@ -154,10 +135,7 @@
 void grub_hostfs_fini (void);
 void grub_host_init (void);
 void grub_host_fini (void);
-#if GRUB_NO_MODULES
-void grub_init_all (void);
-void grub_fini_all (void);
-#endif
+void grub_emu_init (void);
 
 int
 main (int argc, char *argv[])
@@ -216,6 +194,7 @@
     }
 
   signal (SIGINT, SIG_IGN);
+  grub_emu_init ();
   grub_console_init ();
   grub_host_init ();
   grub_hostfs_init ();
@@ -223,9 +202,7 @@
   /* XXX: This is a bit unportable.  */
   grub_util_biosdisk_init (dev_map);
 
-#if GRUB_NO_MODULES
   grub_init_all ();
-#endif
 
   /* Make sure that there is a root device.  */
   if (! root_dev)
@@ -255,9 +232,7 @@
   if (setjmp (main_env) == 0)
     grub_main ();
 
-#if GRUB_NO_MODULES
   grub_fini_all ();
-#endif
   grub_hostfs_fini ();
   grub_host_fini ();
 
@@ -287,10 +262,3 @@
 }
 
 #endif
-
-#if GRUB_NO_MODULES
-void
-grub_register_exported_symbols (void)
-{
-}
-#endif

=== modified file 'kern/main.c'
--- kern/main.c	2010-05-01 19:32:23 +0000
+++ kern/main.c	2010-05-04 04:17:48 +0000
@@ -30,6 +30,8 @@
 #include <grub/reader.h>
 #include <grub/parser.h>
 
+int grub_no_autoload;
+
 void
 grub_module_iterate (int (*hook) (struct grub_module_header *header))
 {

=== modified file 'normal/main.c'
--- normal/main.c	2010-05-01 18:28:07 +0000
+++ normal/main.c	2010-05-04 04:17:48 +0000
@@ -476,10 +476,13 @@
 static void
 read_lists (const char *val)
 {
-  read_command_list (val);
-  read_fs_list (val);
-  read_crypto_list (val);
-  read_terminal_list (val);
+  if (! grub_no_autoload)
+    {
+      read_command_list (val);
+      read_fs_list (val);
+      read_crypto_list (val);
+      read_terminal_list (val);
+    }
 }
 
 static char *

=== modified file 'util/misc.c'
--- util/misc.c	2010-05-20 22:16:10 +0000
+++ util/misc.c	2010-05-26 04:28:23 +0000
@@ -185,12 +185,10 @@
 {
 }
 
-#if GRUB_NO_MODULES
 void
 grub_register_exported_symbols (void)
 {
 }
-#endif
 
 #ifdef __MINGW32__
 
@@ -214,14 +212,6 @@
 
 #endif
 
-#if !(defined (__i386__) || defined (__x86_64__)) && GRUB_NO_MODULES
-void
-grub_arch_sync_caches (void *address __attribute__ ((unused)),
-		       grub_size_t len __attribute__ ((unused)))
-{
-}
-#endif
-
 #ifdef __MINGW32__
 
 void sync (void)

# Begin bundle
IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWdXvZ1sAJu/fgFo0ff///3//
//X////+YC0HWve++19nn3sXADn19m897499mSfK52nu6aTnd3Zk7HXd9uSJfd73kK6YX1rvYuMl
1gV60CdGU7ve8ql7oX2o7myil107d4c9xuU3nnvEbzOVO9Zy16qwu6OOnoABQAAapQAo9A0gkiIB
AyDQJk0xTCelNT3pUflJ+qNlPSfqh6Gk0yD0PTU9KCUQAAQhE2qp+mqeppjT1IwAI0AGTRgAQYg1
PECKSU8am0o9TTQ0YNEwQMhkMEaYACMjCCQkEKCfqjJD9SaDammEAAAAGgAABoAiUQmRoCZBpoAC
NGiGk9TajQmNRtJiBoAGCSIBNAQaCNENSn7UAKBiDQADQAABpyTqVgGUywAwDksHGBiGHYfl7+/3
rkPh9ssx9y9PK/zGJLN2/obph09F+Y6WgzSTdNEHjBnI3ksttcEe6MfvIhc6AfNiWbzR+3PLJmv0
UDtnv63xaA2g6W/Lu4iMmOzI5PNhI46MjjeROQgaCmWB+BpJYEw/yJiGgcyJ+sjEX4C8113NPu5k
GF1i9hB3JBsHwjzhzJw91NSxwyebBQZNEYtfcvQvQhdcCK5XOxeJDitbPvuku1DvgSIWve59cO0N
ZxAFLNo82+0tyI3QuiAB+iOzvnjBSLvxb4rk4PFurdSIcoJymrbF6Y0nf8iLUwZ1q0gQVZXYRVhW
YUGHyVpwxrl5WKOOtLvkqnZg6mzRMwNXdhqYizg0oJ2stIYNsWE9xsjDrZGhZjZRucm2XMcDq702
01tm+xbDjSSXRPFknZOfTRttNt6JanKWYrFddj0UOqEf/RnFiWCDUlPdd3V9YUUdCKKsJxQmu6Aa
OCLrdZnQDVjgurFmy9WMjlM0tGQqLOxaGDJLaOrEkDWbU4NwW0dQB2zQ7S8Doge1FLSxgQgcIG8P
zV0wPnZSRtMkWkBkPl/Ts5gDtHP9P+yGkIRDvj+YhbAf5lXb6kdSVTnrShIF6Q8jabQMUtb8dEoY
WPURkUDIkrug1VHKkVrA2Q9hncR3/AO0+65EZLiQURekC8gSQgBQCRQkZCEZCSQkJCRkIQIQCBAk
kEkUkIRJCSEUJFIwd//So90S28oPsMlHZeJdYTG1GmgbSbBtoaF2+7axItNJZPuSPXhAbAsCPCxc
zjhGz1KWaVJaIOGRRdqJSdrUkWQJMYY6o4RwweXLCzaWtxqiBcjYLgoGQdVig53MAmlvb2oG+ciG
ogdzMhAx1EOFsiTAOpNkDq6ZxXAyqIjMsTOqhEEMGLSgbuXPSsoRAI7dokclDeYHotRy3oSaBFno
kBdA2mehEHBBaMYJwX0wVS5R2YWhhHCEuZGCVBSkYN1Q3XC4cLhgHYwsizbCW2K5L4tCtiNmKW42
wTCUypailJBrY3wmQcu8iLFSqyJds3QmAmiYB1PEHatwSg+czEqkZzWB8CQZwvnGbpyiDb3NgSOI
LEgxBawfj+UPghZspnm6KCRkwduU9m3aneTsTdXKqIUnhZvUZCz/1keg65CGYkm3MUd/T+09D36C
5plgv4t+moxdMIM3/Eaupu52+uIz+WXgwEg5cieJNSuHl3gnmKFVjue2/KcdTzZZMhf2NLgkBk+j
E+KK7SI4QjS95suqjl7q1prqjEYlJUJ45Wz2w/pEQOxv1qQ+1lTv8HqJBb1V5woxti6KCBeJ1adF
YgUjy677hG4JAxPZZGHTJb0iZGsZy0ZeI3m2sPx6hE/mTeOIMwzDMA0qoT+xGb1cePHi0fXx9JPx
noZoNM5LAs5rd62xqS6Q00mK+pe5Kxli00B9fv7xtqPyxdsCG7EcXJxbcfpkfHa9gw6vTLMlnVqq
WJP4tDWeh5h9jteJAgkgytGoiey0rfm41dvrHK8kz2Hupn4cQm3dIMfy83Nq+GvpfrWfoiIeQBUB
AwaP3zHDbopu2bu/Zp5LtDpYJGCC8IMYAkg0+YAEf2EQYEB/Ej+qPcRH3BEgfiRoH/k+gQMp5njV
cgnGIQaEEYsY/KnPWh9LuJkl/Pjnbr3fu0w/lwvO/72UNo/+2GMC3ijweRv4EyMdIlKhRXTB+b+3
88EpMKx2p9cUSXfIgml4WA0dzdcHV45g7OdWMkRN1cmc+OrfZQrm/p/77vwxObJCSSPxgygTPAjc
Ic6NTgbAtoG/5DYWhaNoCsgDCidoLuDKggA4ICgmE4Ag/wBcN/Mr++6SAx2iBwSrA7ROdrgu4IIT
xyfAgECMSF3tytUzNEypmEyjDmsALtpgAQxXm5AeoHmsVUvVjcoVEvaQJygnSoCyYBwPOtTHbHAC
7i5hoDIJBiSgCnrz6PtqMcOvqzgHvAL97BpriVtZCD3EkZmzuw7oVg451BMOqQFQrF5JBCFZDBDG
kkj/uwkIFbFjECBCAu2Ovaasg7jjeE4NwZmdnonEwggeCNPej27BINGn6jXd4YpGa4Cd3CSKSKSK
SEkCSKSEnIcNTmraYxkfZ5/D47lwY+RgsbV+eIhlEk0s29SXaRNpLO1BaxaOm0SI9DC8qi+9jx67
HwPgfDFx+VHKUQvmRiPrEUOyVZBC2CW5KC1iyBdFSsFpAC+F49GhKDEWYjVq7FtoM2BWOfeUYhOP
YyBWEFMoHbz1QRyRBXIDLjLz46C5VTObip6EdGAl0qIerirjbcwRVqFbcMa5kVEnTaxG8ES4Rorh
Vmzciw+F5sIlKkZOmQNy5G6pAEQi0gkjIqKbJcmxyKiVSvmAXiZxRSVAb5SBchQkGkEDEDGJMDA6
zNaXyAGoUIl7haLaomlIZACJMkJYhIhoYnAgFJkT71hJIwtaJpcFZJIkkiHHiWIzIMbY+lgomyOs
4UCY6rBYuRADbwDhQYKGzaFqDJTRHCMAJsks8CbFHJrSE8ltNJIJEwTgEMNB8MlmOQEkq1QKpGJG
RvvcoLO5caanYyzRHA2YwVSBIePIOLw2ljRIuRSiwaTPeYKvMVHDSpMEwCNIO4KuMkJGc0mBpMHM
IQPEP7g0JFALHFTW0V6U0+oPUHQZOZTRqliI8WqmMHLCWQoNKSi/QiKaBcjMnPVGsI2RlmZeGhsF
VoIpSfeqRcEb1gTtAAcE16xwcLt3BZEYoEknxZ7MY4MGGi4Lt0YER41BRQ7ZeDUQooGFAIUIUB7w
Hfm3mr1B3a9uzMliqGwK111oCuMlfhM012IiUScbtsDly+dJQxBbAqrgTJmIYwhyczfYeILNPI2Q
puKFF5EEToecO6IWX6dSCJPUNt/6g2ttqt2d2171hVi0b2Lut6Wd1FXThGEb4n2Zikn0yoJcqOS3
MzAIB1obnFnkR/bLoQINIByRo8JVNr014yeVEgiBsZiSU8UKuqo7DGDuywPbkfgC7AuRkacH9csy
+FYhHKMYla+DN0MwPLww52Gi5jZUaRuqaIMFAxIYlzeCvgqTOTvA8D7vqMSd1CwzveIiBkkESJbg
pAwVMkGjzROiA0VWeBPFzgDORMaKcnS1KOJkBiGBp8vJcePkznDEwi4VqCvl2GlbAoRCDwUm10cV
+QHKtaA3WihXYcNd0HDh8uxkMki24ncMHjHJQL3DI48IJgvp8KYko6DmfD5LrpwN4pTA7JL39+PP
XUX2pLwB2W5m3w4cOmVxy1cOsstcrleFRapUhpZQ0qG2kMdaZXDuhWrkNlmY2huFC04gVEB75fQ8
8HYtDtaJuCmkkF0BAdAkk5bHykRJjzk2FSRho5xkuQoi4UWTsjx5DkakxzEvYYkpwearAHKbVgJc
qTKEoXBEWSkgBR6lx5IYO29GwtRhJ5yWwStDrE1BTiWySAHzLTW2epoRoMZu6FDOUyOxNiWJYwJC
mjB9mhpEA2A7cIpJPaHTTog5KMlepSBaabWhqySimGMIMUANCogNZJAIj7p0dDxAxxtxsqjY9I2g
9xP3o1lCBCTC4oIwEtzw20WbW6U2BeQ+4iWROw6RQfLhMvc21OZJIArYxpV1AfJKMMTFyxcueNEk
ImzJJLSRXHexYyJlJORJmhlQahY0NSZoiEyFu7TBNR5EjE5iVMF22k4+XMLki40qRKYvCsixKc+s
yo+eHQksYFAF8C1BpAL1t6187seCe8FDYZB6C8nriWe8QxrBEbhpTWJsPS5fNa3rGyNYKwLTCVhK
wlskAXVElSrBYiyt0HKHNawVGAm/Yr5lykh71bBrA4HWYQYPR/rZrUlCKDBS5V1DAwZANrOkPPIJ
SBFQWx8jQqayiNCcLjoQlBrkyIuyRUoZUVNHdwUvEi+GfIpBKAYmWRyBPajDPrNJNEI4QnMg0UgD
xzHmx+o5LQAjYn590iWkqAcTHuYJ8qV0OZazVecFxG/2DdHcsTMCZwkjS0BTEm4HSVodaSll1xHJ
Fjprx48uSkUNHHwkYEA8LYc7SHS2LgwTJHNIlzRexnoeTJAEkyR6iyORTQc9DdhL7AK5hyttnxGP
R9YRfJ4adGabxnPk6ndoUZ5XQXh6He4FB1SJzcWJGC+SLXKAtmkylIF3FCUgWCFMClYo6kEggiO5
gIK2OA8kLO1gICQMdXvASSmX3ISZC0Lz3NunJeYiBEwVscQneTh0RvzlRAS7uj0aQ85gV4OIAl01
wUuBwP2SeC7KlRnYRh3KEUVMXiTHHRg5KiYuChdol9XYMYxUg9kTR5ho1XNkK7uxVY1CNU8Q7NTN
Wr0rAmbjI6wXLdRIpTxNhyV2Us8pldaZLV1YSChyhRKY4SGGJ/cCj2BWWlsZflrlgazKZ+p6FO49
ng4mkR5DeINQ1EMzQ5nOBAYqRY8eOR5TOzHk4WLm8WWg4BuTs8ZAGXIUJltUKo08gYPL2EyRjjN2
yIGDRncY68Zk6798kFgXYSxEHXL8PcNOhVg6+ebmLh9hWn3ewCRqnqbdzqApqnqGpExEHOtqUq1k
tnGMvFaVVxVw3quK+VqjQApJMC6MdofHiQRbwkq2Xr50O3aSBKwXHSSM9B9jueVDgVM+DcOnMAwo
JQs6AxbnYwjr8YmhxGQMHbdnN74a7W23hGA0LgFGHJOuQ7pCoy5j6kIMkJcpzMbbWWIfXjbpRUxP
dQUYNobVzdVVrQVQVUXlpc3u+U3Qx6D0Jx4FaSO6yJVGHAyBcYlBZ7Jq4yXad8U60j5DnSsWuZO/
pkxzvV6UiVJD7miSNCHOKUNByUlttTgoOMXitXJUxHc4DakCleMjAhU0fwL35Z4ZsbXSCxAeCQA5
mdnXA0qQMhlsbujFgvvsPExMJGZza7ehpjsSGNOxCZWriPvBG+CiwOuS2ifytJkblzBsqaeeqER4
02XmykloKcCvGEzDdlACa4JfNC8kZrNssBhlDnziWy4wzrQe06xUaWk8wtbDYlAZCMrxOTM3WCQx
Eibunm9mdRvQKRX1AiGEgUi8J8SCwZTRh1mAEFEh1eCSKerWgFyJVBqIhLsW0WOxmQlaAhRjQJRe
IHqKeCZF54JshPqCjxykxzJmX2FwQzEzdSxu+Dio64dy0lNn3fuKioxFVFOHBMWDWZUYRgZpmQxg
BFJWTuUGQGck7CAsZxeLxqhavnllu9hnBDJZeqniZtTUDjJTxkq/EzjiZIqcHDuSw+zipyPrWJcr
MkeBkpgE74OsYSh7xc3oRvWzJHmCdIFqkT5GXAsOQN9cq8FhUtsWm5fSKqNGEhwwewcnYzM3sqU5
HlhpcYSdDYtoZiWGbKYmsuhhkNKePD1APaoB4cqOOGczzYVqet39GDu/TVpJnZAa5zh850QfN0KP
SUItR8CUFLRnMpJ7rdpwdYXtYxUXYwMYK9udSYYwnRluS8n1IFq4iq2RABhfBJPX1wZ9SnB7Pwq3
uDQ4HWNQAHWUsPrqXuM1pUk0rMRAYF8lPfUDi5EsOs91h4+pOSbnEZoFvAgTFg2KbO1BzFFf1AkM
olKD5jBnR0DMDXF9FpB0y49dFEiYJQ8glRERIknZ0YGZ4KE2AnRAxgUzeVzJrtJ5ibUwTHiaDrIr
xSX9aDS2iHB/ORmVInPFBhNiUyZAxMoEhwzMXJFMXOIkDr5Aei8gtgJeaQB7iQfRraeee8o9mI+X
N5NDg4PWtosOrUXPWKy1d0WzT1CFMGtXto4NjZ02uUZHbZHGL4rASCcyDDAczYukXo+SMbDVr0NL
HMyJkU6C+DinVTvppOYxQtaDauszO4lQCMSMIRS3MzHPBLvsSIlklU2Mo1JrDzhkMmWbcDBuJMeQ
NyGuGkpg94q2Ls3EZnI8V/KPHHLUVEbguYIYM1P5B9pChfMMF5LoX4cyRsDgUmakyCNPguUtvWZY
0CJA58iL4QuR36fFI6grfEEp28GsDC40rAUoWiQ5NGGmRosGs+AgWIlBSgQIjluCPeUedz0MwIDb
Ht2cPFHlIFyec0mJaARfTqENJQDUjx8adQucHuxUA51d/uVP5vyBXYXduLsnrO62FeCwXBReMMlt
CVTmrzm+LvUpIGjKV9Fq7OrVF1OmUCNOcAsVWgdDHvlNlPSEDKjJJBYvIEBNyJxK7nta1nok6KK0
ZcoCIwV+rjFGFiRYqQOCD3/SAtAwJy2DuOefVgwbs6JRQkYiwWRCnD2NIDSvEqMRO+V0ijNQjFyA
wr8TMhgZPYos4J2YxdJnRVCCQJUMcRqk9PZc26tGVRrUQ5D3yHtLFx6RpqQgpyfa2pzus9reELTv
ouCAiCoWgZ6nVCoxooMucYNEpRKO2qj8QJUu8grz2UcWDsSJ3CRkiePGNGCeb9VaXucFI0RUT4iJ
wB8UvQSCcAePgJdGvMGZvfkY8wTiQcdkhw6QNoNlyolUssXSDZYtDlUoZAaAy8FVlkFYQKgUEkqQ
EBWM5YKqECpKuS0GA95xfI/AgbyBK1Q8yHZj9RQr/D1P1n4+CZoSEh+pIL+UUIsB/nQIEYQgfoFM
5gDzg0IkiwhJCSMkhGQhJAjqEo0Gg0ZoBkCRkZGQkCRkISiEogFIaKkYyCkY0A200MTEyGEzJRJP
j8sv2R73+vXK8ng1qW07saXtABkMh1h8/mpygdAdRFgikYoRgKn7j4IZktGH7m8UkdxhAQe9YRfq
88fP9kUCR83zfWj5OtTdyPiCxSCEECRZIQJAtP4n4ULtX3g/8YArXVj//HBf8OJK5kqbrCoBM6pp
W0ZCzogJWCJ3mrEXzx8TlU/ag0TE5XDZcuyygtd5ZffER11wCcSAL9LIbx5BAug2LjrPgJHMRCOI
Q2ZRyUL95fXl4DZYpxKEIhqDTiGimpCQQWxmImekJH+yy6qYbcBNpkZGRDlqVWLUopTkAQwo46Yq
cmcMdcCDHrESc8oJIxnDcS2IBuxXIfI39UKvM/T1CwCD02RowzDlkcBMk4zNxlIILrWeQbzFKQXJ
yiashYmkTkai1iejlx5YKXDMJCsDNNARRYlCaW61ET6ERGchEDfjTmPm9gXc7QB0ZYBxiAjkfoIx
C4CLeUyJcAtMBMoFqcTksHRzN5cxFCQkYDqwiYUk55vUygAZSfjFugQYpA10rGBJEys5Lc5UqwiC
ZER7QEicmMdYQCSIpTvhINFnUFXn8S/EZDsh2RxR1xcsMuwjE4ww0EihNcERYhssAA3b0s5thjNx
x1C0IyIG6zejrrkBuSQMBqwVEdE2tl/fIy/0jQeU4e5BSi0nHFc7RikCJp+xfFkCqUCjCIbgGwCM
YpZuCrmMjIWDAkMLtDDgesfPRYITiYjzdi0K1M1Qt+ekncH+ObMfgml/t0WpPuukHQMUjH8m2lt4
/w5DAS4b1ISi0UgSCRAkgyFRkNBJJYfltjMWZOYzMUQzOUysCQaZ0vFknIer19i594LxqpNv5vYq
hpj+U5wt3u8bm5zfWVn3/ZQTu958gkk9RSeyIkHgrmcCmgYgXSHgX9cqjR5w6Y0y4U0TNkzTzbvt
cWsdgyKZGyXGj4qRwWLjSQ9hU4eZnwLYucEBw5ZHEy7wqZKXSPHD7TMFhxovU1a1reiBmtxl8jTZ
cyRVxs2on42HGtKcnBIvye1j0939iImS/PSlT24ANKAH8aQfo9gsS2LjmxHmblJBEzO/+MpG455Y
XG2sMFCOBuNYliRPEI20fudywSGNpXBVsD2qraO0FR7oJ2InzaDaz+ITpQ3yefiezZ4bEKZAi6Cn
3hcEuM6uX2sMk+lTzHOKpCPeJxX9gkFxZNyDEfiOzACVADusxVXPwcFtrwiniCtKUriKaSZdn4AY
jmu5tlRIhjrBwcHEHxmN8qaFZecj+9LkSk1MWPB9Bc9z7zJRnE+nwXIjJkTI4pkdIuIFXl2MGHw+
Nmi0CvzGzQ8RSUmF4m7mSQ5xUClcEh53EQGECI81PXEyJg5Ao6IFixElp8EvdbgBy5sYYm2BxJHI
mKcgQC4o5TftybIJcmOuweKPObTwdi/Yn5dCYxGfV4JF0oOZguenjnRUyfJTY23cTZmnIV6LC6aO
cS5lUJBuxuDiCxUaJM+9ZAWglHehJslAdo4QIRCYKJAyIYQGQGoIZAaiTIDUQyJkQMiGESZAaiIU
YUSFKB+KnevNk+DeQ78U9qqDY2EgOlIjQN2/CvmWiFwkA4/YCFlsI9F8wOievpdgj8Zdc3t8vhQ+
LkSR7HzNBTXsYGJag5YiaHny/JJBNyMCmxTg4yKzZwPKUNpwkkgawPFiNKHqBgeXAJFaPFOFHaKk
hymiZYXklsgPWJiSCRMkSKYUuNwQKD5+AvGlTNT8YmT0FuzM31p39t/QfI4GLuWMjkPx59sW3OAx
clWBzZe3d8io51KFCRib417rqC73G8HG5QA+XnnTtoyHNDoacCg3IeumOgLYx7nRMX9fIqAedh0g
158i1yg2WguKVe5A4lAXDPgDB7iJeQyNxeFKHek/n4nn/kl7A/4JPlzQv+j1DGJFoDLK+VlwHIkk
IrW3pZE507tkIiCopAalxolW49GBiNc2PLX5VNQVNWrqSGMJHxPYD2DOxmoUqfQdD57nuTk59WUD
FNP7IGwxciPMhkXOyRkO9DMmKZOJFa4kZMljHhEBJc6MET3IFBo3uIiI1yVFMjGmioJ8UMjjZk0T
kK7QNDpI+3YBIYTrHB2GKcjbiRMDcxIn5ELA0PuUpm5cgOQYwfU8HHodaIGzKULSHm5jY4kSHOsb
Jf1IL7gFy4I0ysaHjSPjmsvq+kZkCyD47bFG1QE+pcw6ZG5Uc3PxDoeMMgPAgWfNGBvr9gL2ZmYY
hO5XwTLl4xchh6myF3aDoT4rwFiX6b0cvqbZCrAHY60AzuZCGmnauxIJchutFtWdKxdXs8wmyeWb
RiDjozAaFc40bEKNJCQoKHXAGw7mJ6mCPTyNtsKWf6seU/Vq9O1Ww0zpiyr787KLNQYnE9/YROPK
BUzvbE+HzqYFBoxee3CrbDQ5/LlGfyckvKnmBGrvG3yp6Nkw88uhuXq4tCjaMNkfcRYMGnpKkfYs
NJDbEfd84geR5EgUJFSIvkgeRSFCpiAZmJmMeVDGUS/E6fSJB2Eg4iXUTCUiEJCESSI0hEk7VC3l
FDkVW5pfTocxj02yOhTryHD1IGy5nEnhhMrwOuJ26DmvpTc8a3A1ctsdOWNMuydCLpWai+aiJTqI
lMbSvXcdd9tmDWh60c6ydocmsceK1myR6gvErdPjtx0OvKuAKyWjBRYpSvUZgCBcLTlKi0o3VoHQ
letHBsqv/SUOwJtvWC3nHbv017R7R06gvHbx3hrB49jtQF0CXfvRVZJPW0zfEFSAs62+SSeDrPDb
1qHp5EVBCRiRMRopbSpYUHgD6A0PQT1YLHnriNT+97B7BeNNQg3ghBVy6AKPMcrk8aelAaIENrxh
wq+IL8w2vEOk9UT3PgYe0GlTQFmIO0gO4DVxJzwRDVp1gKcvMAYA6QPWVh0rIR8Irp9GYXUbmwnI
MODvzE0hiJCEpOSNB+jgHzHw+YofEs0qcHdEAJFD46MGVGj5lTQryDLQPw+u6mcK1hoaZERz7TQc
AzXtYrcqVgWKmY8zIaIlqjEU2IlRiZHEze6my5MyN4mLoaKfQB21sXeQGkxiVMKbH7OLj1KkixU7
PyszRcEEkj/UgXqUJwHEipfVBARpQmN8IB8xQ7CxDpFCgodU1g2ItemxnEuUMrwzXAfXwCiPODTo
aubMAdLn9DqklhaOAP3LzGmAh2nA79YbpWBcWbgPIHs9wOheUwEM4lTQFXVI4h3cACEIFhYMRA13
8Rzr/oJIWo+nXfofjYog5g539MOwm6h2jDsslCFKEWJdKNZTSGy2nKoBHYr78/wdHid75xqBUKUA
KBUsoeWjuo16FkDKwCBfYCgD3i2h3fHqQMoWgXAHj40y6yhNPAXJaHxuUKn63sXINmnYBfk1daVA
MvCnj3h0CKd+3KDFJ8C7P1HGdHd3+jhQ/KVeKiFBjbP5BW2wH4PqCeYOYBSA8vpI8c25ddbdIOwD
5WkG5XjLBB0WNMDTFaJ4/ZlRxBUeIuVV+rQFlQbQHzNIa5khVC5e55NID6B3KroUMUXa7d3FaS3j
RxeQ03+7rB8gag5tzFENYOQTO0BDR0CIUoL2mo4JkCAaUS1V5B7JeDThtTOKFx9nx9+TnFDoF2L2
LQXxu9X6hfYByuQXCusQ5VEGD9avEAe8HOoBcp4wyPwB9xfN2WnMh4cCRkJDqhIT0oVTf8G9fFVe
bhvX18+xdhrNTCedWUDj6ApgNxRCHeDdSlCFGWAqMXsapeUAHpA51aB2qXKxReZMgNgDpgDmuljQ
Pcpui/y9u8sS96V3ObpiTgCH0RJIrfskcHJ49WSQctzJWvMvNyviPZouV823qDrH9J8jM4HfJKFz
CMB3muGnUUingDFdvbyCh1p7Jvzbcs9igGIc6WoZCtr1A5/MFzAHXzMS8BRvBxFym/2NqnMv5/6c
dEOoFR53nknG0aOg6CIO7Fz9iOo9IKGV1+8A4hHi5bsbsnUah/IaxoMUkgQI2awcghyDo9V2DoFx
DR8wD60zOkYFs4JOPYDtEHb9nwdhcIhqCABf6viLA1jgzIUZM0yRsCyg0RiwGgnaa3wXIG4C1uRT
I0QoD2hhRCzi/NoFDk2C/d1mcW8FgRVZ4G1mIFSxQwIAGIOgC1oqVSFpSfW0rzA/hUAq3D0hrTwM
K5uyaOhvUPcIZTM4MsEHAAgIUsoKupbdfWKFlwIWIvpAexxjsX39Zz2dUD9zq7w8+sG/SBrwA2Bl
S9M2wDuFDf9YhU0C8qBOmBjvD9Bo+AJnMnDg6RoZlAXJBdY8PKCAWLAYh9oNqpqwzaGxzNuYx/Zr
TnqDhhh99LBnSnujiquFMm/fKhlII+SgHS3ghrLeoodYef77EHcWJCBRyqOSy6EGcFqVSNZtEruC
2pBX9ANRQgq+XNPdZsDXyOoQfjtdf2oQH8jnQO5ae26FNlsJ8o+FcOcu/O8C5xH0MSJCBSWbkIpm
KWGsoHkoB+X6K/b0tou76KAdoh5iho7gNood4GcNZYB7we1QDrbUuR+rF58y/MEZxS4FjmVtrCat
OBmdyC7FvWSBgQMCzZwLiqhtb1Vo3i1957UgZkMWEA1q0L6q0Ntf2hN57j2PyOgJ2YAC1KXJAftB
oIN5rCXAcdfUw6PYofS9Vu4hCU2FAYxAvL9gO4faog2hkUAjniB21oDCrYCu8CoDUgPhZ0F3kGNC
j2RvjXEOnUX2Fg9ABPD9NEUHhjtAOMXEEOvKDPNXFjzlmuF8Dot6ayrIyEhJISISEgSCwki7xQy+
QYaACnno4XAyCrkFDUhxxCRCQJGRZCQJGRkZCQPJMTN4gTntXBCrfE9rk1iE1i4pUg/bAoVBobFV
hRPDMgpUD1sb4E2nCDhqjcyxkLqhEPjNMTJ9ikBvLCQkkIdoELQYFcEtFD1BQpYDYiZ34n3nx8l0
geAuQpAcYZgY0rx1BrvBxNee+AodwPkoB1C3pgMtQptJUGl1wWaWQu4C+dC6rzAGC8qC1WqSSmCB
3KGYgq4LnBq8ti8aXd7XM+GeMztCEFDFbaCB4cYGxH1WwyAEFbwNAK3ih/k2/YvlyAv3K+0z681w
XlRHGw15F8Q1DxFqqD4gb1dyaQDDC7iAoeA7x8S/hr/OayMnLGyNRdfeGfKWWzpspWdGAIajB6bB
ENSiD7XlXlFDzS/TKFBLVcdXFJ1h8k3OFy/YBv2hj4SxZKtKZPvBbOpBqtjg4S6VsAoidJDUK1F7
Tr2JYj3CPxbRFNHSdcw7ga7Xf23I7NygFw5BbIDFN0N8bBTwCiZO6lgN3FwfkD0vKgx0mBXuO9Kz
YuGaxZgCqcNewAghcgCOQLgLmEuYKAUJwP150vd3eYZERKZXR0//F3JFOFCQ1e9nWw==
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to