Module Name: src Committed By: rin Date: Wed Apr 15 13:33:13 UTC 2020
Modified Files: src/sys/arch/macppc/stand/ofwboot: Locore.c src/sys/arch/powerpc/oea: ofw_consinit.c Log Message: When boot up with auto-boot? == true, some systems do not provide stdout if the normal output is screen. Open screen explicitly as stdout in this case, both for ofwboot and kernel, which fixes problems with auto-boot? == true for Mac mini G4: - messages from ofwboot do not appear - kernel freeze during early boot stage Taken from OpenBSD: http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/arch/macppc/macppc/ofw_machdep.c#rev1.3 http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/arch/macppc/stand/Locore.c#rev1.3 XXX pullup to netbsd-9 and -8 To generate a diff of this commit: cvs rdiff -u -r1.33 -r1.34 src/sys/arch/macppc/stand/ofwboot/Locore.c cvs rdiff -u -r1.17 -r1.18 src/sys/arch/powerpc/oea/ofw_consinit.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/Locore.c diff -u src/sys/arch/macppc/stand/ofwboot/Locore.c:1.33 src/sys/arch/macppc/stand/ofwboot/Locore.c:1.34 --- src/sys/arch/macppc/stand/ofwboot/Locore.c:1.33 Mon Nov 12 20:00:46 2018 +++ src/sys/arch/macppc/stand/ofwboot/Locore.c Wed Apr 15 13:33:13 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: Locore.c,v 1.33 2018/11/12 20:00:46 scole Exp $ */ +/* $NetBSD: Locore.c,v 1.34 2020/04/15 13:33:13 rin Exp $ */ /* * Copyright (C) 1995, 1996 Wolfgang Solfrank. @@ -680,6 +680,11 @@ setup(void) sizeof(stdout)) OF_exit(); + if (stdout == 0) { + /* screen should be console, but it is not open */ + stdout = OF_open("screen"); + } + #ifdef HEAP_VARIABLE uint32_t pvr, vers, hsize = HEAP_SIZE; Index: src/sys/arch/powerpc/oea/ofw_consinit.c diff -u src/sys/arch/powerpc/oea/ofw_consinit.c:1.17 src/sys/arch/powerpc/oea/ofw_consinit.c:1.18 --- src/sys/arch/powerpc/oea/ofw_consinit.c:1.17 Sun Feb 14 18:12:30 2016 +++ src/sys/arch/powerpc/oea/ofw_consinit.c Wed Apr 15 13:33:13 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: ofw_consinit.c,v 1.17 2016/02/14 18:12:30 dholland Exp $ */ +/* $NetBSD: ofw_consinit.c,v 1.18 2020/04/15 13:33:13 rin Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ofw_consinit.c,v 1.17 2016/02/14 18:12:30 dholland Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ofw_consinit.c,v 1.18 2020/04/15 13:33:13 rin Exp $"); #include <sys/param.h> #include <sys/buf.h> @@ -458,6 +458,10 @@ ofwoea_bootstrap_console(void) if (OF_getprop(chosen, "stdin", &stdin, sizeof(stdin)) != sizeof(stdin)) goto nocons; + if (stdout == 0) { + /* screen should be console, but it is not open */ + stdout = OF_open("screen"); + } node = OF_instance_to_package(stdout); console_node = node; console_instance = stdout;