2

Is it possible to emulate any/all Sandy Bridge CPUs using QEMu? Specifically, I am trying to get something akin to an Intel Xeon E5-26xx (a SandyBridge processor) running on hardware employing a Westmere chip. This is because while my VMs are coming up, certain processors are faulting with "invalid opcode" when examining output via dmesg. When running devirtualized or on a host that has this CPU, the processes run fine.

I have tried passing QEMU "-cpu host", as well as "-cpu SandyBridge", etc, etc. Do I need to potentially pass it specific extensions (sse, sse2...) or is what I am trying to do simply not possible?

  • I don't think its *perfect* instruction level emulation, it just changes what is reported to the OS. Is this vanilla QEMU or does this have the kernel mode extension/is KVM? – Journeyman Geek Jun 17 '15 at 01:34
  • Vanilla QEMU. I thought I read somewhere that it would be true hardware emulation if the instructions couldnt be passed thru to the host, but that may have been via KVM (or just dreaming)? – themanwithaplan Jun 17 '15 at 01:37
  • For *perfect* hardware emulation, they'd need to know the internals of the processor. They don't. vt-x allows *access* to a physical processor, but perfect emulation of closed sourced chips is unlikely. The best they can do is 'close enough to the architecture' for things to run, even with older, well understood processor designs. – Journeyman Geek Jun 17 '15 at 01:39
  • Gotcha, makes sense, although this doesn't quite answer the question definitively- can QEMU support all of the flags that the SandyBridge processor utilizes? And if so, is that a basis for saying that it should be able to allow for VMs that run processes that can complete without error using that CPU? – themanwithaplan Jun 17 '15 at 01:45
  • I'm not *sure* That's why its a comment, not an answer. http://superuser.com/questions/453786/how-do-i-get-avx-support-in-qemu?rq=1 looks interesting tho. – Journeyman Geek Jun 17 '15 at 04:26

0 Answers0