Hi,

Attached patch does some source tree re-org for grub-emu build.  This
change is part of automake work, that is separated out for mainline
branch.


-- 
bvk.chaitanya
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: bvk.gro...@gmail.com-20100427152945-bjgexrt8o76byxuf
# target_branch: ../mainline/
# testament_sha1: b98f325c2969b62232e533c8982d16af5b4897bc
# timestamp: 2010-04-29 09:58:23 +0530
# base_revision_id: bvk.gro...@gmail.com-20100419103456-\
#   zfrl4e6s69yqmfuq
# 
# Begin patch
=== added directory 'bus/emu'
=== renamed file 'util/pci.c' => 'bus/emu/pci.c'
=== added directory 'bus/usb/emu'
=== renamed file 'util/usb.c' => 'bus/usb/emu/usb.c'
=== modified file 'conf/any-emu.rmk'
--- conf/any-emu.rmk    2010-04-19 09:45:59 +0000
+++ conf/any-emu.rmk    2010-04-27 15:25:12 +0000
@@ -9,12 +9,13 @@
        kern/corecmd.c kern/file.c kern/fs.c kern/main.c kern/misc.c    \
        kern/parser.c kern/partition.c kern/term.c                      \
        kern/rescue_reader.c kern/rescue_parser.c                       \
-       \
-       util/console.c  util/grub-emu.c util/misc.c                     \
-       util/hostdisk.c util/getroot.c util/mm.c util/time.c            \
-       \
-       gnulib/progname.c util/hostfs.c disk/host.c
-kernel_img_HEADERS += datetime.h util/misc.h
+                                                                       \
+       kern/emu/main.c kern/emu/mm.c kern/emu/misc.c                   \
+       kern/emu/getroot.c kern/emu/time.c kern/emu/hostdisk.c          \
+       kern/emu/hostfs.c kern/emu/console.c                            \
+                                                                       \
+       gnulib/progname.c disk/host.c
+kernel_img_HEADERS += datetime.h emu/misc.h
 kernel_img_CFLAGS = $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -Wno-undef 
-I$(srcdir)/gnulib
 kernel_img_LDFLAGS = $(COMMON_LDFLAGS)
 TARGET_NO_STRIP = yes
@@ -49,7 +50,7 @@
 kernel_img_HEADERS += libusb.h
 
 pkglib_MODULES += libusb.mod
-libusb_mod_SOURCES = util/usb.c
+libusb_mod_SOURCES = bus/usb/emu/usb.c
 libusb_mod_CFLAGS = 
 libusb_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
@@ -76,7 +77,7 @@
 
 ifeq ($(enable_grub_emu_sdl), yes)
 pkglib_MODULES += sdl.mod
-sdl_mod_SOURCES = util/sdl.c
+sdl_mod_SOURCES = video/emu/sdl.c
 sdl_mod_CFLAGS = 
 sdl_mod_LDFLAGS = $(COMMON_LDFLAGS)
 grub_emu_LDFLAGS += $(LIBSDL)
@@ -85,7 +86,7 @@
 
 ifeq ($(enable_grub_emu_pci), yes)
 pkglib_MODULES += pci.mod
-pci_mod_SOURCES = util/pci.c commands/lspci.c
+pci_mod_SOURCES = bus/emu/pci.c commands/lspci.c
 pci_mod_LDFLAGS = $(COMMON_LDFLAGS)
 grub_emu_LDFLAGS += $(LIBPCIACCESS)
 kernel_img_HEADERS += libpciaccess.h
@@ -104,10 +105,10 @@
 CLEANFILES += grub-emu
 ifneq ($(TARGET_NO_MODULES), yes)
 grub-emu: $(pkglib_PROGRAMS)
-       $(CC) -o $@ $(pkglib_PROGRAMS) $(grub_emu_LDFLAGS) $(LDFLAGS)
+       $(CC) -o $@ $^ $(grub_emu_LDFLAGS) $(LDFLAGS)
 else
 grub-emu: $(pkglib_MODULES) $(pkglib_PROGRAMS)
-       $(CC) -o $@ $(pkglib_MODULES) $(pkglib_PROGRAMS) $(grub_emu_LDFLAGS) 
$(LDFLAGS)
+       $(CC) -o $@ $^ $(grub_emu_LDFLAGS) $(LDFLAGS)
 endif
 GRUB_EMU=grub-emu
 

=== modified file 'conf/common.rmk'
--- conf/common.rmk     2010-04-10 23:14:31 +0000
+++ conf/common.rmk     2010-04-27 15:25:12 +0000
@@ -6,7 +6,7 @@
 sbin_UTILITIES += grub-mkdevicemap
 grub_mkdevicemap_SOURCES = gnulib/progname.c util/grub-mkdevicemap.c \
        util/deviceiter.c \
-       util/misc.c
+       util/misc.c kern/emu/misc.c
 
 ifeq ($(target_cpu)-$(platform), sparc64-ieee1275)
 grub_mkdevicemap_SOURCES += util/ieee1275/ofpath.c util/ieee1275/devicemap.c
@@ -16,16 +16,15 @@
 
 # For grub-mkelfimage.
 bin_UTILITIES += grub-mkelfimage
-grub_mkelfimage_SOURCES = gnulib/progname.c \
-       util/elf/grub-mkimage.c util/misc.c \
-       util/resolve.c
+grub_mkelfimage_SOURCES = gnulib/progname.c util/elf/grub-mkimage.c    \
+       util/misc.c kern/emu/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
 grub_probe_SOURCES = gnulib/progname.c util/grub-probe.c       \
-       util/hostdisk.c util/misc.c util/getroot.c util/mm.c    \
+       kern/emu/hostdisk.c util/misc.c kern/emu/misc.c kern/emu/getroot.c 
kern/emu/mm.c        \
        kern/device.c kern/disk.c kern/err.c kern/misc.c        \
        kern/parser.c kern/partition.c kern/file.c kern/list.c  \
        \
@@ -60,8 +59,8 @@
 
 # For grub-fstest.
 util/grub-fstest.c_DEPENDENCIES = grub_fstest_init.h
-grub_fstest_SOURCES = gnulib/progname.c util/grub-fstest.c util/hostfs.c \
-       util/misc.c util/mm.c   \
+grub_fstest_SOURCES = gnulib/progname.c util/grub-fstest.c kern/emu/hostfs.c \
+       util/misc.c kern/emu/misc.c kern/emu/mm.c       \
        kern/file.c kern/device.c kern/disk.c kern/err.c kern/misc.c    \
        disk/host.c disk/loopback.c kern/list.c kern/command.c          \
        lib/arg.c commands/extcmd.c normal/datetime.c normal/misc.c     \
@@ -83,14 +82,14 @@
 # For grub-mkfont.
 ifeq ($(enable_grub_mkfont), yes)
 bin_UTILITIES += grub-mkfont
-grub_mkfont_SOURCES = gnulib/progname.c util/grub-mkfont.c util/misc.c
+grub_mkfont_SOURCES = gnulib/progname.c util/grub-mkfont.c util/misc.c 
kern/emu/misc.c
 grub_mkfont_CFLAGS = $(freetype_cflags)
 grub_mkfont_LDFLAGS = $(freetype_libs)
 endif
 
 # For grub-mkrelpath.
 bin_UTILITIES += grub-mkrelpath
