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.
This commit is contained in:
tsutsui 2012-02-19 12:02:55 +00:00
parent 272762fd10
commit 2cbdf3ece2
3 changed files with 6 additions and 4 deletions

View File

@ -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

View File

@ -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;

View File

@ -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 *name, char **file)
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);