Subject: port-mac68k/3970: NetBSD won't boot on a PowerBook 150
To: None <gnats-bugs@gnats.netbsd.org>
From: Dave Huang <khym@bga.com>
List: netbsd-bugs
Date: 08/11/1997 21:43:36
>Number:         3970
>Category:       port-mac68k
>Synopsis:       NetBSD won't boot on a PowerBook 150
>Confidential:   no
>Severity:       critical
>Priority:       low
>Responsible:    gnats-admin (GNATS administrator)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Aug 11 20:05:01 1997
>Last-Modified:
>Originator:     Dave Huang
>Organization:
Name: Dave Huang     |   Mammal, mammal / their names are called /
INet: khym@bga.com   |   they raise a paw / the bat, the cat /
FurryMUCK: Dahan     |   dolphin and dog / koala bear and hog -- TMBG
Dahan: Hani G Y+C 21 Y++ L+++ W- C++ T++ A+ E+ S++ V++ F- Q+++ P+ B+ PA+ PL++
>Release:        NetBSD-current as of August 11, 1997
>Environment:
n/a

>Description:
NetBSD hangs very early in the boot process (before clearing the
screen) on a PowerBook 150. The included patch lets it at least clear
the screen and start printing boot messages, but it still hangs while
setting up the MMU. I think this is because get_pte() sets TT0 to
transparently translate the entire address space, moving the currently
executing code out from under the program counter. I haven't really
looked into it though...

>How-To-Repeat:
Try to boot NetBSD on a PB150.

>Fix:
This doesn't actually get NetBSD booting, but it's a start:

--- /usr/src/sys/arch/mac68k/mac68k/machdep.c	Fri Aug  8 10:21:08 1997
+++ machdep.c	Mon Aug 11 21:33:13 1997
@@ -1940,7 +1940,7 @@
 	/* PB 100 has no MMU! */
 	{MACH_MACPB140, "PowerBook", " 140 ", MACH_CLASSPB, &romvecs[1]},
 	{MACH_MACPB145, "PowerBook", " 145 ", MACH_CLASSPB, &romvecs[1]},
-	{MACH_MACPB150, "PowerBook", " 150 ", MACH_CLASSPB, &romvecs[10]},
+	{MACH_MACPB150, "PowerBook", " 150 ", MACH_CLASSDUO, &romvecs[10]},
 	{MACH_MACPB160, "PowerBook", " 160 ", MACH_CLASSPB, &romvecs[5]},
 	{MACH_MACPB165, "PowerBook", " 165 ", MACH_CLASSPB, &romvecs[5]},
 	{MACH_MACPB165C, "PowerBook", " 165c ", MACH_CLASSPB, &romvecs[5]},
@@ -1988,6 +1988,7 @@
 	{ MACH_MACPB140,	(caddr_t)0xfee00000,	32 * 1024 },
 	{ MACH_MACPB145,	(caddr_t)0xfee00000,	32 * 1024 },
 	{ MACH_MACPB170,	(caddr_t)0xfee00000,	32 * 1024 },
+	{ MACH_MACPB150,	(caddr_t)0x60000000,	128 * 1024 },
 	{ MACH_MACPB160,	(caddr_t)0x60000000,	128 * 1024 },
 	{ MACH_MACPB165,	(caddr_t)0x60000000,	128 * 1024 },
 	{ MACH_MACPB180,	(caddr_t)0x60000000,	128 * 1024 },
@@ -2274,6 +2275,7 @@
 		break;
 	case MACH_CLASSII:
 	case MACH_CLASSPB:
+	case MACH_CLASSDUO:
 	case MACH_CLASSIIci:
 	case MACH_CLASSIIsi:
 	case MACH_CLASSIIvx:
>Audit-Trail:
>Unformatted: