Module Name:    src
Committed By:   tnn
Date:           Tue Apr  6 21:18:59 UTC 2010

Modified Files:
        src/sys/arch/i386/stand/pxeboot: main.c

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


To generate a diff of this commit:
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/i386/stand/pxeboot/main.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/i386/stand/pxeboot/main.c
diff -u src/sys/arch/i386/stand/pxeboot/main.c:1.24 src/sys/arch/i386/stand/pxeboot/main.c:1.25
--- src/sys/arch/i386/stand/pxeboot/main.c:1.24	Sun Jan 17 14:54:44 2010
+++ src/sys/arch/i386/stand/pxeboot/main.c	Tue Apr  6 21:18:59 2010
@@ -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");
+}

Reply via email to