All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] FreeSBIE-20040919, ffreep insn
@ 2004-11-17 20:46 Juergen Lock
  2004-11-17 22:00 ` Fabrice Bellard
  0 siblings, 1 reply; 3+ messages in thread
From: Juergen Lock @ 2004-11-17 20:46 UTC (permalink / raw)
  To: qemu-devel

Hi!  I just tried FreeSBIE-20040919,
	http://torrent.freesbie.org/FreeSBIE-20040919.iso.torrent
and got an illegal instruction when starting X.  I gdb'd the core
and found its the ffreep insn that it failed on:
	http://webster.cs.ucr.edu/AsmTools/NASM/Doc/NASMDOCA.HTM
says its undocumented (A.55, does an ffree and then pops st0),
so thats probably the reason why its missing.  So i added it:

Index: qemu/target-i386/translate.c
@@ -3187,6 +3187,10 @@
                     goto illegal_op;
                 }
                 break;
+            case 0x38: /* ffreep sti */
+                gen_op_ffree_STN(opreg);
+                gen_op_fpop();
+                break; 
             case 0x3c: /* df/4 */
                 switch(rm) {
                 case 0:

and now X gets a bit further but then gets another illegal instruction,
this time with a signal handler setup so i dont know the failed eip.
(I guess i'd have to patch X to get it...)  But, later i started an xterm
(displaying on the host), and that came up but then also died of an
illegal instruction, this time it was xorps  %xmm0,%xmm0.  So i guess
this FreeSBIE's X is built with -march=pentium3 or something.
(What are the chances of adding sse to qemu?  I guess slim :)

 Anyway, I guess there's nothing wrong with adding ffreep...
	Juergen

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2004-11-17 23:39 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-11-17 20:46 [Qemu-devel] FreeSBIE-20040919, ffreep insn Juergen Lock
2004-11-17 22:00 ` Fabrice Bellard
2004-11-17 23:42   ` Juergen Lock

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.