about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2025-10-07 15:34:20 +0200
committerptitSeb <sebastien.chev@gmail.com>2025-10-07 15:34:20 +0200
commit63592011fee14cb3150953b63b8f87c734ef07bc (patch)
tree2c1c8d5fe6f158a5b3f836e0de6e4c37e1a588ee
parent73238883cbd0faa115c88722df94707089f81a8b (diff)
downloadbox64-63592011fee14cb3150953b63b8f87c734ef07bc.tar.gz
box64-63592011fee14cb3150953b63b8f87c734ef07bc.zip
[ARM64_DYNAREC] Use UDF for UD2 & unsupported WBINVD
-rw-r--r--src/dynarec/arm64/dynarec_arm64_0f.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_0f.c b/src/dynarec/arm64/dynarec_arm64_0f.c
index f6e3cada..efbff4fc 100644
--- a/src/dynarec/arm64/dynarec_arm64_0f.c
+++ b/src/dynarec/arm64/dynarec_arm64_0f.c
@@ -186,9 +186,7 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
             }

             BARRIER(BARRIER_FLOAT);

             GETIP(ip);

-            STORE_XEMU_CALL(xRIP);

-            CALL_S(const_native_ud, -1);

-            LOAD_XEMU_CALL(xRIP);

+            UDF(0);

             jump_to_epilog(dyn, 0, xRIP, ninst);

             *need_epilog = 0;

             *ok = 0;

@@ -203,9 +201,7 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
             }

             BARRIER(BARRIER_FLOAT);

             GETIP(ip);

-            STORE_XEMU_CALL(xRIP);

-            CALL_S(const_native_ud, -1);

-            LOAD_XEMU_CALL(xRIP);

+            UDF(0);

             jump_to_epilog(dyn, 0, xRIP, ninst);

             *need_epilog = 0;

             *ok = 0;