WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ia64-devel

Re: [Xen-ia64-devel] Grub for ia64

To: Tristan Gingold <Tristan.Gingold@xxxxxxxx>, xen-ia64-devel <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-ia64-devel] Grub for ia64
From: Atsushi SAKAI <sakaia@xxxxxxxxxxxxxx>
Date: Tue, 05 Sep 2006 21:41:45 +0900
Delivery-date: Tue, 05 Sep 2006 05:42:51 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: (Your message of "Tue, 5 Sep 2006 13:45:37 +0200") <200609051345.37599.Tristan.Gingold@xxxxxxxx>
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
References: <200609051345.37599.Tristan.Gingold@xxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
Hi, Tristan 

 That's fine that GRUB support IA64 platform!
 Do you plan to support TrustedGRUB?
http://sourceforge.net/projects/trustedgrub/

Thanks
Atsushi SAKAI


>Hi,
>
>here is my port of grub to ia64.  I hope it has all the requested features
>(kernel, initrd, modules, relocation and fpswa).
>
>This is a port of grub 1.94, which is not the legacy grub used by x86.  The
>syntax is slightly different.  See an attached example.
>
>Attached is grub.efi, patch and grub.cfg example as well as modifications for
>Xen (to support acm).
>
>Tested in many configurations (including acm).
>
>I will post the patches to grub-devel later.
>
>Tristan.
>

>menuentry "Xen-3.4-acm" {
> set root=(hd0,1)
> linux /efi/xen/xen.gz com2=57600,8n1 console=com2
> module /efi/xen/vmlinux-xen0 xencons=ttyS4 console=ttyS4 root=8:6
> module /efi/xen/client_v1.bin
>}

