about summary refs log tree commit diff stats
path: root/src/emu/x64run.c
diff options
context:
space:
mode:
authorYang Liu <numbksco@gmail.com>2024-09-05 17:07:27 +0800
committerGitHub <noreply@github.com>2024-09-05 11:07:27 +0200
commit4e63b82f5eda8995a2b5cd09d64304ac9e30dbd6 (patch)
tree0141a4651e55dd11df71e41b40e45df4106535c2 /src/emu/x64run.c
parent6bc2abae3b71ad1aea750fbfb433310f6e45bbac (diff)
downloadbox64-4e63b82f5eda8995a2b5cd09d64304ac9e30dbd6.tar.gz
box64-4e63b82f5eda8995a2b5cd09d64304ac9e30dbd6.zip
[CI] Refactored CI (#1795)
* [CI] Enable Box32 tests on LA64

* upgrade QEMU

* [COSIM] Removed thread-safe tests

* Use regular cosim in CI

* [CI] Simplified "Test Box64"

* exclude certain tests when testing with cosim

* review

* box64.pod too
Diffstat (limited to 'src/emu/x64run.c')
-rw-r--r--src/emu/x64run.c55
1 files changed, 1 insertions, 54 deletions
diff --git a/src/emu/x64run.c b/src/emu/x64run.c
index fbb92d1a..6d4742d7 100644
--- a/src/emu/x64run.c
+++ b/src/emu/x64run.c
@@ -560,19 +560,14 @@ x64emurun:
         case 0x6D:                      /* INSD DX */
         case 0x6E:                      /* OUTSB DX */
         case 0x6F:                      /* OUTSD DX */
-            #ifndef TEST_INTERPRETER
+#ifndef TEST_INTERPRETER
             emit_signal(emu, SIGSEGV, (void*)R_RIP, 0);
             STEP;
-            #else
-            test->notest = 1;
             #endif
             break;
 
         GOCOND(0x70
             ,   tmp8s = F8S; CHECK_FLAGS(emu);
-            #ifdef TEST_INTERPRETER
-            test->notest = 1;
-            #endif
             ,   addr += tmp8s;
             ,,STEP2
             )                           /* Jxx Ib */
@@ -1336,16 +1331,10 @@ x64emurun:
             addr = rex.is32bits?Pop32(emu):Pop64(emu);
             R_RSP += tmp16u;
             STEP2
-            #ifdef TEST_INTERPRETER
-            test->notest = 1;
-            #endif
             break;
         case 0xC3:                      /* RET */
             addr = rex.is32bits?Pop32(emu):Pop64(emu);
             STEP2
-            #ifdef TEST_INTERPRETER
-            test->notest = 1;
-            #endif
             break;
         case 0xC4:                      /* LES Gd,Ed */
             nextop = F8;
@@ -1496,8 +1485,6 @@ x64emurun:
             x64Int3(emu, &addr);
             if(emu->quit) goto fini;    // R_RIP is up to date when returning from x64Int3
             addr = R_RIP;
-            #else
-            test->notest = 1;
             #endif
             break;
         case 0xCD:                      /* INT n */
@@ -1520,23 +1507,17 @@ x64emurun:
                 #ifndef TEST_INTERPRETER
                 x86Syscall(emu);
                 STEP2;
-                #else
-                test->notest = 1;
                 #endif
             } else if (tmp8u==0x03) {
                 R_RIP = addr;
                 #ifndef TEST_INTERPRETER
                 emit_signal(emu, SIGTRAP, NULL, 3);
                 STEP2;
-                #else
-                test->notest = 1;
                 #endif
             } else {
                 #ifndef TEST_INTERPRETER
                 emit_interruption(emu, tmp8u, (void*)R_RIP);
                 STEP2;
-                #else
-                test->notest = 1;
                 #endif
             }
             break;
@@ -1570,8 +1551,6 @@ x64emurun:
             #ifndef TEST_INTERPRETER
             if(is32bits)
                 running32bits = 1;