-grub_mkrelpath_SOURCES = gnulib/progname.c util/grub-mkrelpath.c util/misc.c
+grub_mkrelpath_SOURCES = gnulib/progname.c util/grub-mkrelpath.c util/misc.c 
kern/emu/misc.c
 
 bin_UTILITIES += grub-bin2h
 grub_bin2h_SOURCES = gnulib/progname.c util/bin2h.c
@@ -104,7 +103,7 @@
 bin_UTILITIES += grub-script-check
 util/grub-script-check.c_DEPENDENCIES = grub_script_check_init.h
 grub_script_check_SOURCES = gnulib/progname.c gnulib/getdelim.c 
gnulib/getline.c \
-       util/grub-script-check.c util/misc.c util/mm.c \
+       util/grub-script-check.c util/misc.c kern/emu/misc.c kern/emu/mm.c \
        script/main.c script/script.c script/function.c script/lexer.c \
        kern/handler.c kern/err.c kern/parser.c kern/list.c \
        kern/misc.c kern/env.c grub_script_check_init.c grub_script.tab.c \
@@ -187,7 +186,7 @@
 
 # for grub-editenv
 bin_UTILITIES += grub-editenv
-grub_editenv_SOURCES = gnulib/progname.c util/grub-editenv.c lib/envblk.c 
util/misc.c util/mm.c kern/misc.c kern/err.c
+grub_editenv_SOURCES = gnulib/progname.c util/grub-editenv.c lib/envblk.c 
util/misc.c kern/emu/misc.c kern/emu/mm.c kern/misc.c kern/err.c
 CLEANFILES += grub-editenv
 
 # Needed for genmk.rb to work
@@ -195,7 +194,7 @@
 bin_UTILITIES += grub-macho2img grub-pe2elf
 endif
 
-grub_pe2elf_SOURCES = gnulib/progname.c util/grub-pe2elf.c util/misc.c
+grub_pe2elf_SOURCES = gnulib/progname.c util/grub-pe2elf.c util/misc.c 
kern/emu/misc.c
 CLEANFILES += grub-pe2elf
 
 grub_macho2img_SOURCES = util/grub-macho2img.c
@@ -855,7 +854,7 @@
 boot_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 bin_UTILITIES += grub-mkpasswd-pbkdf2
-grub_mkpasswd_pbkdf2_SOURCES = gnulib/progname.c gnulib/getdelim.c 
gnulib/getline.c util/grub-mkpasswd-pbkdf2.c lib/crypto.c 
lib/libgcrypt-grub/cipher/sha512.c lib/pbkdf2.c util/misc.c util/mm.c kern/err.c
+grub_mkpasswd_pbkdf2_SOURCES = gnulib/progname.c gnulib/getdelim.c 
gnulib/getline.c util/grub-mkpasswd-pbkdf2.c lib/crypto.c 
lib/libgcrypt-grub/cipher/sha512.c lib/pbkdf2.c util/misc.c kern/emu/misc.c 
kern/emu/mm.c kern/err.c
 grub_mkpasswd_pbkdf2_CFLAGS += -Wno-missing-field-initializers -Wno-error 
-I$(srcdir)/lib/libgcrypt_wrap -DGRUB_MKPASSWD=1
 
 include $(srcdir)/conf/gcry.mk

=== modified file 'disk/lvm.c'
--- disk/lvm.c  2010-04-17 16:58:56 +0000
+++ disk/lvm.c  2010-04-27 15:25:12 +0000
@@ -25,7 +25,7 @@
 #include <grub/lvm.h>
 
 #ifdef GRUB_UTIL
-#include <grub/util/misc.h>
+#include <grub/emu/misc.h>
 #endif
 
 static struct grub_lvm_vg *vg_list;

=== modified file 'include/grub/dl.h'
--- include/grub/dl.h   2010-02-07 14:17:26 +0000
+++ include/grub/dl.h   2010-04-27 08:27:14 +0000
@@ -96,23 +96,8 @@
 #else
 #define GRUB_NO_MODULES 0
 #endif
-#if GRUB_NO_MODULES
-static inline int
-grub_dl_ref (grub_dl_t mod)
-{
-  (void) mod;
-  return 0;
-}
-static inline int
-grub_dl_unref (grub_dl_t mod)
-{
-  (void) mod;
-  return 0;
-}
-#else
 int EXPORT_FUNC(grub_dl_ref) (grub_dl_t mod);
 int EXPORT_FUNC(grub_dl_unref) (grub_dl_t mod);
-#endif
 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,

=== added directory 'include/grub/emu'
=== renamed file 'include/grub/util/console.h' => 'include/grub/emu/console.h'
=== renamed file 'include/grub/util/getroot.h' => 'include/grub/emu/getroot.h'
=== renamed file 'include/grub/util/hostdisk.h' => 'include/grub/emu/hostdisk.h'
=== added file 'include/grub/emu/misc.h'
--- include/grub/emu/misc.h     1970-01-01 00:00:00 +0000
+++ include/grub/emu/misc.h     2010-04-27 15:25:12 +0000
@@ -0,0 +1,41 @@
+#ifndef GRUB_EMU_MISC_H
+#define GRUB_EMU_MISC_H 1
+
+#include <grub/symbol.h>
+#include <grub/types.h>
+
+#ifdef __NetBSD__
+/* NetBSD uses /boot for its boot block.  */
+# define DEFAULT_DIRECTORY     "/grub"
+#else
+# define DEFAULT_DIRECTORY     "/boot/grub"
+#endif
+
+#define DEFAULT_DEVICE_MAP     DEFAULT_DIRECTORY "/device.map"
+
+extern int verbosity;
+extern const char *program_name;
+
+void grub_init_all (void);
+void grub_fini_all (void);
+
+void * EXPORT_FUNC(xmalloc) (grub_size_t size);
+void * EXPORT_FUNC(xrealloc) (void *ptr, grub_size_t size);
+char * EXPORT_FUNC(xstrdup) (const char *str);
+char * EXPORT_FUNC(xasprintf) (const char *fmt, ...);
+
+void EXPORT_FUNC(grub_util_warn) (const char *fmt, ...);
+void EXPORT_FUNC(grub_util_info) (const char *fmt, ...);
+void EXPORT_FUNC(grub_util_error) (const char *fmt, ...) __attribute__ 
((noreturn));
+
+#ifndef HAVE_VASPRINTF
+int EXPORT_FUNC(vasprintf) (char **buf, const char *fmt, va_list ap);
+#endif
+
+#ifndef  HAVE_ASPRINTF
+int EXPORT_FUNC(asprintf) (char **buf, const char *fmt, ...);
+#endif
+
+char * EXPORT_FUNC(xasprintf) (const char *fmt, ...);
+
+#endif /* GRUB_EMU_MISC_H */

=== modified file 'include/grub/util/misc.h'
--- include/grub/util/misc.h    2010-04-19 09:45:59 +0000
+++ include/grub/util/misc.h    2010-04-27 15:25:12 +0000
@@ -28,26 +28,7 @@
 #include <config.h>
 #include <grub/types.h>
 #include <grub/symbol.h>
