about summary refs log tree commit diff stats
path: root/src/emu/x64run.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/x64run.c')
-rw-r--r--src/emu/x64run.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/emu/x64run.c b/src/emu/x64run.c
index 27232c9e..5859ec34 100644
--- a/src/emu/x64run.c
+++ b/src/emu/x64run.c
@@ -71,6 +71,7 @@ int Run(x64emu_t *emu, int step)
 #ifdef TEST_INTERPRETER
     test->memsize = 0;
 #else
+    check_exec(emu, R_RIP);
 x64emurun:
     while(1) 
 #endif
@@ -1813,7 +1814,7 @@ x64emurun:
             F8;
             if(rex.is32bits && box64_ignoreint3)
             {} else
-            emit_signal(emu, SIGSEGV, (void*)R_RIP, 0);
+            emit_signal(emu, SIGSEGV, (void*)R_RIP, 0xbad0);
             STEP;
             #endif
             break;
@@ -1853,7 +1854,7 @@ x64emurun:
             #ifndef TEST_INTERPRETER
             if(rex.is32bits && box64_ignoreint3)
             {} else
-            emit_signal(emu, SIGSEGV, (void*)R_RIP, 0);
+            emit_signal(emu, SIGSEGV, (void*)R_RIP, 0xbad0);
             STEP;
             #endif
             break;
@@ -1882,7 +1883,7 @@ x64emurun:
         case 0xF4:                      /* HLT */
             // this is a privilege opcode...
             #ifndef TEST_INTERPRETER
-            emit_signal(emu, SIGSEGV, (void*)R_RIP, 0);
+            emit_signal(emu, SIGSEGV, (void*)R_RIP, 0xbad0);
             STEP;
             #endif
             break;
@@ -2016,14 +2017,14 @@ x64emurun:
             // this is a privilege opcode
             if(rex.is32bits && box64_ignoreint3)
             {} else
-            emit_signal(emu, SIGSEGV, (void*)R_RIP, 0);
+            emit_signal(emu, SIGSEGV, (void*)R_RIP, 0xbad0);
             STEP;
             break;
         case 0xFB:                      /* STI */
             // this is a privilege opcode
             if(rex.is32bits && box64_ignoreint3)
             {} else
-            emit_signal(emu, SIGSEGV, (void*)R_RIP, 0);
+            emit_signal(emu, SIGSEGV, (void*)R_RIP, 0xbad0);
             STEP;
             break;
         case 0xFC:                      /* CLD */