On 16 févr. 07, at 04:51, Ilya Shar wrote:
Every Cocoa application I try to run under
i386-darwin-user/qemu-i386 exits on an illegal
instruction:
Starting
/Applications/Calculator.app/Contents/MacOS/Calculator
with qemu
queue_signal: sig=4
qemu: uncaught target signal 4 (Illegal instruction) -
exiting
The last block always executes SSE instructions:
IN:
0x0ab7: movdqa 0xfffa(%esi,%edx,1),%xmm0
0x0abd: movdqa 0xa(%esi,%edx,1),%xmm1
0x0ac3: movdqa 0x1a(%esi,%edx,1),%xmm2
0x0ac9: movdqa 0x2a(%esi,%edx,1),%xmm3
0x0acf: movdqa 0x3a(%esi,%edx,1),%xmm4
0x0ad5: movdqa %xmm0,%xmm5
0x0ad9: movdqa %xmm4,%xmm0
0x0add: data16
0x0ade: (bad)
Non-graphics applications run fine.
Could it be a configuration/compilation problem
(although some SEE instructions seem to be handled
fine)? If not, is there a way to better diagnose the
problem? I on Mac OS Intel with QEMU 0.9.0.
Calculator is crashing in the commpage (see darwin-user/commpage.c).
Commpage is for now shared with the host for x86-on-x86 (and for ppc-
on-ppc too). As the commpage is optimized by the kernel for your host
specific proc, there tends to be problem with qemu. You could try to
play a bit with qemu cpuid (darwin-user/main.c:788), or implement the
needed instructions in qemu. An other way would be to use what's in
commpage.c (see commpage_init()), by translating the target address
space.
Pierre.
___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel