Module Name:    src
Committed By:   tsutsui
Date:           Sun Feb 19 12:02:56 UTC 2012

Modified Files:
        src/sys/arch/macppc/stand/ofwboot: boot.c boot.h ofdev.c

Log Message:
Fix boot failure on OF 2.0 machines.

Discussed with phx@ on port-macppc@:
http://mail-index.NetBSD.org/port-macppc/2012/02/18/msg001556.html

Should be pulled up to netbsd-6.


To generate a diff of this commit:
cvs rdiff -u -r1.26 -r1.27 src/sys/arch/macppc/stand/ofwboot/boot.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/macppc/stand/ofwboot/boot.h
cvs rdiff -u -r1.25 -r1.26 src/sys/arch/macppc/stand/ofwboot/ofdev.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/macppc/stand/ofwboot/boot.c
diff -u src/sys/arch/macppc/stand/ofwboot/boot.c:1.26 src/sys/arch/macppc/stand/ofwboot/boot.c:1.27
--- src/sys/arch/macppc/stand/ofwboot/boot.c:1.26	Sat Jan 22 19:19:19 2011
+++ src/sys/arch/macppc/stand/ofwboot/boot.c	Sun Feb 19 12:02:55 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: boot.c,v 1.26 2011/01/22 19:19:19 joerg Exp $	*/
+/*	$NetBSD: boot.c,v 1.27 2012/02/19 12:02:55 tsutsui Exp $	*/
 
 /*-
  * Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -96,8 +96,8 @@ char bootdev[MAXBOOTPATHLEN];
 char bootfile[MAXBOOTPATHLEN];
 int boothowto;
 bool floppyboot;
+int ofw_version = 0;
 
-static int ofw_version = 0;
 static const char *kernels[] = { "/netbsd", "/netbsd.gz", "/netbsd.macppc", NULL };
 
 static void

Index: src/sys/arch/macppc/stand/ofwboot/boot.h
diff -u src/sys/arch/macppc/stand/ofwboot/boot.h:1.3 src/sys/arch/macppc/stand/ofwboot/boot.h:1.4
--- src/sys/arch/macppc/stand/ofwboot/boot.h:1.3	Wed Jan 28 15:03:28 2009
+++ src/sys/arch/macppc/stand/ofwboot/boot.h	Sun Feb 19 12:02:55 2012
@@ -10,6 +10,7 @@ void main(void);
 #define MAXBOOTPATHLEN	256
 extern char bootdev[MAXBOOTPATHLEN];
 extern bool floppyboot;
+extern int ofw_version;
 
 #ifdef HAVE_CHANGEDISK_HOOK
 struct open_file;

Index: src/sys/arch/macppc/stand/ofwboot/ofdev.c
diff -u src/sys/arch/macppc/stand/ofwboot/ofdev.c:1.25 src/sys/arch/macppc/stand/ofwboot/ofdev.c:1.26
--- src/sys/arch/macppc/stand/ofwboot/ofdev.c:1.25	Wed Feb  1 21:48:22 2012
+++ src/sys/arch/macppc/stand/ofwboot/ofdev.c	Sun Feb 19 12:02:55 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: ofdev.c,v 1.25 2012/02/01 21:48:22 matt Exp $	*/
+/*	$NetBSD: ofdev.c,v 1.26 2012/02/19 12:02:55 tsutsui Exp $	*/
 
 /*
  * Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -425,7 +425,8 @@ devopen(struct open_file *of, const char
 		return ENXIO;
 	if (!strcmp(buf, "block") && strrchr(devname, ':') == NULL)
 		/* indicate raw partition, when missing */
-		strlcat(devname, ":0", sizeof(devname));
+		if (ofw_version >= 3)
+			strlcat(devname, ":0", sizeof(devname));
 	if ((handle = OF_open(devname)) == -1)
 		return ENXIO;
 	memset(&ofdev, 0, sizeof ofdev);

Reply via email to