-
-#ifdef __NetBSD__
-/* NetBSD uses /boot for its boot block.  */
-# define DEFAULT_DIRECTORY     "/grub"
-#else
-# define DEFAULT_DIRECTORY     "/boot/grub"
-#endif
-
-#define DEFAULT_DEVICE_MAP     DEFAULT_DIRECTORY "/device.map"
-
-extern char *progname;
-extern int verbosity;
-
-void EXPORT_FUNC(grub_util_warn) (const char *fmt, ...);
-void EXPORT_FUNC(grub_util_info) (const char *fmt, ...);
-void EXPORT_FUNC(grub_util_error) (const char *fmt, ...) __attribute__ 
((noreturn));
-
-void *xmalloc (size_t size);
-void *xrealloc (void *ptr, size_t size);
-char *xstrdup (const char *str);
+#include <grub/emu/misc.h>
 
 char *grub_util_get_path (const char *dir, const char *file);
 size_t grub_util_get_fp_size (FILE *fp);
@@ -59,20 +40,6 @@
 void grub_util_write_image_at (const void *img, size_t size, off_t offset,
                               FILE *out);
 
-#ifndef HAVE_VASPRINTF
-
-int vasprintf (char **buf, const char *fmt, va_list ap);
-
-#endif
-
-#ifndef  HAVE_ASPRINTF
-
-int asprintf (char **buf, const char *fmt, ...);
-
-#endif
-
-char *xasprintf (const char *fmt, ...);
-
 #ifdef __MINGW32__
 
 #define fseeko fseeko64

=== modified file 'kern/dl.c'
--- kern/dl.c   2010-03-24 12:54:39 +0000
+++ kern/dl.c   2010-04-27 08:27:14 +0000
@@ -469,12 +469,14 @@
   return GRUB_ERR_NONE;
 }
 
-#if !GRUB_NO_MODULES
 int
 grub_dl_ref (grub_dl_t mod)
 {
   grub_dl_dep_t dep;
 
+  if (!mod)
+    return 0;
+
   for (dep = mod->dep; dep; dep = dep->next)
     grub_dl_ref (dep->mod);
 
@@ -486,12 +488,14 @@
 {
   grub_dl_dep_t dep;
 
+  if (!mod)
+    return 0;
+
   for (dep = mod->dep; dep; dep = dep->next)
     grub_dl_unref (dep->mod);
 
   return --mod->ref_count;
 }
-#endif
 
 static void
 grub_dl_flush_cache (grub_dl_t mod)

=== added directory 'kern/emu'
=== renamed file 'util/console.c' => 'kern/emu/console.c'
--- util/console.c      2010-01-09 22:42:17 +0000
+++ kern/emu/console.c  2010-04-27 05:20:28 +0000
@@ -27,7 +27,7 @@
 # define A_STANDOUT    0
 #endif /* ! A_STANDOUT */
 
-#include <grub/util/console.h>
+#include <grub/emu/console.h>
 #include <grub/term.h>
 #include <grub/types.h>
 

=== renamed file 'util/getroot.c' => 'kern/emu/getroot.c'
--- util/getroot.c      2010-04-10 15:07:33 +0000
+++ kern/emu/getroot.c  2010-04-27 05:20:28 +0000
@@ -22,6 +22,8 @@
 #include <unistd.h>
 #include <string.h>
 #include <dirent.h>
+#include <stdio.h>
+#include <stdlib.h>
 
 #ifdef __CYGWIN__
 # include <sys/fcntl.h>
@@ -36,9 +38,11 @@
 #include <hurd/fs.h>
 #endif
 
-#include <grub/util/misc.h>
-#include <grub/util/hostdisk.h>
-#include <grub/util/getroot.h>
+#include <grub/mm.h>
+#include <grub/misc.h>
+#include <grub/emu/misc.h>
+#include <grub/emu/hostdisk.h>
+#include <grub/emu/getroot.h>
 
 static void
 strip_extra_slashes (char *dir)

=== renamed file 'util/hostdisk.c' => 'kern/emu/hostdisk.c'
--- util/hostdisk.c     2010-04-18 12:02:13 +0000
+++ kern/emu/hostdisk.c 2010-04-27 05:20:28 +0000
@@ -22,8 +22,8 @@
 #include <grub/msdos_partition.h>
 #include <grub/types.h>
 #include <grub/err.h>
-#include <grub/util/misc.h>
-#include <grub/util/hostdisk.h>
+#include <grub/emu/misc.h>
+#include <grub/emu/hostdisk.h>
 #include <grub/misc.h>
 #include <grub/i18n.h>
 #include <grub/list.h>

=== renamed file 'util/hostfs.c' => 'kern/emu/hostfs.c'
=== renamed file 'util/grub-emu.c' => 'kern/emu/main.c'
--- util/grub-emu.c     2010-02-07 16:52:11 +0000
+++ kern/emu/main.c     2010-04-27 08:27:14 +0000
@@ -16,7 +16,10 @@
  *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <time.h>
+#include <stdio.h>
 #include <stdlib.h>
+#include <setjmp.h>
 #include <sys/stat.h>
 #include <getopt.h>
 #include <string.h>
@@ -24,16 +27,17 @@
 #include <sys/types.h>
 #include <unistd.h>
 
+#include <grub/dl.h>
 #include <grub/mm.h>
 #include <grub/setjmp.h>
 #include <grub/fs.h>
-#include <grub/util/hostdisk.h>
-#include <grub/dl.h>
-#include <grub/util/console.h>
-#include <grub/util/misc.h>
+#include <grub/emu/hostdisk.h>
+#include <grub/time.h>
+#include <grub/emu/console.h>
+#include <grub/emu/misc.h>
 #include <grub/kernel.h>
 #include <grub/normal.h>
-#include <grub/util/getroot.h>
+#include <grub/emu/getroot.h>
 #include <grub/env.h>
 #include <grub/partition.h>
 #include <grub/i18n.h>
@@ -261,3 +265,32 @@
 
   return 0;
 }
+
+#ifdef __MINGW32__
+
+void
+grub_millisleep (grub_uint32_t ms)
+{
+  Sleep (ms);
+}
+
+#else
+
+void
+grub_millisleep (grub_uint32_t ms)
+{
+  struct timespec ts;
+
+  ts.tv_sec = ms / 1000;
+  ts.tv_nsec = (ms % 1000) * 1000000;
+  nanosleep (&ts, NULL);
+}
+
+#endif
+
+#if GRUB_NO_MODULES
+void
+grub_register_exported_symbols (void)
+{
+}
+#endif

