[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