Hi, I'm working on getting OS X to run on KVM, and the latest q35-qemu tree from GitHub, plus additionally applied commit 40862309a9d733cb0e878c79f477de003897b5d2 from mainline works great, with the following command line:
bin/qemu-system-x86_64 -enable-kvm -m 2048 -cpu core2duo \ -M q35 -L seabios-mac/out -kernel ./chameleon_2.0_boot \ -usb -device usb-kbd -device usb-mouse \ -device isa-applesmc,osk="..." \ -device ide-drive,bus=ide.0,drive=MacHDD \ -drive id=MacHDD,if=none,snapshot=on,file=./mac_10.6.img However, current mainline QEMU git master does not. I need a slightly modified command line to even start (had to add "-L share/qemu" as a fallback bios path to avoid "could not open option rom ..." errors): bin/qemu-system-x86_64 -enable-kvm -m 2048 -cpu core2duo \ -M q35 -L seabios-mac/out -L share/qemu -kernel ./chameleon_2.0_boot \ -usb -device usb-kbd -device usb-mouse \ -device isa-applesmc,osk="..." \ -device ide-drive,bus=ide.0,drive=MacHDD \ -drive id=MacHDD,if=none,snapshot=on,file=./mac_10.6.img This seems to be equivalent: bin/qemu-system-x86_64 -enable-kvm -m 2048 -cpu core2duo \ -M q35 -bios bios-mac.bin -kernel ./chameleon_2.0_boot \ -usb -device usb-kbd -device usb-mouse \ -device isa-applesmc,osk="..." \ -device ide-drive,bus=ide.0,drive=MacHDD \ -drive id=MacHDD,if=none,snapshot=on,file=./mac_10.6.img (I use the latest SeaBIOS git plus this patch: http://www.contrib.andrew.cmu.edu/~somlo/OSXKVM/seabios-mac-20121206.patch for all examples, working *and* non-working). With mainline and -M q35, OS X gives me: "Waiting for boot volume with UUID ..." and "Still waiting for root device" I don't know if there's a way to do a bisect across the two different trees, and I couldn't find a working "-M q35" state in mainline to begin bisecting from there. I get the above errors immediately after commits df2d8b3ed4d2b6406335d274f9537d78ac4e3c0c, a1c9304683161a68c1fc1d9c3bc174ec8e26a61a, and 21bcfdd9a43041720f9370831c694bcb2e11eea4 where -M q35 was added to mainline... BTW, leaving out "-M q35" in mainline still seems to work fine (if I explicitly add "-device ahci,id=ide" instead... Between the working GitHub -M q35 and the non-working mainline -M q35, "dev: ich9-ahci" from "info qtree" looks identical, save for the "dev: ide-drive" version under ide.0 (1.3.50 on github vs. 1.2.50 in mainline). Not sure if that's even relevant... Any advice as to what else I could do to narrow it down further would be appreciated ! Thanks, --Gabriel