=== added file 'kern/emu/misc.c'
--- kern/emu/misc.c     1970-01-01 00:00:00 +0000
+++ kern/emu/misc.c     2010-04-27 15:25:12 +0000
@@ -0,0 +1,173 @@
+#include <config.h>
+
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/time.h>
+
+#include <grub/mm.h>
+#include <grub/err.h>
+#include <grub/env.h>
+#include <grub/types.h>
+#include <grub/misc.h>
+#include <grub/i18n.h>
+#include <grub/time.h>
+#include <grub/emu/misc.h>
+
+int verbosity;
+
+void
+grub_util_warn (const char *fmt, ...)
+{
+  va_list ap;
+
+  fprintf (stderr, _("%s: warn:"), program_name);
+  fprintf (stderr, " ");
+  va_start (ap, fmt);
+  vfprintf (stderr, fmt, ap);
+  va_end (ap);
+  fprintf (stderr, ".\n");
+  fflush (stderr);
+}
+
+void
+grub_util_info (const char *fmt, ...)
+{
+  if (verbosity > 0)
+    {
+      va_list ap;
+
+      fprintf (stderr, _("%s: info:"), program_name);
+      fprintf (stderr, " ");
+      va_start (ap, fmt);
+      vfprintf (stderr, fmt, ap);
+      va_end (ap);
+      fprintf (stderr, ".\n");
+      fflush (stderr);
+    }
+}
+
+void
+grub_util_error (const char *fmt, ...)
+{
+  va_list ap;
+
+  fprintf (stderr, _("%s: error:"), program_name);
+  fprintf (stderr, " ");
+  va_start (ap, fmt);
+  vfprintf (stderr, fmt, ap);
+  va_end (ap);
+  fprintf (stderr, ".\n");
+  exit (1);
+}
+
+void *
+xmalloc (grub_size_t size)
+{
+  void *p;
+
+  p = malloc (size);
+  if (! p)
+    grub_util_error ("out of memory");
+
+  return p;
+}
+
+void *
+xrealloc (void *ptr, grub_size_t size)
+{
+  ptr = realloc (ptr, size);
+  if (! ptr)
+    grub_util_error ("out of memory");
+
+  return ptr;
+}
+
+char *
+xstrdup (const char *str)
+{
+  size_t len;
+  char *newstr;
+
+  len = strlen (str);
+  newstr = (char *) xmalloc (len + 1);
+  memcpy (newstr, str, len + 1);
+
+  return newstr;
+}
+
+#ifndef HAVE_VASPRINTF
+
+int
+vasprintf (char **buf, const char *fmt, va_list ap)
+{
+  /* Should be large enough.  */
+  *buf = xmalloc (512);
+
+  return vsprintf (*buf, fmt, ap);
+}
+
+#endif
+
+#ifndef  HAVE_ASPRINTF
+
+int
+asprintf (char **buf, const char *fmt, ...)
+{
+  int status;
+  va_list ap;
+
+  va_start (ap, fmt);
+  status = vasprintf (*buf, fmt, ap);
+  va_end (ap);
+
+  return status;
+}
+
+#endif
+
+char *
+xasprintf (const char *fmt, ...)
+{ 
+  va_list ap;
+  char *result;
+  
+  va_start (ap, fmt);
+  if (vasprintf (&result, fmt, ap) < 0)
+    { 
+      if (errno == ENOMEM)
+        grub_util_error ("out of memory");
+      return NULL;
+    }
+  
+  return result;
+}
+
+void
+grub_exit (void)
+{
+  exit (1);
+}
+
+grub_uint64_t
+grub_get_time_ms (void)
+{
+  struct timeval tv;
+
+  gettimeofday (&tv, 0);
+
+  return (tv.tv_sec * 1000 + tv.tv_usec / 1000);
+}
+
+grub_uint32_t
+grub_get_rtc (void)
+{
+  struct timeval tv;
+
+  gettimeofday (&tv, 0);
+
+  return (tv.tv_sec * GRUB_TICKS_PER_SECOND
+         + (((tv.tv_sec % GRUB_TICKS_PER_SECOND) * 1000000 + tv.tv_usec)
+            * GRUB_TICKS_PER_SECOND / 1000000));
+}

=== renamed file 'util/mm.c' => 'kern/emu/mm.c'
=== renamed file 'util/time.c' => 'kern/emu/time.c'
=== modified file 'util/grub-mkrelpath.c'
--- util/grub-mkrelpath.c       2010-01-16 00:26:52 +0000
+++ util/grub-mkrelpath.c       2010-04-27 15:25:12 +0000
@@ -17,6 +17,7 @@
  *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <stdio.h>
 #include <grub/util/misc.h>
 #include <grub/i18n.h>
 #include <getopt.h>

=== modified file 'util/grub-probe.c'
--- util/grub-probe.c   2010-04-10 15:09:24 +0000
+++ util/grub-probe.c   2010-04-27 15:25:12 +0000
@@ -20,14 +20,15 @@
 #include <config.h>
 #include <grub/types.h>
 #include <grub/util/misc.h>
+#include <grub/util/misc.h>
 #include <grub/device.h>
 #include <grub/disk.h>
 #include <grub/file.h>
 #include <grub/fs.h>
 #include <grub/partition.h>
 #include <grub/msdos_partition.h>
-#include <grub/util/hostdisk.h>
-#include <grub/util/getroot.h>
+#include <grub/emu/hostdisk.h>
+#include <grub/emu/getroot.h>
 #include <grub/term.h>
 #include <grub/env.h>
 #include <grub/raid.h>

=== modified file 'util/misc.c'
--- util/misc.c 2010-04-09 23:25:46 +0000
+++ util/misc.c 2010-04-27 15:25:12 +0000
@@ -58,53 +58,6 @@
 #include <winioctl.h>
 #endif
 
-int verbosity = 0;
-
-void
-grub_util_warn (const char *fmt, ...)
-{
-  va_list ap;
-
-  fprintf (stderr, _("%s: warn:"), program_name);
-  fprintf (stderr, " ");
-  va_start (ap, fmt);
-  vfprintf (stderr, fmt, ap);
-  va_end (ap);
-  fprintf (stderr, ".\n");
-  fflush (stderr);
-}
-
-void
-grub_util_info (const char *fmt, ...)
-{
-  if (verbosity > 0)
-    {
-      va_list ap;
-
-      fprintf (stderr, _("%s: info:"), program_name);
-      fprintf (stderr, " ");
-      va_start (ap, fmt);
-      vfprintf (stderr, fmt, ap);
-      va_end (ap);
-      fprintf (stderr, ".\n");
-      fflush (stderr);
-    }
-}
-
-void
-grub_util_error (const char *fmt, ...)
-{
-  va_list ap;
-
-  fprintf (stderr, _("%s: error:"), program_name);
-  fprintf (stderr, " ");
-  va_start (ap, fmt);
-  vfprintf (stderr, fmt, ap);
-  va_end (ap);
-  fprintf (stderr, ".\n");
-  exit (1);
-}
-
 #ifdef GRUB_UTIL
 int
 grub_err_printf (const char *fmt, ...)
@@ -120,41 +73,6 @@
 }
 #endif
 
-void *
-xmalloc (size_t size)
-{
-  void *p;
-
-  p = malloc (size);
-  if (! p)
-    grub_util_error ("out of memory");
-
-  return p;
-}
-
-void *
-xrealloc (void *ptr, size_t size)
-{
-  ptr = realloc (ptr, size);
-  if (! ptr)
-    grub_util_error ("out of memory");
-
-  return ptr;
-}
-
-char *
-xstrdup (const char *str)
-{
-  size_t len;
-  char *newstr;
-
-  len = strlen (str);
-  newstr = (char *) xmalloc (len + 1);
-  memcpy (newstr, str, len + 1);
-
-  return newstr;
-}
-
 char *
 grub_util_get_path (const char *dir, const char *file)
 {
@@ -277,34 +195,6 @@
 }
 #endif
 
-void
-grub_exit (void)
-{
-  exit (1);
-}
-
-grub_uint32_t
-grub_get_rtc (void)
-{
-  struct timeval tv;
-
-  gettimeofday (&tv, 0);
-
-  return (tv.tv_sec * GRUB_TICKS_PER_SECOND
-         + (((tv.tv_sec % GRUB_TICKS_PER_SECOND) * 1000000 + tv.tv_usec)
-            * GRUB_TICKS_PER_SECOND / 1000000));
-}
-
-grub_uint64_t
-grub_get_time_ms (void)
-{
-  struct timeval tv;
-
-  gettimeofday (&tv, 0);
-
-  return (tv.tv_sec * 1000 + tv.tv_usec / 1000);
-}
-
 #ifdef __MINGW32__
 
 void