>diff -rcN -x '*~' -x ia64-efi.mk grub-1.94.orig/Makefile.in 
>grub-1.94/Makefile.in
>*** grub-1.94.orig/Makefile.in Mon May 29 01:01:43 2006
>--- grub-1.94/Makefile.in      Fri Aug 25 13:45:38 2006
>***************
>*** 76,82 ****
>  ### General variables.
>
>  RMKFILES = $(addprefix conf/,common.rmk i386-pc.rmk powerpc-ieee1275.rmk \
>!      sparc64-ieee1275.rmk i386-efi.rmk)
>  MKFILES = $(patsubst %.rmk,%.mk,$(RMKFILES))
>
>  DATA = $(pkgdata_IMAGES) $(pkgdata_MODULES) $(pkgdata_PROGRAMS) \
>--- 76,82 ----
>  ### General variables.
>
>  RMKFILES = $(addprefix conf/,common.rmk i386-pc.rmk powerpc-ieee1275.rmk \
>!      sparc64-ieee1275.rmk i386-efi.rmk ia64-efi.rmk)
>  MKFILES = $(patsubst %.rmk,%.mk,$(RMKFILES))
>
>  DATA = $(pkgdata_IMAGES) $(pkgdata_MODULES) $(pkgdata_PROGRAMS) \
>diff -rcN -x '*~' -x ia64-efi.mk grub-1.94.orig/commands/blocklist.c 
>grub-1.94/commands/blocklist.c
>*** grub-1.94.orig/commands/blocklist.c        Sat May 27 23:09:25 2006
>--- grub-1.94/commands/blocklist.c     Thu Aug 31 09:00:31 2006
>***************
>*** 99,105 ****
>  }
>
>
>! GRUB_MOD_INIT(blocklist)
>  {
>    (void) mod;                        /* To stop warning. */
>    grub_register_command ("blocklist", grub_cmd_blocklist,
>--- 99,106 ----
>  }
>
>
>! static void
>! grub_blocklist_init (grub_dl_t mod)
>  {
>    (void) mod;                        /* To stop warning. */
>    grub_register_command ("blocklist", grub_cmd_blocklist,
>***************
>*** 108,114 ****
>                        "Print a block list.", 0);
>  }
>
>! GRUB_MOD_FINI(blocklist)
>  {
>    grub_unregister_command ("blocklist");
>  }
>--- 109,118 ----
>                        "Print a block list.", 0);
>  }
>
>! static void
>! grub_blocklist_fini (void)
>  {
>    grub_unregister_command ("blocklist");
>  }
>+
>+ GRUB_MODULE(blocklist, grub_blocklist_init, grub_blocklist_fini);
>diff -rcN -x '*~' -x ia64-efi.mk grub-1.94.orig/commands/boot.c 
>grub-1.94/commands/boot.c
>*** grub-1.94.orig/commands/boot.c     Sun Nov 13 16:47:08 2005
>--- grub-1.94/commands/boot.c  Thu Aug 31 09:00:10 2006
>***************
>*** 38,51 ****
>
>
>
>! GRUB_MOD_INIT(boot)
>  {
>    (void) mod;                        /* To stop warning. */
>    grub_register_command ("boot", grub_cmd_boot, GRUB_COMMAND_FLAG_BOTH,
>                        "boot", "Boot an operating system.", 0);
>  }
>
>! GRUB_MOD_FINI(boot)
>  {
>    grub_unregister_command ("boot");
>  }
>--- 38,55 ----
>
>
>
>! static void
>! grub_boot_init (grub_dl_t mod)
>  {
>    (void) mod;                        /* To stop warning. */
>    grub_register_command ("boot", grub_cmd_boot, GRUB_COMMAND_FLAG_BOTH,
>                        "boot", "Boot an operating system.", 0);
>  }
>
>! static void
>! grub_boot_fini (void)
>  {
>    grub_unregister_command ("boot");
>  }
>+
>+ GRUB_MODULE(boot, grub_boot_init, grub_boot_fini);
>diff -rcN -x '*~' -x ia64-efi.mk grub-1.94.orig/commands/cat.c 
>grub-1.94/commands/cat.c
>*** grub-1.94.orig/commands/cat.c      Sun Nov 13 16:47:08 2005
>--- grub-1.94/commands/cat.c   Thu Aug 31 09:00:37 2006
>***************
>*** 70,83 ****
>  }
>
>
>! GRUB_MOD_INIT(cat)
>  {
>    (void) mod;                        /* To stop warning. */
>    grub_register_command ("cat", grub_cmd_cat, GRUB_COMMAND_FLAG_BOTH,
>                        "cat FILE", "Show the contents of a file.", 0);
>  }
>
>! GRUB_MOD_FINI(cat)
>  {
>    grub_unregister_command ("cat");
>  }
>--- 70,87 ----
>  }
>
>
>! static void
>! grub_cat_init (grub_dl_t mod)
>  {
>    (void) mod;                        /* To stop warning. */
>    grub_register_command ("cat", grub_cmd_cat, GRUB_COMMAND_FLAG_BOTH,
>                        "cat FILE", "Show the contents of a file.", 0);
>  }
>
>! static void
>! grub_cat_fini (void)
>  {
>    grub_unregister_command ("cat");
>  }
>+
>+ GRUB_MODULE(cat, grub_cat_init, grub_cat_fini);
>diff -rcN -x '*~' -x ia64-efi.mk grub-1.94.orig/commands/cmp.c 
>grub-1.94/commands/cmp.c
>*** grub-1.94.orig/commands/cmp.c      Sun Nov 13 16:47:08 2005
>--- grub-1.94/commands/cmp.c   Thu Aug 31 09:00:42 2006
>***************
>*** 102,115 ****
>  }
>
>
>! GRUB_MOD_INIT(cmp)
>  {
>    (void) mod;                        /* To stop warning. */
>    grub_register_command ("cmp", grub_cmd_cmp, GRUB_COMMAND_FLAG_BOTH,
>                        "cmp FILE1 FILE2", "Compare two files.", 0);
>  }
>
>! GRUB_MOD_FINI(cmp)
>  {
>    grub_unregister_command ("cmp");
>  }
>--- 102,119 ----
>  }
>
>
>! static void
>! grub_cmp_init (grub_dl_t mod)
>  {
>    (void) mod;                        /* To stop warning. */
>    grub_register_command ("cmp", grub_cmd_cmp, GRUB_COMMAND_FLAG_BOTH,
>                        "cmp FILE1 FILE2", "Compare two files.", 0);
>  }
>
>! static void
>! grub_cmp_fini (void)
>  {
>    grub_unregister_command ("cmp");
>  }
>+
>+ GRUB_MODULE(cmp, grub_cmp_init, grub_cmp_fini);
>diff -rcN -x '*~' -x ia64-efi.mk grub-1.94.orig/commands/configfile.c 
>grub-1.94/commands/configfile.c
>*** grub-1.94.orig/commands/configfile.c       Sun Apr 30 22:48:05 2006
>--- grub-1.94/commands/configfile.c    Thu Aug 31 09:00:49 2006
>***************
>*** 54,60 ****
>  }
>
>
>! GRUB_MOD_INIT(configfile)
>  {
>    (void) mod;                   /* To stop warning. */
>    grub_register_command ("configfile", grub_cmd_configfile,
>--- 54,61 ----
>  }
>
>
>! static void
>! grub_configfile_init (grub_dl_t mod)
>  {
>    (void) mod;                   /* To stop warning. */
>    grub_register_command ("configfile", grub_cmd_configfile,
>***************
>*** 70,78 ****
>                        0);
>  }
>
>! GRUB_MOD_FINI(configfile)
>  {
>    grub_unregister_command ("configfile");
>    grub_unregister_command ("source");
>    grub_unregister_command (".");
>  }
>--- 71,82 ----
>                        0);
>  }
>
>! static void
>! grub_configfile_fini (void)
>  {
>    grub_unregister_command ("configfile");
>    grub_unregister_command ("source");
>    grub_unregister_command (".");
>  }
>+
>+ GRUB_MODULE(configfile, grub_configfile_init, grub_configfile_fini);
>diff -rcN -x '*~' -x ia64-efi.mk grub-1.94.orig/commands/efi/memmap.c 
>grub-1.94/commands/efi/memmap.c
>*** grub-1.94.orig/commands/efi/memmap.c       Thu Jan  1 01:00:00 1970
>--- grub-1.94/commands/efi/memmap.c    Fri Sep  1 08:01:01 2006
>***************
>*** 0 ****
>--- 1,143 ----
>+ /* memmap.c  - Display memory map.  */
>+ /*
>+  *  GRUB  --  GRand Unified Bootloader
>+  *  Copyright (C) 2003,2005  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 2 of the License, or
>+  *  (at your option) any later version.
>+  *
>+  *  This program 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, write to the Free Software
>+  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
>+  */
>+
>+ #include <grub/types.h>
>+ #include <grub/mm.h>
>+ #include <grub/misc.h>
>+ #include <grub/normal.h>
>+ #include <grub/efi/api.h>
>+ #include <grub/efi/efi.h>
>+
>+ #define ADD_MEMORY_DESCRIPTOR(desc, size)    \
>+   ((grub_efi_memory_descriptor_t *) ((char *) (desc) + (size)))
>+
>+ static grub_err_t
>+ grub_cmd_memmap (struct grub_arg_list *state, int argc, char **args)
>+ {
>+   grub_efi_uintn_t map_size;
>+   grub_efi_memory_descriptor_t *memory_map;
>+   grub_efi_memory_descriptor_t *memory_map_end;
>+   grub_efi_memory_descriptor_t *desc;
>+   grub_efi_uintn_t desc_size;
>+
>+   if (grub_efi_get_memory_map (&map_size, NULL, NULL, &desc_size, 0) < 0)
>+     return 0;
>+
>+   memory_map = grub_malloc (map_size);
>+   if (memory_map == NULL)
>+     return 0;
>+
>+   if (grub_efi_get_memory_map (&map_size, memory_map, NULL, &desc_size, 0) < 
>0)
>+     goto fail;
>+
>+   grub_printf
>+     ("Type      Physical start  - end             #Pages   Attributes"
>+      "       Size\n");
>+   memory_map_end = ADD_MEMORY_DESCRIPTOR(memory_map, map_size);
>+   for (desc = memory_map;
>+        desc < memory_map_end;
>+        desc = ADD_MEMORY_DESCRIPTOR (desc, desc_size))
>+     {
>+       grub_efi_uintn_t size;
>+       grub_efi_uint64_t attr;
>+       static const char types_str[][9] =
>+      {
>+        "reserved",
>+        "ldr-code",
>+        "ldr-data",
>+        "BS-code ",
>+        "BS-data ",
>+        "RT-code ",
>+        "RT-data ",
>+        "conv-mem",
>+        "unusable",
>+        "ACPI-rec",
>+        "ACPI-nvs",
>+        "MMIO    ",
>+        "IO-ports",
>+        "PAL-code"
>+      };
>+       if (desc->type < sizeof (types_str) / sizeof (types_str[0]))
>+      grub_printf ("%s ", types_str[desc->type]);
>+       else
>+      grub_printf ("Unk %02x   ", desc->type);
>+
>+       grub_printf (" %016llx-%016llx %08lx",
>+                 desc->physical_start,
>+                 desc->physical_start + (desc->num_pages << 12) - 1,
>+                 desc->num_pages);
>+       attr = desc->attribute;
>+       if (attr & GRUB_EFI_MEMORY_RUNTIME)
>+      grub_printf (" RT");
>+       if (attr & GRUB_EFI_MEMORY_UC)
>+      grub_printf (" UC");
>+       if (attr & GRUB_EFI_MEMORY_WC)
>+      grub_printf (" WC");
>+       if (attr & GRUB_EFI_MEMORY_WT)
>+      grub_printf (" WT");
>+       if (attr & GRUB_EFI_MEMORY_WB)
>+      grub_printf (" WB");
>+       if (attr & GRUB_EFI_MEMORY_UCE)
>+      grub_printf (" UCE");
>+       if (attr & GRUB_EFI_MEMORY_WP)
>+      grub_printf (" WP");
>+       if (attr & GRUB_EFI_MEMORY_RP)
>+      grub_printf (" RP");
>+       if (attr & GRUB_EFI_MEMORY_XP)
>+      grub_printf (" XP");
>+
>+       size = desc->num_pages << (12 - 10);
>+       if (size < 1024)
>+      grub_printf (" %uKB", size);
>+       else
>+      {
>+        size /= 1024;
>+        if (size < 1024)
>+          grub_printf (" %uMB", size);
>+        else
>+          {
>+            size /= 1024;
>+            grub_printf (" %uGB", size);
>+          }
>+      }
>+       grub_printf ("\n");
>+     }
>+
>+  fail:
>+   grub_free (memory_map);
>+   return 0;
>+ }
>+
>+ static void
>+ grub_memmap_init (grub_dl_t mod)
>+ {
>+   (void)mod;                 /* To stop warning. */
>+   grub_register_command ("memmap", grub_cmd_memmap, GRUB_COMMAND_FLAG_BOTH,
>+                       "memmap",
>+                       "Display memory map.", NULL);
>+ }
>+
>+ static void
>+ grub_memmap_fini (void)
>+ {
>+   grub_unregister_command ("memmap");
>+ }
>+
>+ GRUB_MODULE(memmap, grub_memmap_init, grub_memmap_fini);
>diff -rcN -x '*~' -x ia64-efi.mk grub-1.94.orig/commands/help.c 
>grub-1.94/commands/help.c
>*** grub-1.94.orig/commands/help.c     Sun Nov 13 16:47:08 2005
>--- grub-1.94/commands/help.c  Thu Aug 31 09:00:55 2006
>***************
>*** 94,107 ****
>
>
>
>! GRUB_MOD_INIT(help)
>  {
>    (void)mod;                 /* To stop warning. */
>    grub_register_command ("help", grub_cmd_help, GRUB_COMMAND_FLAG_CMDLINE,
>                        "help [PATTERN ...]", "Show a help message.", 0);
>  }
>
>! GRUB_MOD_FINI(help)
>  {
>    grub_unregister_command ("help");
>  }
>--- 94,111 ----
>
>
>
>! static void
>! grub_help_init (grub_dl_t mod)
>  {
>    (void)mod;                 /* To stop warning. */
>    grub_register_command ("help", grub_cmd_help, GRUB_COMMAND_FLAG_CMDLINE,
>                        "help [PATTERN ...]", "Show a help message.", 0);
>  }
>
>! static void
>! grub_help_fini (void)
>  {
>    grub_unregister_command ("help");
>  }
>+
>+ GRUB_MODULE(help, grub_help_init, grub_help_fini);
>diff -rcN -x '*~' -x ia64-efi.mk grub-1.94.orig/commands/ls.c 
>grub-1.94/commands/ls.c
>*** grub-1.94.orig/commands/ls.c       Sun Nov 13 16:47:08 2005
>--- grub-1.94/commands/ls.c    Thu Aug 31 13:48:30 2006
>***************
>*** 157,163 ****
>        grub_error (GRUB_ERR_BAD_ARGUMENT, "invalid argument");
>        goto fail;
>      }
>!
>    if (! *path)
>      {
>        if (grub_errno == GRUB_ERR_UNKNOWN_FS)
>--- 157,163 ----
>        grub_error (GRUB_ERR_BAD_ARGUMENT, "invalid argument");
>        goto fail;
>      }
>!
>    if (! *path)
>      {
>        if (grub_errno == GRUB_ERR_UNKNOWN_FS)
>***************
>*** 228,234 ****
>    return 0;
>  }
>
>! GRUB_MOD_INIT(ls)
>  {
>    (void)mod;                 /* To stop warning. */
>    grub_register_command ("ls", grub_cmd_ls, GRUB_COMMAND_FLAG_BOTH,
>--- 228,235 ----
>    return 0;
>  }
>
>! static void
>! grub_ls_init (grub_dl_t mod)
>  {
>    (void)mod;                 /* To stop warning. */
>    grub_register_command ("ls", grub_cmd_ls, GRUB_COMMAND_FLAG_BOTH,
>***************
>*** 236,242 ****
>                        "List devices and files.", options);
>  }
>
>! GRUB_MOD_FINI(ls)
>  {
>    grub_unregister_command ("ls");
>  }
>--- 237,246 ----
>                        "List devices and files.", options);
>  }
>
>! static void
>! grub_ls_fini (void)
>  {
>    grub_unregister_command ("ls");
>  }
>+
>+ GRUB_MODULE(ls, grub_ls_init, grub_ls_fini);
>diff -rcN -x '*~' -x ia64-efi.mk grub-1.94.orig/commands/search.c 
>grub-1.94/commands/search.c
>*** grub-1.94.orig/commands/search.c   Sun Nov 13 16:47:08 2005
>--- grub-1.94/commands/search.c        Thu Aug 31 09:01:08 2006
>***************
>*** 148,154 ****
>    return grub_errno;
>  }
>
>! GRUB_MOD_INIT(search)
>  {
>    (void) mod;                        /* To stop warning. */
>    grub_register_command ("search", grub_cmd_search, GRUB_COMMAND_FLAG_BOTH,
>--- 148,155 ----
>    return grub_errno;
>  }
>
>! static void
>! grub_search_init (grub_dl_t mod)
>  {
>    (void) mod;                        /* To stop warning. */
>    grub_register_command ("search", grub_cmd_search, GRUB_COMMAND_FLAG_BOTH,
>***************
>*** 160,166 ****
>                        options);
>  }
>
>! GRUB_MOD_FINI(search)
>  {
>    grub_unregister_command ("search");
>  }
>--- 161,170 ----
>                        options);
>  }
>
>! static void
>! grub_search_fini (void)
>  {
>    grub_unregister_command ("search");
>  }
>+
>+ GRUB_MODULE(search, grub_search_init, grub_search_fini);
>diff -rcN -x '*~' -x ia64-efi.mk grub-1.94.orig/commands/terminal.c 
>grub-1.94/commands/terminal.c
>*** grub-1.94.orig/commands/terminal.c Sun Nov 13 16:47:08 2005
>--- grub-1.94/commands/terminal.c      Thu Aug 31 09:00:19 2006
>***************
>*** 71,84 ****
>  }
>
>
>! GRUB_MOD_INIT(terminal)
>  {
>    (void)mod;                 /* To stop warning. */
>    grub_register_command ("terminal", grub_cmd_terminal, 
> GRUB_COMMAND_FLAG_BOTH,
>                        "terminal [TERM...]", "Select a terminal.", 0);
>  }
>
>! GRUB_MOD_FINI(terminal)
>  {
>    grub_unregister_command ("terminal");
>  }
>--- 71,88 ----
>  }
>
>
>! static void
>! grub_terminal_init (grub_dl_t mod)
>  {
>    (void)mod;                 /* To stop warning. */
>    grub_register_command ("terminal", grub_cmd_terminal, 
> GRUB_COMMAND_FLAG_BOTH,
>                        "terminal [TERM...]", "Select a terminal.", 0);
>  }
>
>! static void
>! grub_terminal_fini (void)
>  {
>    grub_unregister_command ("terminal");
>  }
>+
>+ GRUB_MODULE(terminal, grub_terminal_init, grub_terminal_fini);
>diff -rcN -x '*~' -x ia64-efi.mk grub-1.94.orig/commands/test.c 
>grub-1.94/commands/test.c
>*** grub-1.94.orig/commands/test.c     Sun Nov 13 16:47:08 2005
>--- grub-1.94/commands/test.c  Thu Aug 31 09:01:15 2006
>***************
>*** 55,61 ****
>
>
>
>! GRUB_MOD_INIT(test)
>  {
>    (void)mod;                 /* To stop warning. */
>    grub_register_command ("[", grub_cmd_test, GRUB_COMMAND_FLAG_CMDLINE,
>--- 55,62 ----
>
>
>
>! static void
>! grub_test_init (grub_dl_t mod)
>  {
>    (void)mod;                 /* To stop warning. */
>    grub_register_command ("[", grub_cmd_test, GRUB_COMMAND_FLAG_CMDLINE,
>***************
>*** 64,71 ****
>                        "test EXPRESSION", "Evaluate an expression", 0);
>  }
>
>! GRUB_MOD_FINI(test)
>  {
>    grub_unregister_command ("[");
>    grub_unregister_command ("test");
>  }
>--- 65,75 ----
>                        "test EXPRESSION", "Evaluate an expression", 0);
>  }
>
>! static void
>! grub_test_fini (void)
>  {
>    grub_unregister_command ("[");
>    grub_unregister_command ("test");
>  }
>+
>+ GRUB_MODULE(test, grub_test_init, grub_test_fini);
>diff -rcN -x '*~' -x ia64-efi.mk grub-1.94.orig/commands/videotest.c 
>grub-1.94/commands/videotest.c
>*** grub-1.94.orig/commands/videotest.c        Tue Mar 14 20:08:33 2006
>--- grub-1.94/commands/videotest.c     Thu Aug 31 09:01:28 2006
>***************
>*** 114,120 ****
>    return grub_errno;
>  }
>
>! GRUB_MOD_INIT(videotest)
>  {
>    grub_register_command ("videotest",
>                           grub_cmd_videotest,
>--- 114,121 ----
>    return grub_errno;
>  }
>
>! static void
>! grub_videotest_init (grub_dl_t mod)
>  {
>    grub_register_command ("videotest",
>                           grub_cmd_videotest,
>***************
>*** 124,130 ****
>                           0);
>  }
>
>! GRUB_MOD_FINI(videotest)
>  {
>    grub_unregister_command ("videotest");
>  }
>--- 125,134 ----
>                           0);
>  }
>
>! static void
>! grub_videotest_fini (void)
>  {
>    grub_unregister_command ("videotest");
>  }
>+
>+ GRUB_MODULE(videotest, grub_videotest_init, grub_videotest_fini);
>diff -rcN -x '*~' -x ia64-efi.mk grub-1.94.orig/conf/ia64-efi.rmk 
>grub-1.94/conf/ia64-efi.rmk
>*** grub-1.94.orig/conf/ia64-efi.rmk   Thu Jan  1 01:00:00 1970
>--- grub-1.94/conf/ia64-efi.rmk        Mon Sep  4 07:46:21 2006
>***************
>*** 0 ****
>--- 1,141 ----
>+ # -*- makefile -*-
>+
>+ COMMON_ASFLAGS = -nostdinc -fno-builtin
>+ COMMON_CFLAGS = -fno-builtin -fpic
>+ COMMON_LDFLAGS = -melf_64 -nostdlib
>+
>+ # Utilities.
>+ #bin_UTILITIES = grub-mkimage
>+ #sbin_UTILITIES = grub-emu
>+
>+ # Scripts.
>+ sbin_SCRIPTS = grub-install
>+
>+ # For grub-install.
>+ grub_install_SOURCES = util/ia64/efi/grub-install.in
>+
>+ # For grub-mkimage.
>+ #grub_mkimage_SOURCES = util/i386/efi/grub-mkimage.c util/misc.c \
>+ #    util/resolve.c
>+
>+ # For grub-setup.
>+ #grub_setup_SOURCES = util/i386/pc/grub-setup.c util/i386/pc/biosdisk.c      
>\
>+ #    util/misc.c util/i386/pc/getroot.c kern/device.c kern/disk.c    \
>+ #    kern/err.c kern/misc.c fs/fat.c fs/ext2.c fs/xfs.c fs/affs.c    \
>+ #    fs/sfs.c kern/parser.c kern/partition.c partmap/pc.c            \
>+ #    fs/ufs.c fs/minix.c fs/hfs.c fs/jfs.c fs/hfsplus.c kern/file.c  \
>+ #    kern/fs.c kern/env.c fs/fshelp.c
>+
>+ # For grub-mkdevicemap.
>+ #grub_mkdevicemap_SOURCES = util/i386/pc/grub-mkdevicemap.c util/misc.c
>+
>+ # For grub-probefs.
>+ #grub_probefs_SOURCES = util/i386/pc/grub-probefs.c  \
>+ #    util/i386/pc/biosdisk.c util/misc.c util/i386/pc/getroot.c      \
>+ #    kern/device.c kern/disk.c kern/err.c kern/misc.c fs/fat.c       \
>+ #    fs/ext2.c kern/parser.c kern/partition.c partmap/pc.c fs/ufs.c  \
>+ #    fs/minix.c fs/hfs.c fs/jfs.c kern/fs.c kern/env.c fs/fshelp.c   \
>+ #    fs/xfs.c fs/affs.c fs/sfs.c fs/hfsplus.c
>+
>+ # For grub-emu.
>+ grub_emu_SOURCES = commands/boot.c commands/cat.c commands/cmp.c     \
>+      commands/configfile.c commands/help.c                           \
>+      commands/terminal.c commands/ls.c commands/test.c               \
>+      commands/search.c commands/blocklist.c                          \
>+      disk/loopback.c                                                 \
>+      fs/affs.c fs/ext2.c fs/fat.c fs/fshelp.c fs/hfs.c fs/iso9660.c  \
>+      fs/jfs.c fs/minix.c fs/sfs.c fs/ufs.c fs/xfs.c fs/hfsplus.c     \
>+      io/gzio.c                                                       \
>+      kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c       \
>+      normal/execute.c kern/file.c kern/fs.c normal/lexer.c           \
>+      kern/loader.c kern/main.c kern/misc.c kern/parser.c             \
>+      grub_script.tab.c kern/partition.c kern/rescue.c kern/term.c    \
>+      normal/arg.c normal/cmdline.c normal/command.c normal/function.c\
>+      normal/completion.c normal/main.c                               \
>+      normal/menu.c normal/menu_entry.c normal/misc.c normal/script.c \
>+      partmap/amiga.c partmap/apple.c partmap/pc.c partmap/sun.c      \
>+      partmap/acorn.c partmap/gpt.c                                   \
>+      util/console.c util/grub-emu.c util/misc.c                      \
>+      util/i386/pc/misc.c grub_emu_init.c
>+
>+ grub_emu_LDFLAGS = $(LIBCURSES)
>+
>+ # Scripts.
>+ #sbin_SCRIPTS = grub-install
>+
>+ # For grub-install.
>+ #grub_install_SOURCES = util/efi/pc/grub-install.in
>+
>+ # Modules.
>+ pkgdata_MODULES = kernel.mod normal.mod _chain.mod chain.mod \
>+      _linux.mod linux.mod memmap.mod
>+
>+ # For kernel.mod.
>+ kernel_mod_EXPORTS = no
>+ kernel_mod_SOURCES = kern/ia64/startup.S kern/ia64/reloc_ia64.S \
>+      kern/ia64/umodsi3.S kern/ia64/umoddi3.S \
>+      kern/ia64/udivdi3.S kern/ia64/divdi3.S \
>+      kern/ia64/divsi3.S kern/ia64/modsi3.S kern/ia64/udivsi3.S \
>+      kern/ia64/trampoline.S \
>+      kern/main.c kern/device.c \
>+      kern/disk.c kern/dl.c kern/file.c kern/fs.c kern/err.c \
>+      kern/misc.c kern/mm.c kern/loader.c kern/rescue.c kern/term.c \
>+      kern/i386/dl.c kern/ia64/efi/init.c kern/parser.c kern/partition.c \
>+      kern/env.c symlist.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c \
>+      term/efi/console.c disk/efi/efidisk.c
>+ kernel_mod_HEADERS = arg.h boot.h device.h disk.h dl.h elf.h env.h err.h \
>+      file.h fs.h kernel.h loader.h misc.h mm.h net.h parser.h partition.h \
>+      pc_partition.h rescue.h symbol.h term.h types.h cache.h \
>+      i386/efi/time.h efi/efi.h efi/time.h efi/disk.h ia64/libgcc.h
>+ kernel_mod_CFLAGS = $(COMMON_CFLAGS)
>+ kernel_mod_ASFLAGS = $(COMMON_ASFLAGS)
>+ kernel_mod_LDFLAGS = $(COMMON_LDFLAGS)
>+
>+ MOSTLYCLEANFILES += symlist.c
>+ MOSTLYCLEANFILES += symlist.c kernel_syms.lst
>+ DEFSYMFILES += kernel_syms.lst
>+
>+ symlist.c: $(addprefix include/grub/,$(kernel_mod_HEADERS)) config.h 
>gensymlist.sh
>+      /bin/sh gensymlist.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1)
>+
>+ kernel_syms.lst: $(addprefix include/grub/,$(kernel_mod_HEADERS)) config.h 
>genkernsyms.sh
>+      /bin/sh genkernsyms.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1)
>+
>+ # For normal.mod.
>+ normal_mod_SOURCES = normal/arg.c normal/cmdline.c normal/command.c  \
>+      normal/completion.c normal/execute.c            \
>+      normal/function.c normal/lexer.c normal/main.c normal/menu.c    \
>+      normal/menu_entry.c normal/misc.c grub_script.tab.c             \
>+      normal/script.c \
>+      normal/ia64/setjmp.S normal/ia64/longjmp.S
>+
>+ normal_mod_CFLAGS = $(COMMON_CFLAGS)
>+ normal_mod_ASFLAGS = $(COMMON_ASFLAGS)
>+ normal_mod_LDFLAGS = $(COMMON_LDFLAGS)
>+
>+ # For _chain.mod.
>+ _chain_mod_SOURCES = loader/efi/chainloader.c
>+ _chain_mod_CFLAGS = $(COMMON_CFLAGS)
>+ _chain_mod_LDFLAGS = $(COMMON_LDFLAGS)
>+
>+ # For chain.mod.
>+ chain_mod_SOURCES = loader/efi/chainloader_normal.c
>+ chain_mod_CFLAGS = $(COMMON_CFLAGS)
>+ chain_mod_LDFLAGS = $(COMMON_LDFLAGS)
>+
>+ # For _linux.mod.
>+ _linux_mod_SOURCES = loader/ia64/linux.c
>+ _linux_mod_CFLAGS = $(COMMON_CFLAGS)
>+ _linux_mod_LDFLAGS = $(COMMON_LDFLAGS)
>+
>+ # For linux.mod.
>+ linux_mod_SOURCES = loader/ia64/linux_normal.c
>+ linux_mod_CFLAGS = $(COMMON_CFLAGS)
>+ linux_mod_LDFLAGS = $(COMMON_LDFLAGS)
>+
>+ # For memmap.mod.
>+ memmap_mod_SOURCES = commands/efi/memmap.c
>+ memmap_mod_CFLAGS = $(COMMON_CFLAGS)
>+ memmap_mod_LDFLAGS = $(COMMON_LDFLAGS)
>+
>+ include $(srcdir)/conf/common.mk
>diff -rcN -x '*~' -x ia64-efi.mk grub-1.94.orig/configure grub-1.94/configure
>*** grub-1.94.orig/configure   Sun Jun  4 14:41:00 2006
>--- grub-1.94/configure        Thu Aug 31 14:05:51 2006
>***************
>*** 1440,1447 ****
>    powerpc) ;;
>    powerpc64) target_cpu=powerpc target_m32=1;;
>    sparc64) ;;
>!   *) { { echo "$as_me:$LINENO: error: unsupported CPU type" >&5
>! echo "$as_me: error: unsupported CPU type" >&2;}
>     { (exit 1); exit 1; }; } ;;
>  esac
>
>--- 1440,1448 ----
>    powerpc) ;;
>    powerpc64) target_cpu=powerpc target_m32=1;;
>    sparc64) ;;
>!   ia64) ;;
>!   *) { { echo "$as_me:$LINENO: error: unsupported CPU type $target_cpu" >&5
>! echo "$as_me: error: unsupported CPU type $target_cpu" >&2;}
>     { (exit 1); exit 1; }; } ;;
>  esac
>
>***************
>*** 1460,1465 ****
>--- 1461,1467 ----
>      i386-*) platform=pc ;;
>      powerpc-*) platform=ieee1275 ;;
>      sparc64-*) platform=ieee1275 ;;
>+     ia64*) platform=efi ;;
>      *) { { echo "$as_me:$LINENO: error: unsupported machine type" >&5
>  echo "$as_me: error: unsupported machine type" >&2;}
>     { (exit 1); exit 1; }; } ;;
>***************
>*** 1474,1479 ****
>--- 1476,1482 ----
>    i386-pc) ;;
>    powerpc-ieee1275) ;;
>    sparc64-ieee1275) ;;
>+   ia64-efi) ;;
>    *) { { echo "$as_me:$LINENO: error: unsupported machine type" >&5
>  echo "$as_me: error: unsupported machine type" >&2;}
>     { (exit 1); exit 1; }; } ;;
>diff -rcN -x '*~' -x ia64-efi.mk grub-1.94.orig/configure.ac 
>grub-1.94/configure.ac
>*** grub-1.94.orig/configure.ac        Sun Jun  4 14:39:23 2006
>--- grub-1.94/configure.ac     Fri Aug 25 13:33:35 2006
>***************
>*** 50,56 ****
>    powerpc) ;;
>    powerpc64) target_cpu=powerpc target_m32=1;;
>    sparc64) ;;
>!   *) AC_MSG_ERROR([unsupported CPU type]) ;;
>  esac
>
>  # Specify the platform (such as firmware).
>--- 50,57 ----
>    powerpc) ;;
>    powerpc64) target_cpu=powerpc target_m32=1;;
>    sparc64) ;;
>!   ia64) ;;
>!   *) AC_MSG_ERROR([unsupported CPU type $target_cpu]) ;;
>  esac
>
>  # Specify the platform (such as firmware).
>***************
>*** 65,70 ****
>--- 66,72 ----
>      i386-*) platform=pc ;;
>      powerpc-*) platform=ieee1275 ;;
>      sparc64-*) platform=ieee1275 ;;
>+     ia64*) platform=efi ;;
>      *) AC_MSG_ERROR([unsupported machine type]) ;;
>    esac
>  else
>***************
>*** 77,82 ****
>--- 79,85 ----
>    i386-pc) ;;
>    powerpc-ieee1275) ;;
>    sparc64-ieee1275) ;;
>+   ia64-efi) ;;
>    *) AC_MSG_ERROR([unsupported machine type]) ;;
>  esac
>
>diff -rcN -x '*~' -x ia64-efi.mk grub-1.94.orig/disk/efi/efidisk.c 
>grub-1.94/disk/efi/efidisk.c
>*** grub-1.94.orig/disk/efi/efidisk.c  Sun Apr 30 23:09:37 2006
>--- grub-1.94/disk/efi/efidisk.c       Mon Sep  4 09:19:26 2006
>***************
>*** 146,151 ****
>--- 146,152 ----
>    /* Find handles which support the disk io interface.  */
>    handles = grub_efi_locate_handle (GRUB_EFI_BY_PROTOCOL, &disk_io_guid,
>                                   0, &num_handles);
>+
>    if (! handles)
>      return 0;
>
>***************
>*** 305,311 ****
>  name_devices (struct grub_efidisk_data *devices)
>  {
>    struct grub_efidisk_data *d;
>!
>    /* First, identify devices by media device paths.  */
>    for (d = devices; d; d = d->next)
>      {
>--- 306,312 ----
>  name_devices (struct grub_efidisk_data *devices)
>  {
>    struct grub_efidisk_data *d;
>!
>    /* First, identify devices by media device paths.  */
>    for (d = devices; d; d = d->next)
>      {
>***************
>*** 427,433 ****
>    devices = make_devices ();
>    if (! devices)
>      return;
>-
>    name_devices (devices);
>    free_devices (devices);
>  }
>--- 428,433 ----
>diff -rcN -x '*~' -x ia64-efi.mk grub-1.94.orig/disk/loopback.c 
>grub-1.94/disk/loopback.c
>*** grub-1.94.orig/disk/loopback.c     Sun Nov 13 16:47:09 2005
>--- grub-1.94/disk/loopback.c  Thu Aug 31 09:01:44 2006
>***************
>*** 241,247 ****
>
>
>
>! GRUB_MOD_INIT(loop)
>  {
>    (void)mod;                 /* To stop warning. */
>    grub_register_command ("loopback", grub_cmd_loopback, 
> GRUB_COMMAND_FLAG_BOTH,
>--- 241,248 ----
>
>
>
>! static void
>! grub_loop_init (grub_dl_t mod)
>  {
>    (void)mod;                 /* To stop warning. */
>    grub_register_command ("loopback", grub_cmd_loopback, 
> GRUB_COMMAND_FLAG_BOTH,
>***************
>*** 250,258 ****
>    grub_disk_dev_register (&grub_loopback_dev);
>  }
>
>! GRUB_MOD_FINI(loop)
>  {
>    grub_unregister_command ("loopback");
>    grub_disk_dev_unregister (&grub_loopback_dev);
>  }
>
>--- 251,262 ----
>    grub_disk_dev_register (&grub_loopback_dev);
>  }
>
>! static void
>! grub_loop_fini (void)
>  {
>    grub_unregister_command ("loopback");
>    grub_disk_dev_unregister (&grub_loopback_dev);
>  }
>
>+
>+ GRUB_MODULE(loop, grub_loop_init, grub_loop_fini);
>diff -rcN -x '*~' -x ia64-efi.mk grub-1.94.orig/font/manager.c 
>grub-1.94/font/manager.c
>*** grub-1.94.orig/font/manager.c      Fri Mar 31 15:32:52 2006
>--- grub-1.94/font/manager.c   Thu Aug 31 09:03:52 2006
>***************
>*** 249,262 ****
>    return 0;
>  }
>
>! GRUB_MOD_INIT(font_manager)
>  {
>    grub_register_command ("font", font_command, GRUB_COMMAND_FLAG_BOTH,
>                        "font FILE...",
>                        "Specify one or more font files to display.", 0);
>  }
>
>! GRUB_MOD_FINI(font_manager)
>  {
>    grub_unregister_command ("font");
>  }
>--- 249,266 ----
>    return 0;
>  }
>
>! static void
>! grub_font_manager_init (grub_dl_t mod)
>  {
>    grub_register_command ("font", font_command, GRUB_COMMAND_FLAG_BOTH,
>                        "font FILE...",
>                        "Specify one or more font files to display.", 0);
>  }
>
>! static void
>! grub_font_manager_fini (void)








_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel

<Prev in Thread] Current Thread [Next in Thread>