Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/i386/stand/pxeboot Add multiboot command. This lets...



details:   https://anonhg.NetBSD.org/src/rev/85443bc4ad79
branches:  trunk
changeset: 753688:85443bc4ad79
user:      tnn <tnn%NetBSD.org@localhost>
date:      Tue Apr 06 21:18:59 2010 +0000

description:
Add multiboot command. This lets us netboot the xen+dom0 kernel combo.

diffstat:

 sys/arch/i386/stand/pxeboot/main.c |  18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletions(-)

diffs (50 lines):

diff -r da059fa75b92 -r 85443bc4ad79 sys/arch/i386/stand/pxeboot/main.c
--- a/sys/arch/i386/stand/pxeboot/main.c        Tue Apr 06 20:43:57 2010 +0000
+++ b/sys/arch/i386/stand/pxeboot/main.c        Tue Apr 06 21:18:59 2010 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: main.c,v 1.24 2010/01/17 14:54:44 drochner Exp $       */
+/*     $NetBSD: main.c,v 1.25 2010/04/06 21:18:59 tnn Exp $    */
 
 /*
  * Copyright (c) 1996
@@ -64,6 +64,7 @@
 void   command_boot(char *);
 void   command_consdev(char *);
 void   command_modules(char *);
+void   command_multiboot(char *);
 
 const struct bootblk_command commands[] = {
        { "help",       command_help },
@@ -72,6 +73,7 @@
        { "boot",       command_boot },
        { "consdev",    command_consdev },
        { "modules",    command_modules },
+       { "multiboot",  command_multiboot },
        { "load",       module_add },
        { "vesa",       command_vesa },
        { NULL,         NULL },
@@ -193,6 +195,7 @@
               "     (ex. \"netbsd.old -s\"\n"
               "consdev {pc|com[0123]|com[0123]kbd|auto}\n"
               "vesa {enabled|disabled|list|modenum}\n"
+              "multiboot [filename] [<args>]\n"
               "modules {enabled|disabled}\n"
               "load {path_to_module}\n"
               "help|?\n"
@@ -264,3 +267,16 @@
        else
                printf("invalid flag, must be 'enabled' or 'disabled'.\n");
 }
+
+void
+command_multiboot(char *arg)
+{
+       char *filename;
+
+       filename = arg;
+       if (exec_multiboot(filename, gettrailer(arg)) < 0)
+               printf("multiboot: %s: %s\n", filename,
+                 strerror(errno));
+       else
+               printf("boot returned\n");
+}



Home | Main Index | Thread Index | Old Index