[OpenBIOS] Fail to boot a macosx 10.5 disk image

Cédric Le Goater clg at kaod.org
Wed Jun 8 21:46:47 CEST 2016


Hello Segher,

On 06/08/2016 08:58 PM, Segher Boessenkool wrote:
> 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.

I have some clues now. I will dig in. 

Thanks,

C.




More information about the OpenBIOS mailing list