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

Programmingkid programmingkidx at gmail.com
Wed Nov 11 23:03:17 CET 2015


On Nov 11, 2015, at 4:32 PM, 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,G4 at 0
>>>> ff83a060:     /l2-cache
>>>> ff83ab58: /chosen
>>>> ff83ace8: /memory at 0
>>>> ff83af00: /openprom
>>>> ff83b008:   /client-services
>>>> ff83c1a8: /rom at ff800000
>>>> ff83c330:   /boot-rom at fff00000
>>>> 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: /nvram at fff04000
>>>> ff871180: /uni-n at f8000000
>>>> ff8713c8:   /i2c at f8001000
>>>> ff871b10:     /cereal
>>>> ff8721c0: /pci at f0000000
>>>> ff898cd0:   /uni-north-agp at b
>>>> ff898f40:   /ATY,Rage128Ps at 10
>>>> ff873268: /pci at f2000000
>>>> ff8742d8:   /pci-bridge at d
>>>> ff876368:     /mac-io at 7
>>>> ff8773a0:       /interrupt-controller at 40000
>>>> ff877548:       /gpio at 50
>>>> ff877630:         /extint-gpio1
>>>> ff8777c8:         /programmer-switch
>>>> ff877900:       /escc-legacy at 12000
>>>> ff877af8:         /ch-a at 12004
>>>> ff877c78:         /ch-b at 12000
>>>> ff877df8:       /escc at 13000
>>>> ff878000:         /ch-a at 13020
>>>> ff8789a8:         /ch-b at 13000
>>>> ff8792c0:       /davbus at 14000
>>>> ff879540:         /sound
>>>> ff879c40:       /timer at 15000
>>>> ff879da8:       /via-pmu at 16000
>>>> ff87ccf0:         /rtc
>>>> ff87d3e0:         /power-mgt
>>>> ff8bf378:           /usb-power-mgt
>>>> ff87d648:       /i2c at 18000
>>>> ff87ded8:         /cereal
>>>> ff87e5a0:       /ata-4 at 1f000
>>>> ff880318:         /disk
>>>> ff8809e8:       /ata-3 at 20000
>>>> ff882760:         /disk
>>>> ff882da8:       /ata-3 at 21000
>>>> ff884b20:         /disk
>>>> ff8864c8:     /ethernet at 4
>>>> ff888690:     /usb at 8
>>>> ff88dd50:     /usb at 9
>>>> ff8be3f0:       /hub at 1
>>>> ff8be580:         /keyboard at 1
>>>> ff893410:     /firewire at a
>>>> ff8752e8: /pci at f4000000
>>>> ff8bb128:   /ethernet at f
>>> 
>>> 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.
> 
> 
> 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 ;)

On a new world Mac? I'm thinking a mistake has been made. Maybe you mean via-pmu? According to FreeBSD's website all Macintoshes with a built-in USB port are supported. This would only mean new world Macs and they only have a via-pmu - no cuda device. 

> 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'm thinking removing ADB support would fix this problem. Most real new world Macs have no ADB support. 




More information about the OpenBIOS mailing list