-            #else
-            test->notest = 1;
             #endif
             break;
         case 0xD0:                      /* GRP2 Eb,1 */
@@ -1817,8 +1796,6 @@ x64emurun:
             #ifndef TEST_INTERPRETER
             emit_signal(emu, SIGSEGV, (void*)R_RIP, 0);
             STEP;
-            #else
-            test->notest = 1;
             #endif
             break;
         case 0xE8:                      /* CALL Id */
@@ -1833,9 +1810,6 @@ x64emurun:
                 addr += tmp32s;
             addr = (uintptr_t)getAlternate((void*)addr);
             STEP2
-            #ifdef TEST_INTERPRETER
-            test->notest = 1;
-            #endif
             break;
         case 0xE9:                      /* JMP Id */
             tmp32s = F32S; // jmp is relative
@@ -1845,18 +1819,12 @@ x64emurun:
                 addr += tmp32s;
             addr = (uintptr_t)getAlternate((void*)addr);
             STEP2
-            #ifdef TEST_INTERPRETER
-            test->notest = 1;
-            #endif
             break;
 
         case 0xEB:                      /* JMP Ib */
             tmp32s = F8S; // jump is relative
             addr += tmp32s;
             STEP2
-            #ifdef TEST_INTERPRETER
-            test->notest = 1;
-            #endif
             break;
         case 0xEC:                      /* IN AL, DX */
         case 0xED:                      /* IN EAX, DX */
@@ -1866,8 +1834,6 @@ x64emurun:
             #ifndef TEST_INTERPRETER
             emit_signal(emu, SIGSEGV, (void*)R_RIP, 0);
             STEP;
-            #else
-            test->notest = 1;
             #endif
             break;
         case 0xF0:                      /* LOCK prefix */
@@ -1897,8 +1863,6 @@ x64emurun:
             #ifndef TEST_INTERPRETER
             emit_signal(emu, SIGSEGV, (void*)R_RIP, 0);
             STEP;
-            #else
-            test->notest = 1;
             #endif
             break;
         case 0xF5:                      /* CMC */
@@ -1936,9 +1900,6 @@ x64emurun:
                     if(!EB->byte[0])
                         emit_div0(emu, (void*)R_RIP, 0);
                     idiv8(emu, EB->byte[0]);
-                    #ifdef TEST_INTERPRETER
-                    test->notest = 1;
-                    #endif
                     break;
             }
             break;
@@ -1974,9 +1935,6 @@ x64emurun:
                         if(!ED->q[0])
                             emit_div0(emu, (void*)R_RIP, 0);
                         idiv64(emu, ED->q[0]);
-                        #ifdef TEST_INTERPRETER
-                        test->notest = 1;
-                        #endif
                         break;
                 }
             } else {
@@ -2037,17 +1995,11 @@ x64emurun:
             // this is a privilege opcode
             emit_signal(emu, SIGSEGV, (void*)R_RIP, 0);
             STEP;
-            #ifdef TEST_INTERPRETER
-            test->notest = 1;
-            #endif
             break;
         case 0xFB:                      /* STI */
             // this is a privilege opcode
             emit_signal(emu, SIGSEGV, (void*)R_RIP, 0);
             STEP;
-            #ifdef TEST_INTERPRETER
-            test->notest = 1;
-            #endif
             break;
         case 0xFC:                      /* CLD */
             CLEAR_FLAG(F_DF);
@@ -2106,9 +2058,6 @@ x64emurun:
                     }
                     addr = tmp64u;
                     STEP2
-                    #ifdef TEST_INTERPRETER
-                    test->notest = 1;
-                    #endif
                     break;
                 case 3:                 /* CALL FAR Ed */
                     GETET(0);
@@ -2133,8 +2082,6 @@ x64emurun:
                         #ifndef TEST_INTERPRETER
                         if(is32bits)
                             running32bits = 1;
-                        #else
-                        test->notest = 1;
                         #endif
                     }
                     break;