On Sat, Feb 10, 2007 at 02:34:43PM +0100, Waba wrote:
> It took me a while, but I figured it out... nearly!

Great. We get closer to the real problem.

> Further investigating, I tricked ls(1) into using the optimised libc
> through LD_LIBRARY_PATH and obtained a core. mdb(1) told me that the
> culprit was hiding at libc`memset+0x74. And finally, dis(1) revealed
> that the faulty instruction is "movups (%esp), %xmm0", a SSE feature.
> The %xmm0 register is apparently for storage purposes only, as the only
> instructions used to access it are movups, movntps and movaps.

This differs a bit from my investigations. I got the #UD in SVM always
on the same RIP (which is unlikely when it is triggered in usermode). I
assume the error comes from the lazy FPU switching code inside the
kernel, triggered by the SSE instruction. But it is weird that this #UD
in the kernel results in a SIGILL to the userspace process, but maybe
Solaris does such things.
It is possible that the Kernel and the Userspace on Solaris have
different assumptions about the CPU capabilities?

> At this point I hope that it makes a lot of sense to you, because I
> have no idea why it works fine on Avi's Opteron, etc.

Yes, thats another open question...

Joerg

-- 
Joerg Roedel
Operating System Research Center
AMD Saxony LLC & Co. KG



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to