Subject: Re: DIAGNOSTIC seems to trigger fault in oea_init()
To: Michael <macallan18@earthlink.net>
From: David P. Reese, Jr. <daver@siginfo.org>
List: port-macppc
Date: 01/30/2006 09:17:47
On Jan 30, 2006, at 3:40 AM, Michael wrote:

> Hello,
>
>> I'm surprised that other people haven't seen this problem so I'm
>> wondering if it is specific to my hardware (early Aluminum PowerBook
>> G4).
>
> It happens on all my macppc boxes ( S900 with G3, iMac G3, iBook G4 ),
> it went over the list a few times but I didn't find time yet to
> investigate any further. Symptoms differ slightly - on the S900 it's
> just a DEFAULT CATCH right after loading, the iBook behaves like your
> PowerBook.

I have seen DEFAULT CATCH at boot discussed many times on the lists.
However, I haven't seen this tied to DIAGNOSTIC kernels.

>> Kernels built with DIAGNOSTIC seem to fault in
>> oea_machdep.c:oea_init() on line 175 where memcpy() is called to
>> populate the trap vector at address 0.
>>
>> What I don't understand is that addresses 0x0-0x100 are zeroed
>> on line 166 which doesn't cause a trap.  Also, changing the for loop
>> to start populating trap vectors at address EXC_RST instead of 0
>> allows kernels with DIAGNOSTIC to boot.
>
> Whatever caused this must be a fairly recent change, a 3.99.14 kernel
> didn't have this problem IIRC.

I'm planning on looking into this a bit more this evening.  If I have 
time,
I'll try to binary search CVS for the problem.

> have fun
> Michael