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: 0xffff0ab7: movdqa 0xfffffffa(%esi,%edx,1),%xmm0 0xffff0abd: movdqa 0xa(%esi,%edx,1),%xmm1 0xffff0ac3: movdqa 0x1a(%esi,%edx,1),%xmm2 0xffff0ac9: movdqa 0x2a(%esi,%edx,1),%xmm3 0xffff0acf: movdqa 0x3a(%esi,%edx,1),%xmm4 0xffff0ad5: movdqa %xmm0,%xmm5 0xffff0ad9: movdqa %xmm4,%xmm0 0xffff0add: data16 0xffff0ade: (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