qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [OpenBIOS] CUDA has problems with Mac OS 10.4


From: Mark Cave-Ayland
Subject: Re: [Qemu-devel] [OpenBIOS] CUDA has problems with Mac OS 10.4
Date: Fri, 13 Nov 2015 11:26:15 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.8.0

On 12/11/15 00:42, Programmingkid wrote:

> On Nov 11, 2015, at 6:05 PM, Mark Cave-Ayland wrote:
> 
>> On 11/11/15 21:32, Andreas Tobler wrote:
>>
>>> On 11.11.15 19:55, Programmingkid wrote:
>>>>
>>>> On Nov 11, 2015, at 12:54 PM, Mark Cave-Ayland wrote:
>>>>
>>>>> On 11/11/15 15:15, Programmingkid wrote:
>>>>>
>>>>>> I built Cormac O'Brien's QEMU repo for Mac OS 9 and tried to boot my
>>>>>> Mac OS 10.4 boot cd. Mac OS 10.4's kernel panics because of a CUDA
>>>>>> problem. I did use the mac99 target. Here is the error message:
>>>>>>
>>>>>> panic(cpu 0 caller 0x16E786CC): CUDA - TODO CHECK FOR TRANSACTION
>>>>>> TYPE AND ERROR
>>>>>>
>>>>>> This is the command I used: ./ppc-softmmu/qemu-system-ppc -boot d
>>>>>> -cdrom ~/tiger.iso  -prom-env boot-args=-v -usb -M mac99
>>>>>>
>>>>>> I think there is still something wrong with CUDA. But we might not
>>>>>> have to "fix" it. When we use the mac99 target, the PowerMac3,1
>>>>>> Macintosh system is what we are trying to emulate. My sources
>>>>>> indicate that the PowerMac3,1 doesn't have a CUDA chip. This chip is
>>>>>> used for ADB communications. Using it only on the BeigeG3 target
>>>>>> makes sense.
>>>>>>
>>>>>> My sources for the PowerMac3,1 system is this link:
>>>>>> http://www.everymac.com/systems/apple/powermac_g4/specs/powermac_g4_350_agp.html
>>>>>>
>>>>>>
>>>>>> and this device tree:
>>>>>>
>>>>>> PowerMac G4 device tree
>>>>>>
>>>>>> ff839ab8: /cpus
>>>>>> ff839ce8:   /PowerPC,address@hidden
>>>>>> ff83a060:     /l2-cache
>>>>>> ff83ab58: /chosen
>>>>>> ff83ace8: /address@hidden
>>>>>> ff83af00: /openprom
>>>>>> ff83b008:   /client-services
>>>>>> ff83c1a8: /address@hidden
>>>>>> ff83c330:   /address@hidden
>>>>>> ff83c4a8:   /macos
>>>>>> ff83c528: /options
>>>>>> ff83c5a8: /aliases
>>>>>> ff83cec8: /packages
>>>>>> ff83cf30:   /deblocker
>>>>>> ff83d798:   /disk-label
>>>>>> ff83e198:   /obp-tftp
>>>>>> ff8439f0:   /mac-parts
>>>>>> ff844850:   /mac-files
>>>>>> ff847540:   /hfs-plus-files
>>>>>> ff84c1c8:   /fat-files
>>>>>> ff84def8:   /iso-9660-files
>>>>>> ff84eb00:   /bootinfo-loader
>>>>>> ff8507a0:   /xcoff-loader
>>>>>> ff8511b8:   /pe-loader
>>>>>> ff851b90:   /elf-loader
>>>>>> ff8531c0:   /usb-hid-class
>>>>>> ff8554d8:   /usb-ms-class
>>>>>> ff8576a8:   /sbp2-disk
>>>>>> ff858ac0:   /ata-disk
>>>>>> ff859cd8:   /atapi-disk
>>>>>> ff85b348:   /bootpath-search
>>>>>> ff861b68:   /terminal-emulator
>>>>>> ff861c00: /psuedo-hid
>>>>>> ff861c88:   /keyboard
>>>>>> ff862308:   /mouse
>>>>>> ff862820: /multiboot
>>>>>> ff86e7f0: /diagnostics
>>>>>> ff86e858: /tools-node
>>>>>> ff8704b8: /rtas
>>>>>> ff8706b8: /address@hidden
>>>>>> ff871180: /address@hidden
>>>>>> ff8713c8:   /address@hidden
>>>>>> ff871b10:     /cereal
>>>>>> ff8721c0: /address@hidden
>>>>>> ff898cd0:   /address@hidden
>>>>>> ff898f40:   /ATY,address@hidden
>>>>>> ff873268: /address@hidden
>>>>>> ff8742d8:   /address@hidden
>>>>>> ff876368:     /address@hidden
>>>>>> ff8773a0:       /address@hidden
>>>>>> ff877548:       /address@hidden
>>>>>> ff877630:         /extint-gpio1
>>>>>> ff8777c8:         /programmer-switch
>>>>>> ff877900:       /address@hidden
>>>>>> ff877af8:         /address@hidden
>>>>>> ff877c78:         /address@hidden
>>>>>> ff877df8:       /address@hidden
>>>>>> ff878000:         /address@hidden
>>>>>> ff8789a8:         /address@hidden
>>>>>> ff8792c0:       /address@hidden
>>>>>> ff879540:         /sound
>>>>>> ff879c40:       /address@hidden
>>>>>> ff879da8:       /address@hidden
>>>>>> ff87ccf0:         /rtc
>>>>>> ff87d3e0:         /power-mgt
>>>>>> ff8bf378:           /usb-power-mgt
>>>>>> ff87d648:       /address@hidden
>>>>>> ff87ded8:         /cereal
>>>>>> ff87e5a0:       /address@hidden
>>>>>> ff880318:         /disk
>>>>>> ff8809e8:       /address@hidden
>>>>>> ff882760:         /disk
>>>>>> ff882da8:       /address@hidden
>>>>>> ff884b20:         /disk
>>>>>> ff8864c8:     /address@hidden
>>>>>> ff888690:     /address@hidden
>>>>>> ff88dd50:     /address@hidden
>>>>>> ff8be3f0:       /address@hidden
>>>>>> ff8be580:         /address@hidden
>>>>>> ff893410:     /address@hidden
>>>>>> ff8752e8: /address@hidden
>>>>>> ff8bb128:   /address@hidden
>>>>>
>>>>> I've done quite a bit of work on Cormac's tree (primarily to fix CUDA
>>>>> issues that broke OS X among other things) and posted it to the
>>>>> qemu-devel list at
>>>>> https://lists.nongnu.org/archive/html/qemu-devel/2015-10/msg05556.html.
>>>>>
>>>>> The patchset posted works well for me here, and I suspect will fix the
>>>>> issues that you've been seeing. Note that you'll also need the separate
>>>>> OpenBIOS binary mentioned in the link above if you want to try booting
>>>>> OS 9 since one of the OpenBIOS patches hasn't been applied to trunk
>>>>> since it regresses other images.
>>>>
>>>> It looks like you are saying you wish to keep the CUDA device. Mac OS
>>>> 9 is most
>>>> likely hard coded to expect via-pmu instead of via-cuda on the mac99
>>>> target.
>>>> Moving on to via-pmu might make QEMU more compatible with Mac OS 9.
>>>> I will still try your patches. Do you have a repo that I could just
>>>> clone? It is a
>>>> lot less error prone than patches.
>>
>> Currently we know that mac99 is a hybrid of several machine types, but
>> it just so happens that the OSs contain a large enough range of drivers
>> for the image to work, as they appear to do here.
>>
>> From my testing I don't see a problem with CUDA, and while it could be
>> that via-pmu may help things with OS 9, we need a specific patch to
>> demonstrate this with instructions that can be independently reproduced.
>>
>>> I'd like to keep the CUDA too, FreeBSD PowerPC (32-bit) relies on it.
>>> Unfortunately it still doesn't work ... but hope is still here ;)
>>
>> If it helps, I've just noticed that the OS 9 patchset also fixes NetBSD
>> PPC boot (looking at the CUDA driver I suspect it is likely the I2C
>> parts) so I don't think FreeBSD will be too far off.
>>
>> From what I've seen of reports from OpenBSD (e.g.
>> http://virtuallyfun.superglobalmegacorp.com/2015/07/19/gsoc-bringing-macos-9-to-qemu/),
>> my first guess would be that a good starting point would be to check to
>> PCI host bridge properties generated in OpenBIOS.
>>
>>> Mark, is your complete qemu patch available somewhere? Then I could test
>>> 32-bit PowerPC on FreeBSD which still hangs on adb... up to now.
>>
>> I've just pushed the rebased version to
>> https://github.com/mcayland/qemu/tree/ppc-os9-upstream for people
>> interested to test further.
> 
> I think I cloned your repo correctly. When I did a 'git log', the first patch 
> was this one:
> 
> commit 8aeea0670f83c93e6b9716598123fee98282610e
> Author: Mark Cave-Ayland <address@hidden>
> Date:   Fri Oct 23 11:08:53 2015 +0100
> 
>     cuda.c: add delay to setting of SR_INT bit
> 
> Are the version 2 of your patches suppose to be in this repo?

V2 was applied to master, so you should now be good with a standard QEMU
checkout and the custom OpenBIOS binary included in the cover letter.


ATB,

Mark.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]