Module Name:    src
Committed By:   tsutsui
Date:           Tue Mar  5 15:34:53 UTC 2013

Modified Files:
        src/sys/arch/luna68k/stand/boot: boot.c init_main.c samachdep.h version

Log Message:
Check netboot and set proper default boot device.
Also bump version.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/luna68k/stand/boot/boot.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/luna68k/stand/boot/init_main.c \
    src/sys/arch/luna68k/stand/boot/version
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/luna68k/stand/boot/samachdep.h

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/luna68k/stand/boot/boot.c
diff -u src/sys/arch/luna68k/stand/boot/boot.c:1.2 src/sys/arch/luna68k/stand/boot/boot.c:1.3
--- src/sys/arch/luna68k/stand/boot/boot.c:1.2	Mon Jan 21 11:58:12 2013
+++ src/sys/arch/luna68k/stand/boot/boot.c	Tue Mar  5 15:34:53 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: boot.c,v 1.2 2013/01/21 11:58:12 tsutsui Exp $	*/
+/*	$NetBSD: boot.c,v 1.3 2013/03/05 15:34:53 tsutsui Exp $	*/
 
 /*
  * Copyright (c) 1992 OMRON Corporation.
@@ -88,7 +88,6 @@ int howto;
 static int get_boot_device(const char *, int *, int *, int *);
 
 struct exec header;
-char default_file[] = "sd(0,0)netbsd";
 
 char *how_to_info[] = {
 	"RB_ASKNAME	ask for file name to reboot from",

Index: src/sys/arch/luna68k/stand/boot/init_main.c
diff -u src/sys/arch/luna68k/stand/boot/init_main.c:1.5 src/sys/arch/luna68k/stand/boot/init_main.c:1.6
--- src/sys/arch/luna68k/stand/boot/init_main.c:1.5	Mon Jan 21 11:58:12 2013
+++ src/sys/arch/luna68k/stand/boot/init_main.c	Tue Mar  5 15:34:53 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: init_main.c,v 1.5 2013/01/21 11:58:12 tsutsui Exp $	*/
+/*	$NetBSD: init_main.c,v 1.6 2013/03/05 15:34:53 tsutsui Exp $	*/
 
 /*
  * Copyright (c) 1992 OMRON Corporation.
@@ -71,6 +71,7 @@
  */
 
 #include <sys/param.h>
+#include <sys/boot_flag.h>
 #include <machine/cpu.h>
 #include <luna68k/stand/boot/samachdep.h>
 #include <luna68k/stand/boot/stinger.h>
@@ -87,6 +88,7 @@ static int reorder_dipsw(int);
 int cpuspeed;	/* for DELAY() macro */
 int hz = 60;
 int machtype;
+char default_file[64];
 
 #define	VERS_LOCAL	"Phase-31"
 
@@ -117,6 +119,10 @@ main(void)
 {
 	int i, status = 0;
 	const char *machstr;
+	const char *cp;
+	char bootarg[64];
+	bool netboot = false;
+	int unit, part;
 
 	/*
 	 * Initialize the console before we print anything out.
@@ -126,11 +132,25 @@ main(void)
 		machstr  = "LUNA-I";
 		cpuspeed = MHZ_25;
 		hz = 60;
+		memcpy(bootarg, (char *)*RVPtr->vec53, sizeof(bootarg));
+
+		/* check netboot */
+		for (i = 0, cp = bootarg; i < sizeof(bootarg); i++, cp++) {
+			if (*cp == '\0')
+				break;
+			if (*cp == 'E' && memcmp("ENADDR=", cp, 7) == 0) {
+				netboot = true;
+				break;
+			}
+		}
 	} else {
 		machtype = LUNA_II;
 		machstr  = "LUNA-II";
 		cpuspeed = MHZ_25 * 2;	/* XXX */
 		hz = 100;
+		memcpy(bootarg, (char *)*RVPtr->vec02, sizeof(bootarg));
+
+		/* LUNA-II's boot monitor doesn't support netboot */
 	}
 
 	nplane   = get_plane_numbers();
@@ -165,6 +185,11 @@ main(void)
 	configure();
 	printf("\n");
 
+	unit = 0;	/* XXX should parse monitor's Boot-file constant */
+	part = 0;
+	snprintf(default_file, sizeof(default_file),
+	    "%s(%d,%d)%s", netboot ? "le" : "sd", unit, part, "netbsd");
+
 	howto = reorder_dipsw(dipsw2);
 
 	if ((howto & 0xFE) == 0) {
Index: src/sys/arch/luna68k/stand/boot/version
diff -u src/sys/arch/luna68k/stand/boot/version:1.5 src/sys/arch/luna68k/stand/boot/version:1.6
--- src/sys/arch/luna68k/stand/boot/version:1.5	Mon Jan 21 11:58:12 2013
+++ src/sys/arch/luna68k/stand/boot/version	Tue Mar  5 15:34:53 2013
@@ -1,4 +1,4 @@
-$NetBSD: version,v 1.5 2013/01/21 11:58:12 tsutsui Exp $
+$NetBSD: version,v 1.6 2013/03/05 15:34:53 tsutsui Exp $
 
 NOTE ANY CHANGES YOU MAKE TO THE BOOTBLOCKS HERE.  The format of this
 file is important - make sure the entries are appended on end, last item
@@ -9,3 +9,4 @@ is taken as the current.
 1.2:	Add support for secondary SPC SCSI on LUNA-II.
 1.3:	Add UFS2 support.
 1.4:	Add support for "awaiting key" to abort autoboot and get boot menu.
+1.5:	Check netboot and set proper default boot device.

Index: src/sys/arch/luna68k/stand/boot/samachdep.h
diff -u src/sys/arch/luna68k/stand/boot/samachdep.h:1.9 src/sys/arch/luna68k/stand/boot/samachdep.h:1.10
--- src/sys/arch/luna68k/stand/boot/samachdep.h:1.9	Tue Jan 22 15:48:40 2013
+++ src/sys/arch/luna68k/stand/boot/samachdep.h	Tue Mar  5 15:34:53 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: samachdep.h,v 1.9 2013/01/22 15:48:40 tsutsui Exp $	*/
+/*	$NetBSD: samachdep.h,v 1.10 2013/03/05 15:34:53 tsutsui Exp $	*/
 
 /*
  * Copyright (c) 1982, 1990, 1993
@@ -74,7 +74,6 @@ void bmdclear(void);
 
 /* boot.c */
 extern int howto;
-extern char default_file[];
 int how_to_boot(int, char **);
 int boot(int, char **);
 int bootnetbsd(char *);
@@ -116,6 +115,7 @@ extern int cpuspeed;
 extern int hz;
 extern int nplane;
 extern int machtype;
+extern char default_file[];
 
 /* kbd.c */
 int kbd_decode(u_char);

Reply via email to