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);