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

Programmingkid programmingkidx at gmail.com
Wed Nov 11 19:55:25 CET 2015


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. 


More information about the OpenBIOS mailing list