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: