[OpenBIOS] Fail to boot a macosx 10.5 disk image

Segher Boessenkool segher at kernel.crashing.org
Wed Jun 8 20:58:42 CEST 2016


On Wed, Jun 08, 2016 at 03:48:17PM +0200, Cédric Le Goater wrote:
> So it is hd:3 and then, openbios dies directly :  
> 
> 	...
> 	IN: 
> 	0xfff0d6c8:  mr      r28,r3
> 	0xfff0d6cc:  add     r30,r30,r3
> 	0xfff0d6d0:  add     r31,r31,r3
> 	0xfff0d6d4:  b       0xfff0d6a0
> 
> 	IN: 
> 	0xfff0d6a0:  mr      r3,r29
> 	0xfff0d6a4:  li      r5,0
> 	0xfff0d6a8:  mr      r6,r30
> 	0xfff0d6ac:  bl      0xfff279e8
> 
> 	IN: 
> 	0x00000300:  .long 0x0

A DSI.  How can BL cause a DSI?  Shouldn't it be an ISI, if fff279e8
isn't mapped?  What else can be going on, is the logging complete, or
did e.g. one of the first insns of fff279e8 cause the DSI?

DSISR, DAR, SRR0/1 here will tell you more.

> 	IN: 
> 	0x00000700:  .long 0x0

That's because the code at 300 is 0, which is an invalid opcode.

> which is this loop in bootcode_load() :
> 
>     ...
>     bootcode = loadbase;
>     offset = 0;
>     
>     while(1) {
>         if (seek_io(fd, offset) == -1)
>             break;
>         count = read_io(fd, (void *)bootcode, 512);
>         offset += count;
>         bootcode += count;
>     }
>     ...

The failing call is to seek_io.


Segher



More information about the OpenBIOS mailing list