Forgot somthing.  Attached is the fix.

Sorry,
-- Ramon

Ramon van Handel wrote:

> Hey all,
>
> Attached is a new patch.  This one *REPLACES* the
> old patch.
diff -Nur freemware-old/freemware.h freemware/freemware.h
--- freemware-old/freemware.h   Sun Jan 30 20:18:50 2000
+++ freemware/freemware.h       Sun Jan 30 20:21:38 2000
@@ -112,5 +112,6 @@
 #define EMU_INSTR_HLT           19
 
 #define EMU_INSTR_INT           20
+#define EMU_INSTR_STI           21
 
 #endif  // #ifndef __FREEMWARE_H__
diff -Nur freemware-old/kernel/emulation.c freemware/kernel/emulation.c
--- freemware-old/kernel/emulation.c    Sun Jan 30 20:18:50 2000
+++ freemware/kernel/emulation.c        Sun Jan 30 20:20:35 2000
@@ -780,6 +780,7 @@
     if (context->eflags & (1<<20))
     {
         context->eflags &= ~(1<<20);
+        context->event_info = EMU_INSTR_STI | (RET_BECAUSE_USEREMU << 8);
         return 4;
     }
     else
diff -Nur freemware-old/user/emulation.c freemware/user/emulation.c
--- freemware-old/user/emulation.c      Sun Jan 30 20:18:52 2000
+++ freemware/user/emulation.c  Sun Jan 30 20:21:21 2000
@@ -268,6 +268,9 @@
         plugin_emulate (EVT_INT, arg & 0xff, 0, 0, NULL);
         break;
 
+    case EMU_INSTR_STI:
+        break;
+
     default:
        fprintf (stderr, "Emulation of instruction 0x%x (0x%04x) not yet 
implemented\n",
                 instr, arg);

Reply via email to