@@ -335,53 +225,6 @@
 }
 #endif
 
-#ifndef HAVE_VASPRINTF
-
-int
-vasprintf (char **buf, const char *fmt, va_list ap)
-{
-  /* Should be large enough.  */
-  *buf = xmalloc (512);
-
-  return vsprintf (*buf, fmt, ap);
-}
-
-#endif
-
-#ifndef  HAVE_ASPRINTF
-
-int
-asprintf (char **buf, const char *fmt, ...)
-{
-  int status;
-  va_list ap;
-
-  va_start (ap, fmt);
-  status = vasprintf (*buf, fmt, ap);
-  va_end (ap);
-
-  return status;
-}
-
-#endif
-
-char *
-xasprintf (const char *fmt, ...)
-{
-  va_list ap;
-  char *result;
-
-  va_start (ap, fmt);
-  if (vasprintf (&result, fmt, ap) < 0)
-    {
-      if (errno == ENOMEM)
-       grub_util_error ("out of memory");
-      return NULL;
-    }
-
-  return result;
-}
-
 #ifdef __MINGW32__
 
 void sync (void)
@@ -564,3 +407,17 @@
 #endif /* (defined(ENABLE_NLS) && ENABLE_NLS) */
 }
 #endif
+
+int
+grub_dl_ref (grub_dl_t mod)
+{
+  (void) mod;
+  return 0;
+}
+
+int
+grub_dl_unref (grub_dl_t mod)
+{
+  (void) mod;
+  return 0;
+}

