Port-ofppc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

RE: RS/6000 7046-B50 (Re: NetBSD/ofppc install ISO available



On 28-Jan-2008 Makoto Fujiwara wrote:
> 0 > boot cdrom:,ofwboot.ofppc netbsd.ofppc 
> Unexpected Firmware Error:
> DEFAULT CATCH!, code=fff00300 at   %SRR0: 00c1b0d4   %SRR1: 0000b030 
>  ok
> 0 > go Allocating 0x20000 bytes of ram for boot

Hrmm..  this default catch should be fixed in rev 1.9 of the bootloader.  (I
hope)

> Unexpected Firmware Error:
> DEFAULT CATCH!, code=fff00700 at   %SRR0: 00101594   %SRR1: 00080030 
>  ok
>   101590:       90 a1 00 a8     stw     r5,168(r1)
> ->101594:       7c e0 02 a6     mfmq    r7
>   101598:       90 e1 00 b0     stw     r7,176(r1)
> 
> Output some string before console is ready ?
> Following boot did the same thing

Umm.. yike.  It blew up on an mfmq?  Oh.. I know why.  It fell into ddb way too
early.  In powerpc/trap_subr.S, temporarily change the SAVE_MQ and RESTORE_MQ
macros to be nops.  It might just hang though instead, if it's ddb trapping
before the console is initialized.  Basically, this is how I debugged that
problem on the 7044:

Nop out the SAVE_MQ/RESTORE_MQ macros, boot, watch for a hang.
If it hangs, it must be hanging really early, prior to, or in consinit.
Use an __asm statement in the code to call mfmq.  Sprinkle it around the code. 
If the machine default catches, then you got that far.  Disassemble, figure out
which one it hit, and remove that one, and reboot again.  Eventually, you
should be able to narrow down where it is crashing.

However.. I can probably already tell you where.  In ofw_consinit.c, at the
bottom, the "panic("No /chosen could be found!\n");". (IE, the first time in
the code panic is ever called)

Try turning off FIRMWORKSBUGS in the kernel.  That will probably fix it.

---
Tim Rightnour <root%garbled.net@localhost>
NetBSD: Free multi-architecture OS http://www.netbsd.org/
Genecys: Open Source 3D MMORPG: http://www.genecys.org/



Home | Main Index | Thread Index | Old Index