

First value must be the first MSR register value to override, in our case 0x8B. Here name is a user-defined name (it is used for logging and retrieval of subsequent values). VBoxManage setextradata VM “VBoxInternal/CPUM/MSRs/ name/Value value VBoxManage setextradata VM “VBoxInternal/CPUM/MSRs/ name/Last value VBoxManage setextradata VM “VBoxInternal/CPUM/MSRs/ name/First value VirtualBox contains (internal) settings to override MSRs, see function src/VBox/VMM/VMMR3/CPUMR3CpuId.cpp – the format is the following: If we could ignore this write, we should be able to proceed further!įortunately this is possible. Which means the CPU attempted to write the MSR register 0x8B the instruction wrmsr 0x8b, 0 – and the reason for the crash.

Fortunately we can spot in the log we see the following reason for crash: This is a rather tough error to debug as this means the CPU encountered an exception while already reacting on the exception. This will bring us further in the OS X load process – now it crashes with Guru Meditation 1155 (VINF_EM_TRIPLE_FAULT). Note that the second instruction from the script above (setting –cpuidset 00000001) should NOT be executed on AMD CPU. The OS X checks the CPU brand by using CPUID instruction, so we can modify its output in VirtualBox to masquerade our CPU as Intel: More changes are needed.įirst, we need to tell VirtualBox to present its CPU as Intel. However this will not be enough on AMD CPU, where the OS X kernel will halt (Mavericks) or crash (Yosemite) on boot. While VirtualBox does not officially support OS X guests on non-Mac hardware, it is still trivial to do so, as described in the following post. Installing it on a machine with Intel CPU is not a problem.
#Mac os x emulator amd mac os x#
Before you proceed: there is NO working solution yet, and I was not able to run unmodified Mac OS X guest on AMD CPU under VirtualBox.
