[OpenBIOS] testing Mac OS X boot on latest trunk (revision 1085) + divide by zero patch

Programmingkid programmingkidx at gmail.com
Thu Feb 7 21:58:06 CET 2013


On Feb 3, 2013, at 12:50 PM, Andreas Tobler wrote:

> On 01.02.13 21:38, Programmingkid wrote:
>>> On 13.01.13 16:43, Mark Cave-Ayland wrote:
>>>> 
>>> On 12/01/13 16:05, Amadeusz Sławiński wrote:
>>> 
>>>> 
>>> 
>>> 
>>>>> 
>>> I used the latest proposed divide by zero patch
>>> 
>>>>> 
>>>>> 
>>> So it seems like it is almost there.
>>> 
>>>>> 
>>>>> 
>>> Seems like it still can't load kernel when run with boot cd:,\\:tbxi
>>> 
>>>>> 
>>> Mac OS X 10.0
>>> 
>>>>> http://asmblr.net/scrot/2013-01-12-155737_1366x768_scrot.png
>>>>> 
>>>>> 
>>> Mac OS X 10.2
>>> 
>>>>> http://asmblr.net/scrot/2013-01-12-155642_1366x768_scrot.png
>>>>> 
>>>>> 
>>> Mac OS X 10.4
>>> 
>>>>> http://asmblr.net/scrot/2013-01-12-155935_1366x768_scrot.png
>>>>> 
>>>>> 
>>>>> 
>>> However when I specify partition to use it loads:
>>> 
>>>>> 
>>> Mac OS X 10.0 (boot cd:9,\\:tbxi)
>>> 
>>>>> http://asmblr.net/scrot/2013-01-12-163133_1366x768_scrot.png
>>>>> 
>>>>> 
>>> Mac OS X 10.2 (boot cd:9,\\:tbxi)
>>> 
>>>>> http://asmblr.net/scrot/2013-01-12-163300_1366x768_scrot.png
>>>>> 
>>>>> 
>>> Mac OS X 10.4 (boot cd:3,\\:tbxi)
>>> 
>>>>> http://asmblr.net/scrot/2013-01-12-163419_1366x768_scrot.png
>>>> 
>>> 
>>> 
>>>> 
>>> This should now be fixed in SVN trunk.
>>> 
>>>> 
>>> 
>>> 
>>>> 
>>> I believe I have now committed all outstanding patches based upon 
>>> 
>>>> 
>>> William's main GSOC patchset, and performed a QEMU CDROM boot test 
>>> 
>>>> 
>>> across all of SPARC32, SPARC64 and PPC to confirm that I haven't 
>>> 
>>>> 
>>> introduced any regressions across any of my test images. Thank you 
>>> 
>>>> 
>>> everyone for your help, patience and testing.
>>> 
>>>> 
>>> 
>>> 
>>>> 
>>> Interestingly enough, commits 1081 and 1082 appear to have fixed the key 
>>> 
>>>> 
>>> issues with OpenBIOS's PPC MMU code and as a result, the following 
>>> 
>>>> 
>>> kernels will now at least boot from ISO images in QEMU:
>>> 
>>>> 
>>> 
>>> 
>>>> 
>>> Darwin
>>> 
>>>> 
>>> FreeBSD
>>> 
>>>> 
>>> NetBSD
>>> 
>>>> 
>>> HelenOS
>>> 
>>>> 
>>> Fedora Linux
>>> 
>>>> 
>>> SuSE Linux
>>> 
>>>> 
>>> 
>>> 
>>>> 
>>> I think the remainder of the bugs during kernel initialisation are 
>>> 
>>>> 
>>> related to either missing/erroneous properties in the OpenBIOS device 
>>> 
>>>> 
>>> tree, or bugs in QEMU's device emulation/Mac hardware model. This will 
>>> 
>>>> 
>>> likely require some assistance from the QEMU people to fix.
>>> 
>>> 
>>> I can confirm the statement from Mark regarding FreeBSD. So far I can
>>> boot but I fail due to the fact that some interrupt-parents are not
>>> populated. Namely for via-cuda and for ata-1/2/3. Adding these lets the
>>> boot continue until I hang somewhere in a cpu_idle routine. Still
>>> investigating.
>>> 
>>> One thing the qemu people might clarify, is -M mac99 ok to use? Or what
>>> would be the preferred Mac model and which cpu?
>>> My trials go with mac99 and -cpu G4 on the 32-bit qemu.
>>> 
>>> I think once I solved the spinning in the cpu_idle routine I'm near
>>> completing the boot.
>>> 
>>> Thank you all for this effort!
>>> 
>>> Andreas
>>> 
>> 
>> Would you have a patch for this interrupt-parent property? 
> 
> Well, attached the hacky part I have. Hacky especially because of this
> '7' vs. '4'. It is not really clear what I did. At least I could boot
> until I get into an endless loop with cpu_spin... with FreeBSD ppc.
> 
> Andreas
> 
> 
> 
> <irq_parrent.diff>

I have tried out your patch with Mac OS 10.0 and Mac OS 10.2. I didn't notice any differences in behavior. The patch doesn't appear to have broken anything either. It would probably be a good idea to add the interrupt-parent property to the nodes that have it on real hardware. 


More information about the OpenBIOS mailing list