=== added directory 'video/emu'
=== renamed file 'util/sdl.c' => 'video/emu/sdl.c'
# Begin bundle
IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWT/i7TgAIZ9fgHYwf////3/v
3+W////6YCle96oFJtd8414N2j6d3l83O7b3l97296vt6Nz0GlAaHvYAAB0p95Z0u2QEru3Svu7i
U732inAq72WjvG97Pa7zvebqq1rd7hyp5Oveb1PN3aABabpXe73gKbYa1vaU7B13FuEkgQmKbIZJ
tMphTE2SZHqKeoaPSHqb1QaMmmhpoASiJjQBTQppiRPU3pNR7SmjZAAEw0yAjJgmgaaAJFGqfpNJ
sk0G0jTTTQGgAAAAAABJqRAUwp6mEDU8lPNSep4mo9TantU8kaNG1PSekGg9QPFBEpBMIjCYmieg
yBU/TRqn6JPSn6nqjT9SZNA9TEAMQSRAJoAQQgyTE1NNqninqGh6mj1ADQAAP1SzIgbWlFIL+wvI
UjQ/UQ/GtKwsrV6/7dnx6jpvKE79qtH7fb4yCgD8gqh8fmsfjozcbckwtVMGDDvjYUq8FXA/fIkt
Cie+CsGZ2ROXjzHgjlyjf3XnLEMBhdkRs4MLl7wtFm84f24cOFHAeDmUF+ueZ561u7j71o1eRyiH
3U0tmiAp6uHBN+UeWs6y67Y1lfTLPZlPu++jmSMXtyaDCoc3PR8kv8c7XB56KMqolFJQpyTfne+B
WpaVV71aXEsg62sWlMaZQ2LUFp9M/0cXnnba+neY236/X3Z3Pm3YNyqooquSrZ/dUnZ7fcPb+/9m
3pz3OnQop3nFsK2SX6GguLeoNcYdGFCIXMXFMWoUrEEGNVSqCGWJn4HpsZJni4WrGnHC7jjxUtss
x5NVR4maXjn8sAEDEb3tbogJAQKUEF0ujVBnpa0FFmWtrBmzXO2zDAOUZAng/ra23ObHa0oMiDbi
tSnE0gu4OLM1lWK6BFOAzQCi8HvblfeBseFcg3doUPcqokPVIu4D01al4bMW0uKFDWPpsmDEUKvT
U8RogdwGgM91QSYhTlqdUNsE0sk0BqEakDoi8OILsqlhJkISIB5GQzFiSw98wGsPsrHsIfbvMlUs
oxvgjSAFCKFIIZu94vEKPx8RxE+05n7D8dX4WJf4RmT3/58z5+MDcUNOPJ+YQRf6RtZta1jFGTOj
SN1GR7oWhoV6SWTB+JEFgDIxnIvTGDZoNzutgswzgp1IERoM6YI+n4NUPcXNCixmZkiKCpW6dPr6
i+HLoc8hv6+zyZ9JCFsJJNkkjIKCJIisVGMRjEWJBYjAYwFFUWEHTz+zWb5dD3ycqAE3vy8vd0kL
zmGbo9bXhOHcoTHTn8+jmZp5xotKv4Wi7cd1pvZswoNEdNLGLi231DFl2qrV0TJEYKrwUCNhW5x9
Z2njQyFFpbNNttEARLsgfZQFGyi7VgI055nhiHKCCGfGCbOzDGUnIXY3VqjQZaRjPsXIw6L4BWMb
iLVH1LYUsgKQSL0t2o1UMCatZIt8yyox5FGSpgQFVVQEhwVL4sFoWFWrW1UIxghRmVvv+oHdRJG7
DfyZAz5PfraMYmUt/Pn939fX9od+dcbIptyM9ciZkwfPNKcdSBA9J/wpiI3w5VYQrX9m/3KcWoa/
jtG5dNx2al2aXt1hASUDftOz9MHrjJH9SgRiSJ30Bt6pW/rL6FrQdtDC5XrP++8lBeoYQMmSTUSI
qH5xCSWDFzBLy36qTkXa4NeNySTMDOY0I7y/IdyFPbfFIuySJ55FSsglMtR57gNCiN0YW0doHkEE
GKcK1iAr+1Z46pp5yhCogh0ySJGLXdwZmkzAiokilchOhhtpfh54Sw35yva+VS0VSs7PB8gEDYNP
hYGtlORz956zSeB+M0BRajAazKR4+DlVhbMbvi6e+T8Q+xZmDw716M341yXwN/m3m3T3P9/hFLUR
ESrt6ssJNworw1L2RiGkNNhAYu7YG7WORkJgWYadHOeWDX0Ea8rONIWYXqtuzStd9pt3YWIsiY1d
S29q103BjpNzQFUlT50MQCSjLjxajmGwxdK69W8mnnk6+3ovVWLaL6E8Z19MHsm6hDRF+8nWquzb
t2WlgGWKAyArSiSUEPsApcVh/GL5tqZal/sYrVB/IhuKKCfwZIUMlRJdIWQCmWSHlEkcjPwO/uuc
458ahj7/7GUSJL2uf6Henj4OIEE5zqjAkx0vosPdnpNCjU+ZgPJO+eCrk6LUHg5Ub79EGaiTqtO0
WpPYIYMKUOYKukBQytMOFFc/1TrfbDin79CkCAkn5UUoI5w3lFA35B+ppU/+JstirIC2hF6Hwgwz
EGXVaowgWud8WIGr+Oc8lPs7NfJ6ZDS3qB+v1KkF3LwJGZkpNItkKQhKeBEShGuDsztovxPqEx0R
89LjhIRihg7vQIEmOpAomJE9J8UKBRJPSAHCYhqYAYEhJc7ETjQlAhPSEqiDzUWooqQE7WHWTj66
gGyCa8X8J+N+QgFu5IJJCUMuEWQzi4DQZAAYETrkjE3YBxlEVPa3IiiGeXPzZ7r/j/LtERpSPEHB
wsuvv2ImTGep1exxicZP2boQ/exfPOZo0BmEgMNSYcCiEchSFBYb93qW0S+5fQwgtm/CuaYZnsuB
0iWz6uc/vg8gKEiZEJlBiZUcaBoGQWmowUkAPjpJJJfC/FV7y5cosXHC/whDU+tzOj2naDDQasZE
CEB+Mna89a8VyWN4bzJFQSUaZRTyQDvT1QVYH1UQhhzbuxfvEx+GIhO7od3EO7+Nis9WfROMQteL
QN7pyJGJAgJAIN2mjUwjcmQj537L3pgW8Wyms4WEB0Y8tbccJ0iBnIIbXTAytRVEEJgKlA+nHml8
UAS1dMQ6PswDMzKPQ7adwJ5neeo8Xkut3uSFqGgcuckkt4/FsuAYiBimbDRBQDRMWEpmtVpVAopA
0xolY1ILJMGGueoZXmqL4iikLpiMqTjZYZDK+gIpgUGhFELagmypQBpSFK8MaIazYmWF+UD2jk5J
FjuQRCCABzcwGgYnUJEuKPIZ5l5hE1zIataIKBUNYukkIsQcawQLEShMcRIAClyCABYgVM2IDpgx
YTFjQxJHxgbTLSMWvHMTuwpMopCVkYn6VWJRiwBoOWSCo2ZE6LWtJSGNhgEFBWVppVeAngZlixaQ
gUkHQwZESZapgOxApYicHBEzJgfQmR4iTPP364mxQsWLwsMaCyL3gXpX52IkSlMDcKhchcxMi3sP
sS8vNfE+iQls3nPnw3AaOeaI8s6Q3wGV2jkiFIIVS2FtVATDSpCEXZw7MKUR5QjOMqEOLIIshL13
6FV958jPLKSpHPxCIERACc8c0qEtAdOUUMyA2Eb1FhAkG++m0Dk0VHN0HT8Ax4JldkzogbMZsfQj
i6ELPs20BEiZMpmRG1pj0w1Mxw3DDpsVW2mhohkYsoRdCM0JQZxC7hPCQ9XsrcmE9cQc4IFRdd9h
oZ6PDKFMnac3x3Z7VOMaebY0rd7lcrBQmInMzgWWQyQlpvvoUc7DJkzvQpESm5GSapL1hKSM0gvJ
JYAsNBApQLGURhieZxnxjWHkHYNCZI5poQcZnsloMUIziIDS8cuR7mpjcZyKu5CyAWCdjqxrTNmZ
2Gh0OZDYqZlsMUGIlyELSTmh4YVEjwwcxzu9zCZqa2I5i86nlhJcRfMtuYGJm60ryWKMeQ2QdDYg
YwNzyw4yPGwYsDggotRltByBod7DYnBQuOckyJkWJFibkyxAhUcxOxWAxAmclzh1Isa50LmY1gWP
zqkGBp6HQhoqMasOcIRGIRS7FmDGOszFhHNquR+LK2PCuN8YkphsziUwqkkMzO4WhJwVITZqmuBM
5CBZhACwmVQAalCBcySGtYCMKTPGhRUKNlAw70LyKlS7WRlCIYClQe5MUezwWtl45XOxKmG2WRGR
MyWKEljk5LM6h9hSFFZKeXY5IQVDoTkCWBGaWszAwURmla0sWECoZjGeuDzaZRoqo0i0UAGAyQdE
gYQEAlgVJcU4NNcbCwsZoAKdHFqa+HBMoOYapCXyxgyMdDYy0FE2kSIOOSPVNIUkgWExT3NyYxUc
5OFyPsbGpOx0zJTIhUzI8GBE8FX1lTIgHrZTMnzLRBKBQxMTaZIzIGxiX9gB52ifHogA6BmC4X1g
vDM7OLWj88wmEmaO/aOLEHeEGcrV4Tcsnnpze6947mLJCV3RLFIl7TcgYDEz226n6NJhj5z9kMNd
NH9N/URMQx7nqjgbkCpidaA9dGNWcfBqcikqFrE2mf/dE5igAr040JJjY/QgA16bGfQfHEt4RV/k
YnJbpyLMLsm5cbcgbjjF5jJCVDob2KlWezZ6YkDwKYDkPcGpuZxSTWcuu5M2NzmaKjmvR/18nPJg
WL+QpYRa9OJaGRoGBiOYlDoLRxsg60Ni5K/wk7zOxY5MTAz7H3naRF7HJrIoZjEyRQ2E5LAxOSp5
1rUxD5gpHvxJ26ldNjv151nORxMiQirwn2o9nvMa5JEZxQqVBDCwtBJYQkclJAmJRgkCx2qPLvNa
DYLXrtK032QUeKhkoPDjKXWV2KkJDE0ASpk4kJdDciMfAEq7GsuxaigauWNCJaRuiBE8NQ+POQxg
VMGLCwxobKJ1DcxIkjlNhaOm6uRHHIyde9Ml4DxlmXFHHDdJFjBE8Rucbysuw7kjFy/QzPrFz6hW
OuLLDrHkhEzwIRxEtigdmCIkh+anjuaFAgfK3iCTCwMwcwIFykjNx5yLZi/NQdeocZynAE80GlY4
wMxWYF5pCw1VidodtE6WDGCWRePM2c+Q5NpRIKIZYONU7BgTBq5OYtLJWKEgDmkACEScvWhcjjxX
caAlrLk4wJGnKmquaTeNoJXVMONN+vMWWoAGiZgSzYVBLsyGYGNTE6w04Mdxx7amPEYtsxR/rcyI
0mMVGJECgoGp2ONKLoJnMGKcmm5Rzm1Uy3fbFRxFI0KhPbEDW42jZFHkTEIGiI6IpikJNQZduzlh
rmWBDYNCdx5HIxsVMzguTNCvJImLYh7BUxJBudTjipvUjHIse6h9pyLMU1YvokKcjI3Escjc73jl
FngC8CkCyrR9V2j2KI7Ei9MIKkEqhpWdohjcwCu767wTYhGnQmDC8b4jXkLB0C3MS0ErFsiCvlbY
ikooBGDieGrQO8ERxhMGkv0nTE+L3Y66TnbmNk2O4qMKc4c3m+h8bFDvNx6L0NonM7NDjumihhtg
3JD5LU2NoYmGZhiR0s18jbIkWMD4KgegapJE4Ey58E3sMyJoK6iSPIhMXViZ5eVLFhjqYFjoXIDm
gxjA4HocuajDkT5UAPBwS+KQl8x+F5B3LaZYv4d2lpFhKHkxGUJNzLqTd3kT2IErUlOlHjRp4QeJ
0nHBytTBYHUdIApJ0gdxdTE79+55XNrIy0xSDHYcQDkpGRBDmNrltYNK9OSRsQWIyQkxjdjU3wMP
Ahs1uBxy5ibGBqZ4kTcUgMYeYKEykOA24pxXYiTLFwmTqj8jB/URTIpUjjTrEC5o0MSJFrjMLU3N
GiUrmdp3d4NMscktBz1BS4gVHMCWRmd+CJUnAuOCR3ObjcUqHgAHnAeaLDMxAiKP3LxfOSIk7DTH
IFjxXWtJ5JCWg3ar81VcJERqNmxsHiRFGMWwOJEzpxeTBqtr0ikc97dDlCUIwIALsWKhKJY2AKCQ
HFYDiMKVUgpbiVSJDG7NjS6QdmHImcKFItoDmY5n2PAubGN2xDZTA7B1i95ENSbY3ydXVJ2w6xEi
bzhFdtxtESzH/n0oZIFBh4QHGDRXLYm2ReR3CY9xFxY0+HUYXRQq1yB1C5QI819YYmRYkTOTQqZH
JqQJ0pEmBI33yNMxcyQNMzhi5AqvUJWxipDkKtqhrbR08B9SDr8fKseUeVFdd2S+umZxrHEPyN0G
etlSbcSJhpNCtNaqy8/Z6WkYAd6YjahhBULkgiRByZEViMCTqSEBIYkeojybIloTpGCURBEuxTmX
LpAyULFMmUQJWU2RFUQ1IiYIkyZsdYTgaXL8RIdXVSMoRuvEej8uHVNh0DqIkxFJozzL502fQTlM
0TKFaVo+RSBwblI7GhyZAEqs0xsDUhqMQKDkrlDl4wbWMAsR4gOxU1xMS5Jpu2g8xjbQHNjySDRg
URFDcybibkcDMZGkG2hZmjERR5UebEQ0zImFRzh838SKQe0+0gl5i96WC9fvWE/qrXutW6gyBYA2
TGgSSE8mhEHAJByHUHmHQKCpLAgg2i0C2qZAoVWipcoNloMD+kRszMbh1b+Dx4wrYOZkvaxol+d4
G3STPFJh63ATYzVCkmrCydd602F7F9mDaHEaGB6u1D6DICEQCBEf3T9cP2kRNziGlKRkWAgIiIIg
rNZQw2kIsFIK1aqoqRVoGhFajBaWMYKqkIqpEGMREVFkMPQHiD1hUgwQgMUYiVT4B+srOZHWqrwK
Uy3fl/dz+p7ksf0+/K1/f+1/V8l94aE/AO2AdCJAEhFBBSIsxPw5z1BiQOG/Z7iH2H28aMh7NlbL
TSXIp/7Vgiw7Ov2Up0Bl9AgUInG8Fiv7gfuiwXfvAJbrA3SNI1EdyEXDxDgJRmD2EbDhwMIORhcI
u6mquSGIQw/OGMAyPLpvyDGqZceVOmZcM1zImjvsajhwcuLAKyYbowQYRAX0JCJLmhKdYA1FUdo/
DYHO2iz7iMVMc3SOtSFbyv1mv5xDuRDQlkJltWjbpG9FiDwi6GmI3JBhkF5bGrNmQ190LBpO4Z7Z
pVBNQ0/xNsMtUYUWb6Jo9giImdeZKIkU8QgZB2EaJGrGZxm7cYk7HAOzhm44EOG6bO1Q4+joD4JZ
/9aizda5FSgvlWUnlaKsIOScI1r7MP5kZbmwK5I2mv0nhYwd9KTemT4/6fB2nr/VEa6UHT1ToTyV
VeBw8+HiqIeYEtER9DIe3WZqvoCpUEWCMBkUkVhFSKuMwLSBMpKPcwO9sqscesOblxkBV9vNogoC
BBAsgs2ycf87FUHjgGkGxMcgcN8w1elU/1lJ2jL5RInoPJTRtEC/cRIPBB6LnEidwE+g5GDCWkee
KWL4ICVE+2UgwUJW7DXu/LxGJ2FMHEyECpA0cD0czRWLECBXU+kAkwsOY9IkT67XLjhi5/POiRIs
cBiZNE9DOIjmhgVOO3Y6D+SQWzOTkuYGg4ZjGxsOBbz7AnYoPOFAUDsie4JQa2swfvYz6U7SqHHw
Ct6puYEJLMA6lRyhjrWsPfbdoBfa/DJacXEP72jfWZyQiRImoF5+Gk/JoAD5Y6qwcg3QeZe2znHh
odmcknB3ULmPCrIQB5nWk1U5VToMz/Z5+j6DwZ+UQWQseFkBDApZAppRWBkDCiaSS7jsMfE4isJ5
7DvPVkcysaoIlQ88RsVNh5QkYLlzBUrEShzoZ2S52ePJTNsFy4ZHmQgYNCmdECm4isQO2Mx5gobk
UYVxMuVALGZDnFIR0YEtjE/ScwMti4YDkDQbCMTU41FJmuiPLhj+GJ2i1lBHhsKrlckWmk2GHc04
Fbv6bi9yzyD48wgV2UfkeakHcL1P8UqEvFzdpYUtaZwuXkIkJRBKIwoiVIJCiQoSn/IbefIax+yJ
wIz3C+FH3qAEMzYCkpQBIDYUFT0wEWvbEOB2HUdpvOw5zEkRdwHnqnJ+JmJyTymIsxRxIHUGuW3D
umKyJnOlQuLE4G5wO/opUqMbG5uUU0VKl9haHEmaGVkUODA9YcM2hc7r1dPGHJxkb7nJmckTO8en
JWg3UgORLCz4Nmn7+pU9slRFtzc6HBweQTKZI8UdYgwS7uefcjg1HZ9yACbKjddMDWIErwDEOTnF
4KoHJViHYcpF4tGkhJDVZBkImGO8t7eUuN6y0iiCXC+8ReDAiLJztfscoDnJIb+rtqbgtGEUnlfY
Xlx3HKd/jwlLOYJyX92gzDGGPrMM5NQVjzid5sNCIFh6zqFAYtLTqIFZDaEyGksMprVSFxgHO4Gw
Qc5bdsGdxUYBoNeu4iXl482IuASGRstWYoFcazbUbs5oOvUp7QC/YkMeJ4Pc0OTxO8IXMfYIE5Iw
L5nfmBWPf2a9Ipj8LhmVaW3BFpM04lASlvrL/gaBtpeVGo9cqneKma3MG7vHZUrn6JDp42E1UoUo
SMcnsImKkg4dVaQeAO1g+zSMqutcy3ZS7OVMoBuMCBmEZKhJO0T7Z+G1Pl8PaCCdou/PhX6qXwtB
me+XZ5ECyKgWsngVFL1QUjh2HgaUsu1hRCiw2iqmmZYhDgdr0dR3ToOzza8PNqZmYmQ89RSaXHIY
5ncYHIFArKiJI2kjfye88HGVBMWHVtKxiI/rdi2tjHKVcL7uvXLDKasjti+tuz2uewozWZRf2xzD
y4krSwdEs27Z8BbDIcXji+4VZinDEDKwqqtKRiokWMWFRiUkeBhghAwhD0AYgyRiwwbw8RCHSBSh
MRPk0NeT0MRW7mxubjH6DzF6OkOwjCJkQDBrji+PpBttd6xafnFjjgPrJEKfHwcWMvzZE+83ioLz
Xsr7Bu2wJBxff6oBQPQKmwMLobGhseYsluXKpc4Ol958jwBtrIS0OptCG69nhCzXn+8IgVUexqvM
VlonBZ1CwBzGDARGyPBFQBeuS0CIiYKHLmKwQh7AnYepe9a8ZdYGhTt/a4b00aRUwBgg6uSTWne2
lm4K3wySltQUFmhvfjtrehQCq0XK6Tp01D0tFJ4hVr1M8e7mGq5FowOUW82D6hxa0ouQEQFIqk8S
FjciBnJhUAkGJ4mYKxHvO/zlpMojGgaCJaN0lxQSwHsZfzfk8nZhQDCsRcOpPYUB4Dx57lTmpm95
7StjEgQJLyJxxEiSRBEfA8flwf4LClB7y3RMf/fgYPKwwoxRTJ0UWJmEzUqYH3DjBAmSLDkWImJg
XFc4MDpFYGx9qXsR8FYkWMyppmamPU0JnY1LlRYGoxKSgzHdQ866XTiSM6W2EC0rYqEkenF3YvIE
OAiViJr1ruN+c1Wp8lIMMRxD4FYcWRcGix4zJmyTVt5qZLpDfktFId6z7bE8encuAOYfYba9d2QF
ur9wVZ6IjVynqvlISR1H4D24ad34goFQnjNgE+mGB+yLvO3xLgyKq5DlJlO8HzWhdRrqADqmPohV
NCfULZjUFFyqpFL0qqtUNz4VZVeSTQyFROmQiwCv4GLhItD3vDAyU83IAnEkcSahRSQj6gcEoHBL
p9QlsEgJpendzCM3S++v5+/SuXrXYXaQkgEk6gftl5Mx+cA3dePf7Wr1ICcqXhybQdyPdZLpzqvI
b7wQyZZN5/WDoe2YOQIXYHABIuSgfK7SG0TnQ9o0+tiSRoKmNBpkbs1oPaC+2I+YKBBTVEPMvAV/
TrKy2/ZbWg6tDamcQd/eNyg3BfHrvL8dWm0sLQtISTlCwU9PLiH5gyBgHOgB48zFR2cpj45F5E6r
7RF07xRtQKIVeNR+LcGQ6Ayc0W06fGZMAzv4WWPdpQAsEAyxw4oAc5q+QLgC+LgcB0Zfzbd0xPPw
G31eXOVa0oOmglVElVHpVVi0CTO1h+N6i+/OV6HpuDdShl8Dp+cCRjCQhFkRke3yrVkLDX9dNXio
NO3tKzsInb/V0cNKaSMhDZ2LWOIkBQIltBSucADecih3sAbwrA8/ooUAwuSkKKQ5zXiVChOnMpUI
mOEEoIkfbMXnvjeVZXsk0tfIWjhhgOWOVite2YVAJvXHUYpV9lDOCfqAmZIccMYg44BmHfHXIA/U
tL1+cEYH3JCXgPBG2TiYzB2oEpybFaZ21mByV1m6NCQgN4WMqWGGFacN6CQagmMgSAsVhG4PZkxs
cw6v42IJd7DbecjyQhBgGiiiUxty0jBNVb8QgnpB2GumZXCQnAEREWKiMhr2AykmP4mEhtKWrkIQ
hcpvDV/ExEyJC+YjvAKaRPXlDSKmjvwyaYVXbAGIAHPlDxKdDdLCgzWicd7raFJNrML18JjSpjKK
hhDnohaClekbl9Suu+haqlM7WBM4ib59rwyoLkBx0gXc3E0UhoxRD3urhiCIq3J+TyAmhVGBE9Xu
vNw+bsQAPLsSzPlkxC5mQoclZEE0AxZaFqBohCiQQikCYX0CXuCC5wQdEgYUTVYN3afDx+mPEK4V
k7D3n5PoFuFgUpDOaVy/LdvPh0jRE7xDSrKo253pjFIfI2Wg3gjzIAenlLFITFVA2UaA2fOAZhgq
VwN4WAcvJRR0GBmFk++ABuqDJk/r3oAfIrsAwpD1lRoUHDq9dtonvUX9CarhLgIB8dTZjjpEfAoR
A+H+9YNcP3FqqtnQV/MDMYfhp4x++19P0UKWRT+cS/w8SgcwBV8esFu4+gHTg/OSZnX5BQRIIP0L
kw4+3TdVutPry6hU3JBjdVVS8IGn3d1ol4/R+kmM91lm872PjfELRdQJg1HiFgGD06E0F6qs5eaW
tuWMafCQsPoG5RfA+Ci1oAYlJn/OPUot9bmeB8+hQwMjo7fMX8aA+EJK6ow2WvL/oEwzrRFQiQZh
84wtBcCmlOMRSUxBIE5Zw2hCu4Aiq+N9hUYkMbb6ufjNVJTUM6j3k9LSQ2JZ13gAzs8+2w9/Cqp9
CD+qCaoXh4hQVKjE6nXsc/CngKd2tqLuJgJmPZXGz3KUIJSUVSlCgJ7jEb4DBc1AqEnBVWzBRfBo
oX99BaJX1jpRcEyAIGs8paQnA8fjVy35V4Cku7Hv4XmFukus1rCwmkt8ttOSfZh/63UMiqt1XgFY
nKolMHKQbTu82bfaethhmswVT3O4MG9oa/1POcQzsEiEhIo3Ahm0cq48KgkEHaFS+MkkguUICgMv
AL+HtATuoCgsWQtc8x86HCR3c9Kuadpeh+pgNYA5ilgAZBEgwaowcgu0LVYbsnYVrsUHm87iXlQe
BcYV4wMqZW8l5nEyk9tojDDYH7XijGEScHL0ldLZgCcq0l9LWAmAwEpd1hAm4z29oAzC70cxX1Ew
rqI0im431PmDM43jhCYhC+zKQRKtgCBiMkMEg4cCun4h6FZJAV4sj5XCEWwJBNiPtCGNByMAEGYZ
iR7fsSEpTS88IIqIcOC6oK0kGK72a1yy26CnsBhg21E5VGG4qsSB3DzA41WhAgQjAkaQKrxaOjR6
4tLRBzWBkOyriWVgNTccW8PNdrhdCvYauEmiKpoZkgCG4OsWgWg6QF8Rggn72+g/Lu5KnsQW97Tb
CDDHvKjrDp44my+4qdSlYWtQVmzs34GPcuQy5KXheqrg2tHnQbn45yo7umRcNJtNlo8ZQawGZEvJ
9jFFjnRlAq/f6uTKQid34HoNRXFw9oEgSBYHgd9XxpkxNPd2cxfMFSwUV3Javs5ASFykkl5n4Kqz
0EFwwTAzkOQDoBq0pfItUE3Qr/KAXrrMxrttwN3CWxlqWA7wFmW3OjzKL9upABqyqrL44YF3kCWO
daZNLjfqlTNJ4nOcJINIuBOXerqsORliIlXKEfXIDaknTAkUUAIGBMikixNxeqXrXHJVfvlz3LKm
ecn1M48x1oAeNdwdy83HqEOqAjzIbDk4rl6dwdmjr6YEXtjAlLR/8XckU4UJA/4u04A=
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to