[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-discuss] Mac access to sse4.2 x86 extentions

From: Eric Fronberg
Subject: [Qemu-discuss] Mac access to sse4.2 x86 extentions
Date: Thu, 1 Nov 2012 17:53:51 -0500

I'm running into problems with qemu.  I tend to pack my emails with lots of data (trying to identify 
the issue first)

Installed on my early 2011 macbook pro via MacPorts. (v1.2.0)  I've verified that sse4.2 functionality is
available on this mac.

I'm using the following command to invoke.

/usr/local/bin/qemu-system-x86_64 -cpu SandyBridge,+sse,+sse4_2,+xsave,+avx,check   -device e1000,netdev=mynet0 -serial telnet::4446,server -m 768M -vga std -hda /Users/enf/enf-default.img -netdev user,id=mynet0 -hdc /dev/null

Qemu comes up but complains about 

warning: host cpuid 0000_0001 lacks requested flag 'sse4.1|sse4_1' [0x00080000]
warning: host cpuid 0000_0001 lacks requested flag 'sse4.2|sse4_2' [0x00100000]

Issue 1 (?)
I downloaded the source code and noticed that host_cpuid will ALWAYS return 0 as CONFIG_KVM
is not defined.  This seems wrong.  ( I hacked up the code to comment out the CONFIG_KVM and 
I don't see the warnings any more).  Seems that the cpuid in the mac (bsd) environment has been
dummied down.  Is this correct.

Issue 2 
Even with code that retrieves the correct cpuid, I run into a problem.

Running code that uses some of the sse4.2 x86 extensions but gets an invalid opcode error
when trying to execute the sse4.2 instructions.

Note that the same code works on a non VM system.  

Issue3 (related probably to issue 2)
Again running the modified qemu code, I'm getting the hostid directly to see if sse4.2 functionally
is present.  Call returns back that VM doesn't support sse4.2.

So it would seem that beyond the host_cpuid() function, there are additional limitations on the instruction
set in the VM.

How do I get qemu to give me a more fully functional emulation?


-- Eric

Eric Fronberg
Sr. Software Engineer
Tel: +1(650) 730 5185
Coraid: Redefining Storage


reply via email to

[Prev in Thread] Current Thread [Next in Thread]