Subject: Re: Power Macintosh G3 (rev. 2, OF 2.4) won't boot :-(
To: Markus W Kilbinger <kilbi@rad.rwth-aachen.de>
From: Bill Studenmund <wrstuden@netbsd.org>
List: port-macppc
Date: 09/16/2002 16:24:19
On Sun, 15 Sep 2002, Markus W Kilbinger wrote:

> >>>>> "Donald" == Donald Lee <donlee_ppc1@icompute.com> writes:
>
>     Donald> I have been assured that it can be done, and believe that
>     Donald> it is a question of setting the OF variables
>     Donald> "boot-command" and "boot-file" (I think I have the names
>     Donald> right...) correctly. If you read the old threads
>     Donald> carefully, it sounds like just typing in the commands for
>     Donald> booting in OF is not enough, you have to set the vars, and
>     Donald> then just type boot.

I didn't know we'd gotten 2.4 machines happily booting. Cool if we did!

> With
>
>   boot-device ide1/@0:,\OFWBOOT.XCF;1
>   boot-file   ide1/@0:,NETBSD.;1
>
> and
>
>   0 bootr
>
> (I guess only available after SystemDisks OF-Patches) I came to (but
> only once after e reset!) with booting from cdrom (floppy doesn't work
> at all):
>
>   loader: loading XCOFF
>   tsize=cbb0 dsize=14a8 bsize=2670 entry=640000
>   SECTIONS:
>   .text    00640000 00640000 0000cbb0 000000e0
>   .data    0064d000 0064d000 000014a8 0000cc90
>   .bss     0064e4a8 0064e4a8 00002670 00000000
>   loading .text, done..
>   loading .data, done..
>   clearing .bss, done..
>
>   DEFAULT CATCH!, code=fff00300 at   %SRR0: 00640018   %SRR1: 00003070
>    ok

Ok. That looks like a DSI exception; we tried to do a bad memory access
(either read ore write nonexistant memory, or write r/o memory).

Interesting. VERY interesting. %SRR0 is the address of the failting
instruction (AFAICT).

Here's what I get when I disassemble ofwboot.xcf on my system:

00640000 <.text>:
  640000:       00 64 00 0c     .long 0x64000c
        ...
  64000c:       39 00 00 00     lil     r8,0
  640010:       39 20 01 00     lil     r9,256
  640014:       7d 29 03 a6     mtctr   r9
  640018:       7c 00 40 ac     .long 0x7c0040ac
  64001c:       7c 00 47 ac     .long 0x7c0047ac
  640020:       39 08 00 20     cal     r8,32(r8)

The two .long values are (in the orinal ASM):

				dcbf	0,8
				icbi	0,8

which when we translate asm formats is flushing the data and instruction
caches based off of r8.

This could be an error if the caches aren't enabled.

In private conversations, Matt Thomas says that shouldn't be needed, and
he's commenting out the code.

> I get the same result when setting up netbooting with
>
>  boot-device enet:,\ofwboot.xcf
>  boote-file  enet:,netbsd
>
> So, does ofwboot.xcf run successfully, now?
>
> But how and where to specify the kernel ('s path) correctly? ('DEFAULT
> CATCH...' means the kernel could not be loaded?)

As above, in this case it means ofwboot didn't run correctly.

Take care,

Bill