
The reason is that the syscall emulation uses different instructions on AMD and Intel CPUs. Now, there is a reason why Qemu is doing this.
#INSTALL QEMU EMULATOR MAC OS MAC OS X#
Since Mac OS X is supposed to only run on Intel CPU, we can assume Mac OS gets really confused when it does cpuid, and halts. However if you add -enable-kvm switch, and run: qemu-system-x86_64 -enable-kvm -cpu core2duo openSUSE-13.1-DVD-x86_64.isoĪnd run cat /proc/cpuinfo | grep vendor you’ll see a rather ridiculous picture: vendor_id : AuthenticAMD For example, booting the Linux DVD installation with the following options: qemu-system-x86_64 -cpu core2duo openSUSE-13.1-DVD-x86_64.isoĪnd running cat /proc/cpuinfo | grep vendor prints the following: vendor_id : GenuineIntelĪs you see, despite your host CPU being AMD, qemu properly emulates the Intel CPU and sets the options correctly. This happens because Qemu does not properly pass the CPU vendor to the virtualized CPU when using KVM. Enabling the verbose boot (-v option to Chameleon) shows an empty black screen instead. With this option the emulation hangs on the grey screen with Apple logo.

when you run qemu without the -enable-kvm option.

If you have only the AMD CPU, the emulation only works without the KVM, i.e. The changes seem to be minimal, and the operating system emulation works well – as long as you have the Intel CPU, that’s it.

Due to the excellent work of Gabriel L.Somlo it is possible to run the emulated Mac OS X on Linux under Qemu/KVM.
